New answers tagged

0

You can give https://retdec.com/idaplugin/ a try. I've heard it can decompile larger functions without much error. According to them it supports decompiling a whole binary file. So it possibly could decompile this function without much hesitation. Although I can't promise anything. Good luck! :-)


0

The answer of @igor says about algorithm failures of IDA. Beside, I think you can use a function which is not type-able in the type system of the decompilation target language of IDA (I believe it's a subset of C), e.g. int foo(void *f, int i) { return ((int (*)(void*, int))(f))(foo, i); } clang -c test.c then IDA decompilers gives something likes ...


1

You can check "graceful failures" for some common problems that can prevent decompilation and try to induce them deliberately. However, most of them can be worked around with a bit of effort so don’t expect them to stop a motivated person.


0

check if jump destination is a continuous area behind the function, if true, alt+p, adjust function range. if not, first undefine target area, then use IDA-built-in function "append_func_tail" to add that chunk to owner function. here is the IDA-reference doc link one jump out done. if there is too many, then write a script to automate it.


Top 50 recent answers are included