cocos2djs 单机游戏逆向实战
本文最后更新于 938 天前,其中的信息可能已经有所发展或是发生改变。

之前有段时间,女朋友喜欢玩一个单机游戏。我嫌弃她浪费时间玩单机,就随口说帮她破解了吧,结果因为那段时间要离职,以及乱七八糟各种事情一直没心情搞破解。今天正好进新公司第一天,搞好了电脑系统环境之后。leader 让我自己分配时间(官方指定摸鱼),那就用一个下午搞一下这个游戏吧

目标游戏包

https://share.weiyun.com/8oQbIEG0

这是一个没有接支付的休闲游戏,研发人员主要收入是广告,驱使玩家看广告获取更多的游戏内物资。

不过也有预留支付通道,里面就有 钻石 这种游戏内氪金货币。同时也有游戏内的基础资源;

钱,石头,木头,水泥。

那我们的破解目标就是全资源破解。


简单分析

用 apktool 解开这个包,然后直接回编译,发现没有签名校验。那这个时候就有心理准备了,这个包难度不会很大。

打开解包后的文件夹进入 assets 目录下,发现有一个 main.js 的文件,点进去看发现加载了js 文件,路径是相对路径下 src/project.860dc.js

var bundledScript = settings.debug ? 'src/project.dev.js' : 'src/project.860dc.js';

那就进入到这个路径 assets/src/ 发现里面的 js 文件都是加密过的 jsc ,到此分析告一段落。进一步的分析需要解密 jsc 文件,根据 main.js 的逻辑不难猜测游戏核心逻辑都在 project.860dc.js 中,我们只需要解密后修改就行。

处理 jsc 解密

之前没接触过 js 相关的加解密操作,大概过了一遍 cocos2djs 的加密逻辑。还是一种基于 key 的加密逻辑,key一般隐藏 在 so 中,加载 js 的时候会 使用 key 把 jsc 还原成 js 使用。

由于我才疏学浅,这里就借用大佬写好的一个工具来解密 jsc

首先咱们自己把 jsc 的加密 key 找出来

把 lib 丢进 010 editor ,ctrl+f 调整搜索类型为 字符串,搜索 Cocos Game

后面跟着的字符串就是解密 的密钥了,现在拿到密钥,尝试解密 jsc

我用了一个大佬写的库

https://github.com/luckyaibin/cocoscreatorjscdecrypt

改一下 crack.js 里面的 解密路径 以及 key 信息, 然后调用解密命令

node crake.js d

成功获取到了 解密后的 js 文件。

修改对应的资源参数

因为游戏的默认钻石 数量是 30,所以在 project.js 中 ,搜索 = 30

到了搜索结果位置,很明显变量名称都没加密,那就没悬念了,根据需求疯狂改就行。

cash 对应的是 钱

gem 对应的 钻石

改的时候注意要用 16进制就行

其他的 资源 木头 水泥 石头,都是任务获得的,没有初始化的地方,直接找到 任务完成后的奖励回调,把任务奖励翻倍就行

这三个材料 很明显是 对应的 水泥 木头 石头,直接 写成固定数字就行或者 翻一百倍

加密回编译

node crake.js e

把 解密后被修改过的 js 代码 重新加密回去 为 jsc ,不然直接回编译会报错。

修改后效果

破解总共耗时大概 20 分钟


到这里 整个游戏的游戏内资源相关的破解就完成了,难度很低,因为这个游戏基本没有做任何防护。2022年了这种裸奔的游戏还是比较少见的,接下来会搞几个有难度的

评论

  1. Jim
    11月前
    2024-2-18 12:26:42

    你好,链接失效了,还能分享下目标游戏包吗?

    • 博主
      Jim
      10月前
      2024-3-05 13:48:49

      https://share.weiyun.com/8oQbIEG0 更新了链接,或者自己找一下游戏包也行,游戏名字叫 外婆的小农园

  2. Tim
    待审核
    4月前
    2024-9-03 16:47:36

    我有个游戏需要逆向。高额报酬,怎么联系你 252841906 这个是我qq

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇