• 1489阅读
  • 7回复

1.0h以上客户端进入9960后立即断线(非走路断线)原因分析及解决方法(解决方法已经修改) [复制链接]

上一主题 下一主题
离线mz520k
 
发帖
144
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2006-06-15
新版的客户端1.0h以上(实际上就是指添加了新npc,进入地图时有灰色大字地图名提示的版本)在连入服务端的时候立即断线,经过一天的测试,找到了原因及解决方法。

1.0H以前的版本,不存在这样的问题

原因如下:

1.0H以前的main,webzen为客户端文件完整性提供了校验方法(CRC),系统主要文件作了严格的校验,这将不允许我们修改main和许多local文件夹下的文件,如果我们修改了这些文件,自校验功能将无法检测通过。校验结果会直接发送给服务端判断,客户端将向服务端发送一个C3协议的包,类似这样的C3包:
C3,0D,14,7B,51,90,A9,C6,93,A6,58,34,0E

服务端接受到这个信息后判断客户端的合法性,如果验证通过,则允许继续游戏,如果无法通过,则断开客户端的连接,这也是我们修改过的客户端无法连入9c官服的根本原因

这个我们的服务端经过修改后,跳过了这个验证,默认让客户端发送来的校验包都作合法化处理,这也是我们的游戏,你只要验证码和版本对,都能登陆的原因。


1.0H以后(包括1.0H)的客户端,对这一校验功能作了增强,不仅校验结果发给服务端判断,自己也有个判断及校验,如果我们的main和local文件夹下的文件被修改过任意一个字节,客户端首先关闭自己的连接,实际上就是相对于以前的校验,1.0H以上的版本校验更为严厉,不仅服务端有校验,客户端也有,无论哪边校验无法通过,首先就是断开连接,这也是1.0H以上的版本登陆后立即断开的原因,不过,如果我们用的客户端是9c原版的文件(没有经过脱壳的main,没有修改过版本验证码的main和local文件夹下的文件),将不会发生这样的问题。因为我们的服务端GS发出来的时候已经作了checksum的跳过验证处理。

知道了问题的原因,我们就可以任意的脱壳和修改main了,不过首先得跳过客户端自己的文件验证:
方法如下,以1.0H版本脱壳main为例:

找到下面的地址


============================================

004B21CA |. 897D F0     MOV DWORD PTR SS:[EBP-10],EDI
004B21CD     74 37       JE SHORT main9c1h.004B2206             此处改为 jmp SHORT 004B2206
004B21CF |. B9 D0416F05   MOV ECX,main9c1h.056F41D0
004B21D4 |. E8 E7100200   CALL main9c1h.004D32C0
004B21D9 |. 8BCE       MOV ECX,ESI
004B21DB |. E8 B0381900   CALL main9c1h.00645A90
004B21E0 |. 8B40 04     MOV EAX,DWORD PTR DS:[EAX+4]
004B21E3 |. 3BC7       CMP EAX,EDI
004B21E5     75 05       JNZ SHORT main9c1h.004B21EC
004B21E7 |. B8 2C156600   MOV EAX,main9c1h.0066152C
004B21EC |> 8D95 C8F5FFFF LEA EDX,DWORD PTR SS:[EBP-A38]
004B21F2 |. 50         PUSH EAX                       ; /Arg4
004B21F3 |. 52         PUSH EDX                       ; |Arg3
004B21F4 |. 68 20006700   PUSH main9c1h.00670020             ; |Arg2 = 00670020 ASCII "> ResourceGuard Error!!(%s-%s)
"
004B21F9 |. 68 D83B6F05   PUSH main9c1h.056F3BD8             ; |Arg1 = 056F3BD8
004B21FE |. E8 0DADF6FF   CALL main9c1h.0041CF10             ; \main9c1h.0041CF10


==========================================
实际上刚刚发的方法也是对的,不过这样改更简单,此方法实用于目前大陆 韩国 等其他国家的所有1.0H以上新版客户端跳过自校验检测。已经测试通过!

修改其他版本的技巧,在olly中查找字符串 ResourceGuard Error ,然后再找到字符串对应的代码,依据上面的位置修改 判断跳转就行




呵呵。大家有时间支持一下我的站点哦,非论坛站,
http://www.18pk.cn   笑游
1条评分
军刀 贡献值 +5 - 2006-06-15
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
929
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2006-06-15
离线xianwen
发帖
1203
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2006-06-15
虽然看不懂,但还是顶你一下
离线rain920
发帖
117
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 地板  发表于: 2006-06-15
离线andyzh5050
发帖
677
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2006-06-15
支持了!一会测试下!
BWA 心云意水
心似白云常自在 意如流水任东西
黑白联盟 飞天奇迹专区 www.ftmu.cn
离线vicent
发帖
26
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2006-06-15
这种方法修改后.一动还是会掉
离线123iop1234
发帖
382
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2006-06-15
发个改好的出来大家测试下
-------------------------------------------------------
怀念梦之奇迹!!!
离线dricaker
发帖
590
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 7楼 发表于: 2006-06-15
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个

      管理员联系信箱 [email protected] 所有内容均来之互联网,如侵犯您的隐私和权益,请和我们及时联系!