逆向工程扫盲篇
最近又来了一群对逆向工程感兴趣的同学,我这里带领大家来一次逆向工程初体验。
在这里我们会
- 修改弹框的值
- 修改植物大战僵尸的阳光
编译并运行以下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
修改成功
至此我们完成了逆向工程初体验。逆向工程博大精深,希望大家能多学习,多学知识谢谢大家。