1

这似乎是一个奇怪的问题,但我认为它与某些 x86 二进制分析障碍有关。我正在思考这个想法:如果我有一个二进制文件可以连接到远程服务器以获得跳转目标,但服务器要到 12 月才会告诉我目标,我想在 11 月分析程序的行为,我可以开始跳转到程序中的随机地址并可靠地猜出一些正确的指令偏移量?我是否有可能“闯入”程序的控制流结构并“绕过”那个秘密跳转目的地的问题?

安全研究员 Chris Domas演示了一个他称为 Sand Sifter 的程序,该程序试图模糊 x86 指令:https ://github.com/xoreaxeaxeax/sandsifter

我在想如果无效指令很常见,换句话说,如果跳到指令中间经常会导致很快遇到无效指令,我们能找到正确的偏移量吗?

好吧,这可能太模糊而不能成为一个有效的问题,所以我决定简化它:粗略地说,我们是否对所有字节序列的哪一部分是有效指令有任何估计?我想另一种问法可能是:如果我生成了 100 万个随机熵二进制序列,其中有多少百分比会有有效的执行路径?甚至这个问题也因二进制文件的长度而变得复杂,因为二进制文件越长,最终就越有可能遇到无效指令。

4

0 回答 0