2

我是初学者,在 RE 中遇到了一些麻烦。我有一个 ELF“炸弹”和一个未知文件“model.abc”。运行炸弹的正确方法是:

bomb model.abc

现在我想在运行时使用 gdb 来查看一些地址的值。谁能帮我?

4

2 回答 2

1

首先gdb从 shell 提示符开始:

$ gdb bomb

然后(gdb)使用您想要的命令行从提示符运行您的程序:

(gdb) run model.abc

您需要以这种方式启动程序,因为gdb不允许您在命令行上为程序指定命令参数gdb

于 2012-11-29T03:42:01.337 回答
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),可能需要一段时间才能到达程序员编写的实际代码。

于 2012-11-29T11:51:11.957 回答