如何找到任意引导加载程序映像的映像库?
逆向工程
安卓
2021-06-14 12:26:09
1个回答
当我需要做类似的事情时,我尝试执行以下操作:
- 我找到了所有已知的
LDR宏(据我所知它们不是相对的) - 我找到了一些必须有机会直接引用的字符串的地址(多于 10 个,少于 100 个)
- 之后,我在第 4 步中对所有 32 位地址范围进行了强制处理,以便找到符合
LDR正确引用的最大字符串数的移位。当然,这可以通过 IDAPython 来完成。
从这个转变可以得出地址。
此外,您可以交叉引用具有跳转和绝对寻址调用的函数序言。
顺便说一句,如果我没记错的话,您可能会在图像的开头找到一个中断表 - 绝对跳转,如下例所示:
00000000 LDR PC, =Reset
00000004 LDR PC, =Undef
00000008 LDR PC, =SVC
0000000C LDR PC, =PrefAbort
00000010 LDR PC, =DataAbort
00000014 NOP
00000018 LDR PC, =IRQ
0000001C LDR PC, =FIQ
加载的地址的值可以暗示要搜索的区域。
其它你可能感兴趣的问题

