| ▲ | swisniewski 4 hours ago | |
Another interesting thing… random data has a high likely hood of disassembling into random instructions, but there’s a low probability that such instructions (particularly sequences of such instructions) are valid semantically. For example, there’s a very high chance a single random instruction would page fault. If you want to generate random instructions and have them execute, you have to write a tiny debugger, intercept the page faults, fix up the program’s virtual memory map, then re-run the instruction to make it work. This means that even though high entropy data has a good chance of producing valid instructions, it doesn’t have a high chance of producing valid instruction sequences. Code that actually does something will have much much lower entropy. That is interesting…even though random data is syntactically valid as instructions, it’s almost certainly invalid semantically. | ||