WinDBG实现shellcode转汇编
2017-12-09 本文已影响25人
星夜兼程工作笔记
方法/步骤
首先使用WinDBG随便打开一个exe,断下来之后,创建一块内存,命令如下所示:
0:009> .dvalloc 1000
然后使用eb命令写入shellcode,并且shellcode格式必须类似于下面的,比如这里的shellcode是:
0x55 0x8b 0xec 0x56 0x8b 0x75 0x08 0x33 0xc0 0x85 0xf6 0x74 0x1c 0x8b 0x0e 0x85 0x16 0x39 0x46 0x04 0x74 0x11 0x57 0xff 0xd1 0x8b 0xf8 0x8b 0x46 0x04 0x57 0xff 0xc4 0x04 0x8b 0xc7 0x5f 0x5e 0x5d 0xc3
写入命令如下所示:
然后使用db命令查看shellcode是否写入成功,如下所示:
写入成功之后就可以使用u命令来查看汇编代码了,如下所示:
可以成功查看汇编代码,下面修改eip寄存器的值来调试这段shellcode,如下所示:
然后按F10单步调试就可以调试shellcode了,如下所示:
7
当然OllyDbg也可以直接这么做,选择一块区域,右键-->二进制-->二进制,然后粘贴即可。