【发布时间】:2016-03-30 17:31:37
【问题描述】:
000 LDR R0, =0x13A3D ; Load from Memory
000 LDR R1, =0x4000000 ; Load from Memory
000 LDR R3, =0x400058C ; Load from Memory
000 CMP R0, R1 ; Set cond. codes on Op1 - Op2
000 BEQ loc_81B0 ; Branch
我是 arm 和汇编程序的新手。这段代码是什么意思?
这是否意味着“如果 0x13A3D==0x4000000 则转到 loc_81B0 ”? 不可能。
【问题讨论】:
-
是的,就是这个意思。也许他们故意设置条件代码,知道它不会分支,或者这个代码是为了防止逆向工程,让分支 dest 输入未定义的指令或其他与反汇编程序混淆的东西。
-
断章取意,当然,但现在您需要查找所有可能的代码路径,这些代码路径最终可能会跳转到
cmp,而 r0 和 r1 设置不同。 ..
标签: assembly arm reverse-engineering