[NTLK] ARM decompiler

Steven Frank stevenf at panic.com
Sat May 23 16:37:51 EDT 2015


It does say it's available standalone as well as an IDA plug-in. But if you think it won't be particularly helpful then never mind! :)

Steven, via iPhone

> On May 22, 2015, at 3:23 PM, Matthias Melcher <mm at matthiasm.com> wrote:
> 
> 
>> On May 22, 2015, at 11:54 PM, Grant Hutchinson <grant at splorp.com> wrote:
>> 
>> 
>>> On 2015-05-21, at 11:06 PM, Andrei Chichak wrote:
>>> 
>>> ARM is listed as having initial support in the “Next version”.
>> 
>> Specifically, it looks like the developer needs "more descriptions of instructions, description of the calling convention, testing" specific to better ARM support.
>> 
>> https://github.com/yegord/snowman/blob/master/doc/todo.asciidoc
> 
> If I read this right, this code is a plugin for IdaPro. Ida is the de facto standard for reverse engineering. An ARM decompiler exists, originally written for iOS devices. The Newton ROM has a few specifics that Ida does not know about (format of the remaining labels in the debugger image, jump table for patches). I have not deeply investigated into this.
> 
> I have written a static analysis disassembler that has generated ARM assembly from the ROM including labels and ode/data separation which is very helpful. Generating a pseudo C code ist not too helpful because the ROM was partially written in ARM directly, which does not translate into C very well, and partially in C++, which can not be decompiled very well (if at all). Those few pure C functions are not worth the trouble.
> 
> There is something that is a bit whacky in the current Einstein git version. It's a C recompiler that takes the ARM code in the ROM and converts it into unreadable, yet correct C code. I managed to translate large parts of the ROM, and the resulting code is 2 to 5 times faster than JIT. It could be faster by a magnitude if we didn't have to emulate the Memory Managment Unit and its Virtual Memory and Permissions.
> 
> Matthias
> 
> ----------------------------------------------------------------------
> 
> http://newtontalk.net/



More information about the NewtonTalk mailing list