几年前我写了一个很好的ARM汇编程序,多年来它在设计的ARM嵌入式系统上完美地完成了它的工作。现在,现在是将它移植到非ARM系统的时候了,我想知道是否有工具或某种方法来获取我原来的ARM汇编源并从中获取一个rudimentory C文件。我可能会在几天内自己做,但有一个起点会很高兴。如果应用程序或方法是免费的,那就更好了:)
有什么建议吗?
答案 0 :(得分:3)
IDA Pro的Hex-Rays Decompiler插件可以反编译ARM。它有点贵,所以如果你只需要一个例程,那么可能不是最好的选择。
答案 1 :(得分:2)
不幸的是我不知道这样的工具......会很好......; )
因此,我能给出的唯一建议是专注于逻辑。
您编写了汇编代码。所以你知道应该做什么代码。即使使用ARM程序集,将其转换为C代码也不应该那么难。
我的意思是将C移植到ARM程序集可能是一项艰巨的任务。但是对于反向选项,如果您知道代码逻辑,并且如果您知道如何编写C,那么应该没问题......
创建C结构以简化您正在使用的内存区域。关于算法,它们不会改变。在一些结构的帮助下,只需将你从装配到C的内容翻译成C ......
抱歉,我可以给你这样的工具......
祝你好运:)答案 2 :(得分:1)
您可以使用radare2反编译器插件(r2dec
),它将asm转换为伪C。但是我认为手动转换非常有趣。