吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14880|回复: 79
收起左侧

[Android 原创] 某某己直播app数据AES解密

  [复制链接]
奇奇小霸王龙 发表于 2021-4-26 16:13
本帖最后由 奇奇小霸王龙 于 2021-5-14 14:57 编辑

该APP的大部分数据是明文的,只有部分数据是AES加密的;由于用户是信息是在服务端验证的,收费的直播拿不到播放源。。。;
所以分析这个APP主要是个过程;因为分析过多次这样的加密,都没记录过,这次记录一下;小白写的偏小白向教程
其实过程很简单,但是想写的详细一点,就写了那么一长溜

工具:
Charles;
模拟器
jadx-gui

Charles抓包的配置就不说了,apk拖进jadx,打开chales,模拟器上打开app开搞
1.随便点开一个直播间,charles抓到下面一个请求,返回了加密数据 注意下返回头 等下用到
001.jpg
2.用jadx文本搜索字符串“private/getPrivateLimit”,结果如下,并且知道了这个方法名loadPrivateLimit,继续文本搜索“loadPrivateLimit”
002.jpg 003.jpg
3.结果有很多,但大都是相互引用或者函数里面的嵌套的同名变量/方法,发现有一个 “base.BaseActivity” 因为我们是点击直播间后触发请求的 事件的监听应该就是在Activity中
004.jpg
4.打开“base.BaseActivity”文件 ctrl+点击函数名跳转到“base.BasePresenter”
005.jpg
5.打开“base.BasePresenter” ;会java的应该看出来了,这个是RxJava库的使用格式,我也是现学现卖,我们主要观查最后的subscribe方法,点击方法里面的类“BasePresenter$requestGameCenterPoints$1” 去里面找onNext方法,为什么找onNext方法呢,rxjava就是这样的流程(不知道我的理解对不对)
006.jpg
6打开“BasePresenter$requestGameCenterPoints$1” 并没有onNext方法,看到她有个父类“base.observer.BaseObserver” 我们点进去之后发现了onNext方法;该方法主要根据返回头x-content-puzzle的值 确定进行怎么样的解密;确定解密方法在“base.observer.RootObserver”里
007.jpg 008.jpg 009.jpg
7.打开“base.observer.RootObserver” 分析见图,最终解密是在“util.AES”类的aesdecrypt方法中
010.jpg
8.打开“util.AES”,我们确定了aes的填充方式为AES/CBC/PKCS7Padding 密钥为jwt md5后的前16个字符;向量为后16个字符;我们回到“base.observer.RootObserver”来确定jwttoken的值
011.jpg
9.打开“base.observer.RootObserver” 类,获取jwtToken是用的“domain.LocalDataManager”类的getJwtToken,他又调用了“data.sharedpreference.PrefsHelper”类里的“getJwtToken”方法;来到这里我们确定了存储的文件名和存储的字段值;这个getSharedPreferences是android的一个类库,将数据存储到/data/data/应用包名/shared_prefs;
012.jpg 013.jpg
10.我们在shared_prefs下找到BeautyLivePrefs文件,打来文件再找到jwtToken存储的值即可,我们对其进行md5加密再分割成两段后进行解密
014.jpg
11.使用工具AES解密
015.jpg

帖子4.26发布了,但是5.13被屏蔽了,原因是图片中暴漏了app的包名,15张图我又重新一一对包名打了马赛克 ( 无意中搜帖子才知道我只是被殃及的池鱼;现在讨厌死那个人了,害我重新打马赛克)
其实这片帖子主要是介绍aes解密的,我接触过好几款视频都是用这种rxjava类库进行网络请求的,所以记录一下,方便今后自己或其他人遇到rxjava封装的网络请求知道如何下手

免费评分

参与人数 29吾爱币 +34 热心值 +25 收起 理由
tanzhenye14 + 1 + 1 老师怎么像你学习,怎么给你发信息啊
家里蹲组长 + 1 + 1 后台验证机制已更进,希望大神解析
moseng + 1 谢谢@Thanks!
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
腰围两尺99 + 1 + 1 用心讨论,共获提升!
小刀十九块 + 1 + 1 我很赞同!
小黑屋 + 1 谢谢@Thanks!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dijihui + 1 + 1 我很赞同!
安道尔的鱼 + 1 + 1 谢谢@Thanks!
pdc9911 + 1 + 1 我有IOS的IPA包,可看收费房间,嘿嘿
ccchpig + 1 + 1 我很赞同!
lyrlfmd + 1 + 1 我很赞同!
nws0507 + 1 + 1 谢谢@Thanks!
木易一木子 + 1 + 1 有成品软件的可以告诉我
haoyu4945978 + 1 + 1 谢谢@Thanks!
ol416 + 1 用心讨论,共获提升!
Aleshaaaa + 2 + 1 老哥整挺好
果宝 + 1 + 1 我很赞同!
ysy2001 + 1 + 1 谢谢@Thanks!
王者归来1 + 1 + 1 谢谢@Thanks!
bigbirdl + 1 我很赞同!
nmy124 + 1 + 1 谢谢@Thanks!
大寨主 + 1 + 1 用心讨论,共获提升!
iovejieba + 1 封神榜“小某己”么!
swhyy + 1 我很赞同!
是葫芦娃 + 1 + 1 热心回复!
ofo + 1 + 1 我很赞同!
★☆CNVIP☆★ + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

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

 楼主| 奇奇小霸王龙 发表于 2021-4-26 16:54
Aleshaaaa 发表于 2021-4-26 16:29
希望楼主把解谜前的样本发出来让我们钻研钻研

a1nk其实我是个标点符号xyz

免费评分

参与人数 1热心值 +1 收起 理由
Aleshaaaa + 1 谢谢@Thanks!

查看全部评分

 楼主| 奇奇小霸王龙 发表于 2021-4-26 16:26
现在android网络请求,主流就是 RxJava+Retrofit+okhttp3 三个库的组合使用;本小白不会android开发,就百度看了看这套流程,一知半解的
chenballack 发表于 2021-4-26 16:23
395552895 发表于 2021-4-26 16:18
谢谢分享
 楼主| 奇奇小霸王龙 发表于 2021-4-26 16:20
主要是分享下遇到这种aes加密数据进行解密的一个思路流程
Aleshaaaa 发表于 2021-4-26 16:29
希望楼主把解谜前的样本发出来让我们钻研钻研
 楼主| 奇奇小霸王龙 发表于 2021-4-26 16:29

你回复的好快
 楼主| 奇奇小霸王龙 发表于 2021-4-26 16:30

没有了  小白一个
Christia 发表于 2021-4-26 16:34
漂亮啊啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-22 05:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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