如何使用GDB调试32位x86处理器上没有调试符号的程序?检查函数参数,局部变量,解析指针对于知道如何操作很有用.目的并不是将它用于逆向工程,因为我有时候懒得安装调试符号,并且很高兴知道如何从gdb中获取一些基本信息.
首先,你可以做;
gdb "whatever" break __libc_start_main r
这将在libc的crt0代码中设置一个断点,并允许你在main之前断开,即使目标二进制文件被完全剥离.
这将使您在大多数用户代码之前到达断点处的运行状态.然后你可以单步,消解,转储内存等......到你心中的内容.
这适用于所有平台,您询问IA-32/x86无关紧要.
如果没有调试符号,则只能在ASM级别进行调试.好吧,你得到位的更多信息,但你不会走得很远,除非你了解一点ASM和编译器生成的代码.如果您知道自己在做什么,这将让您对局部变量等进行简单的检查.
如果你有源代码,那么重新编译它会容易得多.