某个Cocos的APP参数逆向

852cc58ac6d24d50a19fc281cd584373.png78dc572d53f84dcca4b7fa80d6819efb.pngb67523222c70467d9fd6941a0316348b.pnglib目录下只有一个libcocos.so,应该是cocos类型没跑了。

主要内容都在assets目录中,其中包含了经过加密的jsc文件,需要对jsc文件进行解密处理。

其解密需要一个key,这个key就这libcocos.so里面,使用IDA打开看看,jsb_set_xxtea_key,

xxtea_decrypt,xxtea_encrypt关键函数。

上frida,hook这个key。

114e6f4f937a4da09e916c7a28220b34.png

cocos.js内容如下。

function hookJava() {
    Java.perform(function() {
        var Cocos2dxActivity = Java.use("com.cocos.lib.CocosActivity")
        Cocos2dxActivity.onLoadNativeLibraries.implementation = function() {
            this.onLoadNativeLibraries()
            hookNative()
        }
    })
}

function hookNative() {
    Interceptor.attach(Module.findExportByName("libcocos.so", "xxtea_decrypt"), {
        onEnter: function (args) {
            console.log("cocos key is : ", Memory.readUtf8String(args[2]));
        },
        onLeave: function (returnValue) {

        }
    })
}
hookJava()

642c30821ebd4b0ebf9b07b386b0fc3c.png

a71758a7067c4a74b355251e675f4c5c.png

99c3d87ecb19468c811d3c396c695300.png

hook到这个key为dY/abytIt/3twR3WVMFUDLG/TNk5/40iiC。

在IDA搜一下这个字符串,发现在这个函数中,Game::init,顾名思义游戏初始化。那有时候可以直接搜这个函数。

f7868343b9fe4d578faba8aec3b18051.png

有了key,去解密看看。确实能解出东西,这个工具是jsc解密工具。

36a3dfac6c2f4f1ab13a91e4d77adbeb.png

复制js到浏览器中,看看有没有需要的东西。搜一下decrypt,encrypt什么的看看。

666332c3953248a99d0c24cb460e33b8.png

拿到这行函数,整理一下看看。是能解出结果的。

8c9a39c7e1cb46ea9e4600f1dcbfb19d.png

看下抓包。

 

2b3335023bad482aa609c647566cddfe.png

4514ecb1083b4086bb9db43a951db1b0.png

 

d5a05260e22c418d812295e460199bd4.png

c28015e504c043028a8a37022202670f.png

结束,撒花。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值