我有一个 x86 二进制代码,我用radare2 打开它,并且(在可视模式下)我有以下说明:
Address Instruction ASM Istruction
0x00401251 85c0 test eax, eax
0x00401253 0f84c0000000 je 0x401319;
Rabin2 给我有关二进制文件的信息:
rabin2 -I bin.exe
arch x86
binsz 72704
bintype pe
bits 32
canary false
class PE32
cmp.csum 0x0001820e
compiled Wed Oct 11 01:56:45 2017
crypto false
endian little
havecode true
hdr.csum 0x00000000
linenum false
lsyms false
machine i386
maxopsz 16
minopsz 1
nx true
os windows
overlay false
pcalign 0
pic false
relocs true
signed false
static false
stripped true
subsys Windows CUI
va true
如果我运行 rasm2 并尝试生成以下二进制代码je 0x401319;
:
rasm2 -a x86 -b 32 "je 0x401319"
它返回一个不同的二进制代码:
0f8413134000
我不知道为什么会这样。