这几天在学习pwn,在调试一些交互程序的时候,需要输入信息,可是无法在调试过程中输入内存地址,无法观察输入字符串是否覆盖到了栈地址(比如在测试栈溢出的到时候,利用python可以python -c "print 'A'*123 +‘\x12\x12\x12.......’")
因此想进行远程调试,从网上找到pwntools,其中pwnlib.gdb的gdb.debug可以用来远程调试,就是用gdb.debug()可以开启一个gdbserver,可是没有成功...求各路大神解答。如下图:
用gdb.debug打开程序,开启一个gdbserver
在gdbserver中看到这句提示,不知道什么意思
没有找到main函数,无法下断点
TAB键找到的时malloc,说明程序没有停到正常入口处,为何?
在进行嵌入式系统开发中,受到嵌入式系统资源的限制,调试环境和通用桌面系统的调试环境有差别,引入了远程调试技术。这时,调试器运行于通过桌面系统,被调试的程序则运行于基于特定硬件平台的嵌入式系统(目标系统)。因此,要求调试器和被调试程序之间进行通信,调试器还需要能够处理某些特定硬件平台的信息。
插桩(stub)方案是在目标系统和调试器内分别加入某些功能模块,二......
答案就在这里:利用GDB进行远程调试
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
很简单,能下malloc断点,不能下main断点而且出现“Function main not defined”证明程序没有main这个符号
可以IDA中查看main地址,然后b *0x下断点
用利用Pwnlib.gdb进行远程调试? 1C
这几天在学习pwn,在调试一些交互程序的时候,需要输入信息,可是无法在调试过程中输入内存地址,无法观察输入字符串是否覆盖到了栈地址(比如在测试栈溢出的到时候,利用python可以python -c "print 'A'*123 +‘\x12\x12\x12.......’")
因此想进行远程调试,从网上找到pwn