Comment by RandomTeaParty

7 hours ago

My general experience with decompilation has been very negative (rough and not ready for use)

It feels like tool devs target byte editting more than refactoring decompiled code into something readable - you can't move lines of code, can't flip statement checked in if() for early return

Author of this article mentioned "byte euivalence", and while I'd be fine with functional sameness, I imagine provably-reversible refactor steps would be of great help for everyone

Not sure if you're a .NET/C# person, but PDBs are a bit different tho in that they contain full debug information and you can absolutely decompile a .DLL + .PDB combo. Very successfully even in the case of obfuscation.

  • Fight against obfuscation is different from fighting for readability

    I've tried Ghidra, IDA and BinaryNinja, and all of them display code on the level of "C with classes" from early 00s (and declaration of variables at the beginning of function in style of structured programming of the 90s)

    I'd be perfectly fine with that output, had there been good way to interactively fix it (refactor without changing behaviour)

Hm, I wrote a decompiler that does this. Maybe I should work on it more.

  • This site never ceases to surprise me with new username jumpscares (no negative connotation intended)

    I had no idea you were an (ex?) sysadmin! Apologies for the offtopic driveby reply, but what a small world we live in.