Natknąłem się dziś na stronę Hex Rays. Jest to dekompilator autorstwa głównego developera IDA Pro, Ilfaka Guilfanova.
Jeśli ktoś próbował wcześniej używać innych dekompilatorów - wie, że kod który produkują specjalnie się do niczego nie nadaje, a już na pewno nie do ponownej kompilacji. Kod generowany przez Hex Rays nie dość że jest kompilowalny, to na dodatek można go modyfikować w taki sam sposób jak kod maszynowy w IDA, czyli zmiany nazwy, zmiany typów, deklarowanie struktur. Sam program działa jako plugin do IDA Pro i kosztuje 1500 Euro za licencję (plus 360 Euro za IDA), ale moim zdaniem jest to mała cena za takiej jakości kod. Na podlinkowanej przeze mnie stronie produktu jest do ściągnięcia paczka z kodem źródłowym wyprodukowanym przez program - jest naprawdę czytelny. Poza tym, ciekawa jest lektura porównania zdekompilowanego kodu w C i assemblera - pokazuje jak złożone struktury potrafi rozpoznać Hex Rays.