将可执行文件加载到 gdb 后,如何在执行第一条指令之前在入口点中断?
我正在分析的可执行文件是一个加密的恶意软件,因此 break main
绝对不会执行任何操作。
最佳答案
从 GDB 8.1 开始,有一个特殊的命令:starti
。 GDB session 示例:
$ gdb /bin/true
Reading symbols from /bin/true...(no debugging symbols found)...done.
(gdb) starti
Starting program: /bin/true
Program stopped.
0xf7fdd800 in _start () from /lib/ld-linux.so.2
(gdb) x/5i $pc
=> 0xf7fdd800 <_start>: mov eax,esp
0xf7fdd802 <_start+2>: call 0xf7fe2160 <_dl_start>
0xf7fdd807 <_dl_start_user>: mov edi,eax
0xf7fdd809 <_dl_start_user+2>: call 0xf7fdd7f0
0xf7fdd80e <_dl_start_user+7>: add ebx,0x1f7e6
关于gdb - 在 GDB 中的第一条机器代码指令处停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10483544/