cocos2djs棋牌手游加密逆向,万物皆可Hook

直接拖进jeb查看AndroidManifest.xml的入口点,发现是cocos2djs 写的程序

cocos2djs棋牌手游加密逆向,万物皆可Hook_第1张图片

这里直接把apk里面的assets拖出来,源码就在src目录  js写的

但是这里的js被加密了  jsc,需要先解密

cocos2djs棋牌手游加密逆向,万物皆可Hook_第2张图片

先等我点一份外卖,原价需要24.88 估计是看我够骚,居然优惠了我十块二

只需要17.88

cocos2djs棋牌手游加密逆向,万物皆可Hook_第3张图片

吃完后我感觉貌似不太好吃,没有女朋友的味道,随手便点了退款

cocos2djs棋牌手游加密逆向,万物皆可Hook_第4张图片

白嫖完了之后,反手直接把ida给掏了出来

这里是关键 《掏出来比你大系列》

这里把apk lib目录下的libcocos2djs.so拖进ida 在exports搜索 xxtea

可以看到有一个命名为jsb_set_xxtea_key的函数

cocos2djs棋牌手游加密逆向,万物皆可Hook_第5张图片

这里调用此函数是传递了一个指针地址过来,并不能直接看到明文

cocos2djs棋牌手游加密逆向,万物皆可Hook_第6张图片

直接到function calls查看谁调用了jsb_set_xxtea_key

cocos2djs棋牌手游加密逆向,万物皆可Hook_第7张图片

v19寄存器存放着key 然后传递给jsb_set_xxtea_key 成功拿到key

cocos2djs棋牌手游加密逆向,万物皆可Hook_第8张图片

拿到key后直接解密jsc,用在吾爱找到了一个工具

cocos2djs棋牌手游加密逆向,万物皆可Hook_第9张图片

成功解密拿到明文代码,然后再把解密后的js代码拖进vscode分析一下

这里的发包都是使用的send发起 WebSocket

cocos2djs棋牌手游加密逆向,万物皆可Hook_第10张图片

尝试使用wpe抓封包看一下,这里发起的send数据是加密的

大概分析了一下js,代码貌似并没有对数据进行加密

猜测可能是so层对数据进行了加密

82 A8 DB 93 11 C4 1B 13 32 6C DB 93 11 E4 A0 B1 78 AA AD FA 65 A1 98 FC 75 A1 F9 A9 23 F6 E9 A1 23 F6 E9 A1 3D E6 AF EA 61 A1 F9 A9 20 B9

cocos2djs棋牌手游加密逆向,万物皆可Hook_第11张图片

这里返回到ida,在导出表搜索 websocket::send

两条结果,

cocos2djs棋牌手游加密逆向,万物皆可Hook_第12张图片

这里直接使用frida进行hook,当前函数偏移量为0X00A5DFEC

cocos2djs棋牌手游加密逆向,万物皆可Hook_第13张图片

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",0x00A5DFEC),{
            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);

明文出来了

cocos2djs棋牌手游加密逆向,万物皆可Hook_第14张图片

cocos2djs棋牌手游加密逆向,万物皆可Hook_第15张图片

本篇文章由本人原创,首发微信公众号《深邃的眼眸》,公众号已改名《大镰刀》

你可能感兴趣的:(安卓,安全)