keystone
keystone copied to clipboard
under ATT style, it treats decimal numbers as hexadecimal numbers. that is very painful.
code generated by gcc
.align 4
_MessageBoxA:
.long 19089016
LC0:
.ascii "\0"
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl _MessageBoxA, %eax
movl $LC0, %ecx
movl $LC0, %edx
movl $0, 12(%esp)
movl %ecx, 8(%esp)
movl %edx, 4(%esp)
movl $0, (%esp)
call *%eax
nop
leave
ret
movl $0, 12(%esp), keystone assembles to movl $0, 0x12(%esp).
what ?
while as assembles to movl $0, 12(%esp) correctly. 12 not 0x12.
my using keystone is keystone_engine-0.9.2-py2.py3-none-win32 from pypi
用c++,python无法正常区分十六进制和十进制。python实在是太蠢了