• 4245阅读
  • 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
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线yanglan
发帖
726
祝福宝石
0
威望
4304
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2006-07-09
沙发.
世纪奇迹(官服1.0M)
http://218.70.34.40
10B(10/14)
离线yanglan
发帖
726
祝福宝石
0
威望
4304
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2006-07-09
这种好东西.一定要支持..
世纪奇迹(官服1.0M)
http://218.70.34.40
10B(10/14)
离线yanglan
发帖
726
祝福宝石
0
威望
4304
玛雅之石
0
创造宝石
0
只看该作者 地板  发表于: 2006-07-09
MZ520K 希望也研究一下,如何修改GS 与原配的 CS 配套.谢谢.
世纪奇迹(官服1.0M)
http://218.70.34.40
10B(10/14)
离线mz520k
发帖
144
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2006-07-09
引用第3楼yanglan2006-07-09 11:39发表的“”:
MZ520K 希望也研究一下,如何修改GS 与原配的 CS 配套.谢谢.


这个是配套的呀,如果你的GS连接的是那个CZF的CS,可以这样修改一下来和原来的CS配套,CS使用原版的9960CS

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

把这里的代码用00填充掉
这里是连接CZF那个CS的地方


005A153D     2923       SUB DWORD PTR DS:[EBX],ESP
005A153F     BE FFE16CD6   MOV ESI,D66CE1FF
005A1544     AE         SCAS BYTE PTR ES:[EDI]
005A1545     52         PUSH EDX
005A1546     90         NOP
005A1547     49         DEC ECX
005A1548   ^ 7E E9       JLE SHORT gameserv.005A1533
005A154A     BB E9EBB3A6   MOV EBX,A6B3EBE9
005A154F     DBFF       FSTP EDI                      
005A1551     FFFF       ???                        
005A1553     0000       ADD BYTE PTR DS:[EAX],AL
离线yanglan
发帖
726
祝福宝石
0
威望
4304
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2006-07-09
感谢MZ520K...对MU做出的重大贡献..
世纪奇迹(官服1.0M)
http://218.70.34.40
10B(10/14)
离线飞隐
发帖
143
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2006-07-09
用UE打开GS修改???
可是打开后和你们显示的不一样啊,看不懂啊
离线戰中聖戰
发帖
364
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 7楼 发表于: 2006-07-09
用户被禁言,该主题自动屏蔽!
离线mz520k
发帖
144
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 8楼 发表于: 2006-07-09
引用第6楼飞隐2006-07-09 11:53发表的“”:
用UE打开GS修改???
可是打开后和你们显示的不一样啊,看不懂啊


用ollydbg来修改
离线sksj888
发帖
98
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 9楼 发表于: 2006-07-09
好帖子,有技术含量,精品~
=奇迹私服榜=Www.7J45.Com
奇迹私服专业地址站,奇迹私服技术,PK加点研究

离线andyzh5050
发帖
677
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 10楼 发表于: 2006-07-09
非常感谢您的精彩论述!再次感谢!
BWA 心云意水
心似白云常自在 意如流水任东西
黑白联盟 飞天奇迹专区 www.ftmu.cn
离线jijijiji
发帖
604
祝福宝石
0
威望
3362
玛雅之石
0
创造宝石
0
只看该作者 11楼 发表于: 2006-07-09
离线yanglan
发帖
726
祝福宝石
0
威望
4304
玛雅之石
0
创造宝石
0
只看该作者 12楼 发表于: 2006-07-09
MZ520K 照着上面的改完后.其他的一切OK.就是 GM 发公告跟发的字不一样? 是咋回事呢?
世纪奇迹(官服1.0M)
http://218.70.34.40
10B(10/14)
离线yanglan
发帖
726
祝福宝石
0
威望
4304
玛雅之石
0
创造宝石
0
只看该作者 13楼 发表于: 2006-07-09
引用第12楼yanglan2006-07-09 12:47发表的“”:
MZ520K 照着上面的改完后.其他的一切OK.就是 GM 发公告跟发的字不一样? 是咋回事呢?



//不好意思.可以了.要打两个 !! 号..
世纪奇迹(官服1.0M)
http://218.70.34.40
10B(10/14)
离线飞隐
发帖
143
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 14楼 发表于: 2006-07-09
能不能把你们改好的GS发布一下,不能用M键移动不爽
离线dltjk580
发帖
195
祝福宝石
0
威望
260
玛雅之石
0
创造宝石
0
只看该作者 15楼 发表于: 2006-07-09
用户被禁言,该主题自动屏蔽!
离线dltjk580
发帖
195
祝福宝石
0
威望
260
玛雅之石
0
创造宝石
0
只看该作者 16楼 发表于: 2006-07-09
用户被禁言,该主题自动屏蔽!
离线andyzh5050
发帖
677
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 17楼 发表于: 2006-07-09
mz520k 的帖子绝对是精品,斑竹应该给加精!
mz520k 把这个帖子作为教学专栏吧!
BWA 心云意水
心似白云常自在 意如流水任东西
黑白联盟 飞天奇迹专区 www.ftmu.cn
离线dltjk580
发帖
195
祝福宝石
0
威望
260
玛雅之石
0
创造宝石
0
只看该作者 18楼 发表于: 2006-07-09
用户被禁言,该主题自动屏蔽!
离线dltjk580
发帖
195
祝福宝石
0
威望
260
玛雅之石
0
创造宝石
0
只看该作者 19楼 发表于: 2006-07-09
用户被禁言,该主题自动屏蔽!
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个

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