我正在使用C编程语言在GDB中进行练习,这是帮助开发人员调试编码的方法,但似乎无法理解要采用的方向。
我所知道的是玩具程序要求输入密码,最终的运动目的地是GDB应该允许发现漏洞,从而绕过密码检查。这就是我给予的所有内容,因此任何代码都会像对我一样令人困惑,因为它对读者来说也是如此。所以基本上,我要求有经验的人尝试一系列步骤。
我通过objdump转储并发现了一个非常大的转储。我找到了主要的功能,但之后只有很多库函数和非常神秘的十六进制和汇编代码 我应该采取不同的启发式方法吗?我对堆栈不是很熟悉,所以可能有些东西吗?我知道我可以设置断点,但不知道要从哪个函数开始。当程序运行时,它会显示“请输入密码”,我输入一个随机密码,玩具程序显示“密码不正确!”。介于两者之间我需要拦截一些东西,但这超出了我的范围。
感谢您的帮助。你会让终身学者感到非常高兴。