大家好,今天咱们来聊聊逆向工程的小技巧。有没有小伙伴还记得小时候玩的那款联想拖拉机游戏?今天咱们就一起来破解它,实现做庄并且修改点数到10点的小目标!
第一步:载入游戏,寻找断点
首先,我们使用OD(OllyDbg)来载入游戏,并设置断点。这里我们关注的是点击事件,所以设置了断点 bp TranslateMessage MSG==WM_LBUTTONUP。但是,你会发现断点对于某些函数不起作用,比如MessageBoxA函数。点击开始游戏,第二次会弹出窗口,这时我们可以按Alt+F9返回用户空间,找到开始游戏函数的起始位置。
第二步:使用Resource Hacker找到按钮函数
由于载入函数的点击事件无法断点,我们可以使用Resource Hacker打开游戏文件,找到两个menu的id号码。通过这些id号码,我们可以找到相应的按钮函数。使用winhex搜索这些id号码,我们可以找到它们的相应函数地址。
第三步:修改汇编代码,实现点数修改
找到函数地址后,我们可以修改汇编代码,将Game.sav文件中的点数修改为10点。这里我使用了一个小技巧,将02改为A,成功将点数修改为10点。同时,我们也可以修改自己做庄的功能。
经过一番努力,我们的逆向之旅就到这里了。现在,你可以右键保存修改后的exe文件,享受游戏的乐趣了。如果你有任何疑问,欢迎在评论区留言交流。
我是陈景序,来自「websoft网络软件专家」(www.phpwebsoft.com),专注于PHP和Web开发。如果你对网络技术和软件工具感兴趣,欢迎关注我们的网站,获取更多技术分享。
