2007 年 12 月
      1
2345678
9101112131415
16171819202122
23242526272829
3031   
上一年下一年   上一月下一月

站点统计
日志:516 篇
评论:331 篇
留言:31 篇
收藏夹:0 个书签
会员数:149 人

最新评论
上海地区广告伞太阳伞专业...
没附件了郁闷,还在的话麻...
已经发送到你的邮箱了,请...
写了一个进程间通讯的类....
行啊,二博客都一样
已经发送了附件到你的邮箱...
老马写的..可惜没的附件...
欢迎!
谢谢了。
第一次走进您的博客,^_...


玩星际这么多年,还不知道星际有外挂!!!   [ 2007-01-25 | 作者:马大哈 | 来自:本站原创]

昨晚大约十一点左右,QQ上一好友给我发来一个星际外挂代码,说是超厉害,看我能不能正常编译

我从来就对外挂没好感,觉得那东东破坏了游戏的公平性

不过我还真的从来没有用过外挂,甚至星际外挂,我都还是头一次听说.

因为我想不到这种纯靠技术的游戏如何还能用外挂来作弊....

收下后,开了星际试了一下,的确好NB~~~

可以开地图,你可以把别人的动向看得一清二楚;

可以刷钱,用不完;

可以农民变飞龙,同时刷少量的钱;

可以显示一些信息,如别人有多少人口,多少钱,多少气等;

可以复制单位,比如炮台;

还有不少的功能没有用上........

这些功能在连网对战时也一样可用,太可怕了.......

我只是进了RPG图,因为与别人对战我不想使用这东西,感觉很没意思.对电脑的话,就无所谓了

后来研究代码,发现结构很简单,使用了几个API实现了向星际内存写SHELL代码,并建立远程线程

同时由另几个地址控制一些功能的实现,比如向某进程写某值,就打开了某功能等.

然后有四分之三的代码都是防破解的,搞得倒是很麻烦.

我把这代码直接编译后,运行星际,会挂.

后来仔细看了一下代码,里面有一个资源文件加密的过程

需要一个特殊的参数才可以让资源文件里的汇编SHELL代码正常解密出来.

过程如下:

Private Sub EncodeRes(arr() As Byte, key As Long) 'DeEncode_INI
On Error GoTo errHandle
'// init
Rnd -1
Randomize key

'// conv
Dim i As Long
For i = 0 To UBound(arr)
arr(i) = arr(i) Xor Int(Rnd * 256)
Next i

errHandle:
End Sub

第一个参数就是从资源文件里读来的CODE,第二个参数在代码里是6653,但编译后不能正常工作.

我看了其它地方,也没有发现什么不对.

估计这第二个参数就是关键.

试了N多个值,不得其果..............遂放弃.

告知好友如上分析,他感叹:没想到最后在代码里面,也还留了一手,BT啊.

不过也让我学到了一招,哈哈

以后就把关键代码放某地方,再在代码里面用这方法加密,嘿嘿

写了一个网页星号查看器 [分享]Smart Indenter--VB6代码美化机

暂时没有评论