重要声明
该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关
今天我们来笼统的说一下二进制逆向分析的工具
工具
1. 静态分析工具-IDA
这个工具可能都是无人不知无人不晓了吧啊哈哈哈
下面呢是这个工具的中文区购买地址(当然,想支持正版的可以购买一个)
http://www.qast.com/product/1588.html
说这个工具之前呢先来说说做恶意代码分析的一些基本常识
第一,就是不要在物理机上分析恶意代码,除非你指定了一台专用的物理机专门用于分析
第二,就是虚拟机在运行恶意代码之前要做好备份和快照
第三,就是不要用什么所谓的吾x破解专用虚拟机啊等等所谓的专用虚拟机,因为有人在我博客下留言说恶意文件无法运行啊诸如此类的,我叫他换一个纯净版的系统就解决了
第四,那我们要用什么类型的虚拟机呢?最好的虚拟机就是原版的Windows系统
https://msdn.itellyou.cn/
从上面这个网站下载BT之后,下载镜像就可以了
然后自己网上找个小的激活软件,激活一下,记得激活之前要做快照,激活失败了直接回滚
虚拟化软件呢还是建议大家用VirtualBox,为什么不建议VMware呢?我这里没说VMware不好啊各位大佬
老实说,其实我一开始也是装VMware,虽然VMware WorkStation是号称收费的,但是网上一堆的激活码搜一下就有了
装VMware的一个大问题就是一堆的驱动就给你上了,然后加上各种开机启动的骚操作和不轻量级(这是我的理由)
制作好自己的分析镜像之后,我们就开始安装一些必要的软件,像IDA啊,OD啊等等的
好了我们继续回到IDA上
IDA图标是这样的
整体的界面是这样的
为什么说IDA是最好的静态分析工具呢,因为他会自动帮你标出各个入参的参数名字
就像上面的CreateFileA,第一个入参eax对应的是lpFileName,于是我们就可以在大脑中有这样一个函数调用
CreateFileA(eax, 100000h, 1, 0, 3, 0, 0)
这样,当然还有其他很多有用的丰富的功能
这里就不一一列举了
那说到了静态分析神器,肯定也少不了我们的动态分析神器啦
2. 动态分析工具-ollydbg
OllyDbg(以其作者Oleh Yuschuk命名)是一个当源代码不可用时非常有用时强调二进制代码分析的x86 调试器,
它跟踪寄存器,识别过程,API调用,开关,表,常量和字符串,以及从目标文件和库中定位例程。它具有用户友好的界面,其功能可以通过第三方插件进行扩展
版本1.10是最终的1.x版本。版本2.0于2010年6月发布,OllyDbg已在此版本中从头开始重写。该软件是免费的,但共享软件许可证要求用户向作者注册
这个工具也是在逆向界可能无人不知无人不晓的类型
静态分析呢就是不用电脑来帮你运行代码,而是你在大脑中自己运行
动态分析就是用计算机来帮你运行,一步一步的,你可以实时的看到程序的各寄存器的值和输入输出情况
ollydbg图标长这样
打开之后界面是这样的(原始版本)
当然你可以下载吾x版的,那个界面会好看一些
下面的是吾x版的
在这里,你可以实时的查看每个寄存器的值,和内存中的数据是多少,这对于一些比较难的比如加解密函数来说,是会提供很大的分析便利的
3. 其他工具
其他工具在正式的分析环境中就肯定包含很多了
这里列举几个CTF中常用的
这是一个查壳的软件
一个dump工具
输入表修复工具
介绍完工具,我们来说一下实战吧
实战
本来是想用一个CTF题目来演示,但是想想还是算了
实战就留在下节课上
没什么比实际操作更有学习意义的了