惊险刺激!一个自我修改的C程序
2025-05-25
本文讲述了如何创建一个能够在运行时修改自身代码的C程序。作者首先解释了程序代码在内存中的存储方式以及如何使用`mprotect()`函数修改代码段的权限,使其可写。然后,作者通过修改`addl`指令的立即数,实现了改变程序运行结果的功能。最后,作者更进一步,通过`memcpy()`函数将一段shellcode复制到程序代码段,成功地实现了在运行时执行shell命令。整个过程充满了技术挑战,对x86_64汇编语言的理解至关重要。
开发
自我修改程序