4
我目前正在反向反彙編,偶然發現了一條我不明白的指令鏈: 給定的是一個對象指針,在esi
。ASM:添加0xFFFFFFFF
.text:00C20263 cmp dword ptr [esi+80h], 0
.text:00C2026A jnz short loc_C2027D
正如你可以看到,如果成員+0x80
不爲0(成員爲整數)的代碼會跳轉到00C2027D
:
.text:00C2027D add dword ptr [esi+80h], 0FFFFFFFFh
.text:00C20284 jnz short loc_C20291
這兩個指令是那些我不真正瞭解。首先,該成員增加0xFFFFFFFF;但由於該成員不是0,該指令是否會超過32位整數的最大值? jnz
指令何時跳轉?
有人可能會指出這兩條指令的目的是什麼?
非常感謝。這點完全有意義。 – Paranaix 2012-07-09 18:19:52
那麼也許你應該把標記作爲回答圖標? – 2012-07-10 11:26:05
@MihaiLabo我很抱歉,因爲我讀了這個答案,我沒有能夠按下它,然後簡單地忘了它;) – Paranaix 2012-07-11 12:00:19