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
可以对应起来(仅供参考)
感谢东晓大神