首页
社区
课程
招聘
[原创] 文件二进制分析技巧
发表于: 2025-5-24 22:26 168

[原创] 文件二进制分析技巧

2025-5-24 22:26
168

    在逆向工程中,经常遇到对文件进行二进制分析。通过对文件的二进制分析,我们能够掌握到文件的类型,有的是文档类型的文件,还有的是可执行文件类型。工欲善其事必先利其器,我们首先需要的是一个十六进制编辑器。常见的十六进制编辑器有 010 Editor,wxHexEditor 等工具。采用这些工具打开文件,可以直接查看文件的二进制流数据,这样,我们能够直接查看文件内容而不仅仅是通过扩展名来了解到文件的文件格式。

    比如我们常常在软件中看到大量没有扩展名的文件,我们不知道他们的文件格式,但是可以通过 010 Editor 打开文件,我们通过Magic Head,就能了解到他们的文件格式,常见的有SQLite文件,用 010 Editor 打开后,能清晰的看到文件头为SQLite format 3。如下图,

    Rar 文件的文件头:

还有大家都了解的PK 开头的是 ZIP压缩的文件,这些都可以通过打开文件,查看头部的Magic Head来了解。

关于Magic Head的知识(识别文件头(Magic Bytes)是通过分析文件起始位置的特定字节序列来确定文件类型的关键方法。Magic Bytes 是文件格式的“签名”,通常位于文件开头(或特定偏移位置),用于标识文件的类型和结构。即使文件扩展名被篡改(如将 .exe 改为 .txt),Magic Bytes 仍可准确判断真实类型。


我们通过文件头了解文件的类型,还可以通过二进制来分析文件的结构。每一种固定的文件格式都有固定的二进制结构。比如说常见的可执行文件,如EXE文件,我们用010 Editor 打开,能够明显看到他的结构形式,这对于我们分析了了解EXE文件如何加载运行的,有很大帮助。

在图片上部分,我们能看到标志性的Magic Head,在下面,你就能观察到这个EXE文件的文件结构。EXE 文件(Windows 可执行文件)采用 PE(Portable Executable)格式。由多个头部(Headers)和节区(Sections)组成。通过软件,我们可以更直观的掌握这些文件的数据结构。进一步分析这些文件,帮助我们逆向。

我们还可以利用二进制信息,分析文件是否加密,可执行程序是否加壳等信息。

   


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回