I have been thinking about disassemblers and how to go from machine code back into assembly (or machine code back into some intermediate form that can be evaluated like in a VM)