您当前的位置:首页 > 江湖技术

热血江湖服务端后门GM命令查找与修改

本文出处:网游动力作者:本站发布时间:2009-08-25阅读次数:
开过热血江湖SF的GM都知道,前段时间风靡一时的扫区攻击小组,经常攻击开区的朋友吗!他们为什么这么牛呢?想清谁的区,就可以清掉谁的区!有人说,这是服务器租用商的防御能力不行,或者是ASP程序有漏洞,经过大量事实证明,绝大多数的清区不是因为服务器商防御能力不行或存在ASP程序漏洞,真正的原因,还是在服务端的后门GM控制命令外泄。其实,这不是一个什么神话,很简单的,就是他们知道服务端里的后门命令,很多代理出售热血江湖SF服务端的朋友就会明白,所有售出的服务端都有他们特定的后门控制命令,而这么后门命令一般的开区GM是不会知道的,打个比方说:在游戏中打上“!help”你就会得到游戏中的帮助。为什么打上“!help”就可以得到帮助呢。这是程序员为了方便各位玩家快速掌握游戏,熟悉游戏而特地设置地一个快捷方式。
例如:
IL_04d4:  ldstr      "!wtfsowfkbso12345678"  这是取得GM权限的命令。
IL_04fc:  ldstr      "!kseve"  这个蛮熟悉吧。
当然 不同的端有可能命令不同...但作用都一样,所在端代码位置也一样
IL_05ec:  ldstr      "!move"
IL_062d:  ldstr      "!guai"
IL_0668:  ldstr      "!addguai"
IL_075f:  ldstr      "!copyya"
IL_07c1:  ldstr      "!dels"
IL_07f1:  ldstr      "!delchar"
IL_07fd:  ldstr      "DELETE FROM TBL_XWWL_Char"这个是删除所有角色的命令
IL_09a9:  ldstr      "!cpu100"占用CPU资源100%,你的服务器是不是经常性的有点卡。
     看到以上的代码,你是不是觉得有点熟悉呢。当一个别有用心的所谓攻击小组呢。就经常到各个游戏中进行测试,尝试在游戏中输入他们设定的后门GM控制命令,一旦尝试成功,他们就会对这些游戏区进行攻击,要收取所谓的保护费。从而达到他们赚取不义之钱财的目的。
    作为一个开区的GM来说,应该如何防范这种情况出现呢。下面就来看下说明(是菜鸟的进来,是高手绕道走开):只要稍微懂一点程序操作知识,看得懂几个常的计算机英语,这些东西都会迎刃而解,如果再懂得一些il语言,C#语言等等,你还可以对服务端进行一番修改,设置一些新鲜的事物,开放各种活动,来吸引和满足玩家对游戏的耐玩性。
操作环境:必须先安装微软的 NET2.0,因为我们所有的操作全部要求由NET2.0来支持。来解开服务端和合成服务端。
    准备工具:ILASM2.0   无壳的江湖服务端rxjhserver.exe
        首先用工具ILASM2.0把服务端rxjhserver.exe导出成.il语言文件。导出后,会自动分成aa.resources  bn.resources  bz.resources   rxjhserver.il   rxjhserver.res等五个文件。如果你的服务端经导出后,不能生成这五个文件,少一个的话,有可能你的服务端被加过壳,有些文件被K掉了。这样是不可能再次复原服务端的(这是后话),但是不同的服务端,导出后产生的文件会不一样,所以你一定要注意,你的服务端有壳的话,你先得进行脱壳,程序有没有壳,你可以用PEID这个程序进行查找,查找到后,可以用OD进行调试脱壳,不是专业的脱壳高手,也有可能脱不壳,也由此不能对服务端进行修改了,这时你就得认真的学习下,总结下了。
    第二步,用记事本打开rxjhserver.il文件,用查找命令打开搜索框,在搜索框中输入“!help”进行文件定位,然后慢慢向下拉动,寻找IL_04d4: ldstr "!wtfsowfkbso12345678" 其中"!wtfsowfkbso12345678"你可以自由修改,但是要记住一点“!”号不能少,少了的话,你的服务端就不能运行了。修改完这个后,再继续向下拉,寻找另一个IL_04fc: ldstr  "!kseve" 等等。直到下面再没有  IL_0000:1dstr “!*****”语句的代码时,你就可以进行保存进行下一步工作了。
     第三步,你将服务端导出的五个文件和ILASM2.0.exe文件和自动执行文件(rx.bat)一起复制到安装Framework NET2.0的安装目录下,如C:WINDOWSMicrosoft.NETFrameworkv2.0.50727下。
     第四步,执行rx.bat文件,程序将自动生成rxjhserver.exe服务端。但是这个rx.bat批处理文件如何编写呢。不要急,我已经写好了,免费赠送给各位爱好江湖的朋友。具体代码如下:
ilasm.exe /EXE rxjhserver.il /RESOURCE=Rxjhserver.res /OUTPUT=Rxjhserver.exe
        这样在微软的NET2.0的运行环境支持下,你就可以顺利重生成只有你知道后门GM控制命令的rxjhserver.exe热血江湖服务端了。你也就可以高枕无忧地不要再担心开区就被别人清除数据库了。