首页
社区
课程
招聘
[原创]cocos2djs棋牌手游加密逆向,万物皆可Hook
发表于: 2021-7-3 13:05 12833

[原创]cocos2djs棋牌手游加密逆向,万物皆可Hook

2021-7-3 13:05
12833

首发本人的微信公众号《深邃的眼眸》,由本人原创
本人QQ:1301097594

 

交流群:79**

 

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

1
<meta-data android:name="android.app.lib_name" android:value="cocos2djs" />

图片描述

 

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

 

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

 

图片描述

 

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

 

只需要17.88

 

图片描述

 

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

 

图片描述

 

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

 

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

 

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

 

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

 

图片描述

 

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

 

图片描述

 

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

 

图片描述

 

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

 

图片描述

 

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

 

图片描述

 

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

 

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

 

图片描述

 

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

 

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

 

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

1
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

图片描述

 

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

 

两条结果,

 

图片描述

 

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

 

图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);

明文出来了

 

图片描述

 

图片描述


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2021-7-8 18:58 被admin编辑 ,原因: 勿私自留群号
收藏
免费 10
支持
分享
最新回复 (12)
雪    币: 298
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
TQL
2021-7-3 14:23
0
雪    币: 7767
活跃值: (3475)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
现在逆向cocosjs的资料很少
2021-7-4 08:25
0
雪    币: 3212
活跃值: (743)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
2021-7-5 08:45
0
雪    币: 24
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
版主大大给个优呗~~~
2021-7-6 18:34
0
雪    币: 2036
活跃值: (173)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
应该数据没加密,是WebSocket自身有个混肴机制,通过send参数设置的
2021-7-12 09:24
1
雪    币: 3064
活跃值: (7808)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
给你点个赞  赶紧吧白嫖方法说出来  我要点外卖了
2021-7-12 12:47
0
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
跪求外卖如何白嫖
2021-7-12 20:00
1
雪    币: 316
活跃值: (758)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
给你点个赞  赶紧吧白嫖方法说出来  我要点外卖了
2021-7-13 11:01
0
雪    币: 394
活跃值: (617)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
有没有jsc 批量解密的 
2021-9-11 04:59
0
雪    币: 0
活跃值: (394)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这点外卖的操作太骚了啊
2023-1-10 15:28
0
雪    币: 944
活跃值: (411)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
没有女朋友的味道,然后破解出来了
2023-1-11 15:01
0
雪    币: 3
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
大神求助啊,Q:869856704
2024-10-8 11:23
0
游客
登录 | 注册 方可回帖
返回
//