本Blog开了快一年拉,感谢朋友们的支持。
一年前开始玩RO私服,接触了openkore,其实还有很多教程没写,比如如何打包自己的perl成为exe,比如我当时的网络验证模式,等等。术业有专攻,我不准备在外挂上花费更多的时间和精力了,因为有更重要的事情要做。
前段时间,大约有几个月,前期放出去的需要网络验证的外挂就全部开放了,只是没有通知。有些朋友可能发现这个事情了,呵呵,从我的服务平台上看的到不少新的IP验证请求。后来,因为验证服务器的问题,这个网络验证停止了,意味这以前的外挂将失效。因为当时的源码都在虚拟机里面,但是虚拟机出问题了,能修复的话尽量把源码都放出来。
写这篇的目的呢,就是准备彻底不再做外挂(其实很久很久前就不再做了),呵呵。因为这个blog的网址是
http://blog.sina.com.cn/softice,将来可能会挪作他用,不过还没定,如果需要本blog教程的朋友,请自己保存到本地,可能几个月后,blog会变成我自己的生活blog,哈哈,也希望过去一起玩RO的朋友多来踩!
很久没开569518778的QQ,好像大家对如何使用command.pm以及send.pm这两个包文件里面的函数很感兴趣,移动硬盘暂时不在手边,等有空我写一下如何实现这些问题,达到自动化。
包括:
源码talk resp N
talk N
move x y
等等常用的形式。
这篇文是很早以前在yyro上发的。现在整理过来。
这个事情由来已久,其实很早前就遇到这个事,一直没重视,前段时间刚弄了下,给大家分享。
原理:
一般服务器都是放在同一个位置上增加一个:hpspall名字的npc,叠在一起。这样ok在计算路线、打开仓库等等的时候,就遇到麻烦了。解决办法很简单,把这个npc忽略过去就行了。
svn 1.9.1以上版本:
打开 src/corelogic.pm
1.6.9及其以下版本:
打开:src/functions.pl
搜索:debug 'Target NPC
这样会找到这一段,加上蓝色部分的代码就可以了。
foreach my $npc (@npcsID) {
next if !$npc || $npcs{$npc}{'name'} eq '' ||
$npcs{$npc}{'name'} =~ /Unknown/i ||
$npcs{$npc}{'name'} =~ /hpspall/;
if ( $npcs{$npc}{'pos'}{'x'} eq $args->{pos}{'x'}
&&
$npcs{$npc}{'pos'}{'y'} eq
$args->{pos}{'y'} ) {
昨天有兄弟Q我说,本BLOG上的文章被大量转载在别的论坛,有很多人也加入了收费破解的行列。
收费这个事情,自己也曾经做过,没什么好说的,市场是大家的,我无权干涉。但是转载了我的文说是自己的原创,这样就不好了。
最近忙,也没心思去弄反外挂,也很久没更新blog,发新的反外挂上来了。没关系,开源才是促进。RO是个好游戏,玩过RO后,没再认真的玩过什么别的游戏了,眼看着RO2就出来了,99nets也在着手做RO2的私服。可能年龄也大了,过了玩游戏的年纪,还是把游戏当作是回忆吧。
最近在赶进度,忙工作,所以外挂这边的事情没有太多时间去顾及,最近也没发布新的反外挂方法,对不住大家了,呵呵,等过段时间,五一以后吧,争取更新一批新的上来。
有很多朋友问过,怎么自定义路线,比如使用私服特有的传送。下面这个图应该很明显了吧:)
这个就是首都用传送人员传送到蚂蚁洞的添加方法。以后直接在lockmap里面写上附近的地图,就可以自动用这个传送过去了。
先看图:
要得到笔划数,得互相配合一下。
先转一篇文章过来,省得自己写了,捏哈哈哈哈:
**************************************
二.排序规则简介:
什么叫排序规则呢?ms是这样描述的:'在 microsoft sql server 2000
中,
字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存
储和比较字符所使用的规则。'
在查询分析器内执行下面语句,可以得到sql server支持的所有排序规则。
select * from ::fn_helpcollations()
排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
chinese_prc_cs_ai_ws
前半部份:指unicode字符集,chinese_prc_指针对大陆简
还是这个:
要求这个方法的朋友太多了,在这里写一下方法。

一、修改封包
记事本或Ultraedit打开src\network\receive.pm
在前面几行找到:
'01B3' => ['npc_image', 'Z63 C1',
[qw(npc_image type)]],
这个是显示npc图象的封包,01b3。但是ok这个封包位置有点问题,差了一位。把上面的Z63改成Z64(我记得是z64,由于忘记哪个服,所以就没看外挂,直接写了,如果有问题,用wpe截下封包,然后数数字节数就行了)。
二、修改sub npc_image
搜索:sub npc_image段,原来的是这样的:
sub npc_image {
my ($self, $args) = @_;
my ($imageName) = bytesToString($args->{npc_image});
&nb
最近发现,很多服为了反外挂,都开始改封包了。
但是大多改动幅度都不大,可能小蛇的改动算是比较多的了,不过没自己去查:)
改封包是比较好的防外挂手段,因为有能力去重新布局外挂封包的人恐怕不是很多,如果规模很大,相当耗费时间,是个力气活,所以不划算,也就不搞了。
但是,改封包不是根本,还得靠自己去编译服务端,加上自定义反外挂封包,用一个强算法,才是比较好的反外挂方法。不然,人家早晚会弄好外挂的封包照样挂上去。
或者,用一个模糊形式的反外挂脚本,也是不错的选择,我做了一个,很多人说,真人都认不出来……不至于吧,呵呵。
今天有人问,99nets的又更新了。
上去一看,不得了,这次更新后,恐怕别的登录器都不对劲了,不仅仅是改了版本号这么简单。
登录时人物的封包长度改变了,其他地方我还没发现。这个直接导致其他的登录器以及外挂都无法正确得到人物的职业、名字、状态等等资料。
客户端的我没截图,就截个外挂的吧,客户端也是一样的效果>_<
|||
看,名字、职业、经验数字、金钱,全部乱套。客户端上去也是这样的,我看到我自