首页
社区
课程
招聘
[原创]棋牌撞库思路之冷静分析
发表于: 2020-6-15 16:43 17887

[原创]棋牌撞库思路之冷静分析

2020-6-15 16:43
17887

之前有些朋友都找我做棋牌的逆向工程 一来就说什么透视啥的 我只能让你早点洗洗睡 不过话说回来 棋牌逆向的思路也是有很多的

例如撞库 溢出 透视吧也能实现不过难度可想而知 透视有些棋牌是可以 不过只能看手里自己的牌例如炸金花 没开牌的时候内存中可能会存放当前的牌的信息

今天我们来搞一波撞库 怎么撞 这里我们就拿登陆别人的账号为例吧

fiddler、CE、雷电模拟器、垃圾压缩管理器、某棋牌app

首先给你们讲点思路怎么样找可以撞库的棋牌 你去下载一个 然后点击忘记密码 发送的验证码为4位数 然后验证码的时间是长时间有效的 恭喜你可以搞!!

这里我已经找好了

首先抓包分析协议部分 这里我们拿登录抓包为例子 其实目的就是分析他的协议算法 通过穷举的方式批量穷举他的验证码 4位数最多也就是9999个 基本几分钟就能爆破出来是不是想想很刺激 不过别开心得太早 app得逆向跟手游得逆向可不大一样

凡是接触过手游逆向的朋友来说都明白手游的引擎以及如何提取手游代码的逻辑层(这里我不多讲自行百度 闲话说这么多开始干)
图片描述
随便输入一个账号密码配合fiddler抓包

图片描述

我们可以看到这个加密还算简单 就一个sign字段 我们解码之后发现还有个pwd字段这里也就是我们输入的密码 md5一下

图片描述

那么我们开始逆向 我们前面也说过手游跟app不大一样 这个时候你就别傻乎乎的去逆向他的java代码 没意义你知道吧

我们得分析他采用得什么引擎

图片描述

Cocos2djs.so的 遇到这种的没经验的我劝你直接放弃吧 哈哈哈 这种so逆向起来怎么说勒很费头发

图片描述

我们可以看到assets目录下的src文件 这里都是这个游戏的主要核心的代码逻辑位置

.jsc文件

图片描述

随便打开一个jsc文件都是加密的 今天我们不讲jsc的逆向 对这块儿感兴趣的可以关注乌云科技团队 后面我们慢慢讲

今天我们讲一个思路 之前在论坛里面看到一个朋友讲过通过内存来逆向这种sign字段 (不过有一个前提 就是每次抓包输入的账号密码不变的前提下 sign每次都变 因为里面加入了time时间搓)

没看过的没关系我带着你们操作逆向一下就明白了

首先打开CE工具选中LoBoxHeadless.exe

图片描述

然后我们抓包看到我们里面有个字段time字段就是时间戳我们就可以进行搜索

图片描述

图片描述

图片描述
出来28个结果 一个一个点开看


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

收藏
免费 5
支持
分享
最新回复 (28)
雪    币: 287
活跃值: (583)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
以前分析过几款APP的登录协议用登录撞库这种方式试过,大多都是用MD5加个签名认证,基本抓个包一看就猜个八九不离十了,只有部分APP需要打开调试器看一下加密KEY,不过这种撞库请求服务器的次数太频繁了,服务器安全级别高的话,IP直接就拉黑名单了
2020-6-15 18:45
1
雪    币: 3134
活跃值: (1222)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
这种方法虽然暴力,但是不可否认确实很有用。
小黄车ofo最开始的时候四位数验证码,只有时间限制,十分钟还是五分钟来着,我忘记了,没有频率限制,没有次数限制,可以暴力登录别人的帐号。
尝试了几次,但是那个时候其实也没啥用==hhhh
2020-6-15 19:05
0
雪    币: 110
活跃值: (670)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
这里最核心的一句话就是:随便打开一个jsc文件都是加密的 今天我们不讲jsc的逆向 对这块儿感兴趣的可以关注乌云科技团队 后面我们慢慢讲。其他的都是扯淡! 广告打的很无敌
2020-6-15 20:15
0
雪    币: 593
活跃值: (4562)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
dkxzl 以前分析过几款APP的登录协议用登录撞库这种方式试过,大多都是用MD5加个签名认证,基本抓个包一看就猜个八九不离十了,只有部分APP需要打开调试器看一下加密KEY,不过这种撞库请求服务器的次数太频繁了 ...
阿布云了解一下
2020-6-15 22:51
0
雪    币: 593
活跃值: (4562)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
yzlmars 这里最核心的一句话就是:随便打开一个jsc文件都是加密的 今天我们不讲jsc的逆向 对这块儿感兴趣的可以关注乌云科技团队 后面我们慢慢讲。其他的都是扯淡! 广告打的很无敌
交流学习,全篇没有引导你去干什么
2020-6-15 22:53
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
7
这不是PC是手游?
2020-6-16 09:16
0
雪    币: 593
活跃值: (4562)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
supperlitt 这不是PC是手游?
手游
2020-6-16 13:02
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
跟乌云有关系吗?
2020-6-16 13:03
0
雪    币: 593
活跃值: (4562)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
无边 跟乌云有关系吗?
切勿讨论与学习无关的事
2020-6-16 13:36
0
雪    币: 1385
活跃值: (5609)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
11
乌云科技团队 手游
那,上面的那个用CE,读 exe是什么情况。
2020-6-17 09:10
0
雪    币: 1467
活跃值: (103)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
12
CE打开的是雷电模拟器的进程
2020-6-17 22:36
0
雪    币: 8447
活跃值: (5041)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
13
求更新jsc的逆向,网上这块基本没资料
2020-6-20 13:50
0
雪    币: 259
活跃值: (283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
666
2020-6-20 14:57
0
雪    币: 22
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
给予肯定 但是如果是aes 嵌套rsa 这样还可以吗 治标不治本 碰运气
2020-6-28 18:28
0
雪    币: 2012
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
只能联系你
2020-7-26 22:28
0
雪    币: 593
活跃值: (4562)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
alphc 求更新jsc的逆向,网上这块基本没资料
Java.perform(function () {
        function awaitForCondition(func,soName) {
        var delay = 10;
        var intervalPointer = setInterval(function() {
            if (Process.findModuleByName(soName)) {
                clearInterval(intervalPointer);
                func();
            }
        }, delay);
    }
    var dump = false;
    function starthook() {
        const xxtea_decryptaddr = Module.findExportByName("libcocos2djs.so","xxtea_decrypt");
        console.log("xxtea_decryptaddr",xxtea_decryptaddr);
        Interceptor.attach(xxtea_decryptaddr,{
            onEnter:function (args) {
                console.log("key:"+ args[2].readCString())  // 打印密钥
                dump = true;
            },
            onLeave:function (retval) {
            }
        })
       var addr = Module.findBaseAddress("libcocos2djs.so").add(0xED2BC8).add(1);
        console.log("addr:" + addr)
        Interceptor.attach(addr,{
            onEnter:function (args) {
            },
            onLeave:function (retval) {
                var len = retval.readCString().length;
                var src = retval.readCString();
                if (dump&& len>3000){
                    //console.log(src)
                    var file_path = "/sdcard/jsdump/" + len + ".js";
                    var file_handle = new File(file_path, "wb");
                    if (file_handle && file_handle != null) {
                        file_handle.write(src);
                        file_handle.flush();
                        file_handle.close();
                        console.log("[dump]:", file_path);
                    }
                }
            }
        })
    }
    awaitForCondition(starthook,"libcocos2djs.so")
})
2020-8-21 21:45
1
雪    币: 2155
活跃值: (4532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
乌云哪个乌云,乌云不是没了吗
2020-8-29 10:42
0
雪    币: 230
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
0xED2BC8  地址是啥的
2021-2-7 00:28
0
雪    币: 341
活跃值: (1171)
能力值: ( LV3,RANK:24 )
在线值:
发帖
回帖
粉丝
21
水一手好帖
2021-2-7 10:55
0
雪    币: 268
活跃值: (3238)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
22
通篇没说啥,既然知道加密算法还要去测附加干嘛,最后还是绕回来写个包。
2021-2-7 11:54
0
雪    币: 14
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
楼主说话真的逗笑我了,别以为真有人觉得安卓手游是用java写的知道吧?动态链接库知道吧?Native层知道吧?对不起我实在忍不住了
2022-1-1 12:06
0
雪    币: 14
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
明天我就整个靶机,用asp写个接口外加直接拼sql语句然后发原创贴:后端攻击思路之sql注入
说不定能像楼主一样糊住一片小白呢哈哈哈哈啊哈
2022-1-1 12:10
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
25
怎么联系你们团队
2022-7-5 19:56
0
游客
登录 | 注册 方可回帖
返回
//