我在找什么
我有一个二进制文件,出于各种原因,我很确定它是可执行的机器代码(虽然可能用于 VM 语言,但我怀疑它是 Java)。我正在寻找字节值与体系结构的字节频率表。
我认识到这些值会因编译器、操作系统 ABI/API、应用程序和二进制格式而异,但出于我的目的,我假设它们因架构而异,并且:
- 我只需要实际可执行代码的频率
.text
- 部分 - 而不是整个二进制文件。 - 该二进制文件针对 1985 年至 2005 年间最常见的最终用户操作系统之一(因此,旧式 unices、Linux、VMS、DOS、Windows NT、MacOS 或 OSX)。
- 它是在这些系统的最常见编译器上使用默认标志编译的
如果所有这些都失败了,我至少想要一个
等等,维基百科上有这个列表。谢谢你,维基百科。nop
所有最常见架构的操作码列表,因为我认为假设大多数编译器使用 nops 进行填充可能是公平的,并且 nops 的运行将帮助我找出一个好的条目反汇编器的要点是。
我的用例
我有一个二进制文件的片段,我很确定它是可执行的目标代码(没有标题/部分信息。我认为它是.text
原始格式的部分(或任何你称之为)。
我不确定它是否来自二进制文件,但是当转换为灰度位图时,它有一些清晰的图案(定期出现条纹),我注意到这些字节FF FF
出现的频率足够高,并且在表单中的其他字节旁边Fx
,我觉得我正在查看高内存地址。香农熵足够低,我很确定它没有被压缩或加密(大约 7.76),但表示了所有 256 个可能的字节值。
由于个人原因,我实际上无法提供 hexdump 本身。