逆向工程掃盲篇
最近又來了一群對逆向工程感興趣的同學,我這里帶領大家來一次逆向工程初體驗。
在這里我們會
- 修改彈框的值
- 修改植物大戰僵屍的陽光
編譯並運行以下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
修改成功
至此我們完成了逆向工程初體驗。逆向工程博大精深,希望大家能多學習,多學知識謝謝大家。