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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jwc2436/article/details/78852953

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 <main>:
 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

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

感谢东晓大神

猜你喜欢

转载自blog.csdn.net/jwc2436/article/details/78852953