解决死亡刷钱的办法


解决死亡刷钱的办法:

需要修改GameServer.exe 改前最好先备份一个。
既然有人已经找到原因,那我就抢先公布修正办法,我早就解决了,我就是不说。
修正原理就是将原来的先乘 2 或 3 再除以 100,改为先除以 100 再乘 2 或 3
1% 部分不存在溢出问题,不需要修改。
2% 部分:
搜索 D1 E0 99 B9 64 00 00 00 F7 F9
改为 99 B9 64 00 00 00 F7 F9 D1 E0
3% 部分:
搜索 6B C0 03 99 B9 64 00 00 00 F7 F9
改为 99 B9 64 00 00 00 F7 F9 6B C0 03

以上内容会出现多处
此上为转自阿哦发表
感谢阿哦共享此方法

关于死亡刷钱的修改,个人见解!
今天看了一下阿哦的修改方法后!又回去看了一下以前发的角色死亡的汇编代码!发现这些他的修改有部分就在那段代码的后面一小点!所以只改了的那两段!测试后看到可以不刷钱了!不知道还有没有其他的问题?

D1E099B964000000F7F9 这段在gs中共有3处(梦之奇迹1.05)
6BC00399B964000000F7F9 这段在GS中共有5处(梦之奇迹1.05)
我不敢全都修改,每段就就修改了一个地方,也就是上面我说的角色死亡汇编代码的后面一点的位置,测试后已经不能刷钱了,提供给各位参考!
我具体的修改位置(基于梦之奇迹1.05GS)
如下面所示(00064e40h,00064e50h两行会出现D1E099B964000000F7F9,00064e70h会出现6BC00399B964000000F7F9)
00064e40h: 8B 45 08 8B 80 94 00 00 00 D1 E0 99 B9 64 00 00 ; 婨.媭?..燕櫣d..
00064e50h: 00 F7 F9 89 45 C0 EB 28 8B 55 08 0F BF 82 86 00 ; .鼯塃离(婾..總?
00064e60h: 00 00 3D C8 00 00 00 7E 17 8B 4D 08 8B 81 94 00 ; ..=?..~.婱.媮?
00064e70h: 00 00 6B C0 03 99 B9 64 00 00 00 F7 F9 89 45 C0 ; ..k?櫣d...鼯塃

修改为下面的:(D1E099B964000000F7F9改为99B964000000F7F9D1E0
6BC00399B964000000F7F9改为 99B964000000F7F96BC003 )
00064e40h: 8B 45 08 8B 80 94 00 00 00 99 B9 64 00 00 00 F7 ; 婨.媭?..櫣d...?
00064e50h: F9 D1 E0 89 45 C0 EB 28 8B 55 08 0F BF 82 86 00 ; 鄩E离(婾..總?
00064e60h: 00 00 3D C8 00 00 00 7E 17 8B 4D 08 8B 81 94 00 ; ..=?..~.婱.媮?
00064e70h: 00 00 99 B9 64 00 00 00 F7 F9 6B C0 03 89 45 C0 ; ..櫣d...鼯k?塃

以上修改仅供参考,是最小的修改了,不知道有没有其他问题。感谢阿哦提供的思路
各位多测试一下吧!另外版本不同的服务端,位置可能有点不同,但就在附近了,多找找
看!大概在00064d90h——00064dc0h之间。(微子的GS)

c
GS中计算掉钱数reduce的公式为
money<=0,不计算
money>0,级别小于99时,reduce=money/100;
级别大于100,小于200时,reduce=money*2/100;
级别等于200时,reduce=0 //很奇怪,我认为这是个bug
级别大于200时,reduce=money*3/100
最后,用money-reduce就是掉钱以后的money
当一个人级别大于200,身上带有750000000钱时,reduce= -20449672,钱反而会增加了。。
原因就是在先乘3,除以100
money有符号长整数,上限2100000000左右,750000000*3就超过上限了,先除就没有问题了(韩国人写程序也这么烂阿。。)
解决办法就是在GS(GameServer)中找到如下绝对地址,将左边的改为右边的就可以了

仓库中钱的算法是一样的,在这里一起修正了
64dc4-64dce 6BC00399B964000000F7F9 >99B964000000F7F96BC003
64d9b-64da4 D1E099B964000000F7F9 >99B964000000F7F9D1E0
64ecc-64ed6 6BC00399B964000000F7F9 >99B964000000F7F96BC003
64ea3-64eac D1E099B964000000F7F9 >99B964000000F7F9D1E0
200级不掉钱修正如下
64db9 7e17 ->7c17
64ec1 7e17 ->7c17
我用的是时速版本的GS,我想所有的GS都差不多吧

每级需求经验的计算公式是
level<=255
exp=(level+9)*level*level*10
level>255
exp=[(level-255)+9]*(level-255)*(level-255)*1000+(level+9)*level*level*10
死亡掉落经验的计算公式是
(下级需求经验-本级需求经验)*n/100
又是这种先乘后除的做法,n是根据情况定的,与级别,pk值等等有关,0<=n<=8
这里可以刷经验吗?
不过按正常情况,这里不会有问题的:)

 

 

请大家切记本站:奇迹私服 HTTP://www.218mu.com

 

◆ 更多的技术资料正在整理中,本决将努力的不断更新! ◆
站长QQ: 67254354[ 530免费私服发布网 版权所有 ]
Copyright @ 2007-2008 www.218mu.com 奇迹私服 All rights reserved.

免责声明:218mu.Com 新开奇迹私服 登载之所有信息及资源均出于传递更多信息之目的,并不意味着本站赞同其观点或证实其描述.本站所有信息均为免费发布,并非赢利及商业目的.