• 4274阅读
  • 57回复

99.60(62)GSGM公告和移动命令修改,让中文客户端正常使用移动和GM公告 [复制链接]

上一主题 下一主题
离线mz520k
 
发帖
144
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看楼主 正序阅读 使用道具 楼主  发表于: 2006-07-09
前面我已经发过帖子说明了99.60GS因为是越南版的,所以部分信息采用了UNICODE编码,原理上就是这样,GS读取了服务端的信息文件,这个过程是ASCII编码,但是越南版服务端通过WideCharToMultiByte这个函数将信息编码转换为UNICODE编码发送给客户端,让越南客户端能够正常显示信息,同样,越南版客户端移动,GM公告等信息也是以UNICODE编码的形式发送给服务端GS的,而9c1.0客户端发送这些信息是以ASCII的形式发送,所以如果你用9c的客户端登陆越南版的9960 9962 9965服务端,会出现移动命令失效,信息显示不完全的问题。

知道了问题所在,就可以修改GS了,原理就是让服务端GS读取ASCII编码或处理ASCII编码,不再转换为UNICODE编码。

另:如果哪位有高于99.65版本的未破解GS,联系我的QQ9908481哦

=====================================
这里是GM公告部分的处理方法(nop掉红色部分)

0042CBDA     80BD 90ECFFFF>CMP BYTE PTR SS:[EBP-1370],21 判断是否为GM命令
0042CBE1     74 12       JE SHORT GameServ.0042CBF5
0042CBE3     80BD 90ECFFFF>CMP BYTE PTR SS:[EBP-1370],2F 判断是否为/命令
0042CBEA     0F84 17010000 JE GameServ.0042CD07
0042CBF0     E9 97010000   JMP GameServ.0042CD8C
0042CBF5     837D F0 02   CMP DWORD PTR SS:[EBP-10],2
0042CBF9     0F8E 03010000 JLE GameServ.0042CD02
0042CBFF     8B4D 08     MOV ECX,DWORD PTR SS:[EBP+8]
0042CC02     0FBE51 0E   MOVSX EDX,BYTE PTR DS:[ECX+E]
0042CC06     85D2       TEST EDX,EDX
0042CC08     0F85 F4000000 JNZ GameServ.0042CD02

0042CC0E     8B45 F8     MOV EAX,DWORD PTR SS:[EBP-8]
0042CC11     8B88 A0010000 MOV ECX,DWORD PTR DS:[EAX+1A0]

第二处修改

0042CC42 |. 83C0 0F     ADD EAX,0F

改为

0042CC42     83C0 0E     ADD EAX,0E





移动命令部分处理(这里是原来的代码)

0042CD07     837D F0 02   CMP DWORD PTR SS:[EBP-10],2
0042CD0B     7E 7F       JLE SHORT GameServ.0042CD8C
0042CD0D     8B55 08     MOV EDX,DWORD PTR SS:[EBP+8]
0042CD10     0FBE42 0E   MOVSX EAX,BYTE PTR DS:[EDX+E]
0042CD14     85C0       TEST EAX,EAX
0042CD16     75 74       JNZ SHORT GameServ.0042CD8C
0042CD18     68 18316600   PUSH GameServ.00663118
0042CD1D     8B4D 08     MOV ECX,DWORD PTR SS:[EBP+8]
0042CD20     83C1 0E     ADD ECX,0E
0042CD23     51         PUSH ECX
0042CD24     E8 F75A1300   CALL GameServ.00562820
0042CD29     83C4 08     ADD ESP,8
0042CD2C     C685 38EEFFFF>MOV BYTE PTR SS:[EBP-11C8],0
0042CD33     B9 FF030000   MOV ECX,3FF
0042CD38     33C0       XOR EAX,EAX
0042CD3A     8DBD 39EEFFFF LEA EDI,DWORD PTR SS:[EBP-11C7]
0042CD40     F3:AB       REP STOS DWORD PTR ES:[EDI]
0042CD42     66:AB       STOS WORD PTR ES:[EDI]
0042CD44     AA         STOS BYTE PTR ES:[EDI]
0042CD45     6A 00       PUSH 0                       ; /pDefaultCharUsed = NULL
0042CD47     6A 00       PUSH 0                       ; |pDefaultChar = NULL
0042CD49     68 00100000   PUSH 1000                     ; |MultiByteCount = 1000 (4096.)
0042CD4E     8D95 38EEFFFF LEA EDX,DWORD PTR SS:[EBP-11C8]       ; |
0042CD54     52         PUSH EDX                       ; |MultiByteStr
0042CD55     8B45 F0     MOV EAX,DWORD PTR SS:[EBP-10]         ; |
0042CD58     50         PUSH EAX                       ; |WideCharCount
0042CD59     8B4D 08     MOV ECX,DWORD PTR SS:[EBP+8]         ; |
0042CD5C     83C1 0D     ADD ECX,0D                     ; |
0042CD5F     51         PUSH ECX                       ; |WideCharStr
0042CD60     6A 00       PUSH 0                       ; |Options = 0
0042CD62     68 EA040000   PUSH 4EA                       ; |CodePage = 4EA
0042CD67     FF15 087FD906 CALL DWORD PTR DS:[<&KERNEL32.WideCharTo>; \WideCharToMultiByte
0042CD6D     0FBF55 0C   MOVSX EDX,WORD PTR SS:[EBP+C]
0042CD71     52         PUSH EDX
0042CD72     8D85 38EEFFFF LEA EAX,DWORD PTR SS:[EBP-11C8]
0042CD78     50         PUSH EAX
0042CD79     8B4D F8     MOV ECX,DWORD PTR SS:[EBP-8]
0042CD7C     51         PUSH ECX
0042CD7D     B9 08AF6E05   MOV ECX,GameServ.056EAF08
0042CD82     E8 F67EFDFF   CALL GameServ.00404C7D

改为这样,nop掉部分,添加部分

0042CD07     837D F0 02   CMP DWORD PTR SS:[EBP-10],2
0042CD0B     7E 7F       JLE SHORT gameserv.0042CD8C
0042CD0D     90         NOP
0042CD0E     90         NOP
0042CD0F     90         NOP
0042CD10     90         NOP
0042CD11     90         NOP
0042CD12     90         NOP
0042CD13     90         NOP
0042CD14     90         NOP
0042CD15     90         NOP
0042CD16     90         NOP
0042CD17     90         NOP
0042CD18     90         NOP
0042CD19     90         NOP
0042CD1A     90         NOP
0042CD1B     90         NOP
0042CD1C     90         NOP
0042CD1D     90         NOP
0042CD1E     90         NOP
0042CD1F     90         NOP
0042CD20     90         NOP
0042CD21     90         NOP
0042CD22     90         NOP
0042CD23     90         NOP
0042CD24     90         NOP
0042CD25     90         NOP
0042CD26     90         NOP
0042CD27     90         NOP
0042CD28     90         NOP
0042CD29     90         NOP
0042CD2A     90         NOP
0042CD2B     90         NOP
0042CD2C     90         NOP
0042CD2D     90         NOP
0042CD2E     90         NOP
0042CD2F     90         NOP
0042CD30     90         NOP
0042CD31     90         NOP
0042CD32     90         NOP
0042CD33     90         NOP
0042CD34     90         NOP
0042CD35     90         NOP
0042CD36     90         NOP
0042CD37     90         NOP
0042CD38     90         NOP
0042CD39     90         NOP
0042CD3A     90         NOP
0042CD3B     90         NOP
0042CD3C     90         NOP
0042CD3D     90         NOP
0042CD3E     90         NOP
0042CD3F     90         NOP
0042CD40     90         NOP
0042CD41     90         NOP
0042CD42     90         NOP
0042CD43     90         NOP
0042CD44     90         NOP
0042CD45     90         NOP
0042CD46     90         NOP
0042CD47     90         NOP
0042CD48     90         NOP
0042CD49     90         NOP
0042CD4A     90         NOP
0042CD4B     90         NOP
0042CD4C     90         NOP
0042CD4D     90         NOP
0042CD4E     90         NOP
0042CD4F     90         NOP
0042CD50     90         NOP
0042CD51     90         NOP
0042CD52     90         NOP
0042CD53     90         NOP
0042CD54     90         NOP
0042CD55     90         NOP
0042CD56     90         NOP
0042CD57     90         NOP
0042CD58     90         NOP
0042CD59     90         NOP
0042CD5A     90         NOP
0042CD5B     90         NOP
0042CD5C     90         NOP
0042CD5D     90         NOP
0042CD5E     90         NOP
0042CD5F     90         NOP
0042CD60     90         NOP
0042CD61     90         NOP
0042CD62     90         NOP
0042CD63     90         NOP
0042CD64     90         NOP
0042CD65     90         NOP
0042CD66     90         NOP
0042CD67     90         NOP
0042CD68     90         NOP
0042CD69     90         NOP
0042CD6A     90         NOP
0042CD6B     90         NOP
0042CD6C     90         NOP
0042CD6D     0FBF4D 0C   MOVSX ECX,WORD PTR SS:[EBP+C]
0042CD71     51         PUSH ECX
0042CD72     8B55 08     MOV EDX,DWORD PTR SS:[EBP+8]
0042CD75     83C2 0D     ADD EDX,0D
0042CD78     52         PUSH EDX
0042CD79     8B45 F8     MOV EAX,DWORD PTR SS:[EBP-8]
0042CD7C     50         PUSH EAX
0042CD7D     B9 08AF6E05   MOV ECX,gameserv.056EAF08
0042CD82     E8 F67EFDFF   CALL gameserv.00404C7D


二进制替换UE修改方法,注意拷贝代码的时候,论坛自动的的防拷贝后缀,那些后缀要删除掉哦

1 搜索

  1. 8B 4D 08 0F BE 51 0E 85 D2 0F 85 F4 00 00 00



替换为

  1. 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90

2 搜索

  1. 8B 55 08 0F BE 42 0E 85 C0 75 74 68 18 31 66 00 8B 4D 08 83 C1 0E 51 E8 F7 5A 13 00 83 C4 08 C6
  2. 85 38 EE FF FF 00 B9 FF 03 00 00 33 C0 8D BD 39 EE FF FF F3 AB 66 AB AA 6A 00 6A 00 68 00 10 00
  3. 00 8D 95 38 EE FF FF 52 8B 45 F0 50 8B 4D 08 83 C1 0D 51 6A 00 68 EA 04 00 00 FF 15 08 7F D9 06
  4. 0F BF 55 0C 52 8D 85 38 EE FF FF 50 8B 4D F8 51 B9 08 AF 6E 05


替换为

  1. 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
  2. 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
  3. 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
  4. 0F BF 4D 0C 51 8B 55 08 83 C2 0D 52 8B 45 F8 50 B9 08 AF 6E 05



这里移动的修改还有其他的方法,自己可以看看!

其他UNICODE相关的编码修改类似这里的修改,自己多研究研究了!

转贴请注明vzkj.com mz520K
支持一下小站 http://www.18pk.cn

服务端移动文件,下载后放data中,wtf信息文件可以用冠军那个汉化的Message_chs.wtf


mz520k,好样的,这个才是真正的共享!不过估计你也有一样的问题攻城时NPC说话是乱码.

                                ps by bbsleon
[ 此贴被bbsleon在2006-07-08 21: ]
1条评分
军刀 贡献值 +10 - 2006-07-09
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线108205503
发帖
1444
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 57楼 发表于: 2006-09-17
.,,,,,,,,,,,,,,,
以下图片需要回复才可查看!
http://qczl.gnway.net
        QQ群: 12821050
离线takken4
发帖
18
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 56楼 发表于: 2006-09-15
文豪看破投
离线ltchase
发帖
39
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 55楼 发表于: 2006-09-14
gfgf
离线oscarjf
发帖
73
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 54楼 发表于: 2006-09-13
is working fine
离线hisen
发帖
474
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 53楼 发表于: 2006-09-12
我想知道
离线oscarjf
发帖
73
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 52楼 发表于: 2006-09-12
list bug ??
离线cheli8287
发帖
88
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 51楼 发表于: 2006-09-11
dddddddddd
离线gxlogo
发帖
201
祝福宝石
0
威望
1174
玛雅之石
0
创造宝石
0
只看该作者 50楼 发表于: 2006-09-10
赌东道赌东道赌东道
打死都不开外线
离线mapo
发帖
182
祝福宝石
0
威望
3198
玛雅之石
0
创造宝石
0
只看该作者 49楼 发表于: 2006-09-09
xxxxxxxxx
离线oscarjf
发帖
73
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 48楼 发表于: 2006-09-09
good luck!
离线姑苏阳光
发帖
4
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 47楼 发表于: 2006-09-08
支持!!!!!!!!!!!!!!!!!!!!!!!!!!!
离线oscarjf
发帖
73
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 46楼 发表于: 2006-08-25
is good GS hexing ?? for download
离线一半情人
发帖
332
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 45楼 发表于: 2006-08-25
;了解说得来分开
一半情人软件工作室:http://ljsheng.qyun.net 联系Q-9021616 ~出售游戏服务器和传奇版本-大量太阳级QQ

离线kk555
发帖
293
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 44楼 发表于: 2006-08-25
eeeeeeeee晕!

离线lmf888
发帖
8
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 43楼 发表于: 2006-07-30
大家来支持啊,一起来顶啊
离线lmf888
发帖
8
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 42楼 发表于: 2006-07-30
支持
离线dragonwall
发帖
46
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 41楼 发表于: 2006-07-30
ding ding
离线muchwarez
发帖
233
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 40楼 发表于: 2006-07-30
顶顶顶
离线军刀

发帖
2135
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 39楼 发表于: 2006-07-09
好人啊,不多见了!!
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个

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