逆向工程扫盲篇

最近又来了一群对逆向工程感兴趣的同学,我这里带领大家来一次逆向工程初体验。

在这里我们会

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  • 修改弹框的值
  • 修改植物大战僵尸的阳光

编译并运行以下C程序

使用的工具:Devcpp

#include<windows.h>
int main(){
    MessageBox(0,"Hello world","title",MB_OK);
    return 0;
} 

从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第1张
编译后如上所示。
运行结果如下:
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第2张

下面我们来一步一步修改HelloWorld

IDA的基本使用

IDA的介绍:

交互式反汇编器专业版(Interactive Disassembler Professional),人们常称其为IDA Pro,或简称为IDA。是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器!IDA Pro是一款交互式的,可编程的,可扩展的,多处理器的,交叉Windows或Linux WinCE MacOS平台主机来分析程序, 被公认为最好的花钱可以买到的逆向工程利器。IDA Pro已经成为事实上的分析敌意代码的标准并让其自身迅速成为攻击研究领域的重要工具。它支持数十种CPU指令集其中包括Intel x86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。

IDA pro 7.0下载地址:https://www.52pojie.cn/thread-675251-1-1.html

IDA的基本操作

打开IDA我们会发现这个页面

从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第3张
我们点ok下一步。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第4张
然后将我们刚才生成的程序拖进来。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第5张
然后进行反汇编,反汇编后的页面如下所示。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第6张
这里在右面我们找到main方法打开,然后按tab查看源代码。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第7张
源代码如上所示。
我们对比下可以发现,基本上和我们的源程序一样。

这也是IDA强大的地方。

这里我们找到msgbox压参数前的位置。然后把这个地址复制下来
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第8张
至此IDA的工作,在我们这里结束

X64dbg修改弹框文字

x64是一个超级强大的调试器。下载地址:https://x64dbg.com/
下载后我们打开x64dbg,并把我们的程序拖进去。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第9张
然后按Ctrl+g跳到指定位置。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第10张

在这里双击下断点。

然后按F9跳到这里。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第11张

然后我们看到右面的ds:[404006]
我们为此跳到404006的位置。位置在左下角按Ctrl+G跳到404006

从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第12张

可以看到右下角是helloworld。
我们右击后编辑。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第13张
然后继续按F9运行。

从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第14张

至此我们完成了对弹框字符串的修改。

植物大战僵尸修改阳光初体验

这里我们下载完植物大战僵尸小游戏后运行。
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第15张
运行后可以发现,目前的阳光数是50
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第16张
我们打开Cheat Engine工具有以下页面

从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第17张
这里我们选择植物大战僵尸的应用并且打开
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第18张
然后输入value=50 然后点first Scan

从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第19张
在植物大战僵尸里花掉50阳光,使阳光变为0

从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第20张
然后再右面填0然后点next scan

从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第21张
然后再捡个阳光使值变成25
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第22张
然后在右面填next scan
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第23张
然后将11F40700这个地址的value变成9999
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第24张
修改成功
从植物大战僵尸开始一步一步带你入门逆向工程, Safe 第25张

至此我们完成了逆向工程初体验。逆向工程博大精深,希望大家能多学习,多学知识谢谢大家。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄