>>3 whuh? the limit of my CS knowledge is an introductory java course, so i can;t tell if that means anything or not.
If you're so retarded, why would you want to look at machine code anyway?
Name:
Anonymous2008-07-25 1:10
/gorp/ is that way -->
Name:
Anonymous2008-07-25 2:26
>>11
genuine curiosity. i've always wondered about this issue, was looking into how decompilers work and was reminded of it.
Name:
Anonymous2008-07-25 2:34
>>5 >>8 >>9
oh wow, thanks. now, another question; these are all called decompilers or disassemblers. what i was thinking was that there was a natural way (don't know how else to describe it) of looking at the executables (of whatever format) and seeing the processor instructions, and it was this way of looking that the decompilers used to recreate the source. so, how do the decompilers/disassemblers work?
Name:
Anonymous2008-07-25 2:44
>>14
Decompiler don't generally work at all. There's nothing special about how disassemblers work; there's naturally an almost 1:1 mapping between machine code in binary form and its `human readable' version.
There's some de-compiler projects, which aim to produce source code in some high-level language (usually C). The ones I've seen (and that was years ago, no doubt they've all died) used specific knowledge of certain compilers to re-create the source code. The process required very specific tuning down to the version number of the supported compilers, and unsupported versions was very hit-and-miss.
It's best to just learn the target processors in and out, learn all the specific idioms and tricks used. This is all a lot easier if you don't have to target x86 CPUs, which are a mess both due to the ISA, and due to the fact that the CPU engineers look at the code produced by the compilers to revise the ISA.
Name:
Anonymous2008-07-28 18:32
>>14 looking at the executables (of whatever format) and seeing the processor instructions
1. Open executable with hex editor
2. Learn the layout of ELF files (or Mach-O or PE)
3. Get chart with machine code instructions for your processor
4. Realize that what you want to do is boring, pointless and extremely hideous.