linux - 如何在不改变其功能的情况下将一些垃圾指令插入/删除到 ELF/PE 文件中?

标签 linux assembly reverse-engineering elf portable-executable

我想做一个学术实验,基本上我想做的是

在 ELF 或 PE 文件中插入和删除一些垃圾指令。

Pop eax
NOP
NOP
NOP
Push eax

所以我的问题是如何在不改变其原始功能的情况下插入某些指令。

看来我需要根据 ELF/PE 格式更新所有相应的条目和表格,但基本上该怎么做以及应该更新什么......?

经过搜索,我没有找到与此问题相关的有用信息或代码,所以我想知道是否有人可以提供帮助..?非常感谢!

最佳答案

所有分支的手动修复会相当乏味。所以得到一个反汇编器和一个汇编器,反汇编文件,插入你的虚拟命令序列,然后重新组装。代码仍有可能被破坏。一些可执行文件会故意检查其代码的完整性,作为复制保护措施。

如果可执行文件是通过 Authenticode 签名的,您将无法恢复签名。数字签名的全部意义在于防止此类篡改。

关于linux - 如何在不改变其功能的情况下将一些垃圾指令插入/删除到 ELF/PE 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671269/

相关文章:

c++ - 链接到第三方共享库时出现 g++ undefined reference 错误

linux - 如何在 Linux 终端中删除 CRLF 字符(回车换行符)?

c - 我如何指示可以使用内联ASM参数*指向*的内存?

C++ 内联汇编(英特尔编译器): LEA and MOV behaving differently in Windows and Linux

android - 如何解压、编辑和压缩安卓 apk

python - 无法在 Python 中重现有效的 C 按位​​编码函数

linux - 对字符串后的数字求和

linux - 使用 zipgrep 返回文件名

assembly - 在汇编语言中,行 (r3)+ 是做什么的?

c - arg 在 ASM 函数中包含什么?