剑侠情缘2 登录call 续 有源码有真相
适用于 论武中原 8.11版 201501028
剑网2 原本是传统武侠类的游戏,后来被SB 策划改的不成样子了,这几天研究了一下
在这个开始的游戏点击进入游戏按钮(必须点)
mov ecx,[00af7d2c]
mov eax,ecx
add eax,1c0
push eax
call 7003C0 //点进入游戏按钮(必须执行这一call 后,进入下一界面,后面才能正常执行。不call ,手动点也可以)
以上call 执行完后会进入 下一界面
mov eax,2ed \\这是鼠标在游戏窗口内的x 坐标。
mov edx,139 \\这是鼠标在游戏窗口内的y坐标。
push 0
push edx
push eax
mov esi,013902ed \\这是坐标 这个call 里的坐标随便写 只要在这一界面,就能得出正确结果。
call 6F8DD0 //返回登录帐号密码框基址 !!如果不在这一界面。 那么这里得出的结果就不对。
add esp,0c
//按基址+偏移把帐号密码和区服列表信息写入内存 ,,,,基址都 在下面。写好后。
mov ecx,eax //这里的eax 是上一call 的返回值,就是登录帐号密码框基址
call 723C80 //登录call
这里我选择的是 藏剑山庄区
od中可以看到 想进入的区是 edx 想进入的服务器 是 0 就是下图(serverlist.pak解压出来的区服列表)中的 藏剑山庄 65 区 0服。
[ae9df4] 版本信息
进入游戏按钮call ecx 基址 af1fe8 af7d2c eax = ecx + 1c0
登录帐号密码框基址 call 006F8DD0 的返回值eax
[[eax+1a4+a0]]帐号地址
[[eax+1a4+c4]]帐号长度
[[eax+2b8+1a4+a0]]密码地址
[[eax+2b8+1a4+c4]]密码长度
[eax+1ec4]待选区服列表数组下标
假设esi是 登录帐号密码框基址 (下面几个命令在上面od图中可以看到。)
mov eax,dword ptr ds:[esi+1EC4]
lea ecx,dword ptr ds:[eax+eax*8]
mov edi,dword ptr ds:[esi+ecx*8+130AC] edi是要进入的服
mov edx,dword ptr ds:[eax+130B0] edx是要进入的区
这就是我这几天研究出来的,高级语言外g还没有写,因为现在只能进入到人物选择界面。 选择人物进入游戏的功能还没有研究,=有空研究完了再写。
92f810 //人物基址
人物角色 人物等级
[92f830] [92f852] //第一个角色
[92f868] [92f88a] //第二个角色
[92f8a0] [92f8c2] //第三个角色
push 2 //选择人物0,1,2 三个角色
mov ecx,92f810 //人物基址
call 6e7170 //进入游戏
辅助已写(delphi 7编写), 自动搜索游戏(根据游戏窗口名),并注入dll ,已经注入过的不会再注入。
dll 注入和键盘钩子部分 抄袭了 郁金香delphi 武林外传 辅助中的代码 ,其它部分自己写的。
代码 风格不是太好。凑合看吧。
以下是辅助截图,经测试,xp32下正常运行。(只有登录功能!!)
噢对了,需要把文件夹下的两个ini文件复制到游戏目录一份。还有,这个辅助只适用于2015年1月5日左右的 游戏版本(论开中原8.11)
jx2fz
|