- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们都知道在x86 arch中,数据和代码混合在内存或磁盘中。但是怎么告诉他们呢?
paper需要这个方法,我不期望100%的准确率。 80% 还可以,即使是一些想法也可以:)
最佳答案
统计确定哪些命令在可执行文件中是常见的。
例如。一些命令可能是加/减等。
对于未知的二进制序列,将其视为机器代码,并查看使用的各种命令的频率(此处您可以假设命令在字节边界正确开始)。
如果使用了无效命令,显然不是机器码。
否则,请查看所用命令的百分比频率是否与通常情况相符。
此外,当使用接受地址(例如寄存器或内存/数据位置)的命令时,记录它们。然后检查附近是否正在访问相同的位置。
这可以通过按使用频率降序对使用的任何数据位置进行排序来完成,并且看到频率下降的形状与通常的形状有些匹配。
数据(非机器代码)不太可能匹配这些统计测试。
请注意,当我说合身时,您可以检查是否合身。即使它与正常情况相去甚远,它可能仍然是代码,除非在统计上几乎没有相关性。
关于x86 - 如何判断二进制序列是否为 x86 机器码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12027405/
我们都知道在x86 arch中,数据和代码混合在内存或磁盘中。但是怎么告诉他们呢? paper需要这个方法,我不期望100%的准确率。 80% 还可以,即使是一些想法也可以:) 最佳答案 统计确定哪些
我在 Google 上进行了大量研究,寻找一种可以将机器代码直接包含在汇编源文件中的方法。我没有任何运气。 我所说的“内联机器代码”的意思可能不清楚,所以让我为您提供一个我正在寻找的示例: ; her
我们都知道在x86 arch中,数据和代码混合在内存或磁盘中。但是怎么告诉他们呢? paper需要这个方法,我不期望100%的准确率。 80% 还可以,即使是一些想法也可以:) 最佳答案 统计确定哪些
汇编、机器码、字节码和操作码之间的实际关系是什么? 我已经阅读了大部分关于汇编和机器代码的 SO 问题,例如 this ,但它们太高级了,没有显示实际汇编代码转换为机器代码的示例。结果,我仍然不明白它
让 objdump 反汇编原始 x64 代码的正确架构是什么?你会认为-m x86-64应该通过阅读帮助来工作,但事实并非如此。我尝试了 cygwin64 版本: $ objdump --versio
有没有办法将 .NET 程序集编译成 native 代码(即 x86)输出,也就是说,没有 MSIL。 据我了解,如果您仅将 x86 指定为体系结构,这只会更改 PE header 以将其指向 JIT
对于此 C 源代码: int add(int a, int b) { return a + b; } ,用于 8086 的 Watcom C 编译器 (wcc -s -ms -os -0 prog.c
我是一名优秀的程序员,十分优秀!