本教程面向有C\C++基础的人,最好还要懂一些Windows编程知识
代码一律用Visual Studio 2013编译,如果你还在用VC6请趁早丢掉它...
写这个教程只是为了让玩家更好地体验所爱的单机游戏,顺便学到些逆向知识,我不会用网络游戏做示范,请自重
CE也不是专门用来调试的,本章将介绍几款调试工具,并且完善上一章的东方辉针城修改器
OllyDbg
OllyDbg简称OD,现在一般用它的修改版OllyICE,其实是一样的
OD是最常用的Windows程序反汇编调试器,可惜不能调试64位程序(目前64位版开发中),不能调试Ring0层(内核态)
OD官方网站
我更习惯1.x版本,但是64位系统只能用2.x版本...
看看这界面,这语法高亮,比WinDbg
不知道高到哪里去了
需要记住几个常用快捷键:
F2下断点,F7单步步入,F8单步步过,F9运行,Alt+C查看反汇编,Alt+K查看堆栈,Alt+B查看断点
写个小程序CrackMe示范一下如何用OD破解
int _tmain(int argc, _TCHAR* argv[])
{
printf("请输入密码或注册码或序列号什么的:");
TCHAR password[100];
_getts_s(password);
// 只是为了做个例子,现在不会有这么简单验证密码的程序了吧
if (_tcscmp(password, _T("PASSWORD")) == 0)
MessageBox(NULL, _T("注册成功!"), _T("CrackMe"), MB_OK);
else
MessageBox(NULL, _T("注册失败!YOU LOSER!"), _T("CrackMe"), MB_OK);
return 0;
}
运行CrackMe,用OD附加(在菜单-文件-附加),按F9运行</