小工具知识网

当前位置: 首页 > 行业知识 > 安卓手游之coco2djs.so逆向

行业知识

安卓手游之coco2djs.so逆向

2026-11-02 03:24:48 来源:互联网转载

一、解密主要逻辑代码

即将 assets\src 下的cocos2d-jsb.jsc转main.js

1、解密工具:jsc解密v1.44

2、获取秘钥hook

function main() {    Java.perform(function () {        var coco = Java.use("org.cocos2dx.lib.Cocos2dxActivity");        coco.onLoadNativeLibraries.implementation = function(){            var onLoadNativeLibraries = this.onLoadNativeLibraries();            hook_key();        }        }) } function hook_key(){    Interceptor.attach(Module.findExportByName('libcocos2djs.so','xxtea_decrypt'),{        onEnter: function(args){            console.log(Memory.readUtf8String(args[2]));        },onLeave: function(retval){        }    }    ); }setTimeout(main,100);

3、解出来的js代码格式化一下,然后搜索关键词:“ws://”,“send”,“sendmessage”,“encrypt”,“encode”,找到加密逻辑然后分析解密。

二、直接分析coco2djs.so

如果上面步骤分析出不了什么,直接so层hook试试,搜WebSocket::send

function get_module_address(soname,pianyi){    var module_address = Module.findBaseAddress(soname);    return module_address.add(pianyi);} function main(){    Java.perform(function () {        Interceptor.attach(get_module_address("libcocos2djs.so",0x6B8F20),{            onEnter: function (args) {                //console.log(new Uint8Array(args[1].readByteArray(args[2].toInt32())).buffer);                console.log(args[1].readByteArray(args[2].toInt32()));            },            onLeave: function (retval) {                            }         });    });}  setTimeout(() => {    main()}, 200); 

上一篇:怎么进语音服务器系统?

下一篇:服务器CPU集群怎么搭建?