前言
学习web安全也有2年了,最近想攻克一些CTF里面的逆向题目。所以开始着手学习逆向工程。在这里记录一下学习历程。对了我用的书是《有趣的二进制》,虚拟机是52Pojie专用虚拟机。
什么是静态分析
一句话简述就是:在不运行目标程序的情况下进行分析!
那么分析什么呢?分析程序的意图,在没有拿到编译后代码的前提下!
有哪些方法
1.阅读反汇编代码
Q:为什么是反汇编代码?汇编代码就不会读了吗?
A:因为逆向工程的目的是搞清楚程序的主要逻辑,如果能通过反汇编工具来读得话会轻松很多!告诉你个秘密不懂汇编代码也可以进行逆向!但是想走的更远,还是得懂一些基本的二进制代码。
2.提取可执行文件中的字符串,分析使用了哪些单词
因为一些反汇编代码中会出现一些常见的英文单词,比如:document,我们就知道这个可能与文件有关。或许直接给出了一个目录:C:/system/…,我们就知道这个程序和这个地址的有关系。
例如下图:我们通过二进制代码查看器(Winhex),也可以看出一些端倪!

有哪些好用的工具
1、Winhex
直接观察二进制代码。如上图。
2、IDA(静态分析的神奇)
关于IDA的页面做下说明:
IDA包含两种页面模式:Text View &Graph view

按F12可以通过Text View 进入 Graph View。
其实我们发现了,通过Gra

本文作者分享了学习逆向工程的历程,主要通过静态分析方法来理解二进制代码。借助《有趣的二进制》一书和52Pojie虚拟机,作者介绍了静态分析的基本概念,包括阅读反汇编代码和提取字符串,使用Winhex和IDA等工具进行分析。通过对一个exe程序的静态分析,作者成功预测了输入不同参数时的程序输出,验证了静态分析的有效性。最后,展示了程序的C代码,进一步解释了分析过程。
1万+

被折叠的 条评论
为什么被折叠?



