友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
象牙塔神话-第8部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
5算法的有效办法。与会各国科学家全场震惊。”
“做大事者要有恒心,要有毅力,不要轻易说我不能。今天不能,不能代表永远不能。”老师最后如是说。
书 包 网 txt小说上传分享
象牙塔神话(二十八)
最近比较空闲,周末的时候,偶尔也开始玩游戏。
我玩的第一个游戏,是奥汀公司出品的《三国群英传五》,是战略类的游戏,我选了刘备,开档以后玩了两个小时,就觉得特别郁闷,游戏进展太慢了,玩了那么久,才占领了几座城池,这时,我想,有没有什么办法,可以让自己快速暴机,结束游戏,这样也不会浪费太多的时间。
我不是纯粹的游戏爱好者,我,自己本身,也是一名程序员,我决定对游戏的程序进行研究。
在参考了网上的一些文章之后,我发现游戏是可以被修改的,一种是成为静态修改,一种是动态修改。所谓静态修改,就是对游戏的存档,游戏的各个可以被打开的文件进行修改,动态修改,一般指内存修改,游戏程序在运行的时候,游戏中的一些数据会暂时储存在内存里面,如果找到这些数据在内存里面的存储地址,我们就可以对其进行修改,比如在这个游戏里,诸葛亮的武力是32,如果能找到这个数据的存储地址,那么我们可以把他改成255,这样,就可以让诸葛亮去跟吕布单挑,而且保证会把吕布打得落荒而逃。
在对游戏程序的各个文件进行尝试之后,我发现要静态修改,似乎不太可能,这时,我把注意力集中在了动态修改。要动态修改,就必须用到内存修改工具,我选择了金山游侠五,首先,启动游戏,然后,用游侠五在内存里查找数值32,找到成千上万个结果,这是因为游戏里面有很多的数据要随着游戏进行进行运算,所以会肯能出现相同的数据。然后我回到游戏,让诸葛亮去攻城获得经验,并升级,升级后武力增加了,我再用工具在内存里在原有的几千个结果里面搜索新的变化后的诸葛亮武力数值,最后发现还有很多相同的数据,不过数量少了很多,这时,我在游戏里再在让诸葛亮升级,这样最后终于搜索到了一个唯一的地址,我把数值改了一下,变成了255,回去看一下,好了,现在诸葛亮天下无敌了,我就让诸葛亮去找吕布单挑,电脑在比较了双方的武力值之后,觉得差距太大,最后吕布害怕了,拒绝和诸葛亮单挑。
改是改好了,不过我发现虽然诸葛亮武力天下无敌,但是体力是有限的,我让他冲锋陷阵,电脑是用大量的士兵来跟他车轮战,慢慢消耗他的体力,这样长久下去不是个办法,我就想,能不能把诸葛亮的体力也修改一下呢?
我用刚才的办法,找到了诸葛亮的体力数值的内存地址,因为金山游侠五具有数值锁定的功能,我就让诸葛亮的体力值给锁定,好了,我回到游戏,让诸葛亮一个人单挑千军万马,结果只见诸葛亮身边敌军围困万千重,许多弓箭向他射去,各式操着大刀,长枪的士兵围着他攻击,可是诸葛亮的体力一点有不变,只见他身边敌军纷纷倒下,战场上尸横遍野,最后,整个战场上,只剩下诸葛亮一个人!
根据这种办法,我依此修改了其他武将的体力,武力,智力等其他属性,最后,包括游戏里的金钱等数值,几乎游戏里所有的数据我都给改过了。我发现了一个规律,比如同样是武力数值,诸葛亮在内存中的地址比如是OXA4B70,如果你搜索刘备的武力数值的时候,如果你发现几千个数值中,有一个数值的地址是0XA4B7*的,那么这个地址肯定是刘备的武力数值的存放地址了,这时候就不用继续搜索了,直接改这个就行了。因为类似属性的数值,在内存里的位置是接近的。我搜索了其他武将的武力数值,结果证实了我的猜想。
最后,刘备占领了所有城池,统一天下。游戏总时间,不到5个小时。
象牙塔神话(二十九)
上次修改了单机的三国群英传游戏,结果很快就暴机了,我又尝试过修改其他各种单机游戏,屡试不爽,后来陆续又有新的发现,一个是内存中存储的数值有时候并不是就是游戏里可以看到的数值,我在《大航海家三》里面试图修改仓库里物品的数量的时候,第一次搜索找到了好多个地址,第二次发现一个地址也没有了,一直就无法确定存放物品数量的内存地址在哪里,后来我发现,其实游戏里看到的数值和实际存放的地址之间刚好差了X倍。另外,我还学会了模糊搜索,就是第一次在内存里搜索出游戏的所有数值,接着按照数值的变大,变小还是不变来继续搜索,这种办法适用于游戏中一些属性只是一个类似于血之类的东西而没有标出实际数据的情况。
在用游侠五修改《大航海家三》的时候,我找到了商船的水手人数的地址,我把船开到海上,一艘载着50多人的海盗船欺负我商船上只有3名水手,就直接开过来要和我的商船来甲板战,肉搏战,想夺取我的商船,结果两只船刚刚靠在一起,开始战斗的时候,我把我的商船上的人数改成了9999,而且是锁定的,这下电脑的海盗船赶紧开溜,但是只有50多人开的海盗船的速度怎么比得上我9999人驾驶的商船的速度(游戏的年代里面的船还是那种靠人力的帆船),马上就被我追上,开始甲板战,很快对方50多个海盗全部被消灭,我夺取了海盗船,把船开回母港之后,想重新出海,电脑却提示说:超载,无法开动。原来是9999个水手太多,超过船的负荷,我只好把水手改回3个,心里却有一个疑问:当初我夺取海盗船的时候,还不是9999个水手的船从照样海上开回来了,现在怎么不行了呢?我想,这就是游戏的一个BUG。
在对很多单机游戏程序进行研究之后,我积累了很多修改游戏程序的经验,其中静态修改游戏存档文件和其他文件也尝试过。后来,我产生了一个想法:既然单机游戏可以修改,那网络游戏是不是也可以修改?我马上用迅雷到网上下载了一个网络游戏客户端,注册了一个帐号,进去游戏之后,照猫画虎的改了一下一些数值,发现游戏里面的数值根本没变。
我明白了,原来单机游戏的数值全部储存在本地的电脑上,而网络游戏是服务器和客户端之间的交互,一些重要的数值,比如金钱,经验等是存储在服务器端的,客户端更多的时候只是显示出服务器端的数据。
是不是网络游戏都不能修改呢?我去图书馆查了一些相关资料,发现网络游戏也是可以改的,只不过不像单机游戏那样非常容易改,专门修改网络游戏的程序,我们通常都叫做外挂。最常见的有两种:一种是木马式外挂,这是专门盗取游戏帐号的,这不是我感兴趣的,另一种是封包式外挂,封包,是客户端与服务器端交换游戏数据的一个通信数据包,客户端发送给服务器的,多是游戏者对游戏的操作等,而服务器端则负责对客户端提交的各种操作进行处理,最后把处理后的结果发送回客户端。我们比较容易做的,就是截取客户端与服务器之间通信的封包,对其进行分析,最后实现修改的目的。
为了制作自己的封包截取工具,我开始研究HTTP通信机制以及网络编程。随着学习的深入,我发现我不懂的东西越来越多。一转眼,一个多月已经过去了。
书包 网 。 想看书来
象牙塔神话(三十)
在制作我的外挂过程中,我的一些难点主要有Windows*API调用与钩子函数,网游封包加密技术,反汇编技术等,等我学得足够多最后作出我的第一个外挂之后,整整4个月的业余时间已经全部花在上面了。
看着自己开发的外挂,我心里多少有点成就感,同时也感叹编程路上的每一个前进的脚步,都是那么艰难。
兴冲冲的进入网络游戏,启动外挂,我欣喜的看到我的那个游戏角色在那里自动练级,自动加血,自动叫卖。。。。。。我开着外挂挂着游戏,发现除了练级速度比手工慢之外,简直是完美!
这时我的QQ显示有人找我,我进去一看,是一个在游戏里认识的朋友东方不胜,他劈头就给我一句话:
“你今天有病啊?”
我丈二金刚摸不到头脑。
“怎么成了个练级机器人了啊,我怎么叫你你都不回答,才隔那么几天不见,就不认识我了吗?”对方气冲冲的说。
我说:“原来是这样啊,我还以为是什么呢?实话跟你说了吧,里面的那个角色的确不是我,当然不认识你。”
“啊?你被盗号了,还是请人代练了啊?”东方不胜问道。
“算请人代练吧,不过呢,是免费代练的。”我故意卖了个关子。
“不可能吧,有这等好事?”东方不胜不太相信。
“不信就拉倒。”我就故意不理他,看电影去了。
大概过了5分种吧,东方不胜终于忍不住了,再次在QQ里说:“跟你认识这么久了,好兄弟,你就告诉我,到底这是怎么一回事啊?”
“嘿嘿。”我说:“这是我开发的第一个网络游戏外挂,可以实现自动练级,自动加血,自动PK,自动叫卖。。。。。。”
“啊??????!!!!!!”对方给我打过来这个,虽然看不见对方,我却在隔着电脑猜想对方张的大大的O型嘴巴。
“外挂,外挂是什么啊?”
我耐着性子给对方讲了好久,对方才明白,这位老兄的领悟力实在不刚恭维。
“你自己开发的?”对方有点不信。
“当然。”我说。
“这么好的东西,就给老兄我共享一下嘛。”对方恳求我说。
我却犯难了,这可是我4个月的心血,轻易给他,心里实在无法接受。
我沉默了。
“怎么不说话了,都这么熟了,借我玩玩不行吗?”对方穷追猛打:“就一会儿,行不?”
我想了想说:“你说就一会儿是吧,好吧,我下午给你。”
“为什么还要下午给我呢?现在不是更好吗?”对方有点无法理解。
嘿嘿,这个就不能让你理解了,我想到这,就随便说:“现在要出去,没空,下午再说。”
对方见我已经答应,似乎也不在意再多等几个小时。
我当然不是要出去,我一直在电脑面前,给我的外挂加工,首先,去掉了一些最高级的功能,其次,做成注册版(防止被大规模传播),第三,这里就暂时不说了。
下午我一上Q(其实只是把隐身状态切换到在线),对方就急不可耐的发消息过来:“怎么这么久才上,我都等了2个小时了。”
“先等等,你知道怎么用吗?”我说。
“你教我吧,大哥。”
“首先,你先点击主程序,会有一个注册界面,你把你的机器码发给我,我再把注册码发给你。”
“这么麻烦啊?”
“不要算了。”我心想,这个保护版权的措施是首要的,没有这个,其他的什么都免谈。
“好吧。你先传给我。”对方催促道。
我用QQ传给他,压缩后也就1M多,很快就传完了。
“机器码是******”对方QQ里说。
我把它复制下来,放在我自己制作的算号器里面,很快,注册码出来了(我自己做的注册功能当然知道注册密钥和算法)。
“注册码是****************……”我拷贝过去,一下子把QQ聊天的整个页面给占满了。
“哇。”对方说:“太恐怖的注册码了,里面有汉字,英文字母,数字,字符,还有日文,韩文。。。。。。”
我心想,中国是世界第一“破解”大国,我不弄得复杂点,避免碰上一个专业搞“破解”的,一下子把我的劳动成果给抢走了。
“好了,提示注册成功。那,下一步怎么用呢?”
“首先我要声明一下,这个外挂的注册功能是和你的硬件绑定的,你不要想把它传播给其他人,也就是说,没有我的注册码,它拷贝到其它机器上是不能运行的。”
“啊……”对方说。
“下面你开启QQ的远程协助功能,我先演示一下给你看。”我说。
对方答应了,我就借助QQ的远程协助,在对方的那部电脑上,演示了一下外挂的使用方法。
我刚刚演示完,对方就关掉了远程协助,说:“谢了,哈哈哈,我去试验了,88!!”
我心想:你小子过河拆桥啊。我还没说出来,就见对方的QQ下线了(可能是隐身),我再怎么叫对方都不回了。
看来,网络上最重要的就是防欺骗。不过呢,这点小伎俩我早就想到了。
象牙塔神话(三十一)
今天我急着赶作业,所以也就没上网,外挂的事情就暂时忘了。
忙碌的一天终于结束了,我又迎来了一个稍微空闲的一天。
一大早,我就想登陆那个网络游戏,想继续测试一下我的外挂,以便于完善功能。
谁知道系统提示说:“尊敬的玩家您好,服务器正在维护中,等服务器维护完毕,我们会在官方网站第一时间通知你们。谢谢您对我们游戏一如继往的支持!”
我心想:不对啊,这家网络游戏的服务器每周都有固定的维护时间,但是今天还是第一次啊,如果是例行维护,维护完毕的时间也是固定的,怎么会连维护完毕的时间也要另行通知呢。这其中有原因。
我登陆官方网站一看,也有这个通知,也是说临时维护,维护完毕的时间也是说无法估计,好了之后会另行通知。我正在纳闷的当儿,QQ响了,是昨天那个过河拆桥和我耍手段的东方不胜。
“老大,你太强了。”这小子一上来就说恭维话,看来又想打什么坏主意了。
“你昨天怎么闷声不响地拿了东西就走人,你的良心大大的坏了!”我说。
“老大,昨天是我不对。你的外挂太强了,我尝试过所有的功能,实在是牛!”这小子还是不着边际的说。
我想:瞧你那副德性,说供维话可不是随便乱说的。估计又碰到什么问题有求于我了。
“我昨天尝试过你的那个刷屏功能,实在太强了,你猜怎么着,我每秒1000次的刷屏,一刷,就掉线了。”
听这话,我知道这小子终于打开天窗说亮话了。
“后来我才知道,其他人也在同时掉线了。最后知道,不是几个人掉线,是整个服务器当机了。”
“后来服务器又好了,我再刷一次屏,结果服务器又当机了,乖乖,直到现在为止,服务器还在维护中呢。‘东方不胜继续说:‘你这个功能实在是好,只是我试过两次之后,发现这个功能的按钮变灰了,后来我发现整个外挂都自己删除掉了。你说,这是怎么回事?”
现在该我说话了,我说:“我就怕你这小子耍小聪明,所以事先防了你一手,你拿了东西就走人我不怕,我那个东西早就设计好了你只能用几下,特别是那个让服务器当机的功能设计了只能用两次。”
“所以外挂自己把自己删除掉了也是我事先设计好的。”我补充说。
“啊,怎么可以这样啊,这样,是不是有点不够朋友啊?”东方不胜说。
“我不够朋友?你才不够朋友呢!”我说:“你再这样乱搞下去,迟早会把我送到局子里面喝茶的!”
“那,你把那个功能去掉,把其他的功能保留,在发给我一次,好不好,求你了!”这小子倒还脸皮厚的:“我,还想自动练级呢!我想带我的大号练,小号自动练级,我家里有两部电脑。”
我心想:你的白
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!