Hacker News new | past | comments | ask | show | jobs | submit login

Disassemblers produce assembly code, not the HLL code, so they are many orders of magnitude easier to write from the scratch than modern compilers. They typically expect human involvement as soon as there's non-trivial assembly-level engineered self-modifying code. Hopefully there's no much of such code in the results of the compilers we use.

Also if you check the whole discussion you'll see I already discussed Ken's work.




Ok, I appreciate this information (and I'm trying to follow the discussion but I didn't see you talking of Ken's work).

But I'm still curious; even though you can write the disassembler by hand, how can you be sure that you're compiling it with a non-compromised compiler? Or do you mean write it in e.g. ELF format directly (and that's assuming the OS isn't involved in filtering offending code, though it seems extraordinarily unlikely that the OS could be generally modified in such away without detection)?


The more general and diverse the tools you use, the less likely they are all compromised in the same way, and the more likely any compromise will show up in other contexts. Using tools at different meta-levels may also be worthwhile (machine-code vs. interpreter).


write a disassembler in machine code, of course :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: