基本上它应该类似于 Themida 或 VMProtect(进行突变、虚拟化等),但就我而言, 我想在指针之间获取 ASM 代码,对其进行混淆等,并将其写入某个 DLL。在原始应用程序中,我们有一个修补过的蹦床,由我们的“disasm 工具”功能生成......嗯,有什么例子吗?=)
也许保护软件代码或类似的东西不是一个好主意,我只是为了学习而这样做。我知道 ASM 指针在理论上是如何工作的。例如,我可以使用 Olly 手动完成所有这些操作,但是如何像 VMProtect、Enigma 或 Themida“编译器工具”那样以编程方式执行此操作?从来没有尝试过自己制作这样的东西。并没有找到任何例子,因为那是“神秘”级别的编程,而且在开源上也很难找到这种东西=(
所以问题:
1)如何在编译的应用程序中以编程方式搜索ASM指针?
2)如何以编程方式在 2 个 ASM 指针之间“剪切”和解除代码?
3)如何以编程方式将它们粘贴回(编辑后)?