[ltp] Can you trust your firmware?

Micha linux-thinkpad@linux-thinkpad.org
Wed, 20 Feb 2008 22:17:36 +0200


On Wed, 20 Feb 2008 14:10:43 -0500
Connor Behan <connor.behan@gmail.com> wrote:

> >
> >
> > If your goal is that you **must** have a system where there is no
> > propiretary firmware at all, you'll need to go back to MIT's 6.004 class
> > from about a decade ago, when students were taught how to build a computer
> > using nothing more than prototyping breadboard, 74XX TTL integrated
> > circuits, and wire.  (The class did provide modules for the RS-232
> > interface, memory, and a simple ALU, so it wasn't *all* 74XX logic
> > chips, but it was close, and there definitely wouldn't have been any
> > microcode except in the 8250 serial UART.)
> >   
> Heh, that sounds awesome. Would knowing every last detail of a processor help
> make decompiling as easy as compiling? I like to think of compiling as
> differentiation and decompiling as integration. If you were to make your own
> processor from scratch, do you think it would be possible to design it in
> such a way that any code compiled to run on it would be completely
> reversible? I mean you take one look at a binary file in a hex editor and a
> vision of what the source code would be follows immediately from that?
> 

You can already translate it back to assembly. going from there to meaningless
c is probably possible, but going back to the original code is mostly
impossible an optimized code due to a lot of compiler trickery.

You also lose function names and such

With java I think it's possible and with .net I think also. You can implement
Microsoft's dream and make a cpu that runs .net naively ...