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

逆向工程扫盲篇

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

在这里我们会

  • 修改弹框的值
  • 修改植物大战僵尸的阳光

编译并运行以下C程序

使用的工具:Devcpp

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

1590876-20190924151028531-936081807.png
编译后如上所示。
运行结果如下:
1590876-20190924151058607-1367664655.png

下面我们来一步一步修改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我们会发现这个页面

1590876-20190924145735369-1190217777.png
我们点ok下一步。
1590876-20190924145805707-1576122386.png
然后将我们刚才生成的程序拖进来。
1590876-20190924145838782-2089753679.png
然后进行反汇编,反汇编后的页面如下所示。
1590876-20190924145921693-260698654.png
这里在右面我们找到main方法打开,然后按tab查看源代码。
1590876-20190924150007435-2007964835.png
源代码如上所示。
我们对比下可以发现,基本上和我们的源程序一样。

这也是IDA强大的地方。

这里我们找到msgbox压参数前的位置。然后把这个地址复制下来
1590876-20190924150209566-1584286212.png
至此IDA的工作,在我们这里结束

X64dbg修改弹框文字

x64是一个超级强大的调试器。下载地址:https://x64dbg.com/
下载后我们打开x64dbg,并把我们的程序拖进去。
1590876-20190924150346673-395889983.png
然后按Ctrl+g跳到指定位置。
1590876-20190924150537744-1998935974.png

在这里双击下断点。

然后按F9跳到这里。
1590876-20190924150610188-147629748.png

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

1590876-20190924150734177-576783600.png

可以看到右下角是helloworld。
我们右击后编辑。
1590876-20190924150846455-1839835397.png
然后继续按F9运行。

1590876-20190924150903584-1212378563.png

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

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

这里我们下载完植物大战僵尸小游戏后运行。
1590876-20190924151218528-1265583823.png
运行后可以发现,目前的阳光数是50
1590876-20190924151247918-2089139365.png
我们打开Cheat Engine工具有以下页面

1590876-20190924151308893-1446667929.png
这里我们选择植物大战僵尸的应用并且打开
1590876-20190924151326723-2128340940.png
然后输入value=50 然后点first Scan

1590876-20190924151354222-1996540369.png
在植物大战僵尸里花掉50阳光,使阳光变为0

1590876-20190924151412560-332780240.png
然后再右面填0然后点next scan

1590876-20190924151424105-908377399.png
然后再捡个阳光使值变成25
1590876-20190924151439638-1831942571.png
然后在右面填next scan
1590876-20190924151459278-335889650.png
然后将11F40700这个地址的value变成9999
1590876-20190924151531424-1114070966.png
修改成功
1590876-20190924151543862-1077416559.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值