我是初学者,在RE中遇到了一些麻烦。 我有一个ELF'炸弹'和一个未知文件'model.abc'。 运行炸弹的正确方法是:
bomb model.abc
现在我想在运行它时使用gdb查看某些地址的值。任何人都可以帮助我吗?
答案 0 :(得分:1)
首先从shell提示符启动gdb
:
$ gdb bomb
然后使用您想要的命令行从(gdb)
提示符运行程序:
(gdb) run model.abc
您需要以这种方式启动程序,因为gdb
不允许您在gdb
命令行上为 程序指定命令行参数。
答案 1 :(得分:1)
使用参数调试程序的另一种更方便的方法:
gdb --args program <arguments>
如果您没有符号,则必须从入口点开始。要计算我们的位置,请使用:
(gdb) info file
Symbols from "/.../tesprog".
Local exec file:
`/.../tesprog', file type elf32-i386.
Entry point: 0x804abc0
然后你可以在运行之前在它上面设置断点:
break *0x804abc0
请注意,该条目通常是库启动代码(ctr0.s),可能需要一段时间才能获得程序员编写的实际代码。