1. 程式人生 > >從植物大戰殭屍開始一步一步帶你入門逆向工程,

從植物大戰殭屍開始一步一步帶你入門逆向工程,

逆向工程掃盲篇

最近又來了一群對逆向工程感興趣的同學,我這裡帶領大家來一次逆向工程初體驗。

在這裡我們會

  • 修改彈框的值
  • 修改植物大戰殭屍的陽光

編譯並執行以下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

修改成功

至此我們完成了逆向工程初體驗。逆向工程博大精深,希望大家能多學習,多學知識謝謝大家。