修改GM喊话命令
通常GM喊话有三种:
@! 喊出来的是(*)红色的字
@$ 喊出来的是(!)红色的字
@# 喊出来的是(#)红色的字
先看关于@!这段程序反汇编的结果:
:004D2B07 8B45FC mov eax, dword ptr [ebp-04]
:004D2B0A 80B86D02000002 cmp byte ptr [eax+0000026D], 02
:004D2B11 0F8259010000 jb 004D2C70
:004D2B17 8B45F8 mov eax, dword ptr [ebp-08]
:004D2B1A E8AD13F3FF call 00403ECC
:004D2B1F 83F802 cmp eax, 00000002
:004D2B22 0F8E48010000 jle 004D2C70
:004D2B28 8B45F8 mov eax, dword ptr [ebp-08]
:004D2B2B 80780121 cmp byte ptr [eax+01], 21 '这里是判断输入的除@后第一个字符是不是21这个值,将十六进制的21转化为ASCII码后,是叹号!
:004D2B2F 757B jne 004D2BAC
:004D2B31 8D45F4 lea eax, dword ptr [ebp-0C]
:004D2B34 50 push eax
:004D2B35 8B45F8 mov eax, dword ptr [ebp-08]
:004D2B38 E88F13F3FF call 00403ECC
:004D2B3D 8BC8 mov ecx, eax
:004D2B3F 83E902 sub ecx, 00000002
:004D2B42 BA03000000 mov edx, 00000003
:004D2B47 8B45F8 mov eax, dword ptr [ebp-08]
:004D2B4A E88515F3FF call 004040D4
:004D2B4F 8D8564FFFFFF lea eax, dword ptr [ebp+FFFFFF64]
:004D2B55 8B4DF4 mov ecx, dword ptr [ebp-0C]
* Possible StringData Ref from Code Obj ->"(*)"
上段程序先检测输入的是不是!,如果是的话则进行(*)红字的显示,所以查找:0F8E480100008B45F880780121,将最后面的21用别的字符的十六进制替换了后,就只能用别的发言了例如替换成了31的话,就要用@1发言
继续往下看
:004D2BAC 8B45F8 mov eax, dword ptr [ebp-08]
:004D2BAF 80780124 cmp byte ptr [eax+01], 24 '这里是比较输入的字符是否是十六进制的24就是$符号,如果是的话将进行(!)的喊
:004D2BB3 7548 jne 004D2BFD
:004D2BB5 8D45F4 lea eax, dword ptr [ebp-0C]
:004D2BB8 50 push eax
:004D2BB9 8B45F8 mov eax, dword ptr [ebp-08]
:004D2BBC E80B13F3FF call 00403ECC
:004D2BC1 8BC8 mov ecx, eax
:004D2BC3 83E902 sub ecx, 00000002
:004D2BC6 BA03000000 mov edx, 00000003
:004D2BCB 8B45F8 mov eax, dword ptr [ebp-08]
:004D2BCE E80115F3FF call 004040D4
:004D2BD3 8D855CFFFFFF lea eax, dword ptr [ebp+FFFFFF5C]
:004D2BD9 8B4DF4 mov ecx, dword ptr [ebp-0C]
* Possible StringData Ref from Code Obj ->"(!)"
|
:004D2BDC BA84584D00 mov edx, 004D5884
:004D2BE1 E83213F3FF call 00403F18
:004D2BE6 8B955CFFFFFF mov edx, dword ptr [ebp+FFFFFF5C]
:004D2BEC A190A44E00 mov eax, dword ptr [004EA490]
:004D2BF1 8B00 mov eax, dword ptr [eax]
:004D2BF3 E8F8BEFDFF call 004AEAF0
:004D2BF8 E9B8260000 jmp 004D52B5
所以,这里查找到:8b45f880780124将后面的24替换成别的
继续:
:004D2BFD 8B45F8 mov eax, dword ptr [ebp-08]
:004D2C00 80780123 cmp byte ptr [eax+01], 23 '这里是判断输入的字符是不是十六进制的23,如果是的话,就进行(#)的喊话显示
:004D2C04 756A jne 004D2C70
:004D2C06 8D45F4 lea eax, dword ptr [ebp-0C]
:004D2C09 50 push eax
:004D2C0A 8B45F8 mov eax, dword ptr [ebp-08]
:004D2C0D E8BA12F3FF call 00403ECC
:004D2C12 8BC8 mov ecx, eax
:004D2C14 83E902 sub ecx, 00000002
:004D2C17 BA03000000 mov edx, 00000003
:004D2C1C 8B45F8 mov eax, dword ptr [ebp-08]
:004D2C1F E8B014F3FF call 004040D4
:004D2C24 8B45FC mov eax, dword ptr [ebp-04]
:004D2C27 8B4024 mov eax, dword ptr [eax+24]
:004D2C2A 50 push eax
:004D2C2B 8B45FC mov eax, dword ptr [ebp-04]
:004D2C2E 8B4028 mov eax, dword ptr [eax+28]
:004D2C31 50 push eax
:004D2C32 6810270000 push 00002710
:004D2C37 8D8558FFFFFF lea eax, dword ptr [ebp+FFFFFF58]
:004D2C3D 8B4DF4 mov ecx, dword ptr [ebp-0C]
* Possible StringData Ref from Code Obj ->"(#)"
|
:004D2C40 BA90584D00 mov edx, 004D5890
:004D2C45 E8CE12F3FF call 00403F18
:004D2C4A 8B8558FFFFFF mov eax, dword ptr [ebp+FFFFFF58]
:004D2C50 50 push eax
:004D2C51 A190A44E00 mov eax, dword ptr [004EA490]
:004D2C56 8B00 mov eax, dword ptr [eax]
:004D2C58 8B55FC mov edx, dword ptr [ebp-04]
:004D2C5B 8B8AF8020000 mov ecx, dword ptr [edx+000002F8]
:004D2C61 BA74270000 mov edx, 00002774
:004D2C66 E895BDFDFF call 004AEA00
:004D2C6B E945260000 jmp 004D52B5
这里是查找 8b45f880780123 把后面的23改成别的
综上所述,如果您想修改GM的喊话命令的话,要修改成三处,如果你只想保留一个的话,那么将其他的两个的比较的地方更改成十六进制10以前的内容,一般这样的内容别人没有办法输入,所以他也喊不了别的样式的红字的话了.
上一篇:【】一休啦啦-传奇君临天下激情中变靓装版
下一篇:一休啦啦-传奇改良的防止刷屏的修改方法
版权声明
1、本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习研究使用,不存在任何商业目的与商业用途。
2、论坛的所有内容都不保证其准确性,完整性,有效性,因本站内容因误导等因素而造成的损失本站不承担连带责任。
3、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,若有用户需要商用本站资源,请务必联系版权方购买正版授权!
|
上一篇:一休啦啦-修改M2Serve存挡时间,减少重启回档现象下一篇:一休啦啦-传奇改良的防止刷屏的修改方法
|