0
一些拆卸展望,我看到了下面一行:MOVZX 86編碼
0f b7 8c 00 c4 99 86 movzx ecx,WORD PTR [eax+eax*1-0x3e79663c]
如何拆裝是從編碼所獲得的價值「0x3e79663c」?它看起來不是相對於指令的地址。
望着原始字節,如果我們從0減去0x8699c4,我們得到0xff79663c。該數字的最後3個字節是反彙編程序的內容,但我仍然沒有看到最重要的字節(0x3e)來自哪裏。
更新
原來objdump的是一種奇怪的方式打印出來。由於某種原因,它將缺少的字節打印爲下一個操作碼。
35: 83 c7 01 add edi,0x1
38: 0f b7 8c 00 c4 99 86 movzx ecx,WORD PTR [eax+eax*1-0x3e79663c]
3f: c1
40: 8d 81 30 96 86 c1 lea eax,[ecx-0x3e7969d0]
感謝Jester找出答案。
這不是下一個操作碼,它只是一個延續線。如果需要,可以使用'--insn-width = 15'設置更寬的顯示。 – Jester