机器码与汇编代码对应方法

1, 拿到机器码,写到c语言文件中

int main()
{
	__asm__ __volatile__ (".byte 0x66, 0xf, 0x3a, 0xf, 0xd1, 0x4, 0x8d, 0x7f, 0x20, 0x66, 0xf, 0x7f, 0x54, 0x3a, 0xe0, 0x66");

}

2, gcc -m32 a.c 生成a.out

3,objdump -d a.out 得到汇编代码(部分如下)

080483ed 
: 80483ed: 55 push %ebp 80483ee: 89 e5 mov %esp,%ebp 80483f0: 66 0f 3a 0f d1 04 palignr $0x4,%xmm1,%xmm2 80483f6: 8d 7f 20 lea 0x20(%edi),%edi 80483f9: 66 0f 7f 54 3a e0 movdqa %xmm2,-0x20(%edx,%edi,1) 80483ff: 66 5d pop %bp 8048401: c3 ret 8048402: 66 90 xchg %ax,%ax 8048404: 66 90 xchg %ax,%ax 8048406: 66 90 xchg %ax,%ax 8048408: 66 90 xchg %ax,%ax 804840a: 66 90 xchg %ax,%ax 804840c: 66 90 xchg %ax,%ax 804840e: 66 90 xchg %ax,%ax

可以对应起来(仅供参考)

感谢东晓大神

你可能感兴趣的:(Linux,Android,app)