地牢防御修改吧 关注:8贴子:34
  • 2回复贴,共1

未提供下载!未提供下载!未提供下载!闲得慌的时候写了个脚本

取消只看楼主收藏回复

重要的事情说三遍,这个脚本真的很简单,而且修改的乐趣不就是自己去发现然后再成功么?

先说一下软件和游戏版本好了,修改是用的IGG
刚开始弄这些东西的时候,我用的IGG不记得是哪个老版本了,写这文章的时候已经更新了IGG,用的是8.45.0版本;
游戏版本我是play下载的1.92.4版。
play限免的时候下载了这游戏,后来居然发现这游戏里的数据是加密的,于是乎就有了修改的乐趣了
IGG折磨了几次之后修改成功是没问题了,但每次值会被我改成什么我不知道,看到游戏里某样东西的值应该搜索什么也是瞎的这点让人很是不爽,于是就开始试着去看这玩意是怎么加密的了
大概研究了半个晚上吧,当作记事本用的表格里总算推算出了整数的加密方法,之后便是快乐的玩耍了
前天下载了一个学习python的电子书,昨天晚上看书看到一半的时候,突然想到可以把地牢防御的这玩意的算法拿来练练手,于是乎就写了这个脚本
这个脚本大概用途也很简单,就是把看到的数字转换成内存里实际保存的值再用IGG去搜索就好了,比如金钱为57,在脚本里转换之后得到444451,那么就在IGG里搜索Dword值444451就好了(为什么是Dword值后面讲)
然后卖了个武器,金钱变成139,脚本转换后得到444561,回IGG再搜444561
之后再改造一次武器,金钱变成了75,再转换得到444497,回IGG搜444497结果就已经出来了……
写这个脚本的时候还发现了一个有趣的事情,就是这个游戏里的数值其实是互换的,比如75在内存里是444497,那么444497这个数字在内存里就是75这样的。这个后来还试了几次,比如现有金钱是1009970060,在内存里是1010049942,那么在IGG里把内存改为1009970060,回到游戏中金钱就变为1010049942了。


IP属地:湖北1楼2017-12-31 09:23回复
    关于为什么搜索Dword值……
    其实这游戏里的数值是Qword保存的,但不知道是我的IGG设置问题还是怎么的,Qword只能搜索到以0和8结尾的内存地址,然而游戏里保存这些个数值的地址貌似都不是0或8结尾的,所以我每次都会搜不到位置,于是乎就改用了Dword来搜索
    当然,在搜索时我也想到了这个问题,当数值大于4294967295时,转换结果可以转变为4294967296的余数和整倍数显示,比如11010049942,转换后是11010494346,那么转换后的值就是2*4294967296+2420559754,这样一来,在内存中搜索2420559754就行了。
    在修改的时候,我想把目标值改为11010049942的话也是一样可以的,同样用上面的公式,修改找到的值为2420559754(Dword),然后修改找到的地址之后的那个Dword值(也就是内存地址+4的地址)为2就行了,这个原理很简单,了解一下Byte,Word,Dword和Qword之间的关系就知道了。


    IP属地:湖北2楼2017-12-31 09:25
    回复
      呃,对于某吧一发言说到修改方面的事就会删封点火或者一口一个狗的这么叫……
      我只能说,游戏嘛,善用工具,灵活使用自己所懂得的技术,也算是“竞技”的一种表现吧?
      完完全全地循规蹈矩按部就班,只讨论在某一个框架内的东西,会不会和“所有技术”渐行渐远呢?
      貌似扯远了,最后再扯一句好了,虽然我是会修改,也找得出如何修改,但我的游戏存档还是玩的手打的,修改也只是去挖掘探索一些别的乐趣和技术而已


      IP属地:湖北3楼2017-12-31 09:27
      回复