On Thu, 30 Nov 2006, Richard wrote:
Has anyone considered decompilation (producing sources from
binaries) as a way of archiving system or application software that is
defunct?
It depends. I've disassembled plenty of ROMs in my day and it's not
too bad--just time consuming. Decompilation can be somewhat harder
if you don't know the way the original compiler worked. Aggressive
automatic optimization can really obscure the original code,
especially when the optimizer can move code or schedule instruction
issue times. A lot of the time, an optimization will result in a bit
of clever code that not many programmers would consider writing, if
they were working in assembly. On the other hand, compilers organize
data and code in a predictable way, which does give you a leg up over
a hunk of code generated from assembly.
That being said, the occasional orphan application or operating
system will yield its secrets only to decompilation/disassembly.
Depending upon how littlel you understand the original program and
its structure and optimization, the time required can be large.
For modern processors, I own a copy of IDA Pro, probably one of the
best (and wouldn't you know that it comes out of Russia!).
The only worrisome nugget is that if you're in the USA, decompilation
may be a violation of the DMCA--I'm not sure.
Cheers,
Chuck