当前位置:  开发笔记 > 编程语言 > 正文

在x86上使用GDB而不调试符号?

如何解决《在x86上使用GDB而不调试符号?》经验,为你挑选了2个好方法。

如何使用GDB调试32位x86处理器上没有调试符号的程序?检查函数参数,局部变量,解析指针对于知道如何操作很有用.目的并不是将它用于逆向工程,因为我有时候懒得安装调试符号,并且很高兴知道如何从gdb中获取一些基本信息.



1> RandomNickNa..:

首先,你可以做;

gdb "whatever"
break __libc_start_main
r

这将在libc的crt0代码中设置一个断点,并允许你在main之前断开,即使目标二进制文件被完全剥离.

这将使您在大多数用户代码之前到达断点处的运行状态.然后你可以单步,消解,转储内存等......到你心中的内容.

这适用于所有平台,您询问IA-32/x86无关紧要.



2> Draemon..:

如果没有调试符号,则只能在ASM级别进行调试.好吧,你得到的更多信息,但你不会走得很远,除非你了解一点ASM和编译器生成的代码.如果您知道自己在做什么,这将让您对局部变量等进行简单的检查.

如果你有源代码,那么重新编译它会容易得多.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有