最终,我做了这个决定,开始学习游戏安全
逆向工程核心原理1-HelloWorld 逆向分析
HelloWorld 程序
#include <iostream>
#include <Windows.h>
int main()
{
MessageBox(NULL, L"HelloWorld1", L"HelloWorld2", MB_OK);
}
- 注:此处需要在Release 模式下生成执行程序
开始调试–修改显示信息
调试工具
- OllyDbg
- 界面
- ]
-
修改前显示
-
找到API 调用的CALL
75D307B0 > 8BFF MOV EDI,EDI ; (initial cpu selection) 75D307B2 55 PUSH EBP 75D307B3 8BEC MOV EBP,ESP 75D307B5 6A FF PUSH -1 75D307B7 6A 00 PUSH 0 75D307B9 FF75 14 PUSH DWORD PTR SS:[EBP+14] ; 0 75D307BC FF75 10 PUSH DWORD PTR SS:[EBP+10] ; HelloWorld1 75D307BF FF75 0C PUSH DWORD PTR SS:[EBP+C] ; HelloWorld2 75D307C2 FF75 08 PUSH DWORD PTR SS:[EBP+8] ; 0 75D307C5 E8 56FEFFFF CALL USER32.MessageBoxTimeoutW ; 调用MessageBox 75D307CA 5D POP EBP 75D307CB C2 1000 RETN 10
-
修改显示信息思路:
- 修改指针
- 修改字符串
-
我这里选择的是修改字符串
-
保持为exe,并执行