吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 36155|回复: 719
上一主题 下一主题
收起左侧

[Android 原创] 某成人app分析

    [复制链接]
跳转到指定楼层
#
Arcticlyc 发表于 2023-4-28 19:40 回帖奖励
本帖最后由 Arcticlyc 于 2023-5-3 23:52 编辑

声明

文章中所有内容仅供学习交流,不得用于其他任何目的,文中敏感内容已做脱敏处理,严禁用于商业和非法用途,否则由此产生的一切后果与作者无关。如有侵权,请联系作者立即删除。

简介

这里讲到的app已经有些年头了,期间改过一次名字。

5p6c6YWx6KeG6aKR77yM5Y6f5ZCN6IyE5a2Q6KeG6aKR

经检测,app对常规接口的请求头和请求参数均进行加密,图片和视频同样经过加密处理。这里主要探讨它的数据是如何加密的。

抓包分析

使用Charles + 雷电模拟器成功捕获到应用的数据包,这里大概讲解下流程。
1) 打开app时,首先检测域名的有效性(有多个域名),如果域名有效,则接下来的请求都采用该域名进行,在app中则表现为切换有效线路。

https://域名/domain/check

2) 进行账号初始化,app在打开后就会自动注册一个账号,账号与设备特征绑定,每次打开app都会通过设备信息自动登录账号。

https://域名/api/account/init

3) 接下来就主要是加载广告和一些其他功能,这里不做过多介绍,其中包含一个获取用户信息的请求

https://域名/api/user/read
我们随便查看一个请求的内容
{
        "d": "OCZVDwF7iM0DWJzQ0nQ5zk**************9YCdyHCSRPaWq5q+DjAbGEmhH4="
}

发现请求进行了加密。经过分析,这种加密存在于三个地方,分别是请求头,请求体和响应体中,且全部是以 {"d": "**"} 的形式存在。因此想要进一步分析,首先需要对它进行解密。猜测应该是 AES 或者 DES 加密。

寻找加解密方法

首先查看 apk 文件,没有加固,获取加密方法可以使用算法助手捕获或者使用 frida 进行 hook 。第一种方法非常简单,这里讲解第二种方法,使用 jadx 打开 apk ,等待加载完成后,直接搜索关键字。由于这里的请求和响应都完全加密了,选择搜索含 decrypt 的方法看看有没有结果,搜索出来有 20 多个结果,选择一个进去看看。

可以看到这里调用了一个 decryptFromBase64 方法,并传入了三个参数,待解密字符、key和iv,点击进入获取key或者iv的方法中。

可以看到这个类调用了 so 文件中的方法,尽管如此,我们并不需要去分析 so 文件,因为它只是用来获取密钥和iv值,而加密并不在其中进行。那么可以直接尝试 hook 这个类中的方法,经过检验,所有的key和iv都是固定值,可以直接得到。

现在可以试一试对刚才的响应进行解密。可是这里有这么多组密钥,该用哪个呢,从前面的分析可以明显看出,不知道的话就每个试一试就行了。

解密成功,那么这组密钥应该就是用于加解密请求和响应数据了,加密使用AES-CBC模式。其他的密钥暂时用不到,我们继续向下分析。

构造请求获取响应

上面讲到过,请求头、请求体和响应都进行了加密,现在进行请求的复现并获取响应结果。

1) 首先是请求头

我们随便查看一个请求,这里只关注请求头中的这个参数。

{"d": "suh8B7nUE**********/1aPQQTtYbFMu9Hb15pmTQdF+"}

我们使用刚才获取到的key和iv对它解密

{
  "Connection": "close",
  "app": "1",
  "platform": "1",
  "s": "84f24a********76f0a2b2c893",
  "t": "168154******",
  "token": "bmFXcHBmem**********zcll1czE=",
  "version": "2.9.4.0",
  "versionapi": "2.9.4.0"
}

可以看到,除了一些固定值外,其中有几个关键参数,s、t和token,t肯定是时间戳了,token猜测是用户的token,应该是登录时的返回值(在上文中的账号初始化时也会返回),那么剩下的 s 肯定是一个校验参数了,这里我们先不管,继续往下分析。

2) 再来查看请求体

随便查看一个请求并解密

{"d": "rSu3V/LPjWmPLMiaMIva********7BaN++p3ltjyYwGbF4gfUkOe7VTBzAk7/aJfABhc7YRgzlQ"}

{
  "channel": "1",
  "s": "94fa296fb******0bcca3ec",
  "t": "168154*******",
  "terminal": "0"
}

发现同样存在参数 t 和 s ,其中t是时间戳,s 随时在变化。那么只要找到 s 的生成方法,我们就可以自己发送请求并获得响应了。

3) 参数 s 的生成

使用mt管理器解析dex文件后,搜索上面请求中的关键字,可以查看参数 "s" 的生成方法

可以看到,首先是在treemap对象中(这里可以理解为一个json对象)加入了一个参数 k ,获取treemap对象的 md5 值作为参数 s 的值,然后将其中的 k 删去,最后将整个对象进行加密后作为参数 d 的值。这里不进行具体展示,需要注意的是,json中的参数顺序需要自行调整,参数顺序不同也会导致最终的 s 值不同,从而导致请求失败。 但是现在还有一个问题:k 又是什么。很明显,它是我们在获取加密方法时其中的一个密钥。

到这里我们已经可以成功构建请求并获取响应结果,但是本次分析并没有到此结束。因为,它不仅对请求进行了加密,而且将最重要的部分(图片和视频)也进行了加密。

图片和视频的获取

通过上面的分析,我们可以成功获取到明文响应了,然而当你对获取到的视频和图片进行请求时,会发现得到的内容根本无法查看,因为它们都是加密的。
app提供了视频下载功能,但是肯定也是加密的了。

现在就知道之前获取到的那么多密钥有啥用了。
这部分并未进行详细的分析,光看密钥的名字也能知道哪个用于解密视频了。经过检验,视频的解密采用AES-ECB模式,图片采用AES-CBC模式,key和iv值在之前已经获取到了,这里不再赘述。

需要注意的是视频是 m3u8 格式,但是下载 m3u8 的源码很容易找到(github),就不需要自己重新写了,只需要对获取到的结果进行解密就行。而且貌似视频和常规请求不一样,并不验证请求头(是否可以绕过vip限制直接获取呢?这里不做分析)。

部分代码展示

    def encrypt_data(self, data=''):
        '''请求头和参数加密方法'''
        if data:
            _data = {**data}
        else:
            _data = {
                "Connection": "close",
                "app": "1",
                "k": self.mv,
                "platform": "1",
                "t": int(time.time()*1000),
                "token": '',
                "version": "2.9.3.8",
                "versionapi": "2.9.3.8"
            }
        if 'token' in _data and self.token:
            _data['token'] = self.token
        sign = hashlib.md5(json.dumps(_data, separators=(',', ':'), ensure_ascii=False).encode()).hexdigest()
        _data['s'] = sign
        # print(sign)
        _data.pop('k')

        d = self.aes.encrypt(json.dumps(_data, separators=(',', ':')))
        res = {'d': d}
        return res

再贴两张效果图

结语

也许你会问剩下的密钥有啥用呢?我也不知道,反正目前用不到。

免费评分

参与人数 246威望 +1 吾爱币 +247 热心值 +213 收起 理由
笨笨的空哥 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
tezb666 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
diaodiaone + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄。
jd688 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
xrds1969 + 1 + 1 我很赞同!
JerryGod + 1 用心讨论,共获提升!
bjwxnman + 1 真是有心人,这都能破解
fengxuelangqing + 1 + 1 我很赞同!
Golive180 + 1 我很赞同!
ll0707 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
liuliuangel + 1 用心讨论,共获提升!
涉世未深 + 1 + 1 我很赞同!
gongmengsen + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
ymg312 + 1 + 1 热心回复!我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
dhh051230 + 1 + 1 我很赞同!
zzw6196015 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
gangdaomeimei + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
wwww7788549 + 1 热心回复!
jjkey + 1 + 1 哪位大哥给个APP名字或者下载地址。没原APP啊
kongjianguan + 1 用心讨论,共获提升!
yjn866y + 1 + 1 谢谢@Thanks!
choson + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
mjv1cp + 1 谢谢@Thanks!
virs520 + 1 + 1 热心回复!
a125488 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
wlctt2023 + 1 + 1 用心讨论,共获提升!
xiangchiyugan + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
ggh0211 + 1 + 1 我很赞同!
lingyunttt + 1 + 1 用心讨论,共获提升!
lllf + 1 热心回复!
LLiu + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
不要叫我大表哥 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
lsrteam70 + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
朱头 + 1 + 1 我问一下有没有解密后的成品因为我实在是太菜了不会弄
yangsiyue + 1 + 1 借一部说话,我有个朋友,让我问一下,有没有解密后的成品因为他实在是太菜了.
twl859588 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
wanqiang + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
常佳乐 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
amtian + 1 + 1 我很赞同!
eman613 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
junjia215 + 1 + 1 用心讨论,共获提升!
panxinkai + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
年华丶 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
foggie + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
yy2185409 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
XT0624 + 1 + 1 我问一下有没有解密后的成品因为他实在是太菜了不会弄
湖北吴彦祖 + 1 + 1 我不是来学破解的,我是来看最终成品的。
dawnee + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
baobaoaixigua + 1 + 1 感谢博主的成品,已经买了一箱牛奶
BenJM + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
久违大白兔 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
君辰一梦 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
木木立里 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
yuyu2525 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
墨玫醉 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
小飞鸟 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
lugoing + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
Rayzen + 1 谢谢@Thanks!
wanbinbo + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
zhangweiyi9 + 1 为什么搞IT的容易秃顶,我现在才明白了!
gfubing1 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
zwc2732563 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
sun229 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄。
kongweixu + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
sunnymed + 1 + 1 咱们是一个朋友吗,大家在这里相聚
小小破解迷 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
Kukubu + 1 + 1 我很赞同!
wuaidh + 1 + 1 热心回复!
acbzdm + 1 + 1 6
W家庄幼儿园老大 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
liuhong111 + 1 + 1 我很赞同!
xiaonana963 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
bjleshao + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
戏子丷 + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
ShanGuiOne + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
dgplove8 + 1 + 1 我很赞同!
MrLQX + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
暗夜祭司 + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
Savitar301 + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
iumgf + 1 用心讨论,共获提升!
zzzxcv + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
575711048 + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
132580 + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
风的依恋 + 1 + 1 我很赞同!
叁_boxx + 1 + 1 我有个朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
Aaa147258 + 1 + 1 我很赞同!
lorzey + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
Xushuaihao + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
baifaxiaolaotou + 1 热心回复!
√小飞 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
summerrainxty + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
Aling13 + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
wm68236646 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
Yanchen0419 + 1 + 1 我很赞同!
pauljoy + 1 + 1 热心回复!
腾云驾雾 + 1 + 1 我很赞同!
道冲渊风 + 1 + 1 用心讨论,共获提升!
armstrong521 + 1 + 1 我朋友也需要
sephirose + 1 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
抽雪茄的烟斗 + 1 我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 #
唯先生 发表于 2023-4-30 18:24
frankwugo 发表于 2023-4-30 13:33
楼主为什么不公布APP。我不相信这是你的技术,要不你公布下APP 我来实验下?

果酱视频,原名茄子视频
推荐
腿毛利小五郎 发表于 2023-5-1 10:27
你翻评论找成品的样子很狼狈(doge)

免费评分

参与人数 3吾爱币 +3 热心值 +2 收起 理由
漂泊的易拉罐 + 1 我很赞同!
李佑辰 + 1 + 1 我很赞同!
muyisd + 1 + 1 我很赞同!

查看全部评分

推荐
mcg326 发表于 2023-4-28 19:48
推荐
努力的笨蛋 发表于 2023-4-30 20:26
我一直以为我学的没用处,直到看到这篇教程才明白,书到用时方恨少
推荐
Freak907 发表于 2023-5-2 01:06
我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄。。{:301_98.
推荐
XJCQ2014 发表于 2023-4-29 12:20
成功实现利用成人两字获得点击量的效果
推荐
加成反应 发表于 2023-5-8 11:52
翻了54页,没有找到干货。
推荐
htxz2022 发表于 2023-5-1 00:30
可惜看到得太晚了,已经充值永久VIP
推荐
abc766 发表于 2023-5-4 17:27
我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
推荐
不羁的风儿 发表于 2023-5-2 14:32
Arcticlyc 发表于 2023-5-2 11:38
哈哈,我担心发出来会违规呢

我的建议是 私发给我 帮你看看技术到位了没有
720#
linjason 发表于 2024-4-15 12:32
真心牛逼。。。。。。。。。。
719#
zhuzi77 发表于 2024-4-7 16:26
满怀期待的进来,一脸懵逼的出去,书到用时方恨少啊!
718#
jiuyouwhant007 发表于 2024-4-4 23:18
朋友,可不可以借一步说话,我有个朋友想问问
717#
jayhsu3 发表于 2024-4-4 12:06
我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄
716#
daxia2002 发表于 2024-4-3 18:03
这东西还是少看的好,看多了伤身体。
715#
AVAZEMUSH 发表于 2024-4-3 17:34
这评论量有东西
714#
zake 发表于 2024-4-2 13:07
我有个朋友想学习一下
713#
robin3 发表于 2024-4-2 12:56
我有个朋友想问问
712#
LiChee 发表于 2024-4-2 11:50
我朋友让我问一下有没有解密后的成品因为他实在是太菜了不会弄,私发我
711#
tfujing123 发表于 2024-4-1 10:35
我有一个朋友想知道更详细的步骤
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-19 16:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表