00002 贪婪洞窟.001

00002贪婪洞窟.001

      地牢类游戏我喜欢的有不少,比如《厕所穿越记》、《地下城冒险》等等,以及这次的研究对象《贪婪洞窟》。

      从玩法上来说,《贪婪洞窟》不够上进,刷多了就显得单调、腻人。在那么几次更新中,除了“梦境”之外,都是相同模式下、内容的单调增加。即便是梦境,也只是“一条命看你能闯到多少关,然后给你个排名”的无聊游戏,玩法和主线还是一模一样的。我要看看能不能修改它,如果能,就再看看能修改到什么程度。我个人的愿念,不仅仅是平衡性(比如主角属性、水晶、装备属性等)上的修改,更是玩法上的变更、完善(当然,如果可行,这将是一项比较耗时的操作,我不会一次性完成并给出文章,将会不定时更新。大家可通过标签分类“贪婪洞窟”查看)。

      闲话不多说,进入正题。

      要想修改游戏,首先就得拿到游戏。在电脑时代,这是个笑话:都玩上游戏了,还能没拿到游戏?你以为你在虚拟桌面么?安卓游戏还好,网上应当比较好找。苹果比较麻烦,手机越狱了可以找找越狱版的,修改完直接越狱安装。那没越狱的怎么办?对于iOS8.3以下,可以通过iToolsPP助手等的备份程序功能,导出游戏程序;iOS8.3及其以上,通过iTune备份+iBackupBot也应当能够提取出游戏程序。另外,还可以通过iTunes直接在AppStore中下载游戏程序。游戏修改后,如何在非越狱机上安装呢?如果你有一台Mac电脑,可以通过Xcode进行安装。如果你有一台Windows电脑,则通过PP助手5进行安装。获取程序和安装程序的具体操作过程,此处不赘述,如有问题,请自行解决。

      拿到的游戏程序文件,安卓的是一个apk,苹果的是一个ipa。它们都是压缩包,用WinRAR之类的解压出来即可。我们将文件修改后,替换掉原文件即可。对于apk,需要重新打包(有些游戏会对签名进行验证,重新打包的就无法正常游戏了。对于这类游戏,就得找到验证的代码,看能不能破解掉)。对于ipa,重新压缩打包好像有问题,不过可以用WinRAR直接替换掉ipa中的原文件(而不要解压再压缩)。

      以下开始正式讲解贪婪洞窟的修改,以iOS上的1.5.0版为基础,而非最新版。

      解压ipa后,打开到Payload\Cave iOS CN.app\,可以看到里面有很多文件和文件夹。文件有mp3jsonpvr.cczatlasplistpng等类型:

 

如果对游戏开发有所了解,那么就可以很容易看出那些含有bundle的文件夹是第三方开发包,这个没什么好弄的;含有lproj的文件夹(比如de.lprojen.lproj等)是语言包,也没有什么好弄的;_CodeSignature从名字上看是大概是数字签名之类的,还是没什么好弄的。

好了,文件就这么全过滤掉了,下面看看文件。

Mp3png显然不是我们关心的重点。名称相同的pvr.cczplist组合为一个整体,是TexturePacker生成的图像,已被加密(在研究过程中虽然顺手拿到了密码,但我是不会公开的,也别找我要)。名称相同的jsonatlas也组合为一个整体(具体使用时还要加上刚刚说的pvr.ccz图片),构成spine动画。有个_vungle.db,这是一个sqlite数据库,但也属于一个第三方SDK中,暂时不用管。经过这么过滤,还剩下一些单独的plist文件和为数不多的几个文件:PkgInfoREADME.txtkey_words.txtLICENSECave iOS CNCave iOS CN.entitlements等等。Cave iOS CN是游戏的可执行程序(相当于Windows中的exe文件);key_words.txt是要过滤的关键字(一些伟人的名字是不能乱说的、脏话也是不能乱讲的)。其他的PkgInfo等看起来就不像游戏的配置或者逻辑。这样一来,也就剩下那些单独的plist文件了。好吧,其实如果对苹果开发有点了解,我们就会知道plist叫做属性列表文件,和Windowscfgini等配置文件差不多,便会首先定位到它们。

继续分析plist,就看看名称,就不难发现里面有一些是用来定义界面(名称中包含ui)的;还有一些是系统的。剩下的便是我们所关心的。

打开plist看看。

Plist有好几种格式,二进制的、文本的、xml的。后两种都可以用文本编辑器打开,但很难看。Xml还可以用xml工具打开,同样很难看。二进制的,很不幸,需要使用xcode或其他专用工具打开。如果使用Xcode打开的话,非常直观,比如成就表:

上图中的第一项,210004大概是成就的id,它的子条目,名称具有很好的可读性,让我们很容易就知道要改啥了。Desname之类的值是一串数字而非明文的描述性文本,这是为了方便本地化,那串数字是语言包中的id

经过一定的研究,发现各plist文件的作用如下:

l        achievementAttribute.plist:成就

l        battleRewardEquipments_dl.plist:梦境奖励

l        battleRewardItems_dl.plist:梦境奖励

l        crystalBox.plist:开水晶箱子所需的水晶数目

l        drama.plist:故事碎片(地牢捡起的那些纸张,可在背包-)日志-》故事中查看)

l        dramaCatalogue.plist:故事分类

l        equipmentAttribute.plistequipmentAttribute_dl.plist:前者是主线中的装备属性、后者是梦境的

l        equipmentZone.plist:各等级+0装备的基本属性随机范围

l        face.plist、face_2.plist:创建角色时捏脸用到的眼睛、头发之类的

l        guide.plist:操作教学

l        happyClub.plist:某种充值活动?奖励

l        heroAttribute.plistheroAttribute_dl.plist

l        itemsAttribute.plistitemsAttribute_dl.plist:物品

l        level_1.plistlevel_1_dl.plist:普通难度地牢生成规则。后者为梦境

l        level_2.plistlevel_2_dl.plist:噩梦难度地牢生成规则。后者无效

l        level_3.plistlevel_3_dl.plist:地狱难度地牢生成规则。后者无效

l        levelReward.plist:爬塔(到达地牢指定层)奖励

l        LocalString_zh.plist:简体中文语言包

l        makeRuneLimit.plist:各层地牢生成符文的数量上限

l        mapConfig.plist:???????????

l        mapElement.plist:???????????

l        missionAttribute.plist:任务

l        monstersAttribute_1.plistmonstersAttribute_1_dl.plist:普通难度下的怪物属性。后者为梦境

l        monstersAttribute_2.plist:噩梦难度下的怪物属性

l        monstersAttribute_3.plist:地狱难度下的怪物属性

l        playerNames.plist:创建角色时的随机名称列表

l        pointMax.plist:一些属性的极限值(未具体研究,不知道用在哪里)

l        pointShop_dl.plist:梦境积分商店

l        prizePoolAttribute.plist、prizePoolAttribute_dl.plist:奖池(用于怪物的掉落列表等)

l        purchasePresent.plist:首充奖励

l        rareMonster_1.plist:普通难度精英怪生成规则

l        rareMonster_2.plist

l        rareMonster_3.plist

l        secretshop_1.plist:普通难度时的老婆婆商店

l        secretshop_2.plist

l        secretshop_3.plist

l        shopincave.plistshopincave_dl.plist:地牢商店

l        skill.plist:人物技能

l        skillEffect.plist

l        skilllvup.plist

l        suitSkill.plist:物品技能

l        TestConfig_Cave.plist:正式版改了会生效么?

l        TestConfig_Town.plist:正式版改了会生效么?

l        treasureAttribute_1.plisttreasureAttribute_1_dl.plist:怪物、密室、钱包、箱子掉落(可能掉落的物品列表和几率在prizePoolAttribute中定义)

l        treasureAttribute_2.plist

l        treasureAttribute_3.plist

l        triggerObject.plisttriggerObject_dl.plist:陷阱

l        triggerType.plist:

l        turntableAttribute_1.plist:普通难度时的转盘

l        turntableAttribute_2.plist

l        turntableAttribute_3.plist

l        turntableBingoAttribute.plist:转盘转满指定次数时的奖励

l        updatePurchase.plist:老婆婆商店中的3种药水(未具体研究,不保证)

l        upGrade.plist:强化装备时装备附加属性的提升值

l        upGrade_base.plist:强化装备时装备基本属性的提升值

TestConfig的内容如下:

上述内容可能有所遗漏甚至错误,欢迎大家指正。

 

习惯性吐槽CSDN:我只想从MS Office Word中Ctrl+C,在html编辑器中Ctrl+V,希望能够保留Word中的格式(图片和OLE内容另计),这个功能啥时能够实现?



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350569.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

什么软件可以代替sc防火墙_什么软件可以测试iphone电池

iBackupBot可以测试iphone电池。在苹果官网的支持说明之中,会有充电次数上限,一旦充电次数过了上限,电池就还有出厂时的 80% 容量。苹果支持网页之中有写明数字。例如 iPhone 有 500 个循环,Apple Watch、MacBook 和 i…

Itunes备份功能图解教程——很详细哦!希望新手认真看看!

From: http://bbs.dospy.com/thread-8355410-1-301-1.html 目录 一、使用itunes进行备份的基本知识 1、iTunes什么时候会进行备份。 2、iTunes备份到底备份了什么? 3、iTunes的备份还有哪些特点? 二、使用备份和恢复的一些技巧 1、能否禁止iTun…

android usb充电电流,留心手机充电电流大小,别等到“机毁人伤”时才后悔!

如今很多智能手机都开始支持快速充电技术,可以在90分钟内充满100%的电力。不过,出于方面的考虑,很多用户会购买第三方的快充插头(充电器)备用。问题来了,一些杂牌快充插头根本达不到标称的供电水平,品质不过关的插头还存在安全隐患,极易“机毁人伤”。所以,我们要学会测…

对Apple Watch的取证分析(续)

在过去几年中,智能可穿戴设备的使用显著增加。2018年智能手表销量达1.41亿部,智能可穿戴设备销量同比增长近一倍。在激烈的市场竞争中,Apple Watch占据了主导地位,2018年可穿戴设备销量超过2250万台,占据了全球市场近一…

如何判断您是否需要新的iPhone电池

If Apple’s iOS is purposefully slowing down your phone, a battery upgrade may help. But don’t make that expensive step without checking for forced ‘performance management’ first. 如果Apple的iOS故意降低了手机的速度,则电池升级可能会有所帮助。 …

ios 7.x.x 不越狱添加输入词库

一、准备软件: 下载软件 附件中包含需要的2个软件和3个词库 1、iBackupBot for iTunes 5.1 注册iBackupBot help->registered iBackupBot注册码如下: 用户名:AXiS - Fighting For Fun 注册号:B6ECEFB6E061BC8B2B23459EFE035ABF…

财务创造价值,如何降本增效?

一、整体成本管控理论 有财务人员可能认为这和我们财务有什么关系,这和财务管理也没有关系。我们经常提到的业务财融合以及成本BP,其实在这里面是需要发挥应有的价值的。如何理解这个问题?无论是老板还是财务人员,一是有财务管理…

【操作系统真象还原】第5章:保护模式进阶,向内核迈进(5.1获取物理内存)

目录 5.1 获取物理内存容量 5.1.1 学习 Linux 获取内存的方法 5.1.2 利用 BIOS中断 0x15 子功能 0xe820 获取内存 5.1.3 利用BIOS中断 0x15 子功能 0xe801 获取内存 5.1.4 利用BIOS中断0x15子功能0x88获取内存 5.1.5 实战内存容量检测 5.1 获取物理内存容量 操作系统是计…

html网页右侧悬浮代码,html悬浮窗口代码

怎么才能在HTML中做个悬浮窗并在里面插个超链接。给你上传了附件,里面是源码,你去下载在悬浮框里面加上超链接就行了*{ padding:0px; margin:0px;}.box{ width html弹出悬浮窗口代码,怎么实现啊 ??? 动态生成div设置di…

网站html漂浮代码大全,网页漂浮窗口代码

漂浮窗口代码 var x = 50,y = 60 var xin = true, yin = true var step = 1 var delay = 10 var obj=document.getElementById("ad") function floatAD() {var L=T=0 var R= document.body.clientWidth-obj.offsetWidth var B = document.body.clientHeight-obj.offs…

【商品页面详情页+商品评论】API接口技术交流,封装接口

商品详情API接口数据:提供了商品的基本信息,包括商品名称、描述、规格、价格、销量、库存等信息。此外,也可以通过提供的API接口来获取商品的图片、评价、物流信息等详细数据。 商品评论接口是消费者对商品所进行的客观评价 电商API的应用价…

JS实现漂浮广告功能

JS实现漂浮广告功能 前言一、漂浮广告案例 前言 漂浮广告非常简单也是老案例了,在网页的设计中可直接拿去用,原理都是我之前文章所讲到的,如果有什么不明白的可以看看我之前的文章,仅供参考学习。 一、漂浮广告案例 我在这个案例…

页面漂浮物代码

有时候 会让屏幕中 出现一些漂浮的小图片 eg&#xff1a;这个就是钱袋 漂浮往下掉的 代码&#xff1a; function playFloatBox(content, type) { if (!content) return; var bom type 1 ? <span><i class"fa fa- content "></i></sp…

安卓系统浏览器开发

预置某个浏览器为系统默认的浏览器 描述: 当系统存在多个浏览器时&#xff0c;如何预置某个浏览器为系统默认的浏览器&#xff1f; 方法: 1.在PackageManagerService.java中的构造函数结尾添加&#xff1a;setDefaultBrowser(); 2.setDefaultBrowser()的具体实现&#xff…

Nginx踩坑记录 配置文件中的include不能嵌套 (include的文件里不能再include其他文件了)

上一篇文章介绍了配置文件有多个位置&#xff0c;并且可以采用include实现主配置文件分文件的个性化配置模式&#xff1a;Nginx配置文件 所在路径 到底在哪&#xff1f;_身价五毛的博客-CSDN博客 然后就又踩坑了&#xff0c;include不能嵌套调用&#xff0c;即&#xff1a; …

Vulkan内存模型+管理

前言 最近在研究Vulkan&#xff0c;在Vulkan中使用内存是个麻烦的过程&#xff0c;而且容易用错&#xff0c;今天就给大家分享下Vulkan的内存模型。 内存&#xff0c;在任何时候都是个稀缺的资源&#xff0c;内存管理更是个让人望而却步的事情。在这个崇尚用户体验的今天&…

自学测试半年,终于收到了字节的offer,那一刻我哭出了声...

我是一名毕业于普通一本的化学专业学生&#xff0c;毕业的两年时间里&#xff0c;我一直奔波在化工厂里。每天工作三班倒&#xff0c;下了班就是一包烟一瓶酒&#xff0c;生活过得非常堕落。 原本想着虽然每天很累&#xff0c;但是至少稳定。然而没有想到的是&#xff0c;化工…

注册表启动项设置方法

1、按winr&#xff0c;打开运行输入框&#xff0c;输入regedit&#xff0c;打开注册表。 2、在注册表输入框中复制下面路径&#xff1a; \HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 3、新增一条开机启动项 右键 -新建-字符串值&#xff0c;修改启动项…

计算机启动项在什么地方找,W7系统注册表开机启动项在哪里

开机启动项除了可以使用MSConfig命令打开以外&#xff0c;也能使用第三方工具、注册表查看开机启动项&#xff0c;因为数值的存在&#xff0c;注册表看到的启动项比较准确。为了个人信息安全&#xff0c;使用注册表编辑开机启动项以更好的杜绝病毒自启动。阅读下文了解w7系统注…

WIN10 注册表添加启动项

1、打开运行&#xff0c;输入“regedit”&#xff0c;打开注册表。 2、在注册表中找到如下位置\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,右键“Run”新建一个字符串类型的键值。 3、右键新建的键值&#xff0c;选择“修改”&#xff0c;将数值名称…