在 ELF 可执行文件中插入函数调用

逆向工程 小精灵 修补 仪器仪表
2021-06-25 03:53:19

我想修补一个 ELF 可执行文件以s2e_rawmon_loadmodule在开头插入一个函数调用(该函数及其依赖项最好是静态链接的)。

这个答案似乎有一组很好的指针。如果我理解正确,使用 PIN/Valgrind/DynamoRIO 的动态检测会改变地址空间。后续指令的地址已更改,这是我不想要的。

对于静态仪器,ERESI 项目可能很有用。但是,看起来这个项目已经被放弃了很长时间。由于编译问题,我无法在 Ubuntu 14.04 上构建该工具。

有人可以帮我解决一些问题吗?

1个回答

似乎您正在尝试在任何有意义的事情发生之前在二进制文件的上下文中运行一些代码。

您应该阅读一些有关 ELF 感染的资源,例如vxheavens此处

但是由于您尝试s2e注入/执行 ,也许您应该只使用调试器,因为我很确定这不是它应该使用的方式。s2e_rawmon_loadmodule