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

Posted godoforange

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从植物大战僵尸开始一步一步带你入门逆向工程,相关的知识,希望对你有一定的参考价值。

逆向工程扫盲篇

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

在这里我们会

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

编译并运行以下C程序

使用的工具:Devcpp

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

技术图片
编译后如上所示。
运行结果如下:
技术图片

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

技术图片
我们点ok下一步。
技术图片
然后将我们刚才生成的程序拖进来。
技术图片
然后进行反汇编,反汇编后的页面如下所示。
技术图片
这里在右面我们找到main方法打开,然后按tab查看源代码。
技术图片
源代码如上所示。
我们对比下可以发现,基本上和我们的源程序一样。

这也是IDA强大的地方。

这里我们找到msgbox压参数前的位置。然后把这个地址复制下来
技术图片
至此IDA的工作,在我们这里结束

X64dbg修改弹框文字

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

在这里双击下断点。

然后按F9跳到这里。
技术图片

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

技术图片

可以看到右下角是helloworld。
我们右击后编辑。
技术图片
然后继续按F9运行。

技术图片

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

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

这里我们下载完植物大战僵尸小游戏后运行。
技术图片
运行后可以发现,目前的阳光数是50
技术图片
我们打开Cheat Engine工具有以下页面

技术图片
这里我们选择植物大战僵尸的应用并且打开
技术图片
然后输入value=50 然后点first Scan

技术图片
在植物大战僵尸里花掉50阳光,使阳光变为0

技术图片
然后再右面填0然后点next scan

技术图片
然后再捡个阳光使值变成25
技术图片
然后在右面填next scan
技术图片
然后将11F40700这个地址的value变成9999
技术图片
修改成功
技术图片

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

以上是关于从植物大战僵尸开始一步一步带你入门逆向工程,的主要内容,如果未能解决你的问题,请参考以下文章

一步一步带你入门MySQL中的索引和锁

一步一步带你分析 requirejs

(第一篇) 一步一步带你了解linq to Object

面试必备透过源码角度一步一步带你分析 ArrayList 扩容机制

一步一步带你体验算法之魅力

一步一步带你体验算法之魅力