作者:LiquidX
示例图:
其实网上有很多的外挂内挂文章我也看了不少,从中得到了很多的帮助。前些时候看到shaker写出的一些传奇外挂的文章之后,再根据自己的研究对外挂知识也算是有了个初步的了解。
外挂分为2种,一种是脱机程序,也就是模拟客户端的程序称为外挂.另一种是利用游戏程序本身的函数对游戏进行一些相关动作的称之为内挂,因为是在游戏进程内部完成任务的。今天要说的是传奇2(虽然这游戏过时了但作为研究来说还是值得的:)内挂的一点点知识,其实我也不太懂,复杂的东西也弄不出来,所以我就把我所学到的一点点知识写了出来,希望更多的人能够了解这方面的知识。
本文没有什么技术可言,但相信对一些未入门的人很有用.
第一步: 首先我们得将传奇的mir.dat脱壳有些私服没有mir.dat那就看看mir.exe,我们查得他是用aspack加的壳,你可以去网上下载相关工具也可以手动脱掉. 这样传奇2现在就是赤裸裸的站在我们面前了:) 现在要做的就是给他开开刀,看他的心肝肠肺都在做些什么,在哪里长着.....
第二步:我们用OLLYDBG加载刚才已经脱壳的mir.dat,然后我们利用插件菜单里的中文字符插件来获得相关信息,如果你没有此插件可以去www.pediy.com找找.不一会儿od给我们呈现出了很多的字符串信息,我们现在就搜索他的“肺”-("攻城区域")我们找到如下图:
在此行双击鼠标左键我们来到:
经过调试确定这里就是个屏幕输出就是在我们攻城的时候屏幕左上角显示的那几个字.
0047A4B3 . 68 FFFFFF00 push 0FFFFFF //字体颜色
0047A4B8 . 6A 00 push 0 //背景色
0047A4BA . 68 94A54700 push unpacked.0047A594
0047A4BF . 33C9 xor ecx,ecx //x坐标
0047A4C1 . 33D2 xor edx,edx //y坐标
0047A4C3 . 8B45 F8 mov eax,dword ptr ss:[ebp-8] //设备场景句柄
0047A4C6 . E8 D5640200 call unpacked.004A09A0 //内部屏幕输出函数
那么我们就写出这个函数
typede