Reverse Engineering x86 assemblya day agohttps://jyn.dev/reverse-engineering-x86-assembly/C编译过程从源代码到预处理源代码到汇编到目标文件到二进制文件,其中汇编步骤最难逆向。GDB是一个逐行调试编译程序的调试器,每一步后显示变化。使用gcc的-g标志保留调试符号,使用gdb的-q标志抑制版权信息。必须在主函数中添加断点以停止执行;否则程序会一直运行而不停止。在逐步执行程序时可以显示变量。主函数中的return 0语句是可选的。该帖子在另一篇名为《缓冲区溢出、栈与汇编,哦我的天》的文章中继续。
Underappreciated Builtin: Grand Unified Debuggera month agohttps://tusharhero.codeberg.page/underappreciated-builtin-gud.htmlEmacs 中的 Grand Unified Debugger (GUD) 是一个被低估的内置功能,它支持多种调试器,如 GDB、LLDB、Perl、Java、Python 等。通过一个使用 GDB 调试斐波那契程序的演示,展示了如何通过边缘点击设置断点、使用工具栏按钮(运行、下一行、步进、上/下堆栈)以及在专用窗口中管理断点。GUD 提供了多种功能,如用于输出的 I/O 窗口、通过悬停检查变量、局部变量窗口以及变量监视功能,可在值变化时自动更新。