2010-07-07 244 views
4

我写了一个不错的ARM汇编程序在几年前,它已超过上ARM嵌入式系统它是专为这些年做得很漂亮的工作。现在已经到了将其移植到非ARM系统上的时候了,我在想是否有工具或某种方法来取得我最初的ARM汇编源代码,并从中得到一个基本的C文件。我可以在几天内自己做,但有一个出发点很好。更好犹若应用程序或方法是免费的:)反编译的ARM汇编回C

有什么建议?

+2

我怀疑你会有很多运气。通过了解一些编译器如何从代码生成汇编,反编译器可以“作弊”一点点。由于您的代码是手写的,因此它的行为可能与编译器生成的代码所预期的行为至少有点不同。 – SoapBox 2010-07-07 21:35:32

回答

2

我不知道这样的工具不幸......就好了; )

因此,我可以得到唯一的建议是把注意力集中在逻辑。

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

我的意思是移植C至臂组件可以是一个艰巨的任务。但是对于逆向选择,如果你知道代码的逻辑,如果你知道如何编写C,它应该只是确定...

创建C结构,缓解您正在使用的内存区域。关于算法,它们不会改变。只是翻译你从装配做什么到C,具有一定结构的帮助,等等

对不起,我可以给你这样的工具...

祝你好运:)

+0

这是我所想的。如果没有其他人发现更好的东西,我会将这个问题留待今后再开放,然后给予您信任:) – 2010-07-07 20:33:29

3

十六进制-Ray Decompiler插件用于IDA Pro可以反编译ARM。这有点贵,如果你只需要一个例程,可能不是最好的选择。

+0

是的,对我所需要的东西(ed)过度杀伤。我最终只是靠着子弹并手工反编译。 – 2010-11-16 18:35:54