eev0 / arm-thumb-decompiler-plugin

Automatically exported from code.google.com/p/arm-thumb-decompiler-plugin
0 stars 0 forks source link

Decompiled code doesn't always decompile all the way and requires user intervention #2

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Occasionally when decompiling, the user will just see undefined bytes in the 
place of the decompiled code 

Occasionally when decompiling, there will be a mix of Assembly and the Pseudo 
code. It would seem that the function end isn't being recorded probably when 
running MakeUnknown(), but I haven't figured out a solution. 

Both can be fixed by the user pressing 'C' until the proper code is present.

(If pressing 'c' doesn't work on the code, a bug likely occurred. Please 
provide a binary with just the offending function and what offsets we should  
use when loading. (Or fix it yourself))

Original issue reported on code.google.com by nuri...@gmail.com on 6 Feb 2013 at 5:41

GoogleCodeExporter commented 8 years ago
I believe the first one is due to when doing MakeUnknown, if there's what looks 
like a named address in the assembly, IDA will treat it as data, and as such if 
I have a constant named 
Background_tiles which is located at 0x6008000 and IDA sees a bunch of data like
70 B5 00 06 05 0E 00 26 it will then interpret the 70 B5 00 06  as .long 
Background_tiles+0x3570

Thus destroying the code, the obvious work around is to disable "Convert data 
to offsets"

However, I would like to make this happen from a code perspective so the user 
is free to do whatever

Original comment by nuri...@gmail.com on 6 Feb 2013 at 11:43