ARM ELF混淆


0

Metamorphic是一种技术,用于混淆二进制文件并更改操作码序列并创建具有相同功能的新样本。在我的情况下,我有一些ARM处理器类型的精灵二进制文件,它们的源代码不可访问。有什么办法来混淆它们并创建具有相同功能的新样本?

2

是否有任何现成的ARM变形解决方案,我不这么认为。有没有办法做变形?是的,但是这应该在编译阶段使用像llvm这样的工具完成。它必须在编译过程中完成,以便获得每条指令所完成内容的完整背景,并且为了做出非常好的变形,而不是一些愚蠢的指令替换。

  0

是的,你是真的。不幸的是,我还没有找到适合ARM的变形,而llvm对我来说是没用的,因为我没有访问源代码。我正在寻找一个发电机,但似乎没有发电机为我的情况,或者我还没有发现任何东西!你有什么想法?我应该自己做,因为我只需要更换代码? 22 11月. 172017-11-22 13:40:21

  0

你需要有一个理想的反汇编代码。即由二进制制成的asm文件。你可以重新编译回ELF(或者你的代码是什么格式)。完成这项工作后,您可以操纵asm文本,看看它是否合适。然后重新编译一遍。我在x86二进制文件上做了这样的事情。但是花了一个星期的时间才将一个好的asm文件从IDA中提取出来,以便我可以用MASM重新编译它。 22 11月. 172017-11-22 14:06:46

  0

你的理想拆卸意味着什么? IDA反汇编可以创建一个理想的反汇编代码,换句话说,理想的反编译代码如何? 22 11月. 172017-11-22 14:20:30

  0

IDA可以给你一些反汇编的文本,但你必须先解决它,然后才能用汇编器来编译它。主要问题是数据指针和指向其他常量的常量数据结构,在尝试生成asm文件之前,您必须先找到它们并在IDA中进行定义。否则,它们被定义为无意义的字节,并且不会被汇编程序正确处理。 23 11月. 172017-11-23 08:52:58