将ARM asm反编译回C

时间:2010-07-07 18:34:17

标签: c assembly arm decompiler

几年前我写了一个很好的ARM汇编程序,多年来它在设计的ARM嵌入式系统上完美地完成了它的工作。现在,现在是将它移植到非ARM系统的时候了,我想知道是否有工具或某种方法来获取我原来的ARM汇编源并从中获取一个rudimentory C文件。我可能会在几天内自己做,但有一个起点会很高兴。如果应用程序或方法是免费的,那就更好了:)

有什么建议吗?

3 个答案:

答案 0 :(得分:3)

IDA Pro的Hex-Rays Decompiler插件可以反编译ARM。它有点贵,所以如果你只需要一个例程,那么可能不是最好的选择。

答案 1 :(得分:2)

不幸的是我不知道这样的工具......会很好......; )

因此,我能给出的唯一建议是专注于逻辑。

您编写了汇编代码。所以你知道应该做什么代码。即使使用ARM程序集,将其转换为C代码也不应该那么难。

我的意思是将C移植到ARM程序集可能是一项艰巨的任务。但是对于反向选项,如果您知道代码逻辑,并且如果您知道如何编写C,那么应该没问题......

创建C结构以简化您正在使用的内存区域。关于算法,它们不会改变。在一些结构的帮助下,只需将你从装配到C的内容翻译成C ......

抱歉,我可以给你这样的工具......

祝你好运:)

答案 2 :(得分:1)

您可以使用radare2反编译器插件(r2dec),它将asm转换为伪C。但是我认为手动转换非常有趣。