这个将obb文件怎么安装移动到手机目录是什么意思?

帖子很冷清,卤煮很失落!求安慰

无法移动任何文件到Android/obb里,说操作失败

当前经验41分,升级还需239

我想玩个游戏,随后我把数据包放到data/media/obb里游戏好像识别不出来,直接放那个obb就操作失败

导致一些游戏平台都无法下载游戏,说创建数据包失败
所以要怎么解决呢,不然一些数据包根本创建不了,它好像不会读写data那个obb
出大问题了,用RE管理器无法对obb进行修改,obb更改不了权限和所有者,用户组,obb文件夹也无法移动到system中,到底怎么肥事啊
链接目录你管他干嘛,实际路径你把东西放进去就行了,还纠结啥纠结,人家都说的清清楚楚了还问
实际目录放进去了啊,可人家识别不了啊,我也说了啊,而且我也在问有没有解决方案啊
0

真心玛德的,耗费我的时间长5小时,终于摸到办法才成功安装,我想版主和MOD发布作者的MOD安装的方法很不好(我能说特别不好么),


我来说把MOD下载然后解压,不要把压缩包移动至obb文件,
com.kleientertainment.doNotStarvePocket文件(不可以连apk文件放入)移动至obb文件,然后出现提示相同文件是否合并,必须合并即可,可以正常运行.(表示华为手机自带文件管理),现在打防盗印(尼玛的这懵懵懂懂旳、醉酒居然盗了我的方法,未经过本人同意就侵犯版权可是违法)━━━━━━━━━━━━暮光丶善彡

Duel Generation》玩得比较久。看到这里应该有人明白了,这款游戏是英文的,并没有中文的版本,也不在中国发布,只在Google Play上提供下载。凭借着对《游戏王》卡牌游戏的喜爱,我决定对这款游戏进行汉化和修改,使其他同样喜欢游戏王的玩家们,可以较为方便的玩上这款游戏。在这个过程中,我也积累了一些知识,当初在网上翻各种资料,过程很艰难,觉得很有必要把这个过程中的知识都记录下来,方便以后的玩家们查阅。        而这篇帖子将讲述如何游戏对OBB数据包的限制。因为要汉化的文件都在OBB数据包中,修改OBB后,APK并不能识别到OBB,所以破解APK对OBB的验证便是第一道题。        在开始之前,我先自我介绍一下:我的昵称是【Tears丶残阳】,在各个交流平台都是用的这个昵称,之前曾用过【唤龙】这个昵称。在Android手机还没有普及之前的非智能手机的年代,研究过一段时间的jar手机软件,当初我也还是一个19岁、脸上还白白净净的蓝孩纸。今天我已经27岁了,也在今年开始学习编程语言,开始了我的Android程序猿的生涯。


PS:1.必需的环境配置就不再多说了。2.可以先把游戏安装到手机或者模拟器上运行一次,数据包应该放在内存卡/Android/obb/com.konami.ygodgtest文件夹内,APK安装之后即可启动游戏了。


   先将数据包复制一份到别处(这是一个好习惯,保护原文件,免去操作多次后,却还原不回去的尴尬),因为OBB数据包其实就是一个压缩文件,所以我们可以直接使用压缩软件打开OBB数据包,比如WinRAR等都是可以的。在桌面上新建一个txt文件,名字任意,随意输入文字后保存、关闭,然后把TXT拖进OBB里面,这样一来,OBB就被我们修改了一遍,虽然这种修改并没有什么卵用,但是我们把它放回内存卡/Android/obb/com.konami.ygodgtest文件夹内,发现游戏已经无法运行了。

   刚才就说过了,这个游戏发布在Google Play上的,而数据包虽然可以通过网络下载,但是因为大家都懂的不可抗力,下载失败了。


知识点1:Android程序的每一个完整的界面都可以理解为一个Activity,一个程序可以有多个Activity。每一个Activity都会在AndroidManifest.xml文件内写清楚,但是一般只会有1个Activity会在程序的图标被点击的时候启动,而这个Activity会有一个重要的属性:

[XML] 纯文本查看 复制代码

        结果只有一条,在initializeDownloadUI方法内,看一看附近的代码,发现都是一些初始化的赋值操作,那么我们再找这个方法的调用处,因为这个方法没有参数,所以将这个方法的名称加括号和分号作为关键字进行搜索:

[Java] 纯文本查看 复制代码

   目标已经找到了,这里可以有很多种修改方法,比如使用Xposed也一样可以达到目的。但是Xposed的破解方式涉及到了编程相关的专业知识,并不是所有要玩游戏的人都安装过Xposed。所以我们这里采用修改smali代码的方法。

知识点6:smali代码中,方法都会用【.method】开头,所以只要用这个关键字+空格+修饰符+空格+方法名,可以很容易的定位到要找的地方。知识点7:在smali代码中,true用1表示,false用0表示,并且是用16进制表示的,而16进制必需由0x开头,所以true是0x1,而false是0x0。 

        因为我的手机上并没有安装Google组件,所以弹出了一个这样的对话框来提醒我安装,这个对话框只需要点一下框体以外的地方,就会自动消失了。而且就算我们不安装Google组件,游戏也是可以运行的,所以忽略它就好。



六、扩展知识        至此,这个APK对OBB数据包的验证就被我们破解了,如果再深究下去,就会发现,其核心原理就是在APK中写死OBB数据包的大小,然后对本地的数据包进行验证。 

[Java] 纯文本查看 复制代码

   可以发现,最终的fileSize的值就是在APK中写死的数值,而它是来自该方法中第3个参数,所以它的值是由调用者传递进来的,那么我们返回调用它的地方:

        这个数组是静态初始化的(没有学习编程知识应该还不理解静态和动态),里面只包含一个XAPKFile对象,我们再点XAPKFile,会跳转至这里:

   根据构造方法中参数的顺序,我们可以知道,第三个传入的数值就是数据包的大小。所以我们还是要回到创建对象的地方,也就是往上数的第二张图。    

   所以,如果换一种破解方法,只修改这个数值,就可以达到破解的目的。只不过,我们在未来的汉化过程中,OBB的大小一直在变化,如果修改这个值,每次改完OBB,都要再改一次APK,将是一件非常痛苦的事情,不如原来的方法来得一劳永逸。七、本章结语     本文可以说是非常基础了,代码可以直接被反编译,甚至都没有被混淆,不得不说这对我们的分析和修改是非常有利的,愚蠢的外国佬。(此处应有滑稽)        相信网友们读到这里能感觉到,还会有下一篇。没错,那个惹人厌的Google Play的对话框在每次启动游戏的时候,都会弹出来。下一次,我们来干掉它!

我要回帖

更多关于 obb文件 的文章

 

随机推荐