8B EC 56 8B F4 68 00 70 40 00 FF 15 BC 82 40
像上面这样的序列可以通过多种方式进行分段,每个段都可以翻译为相应的汇编指令,但是每个二进制可执行文件都有其唯一的确定的汇编,避免歧义的数学原理是什么?
UPDATE
得票最多的答案实际上根本没有回答我的问题。
知道你的出发点。
换句话说,给定指令的特定起始字节,指令结束的位置是明确的,从而为您提供下一条指令的起始字节并允许您继续。给定一个任意的内存块,如果不知道第一条指令从哪里开始,就不可能将其分解为单独的指令。
从更数学的角度来看,不存在其字节是另一有效指令的前缀的有效指令。因此,如果ab
是有效的,那么你就知道ab cd
不能有效,所以ab
必须是一条指令并且cd
是下一条指令的开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)