谢谢!
#1 楼
如果您尝试使elf变基,则可以执行info proc mappings
。这将显示所有映射的地址。 (也可以通过执行cat /proc/<pid>/map
来查看)然后只需通过EDIT-> Segments-> Rebase程序重新设置IDA的基础,然后从单选按钮中选择
Image Base
。例如:
(gdb) info proc mappings
process 12383
Mapped address spaces:
Start Addr End Addr Size Offset objfile
0x8048000 0x8049000 0x1000 0 /home/user/my_elf
0x8049000 0x804a000 0x1000 0 /home/user/my_elf
0x804a000 0x804b000 0x1000 0x1000 /home/user/my_elf
0xb7e73000 0xb7e74000 0x1000 0
0xb7e74000 0xb7fbd000 0x149000 0 /lib/i386-linux-gnu/libc-2.13.so
0xb7fbd000 0xb7fbe000 0x1000 0x149000 /lib/i386-linux-gnu/libc-2.13.so
0xb7fbe000 0xb7fc0000 0x2000 0x149000 /lib/i386-linux-gnu/libc-2.13.so
0xb7fc0000 0xb7fc1000 0x1000 0x14b000 /lib/i386-linux-gnu/libc-2.13.so
0xb7fc1000 0xb7fc4000 0x3000 0
0xb7fdf000 0xb7fe1000 0x2000 0
0xb7fe1000 0xb7fe2000 0x1000 0 [vdso]
0xb7fe2000 0xb7ffe000 0x1c000 0 /lib/i386-linux-gnu/ld-2.13.so
0xb7ffe000 0xb7fff000 0x1000 0x1b000 /lib/i386-linux-gnu/ld-2.13.so
0xb7fff000 0xb8000000 0x1000 0x1c000 /lib/i386-linux-gnu/ld-2.13.so
0xbffdf000 0xc0000000 0x21000 0 [stack]
如果我要看IDA中的小精灵,我会使用0x8048000作为基数。如果我要查看libc-2.13.so,我将使用0xb7e74000。
希望有帮助。
评论
为什么不直接在IDA中直接调试呢?