Is there a good, free decompiler that supports ARM binaries? I'm looking for a decompiler from native code to C, not just a disassembler.
I'm looking for a decompiler for ARMv7 (i.e. 32-bit) programs that supports Thumb code, and can decompile both raw code and ELF binaries. If it supports more formats, that's better.
Ideally the decompiler should produce compilable C code (the closer the better). The decompiler should see through optimizations of common compilers. Understanding binaries that have been deliberately obfuscated is out of scope.
This is purely for occasional hobby use (my primary motivation is for CTF), so I'm not prepared to pay. Open source is always better. The decompiler must run on Linux (ARM or x86) — if that's really not an option I might use an online decompiler (but it should let me download the result and shouldn't have too stringent size restrictions).