吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9565|回复: 132
收起左侧

[Android 原创] 某图app逆向分析

    [复制链接]
Arcticlyc 发表于 2023-3-26 23:51
本帖最后由 Arcticlyc 于 2023-3-27 07:59 编辑

某图app逆向分析

本次分析仅作学习参考,别无他用,侵权即删。

1. 前言


app可以通过查看之前的帖子了解,由于web端限制图片查看数量,而app上可以浏览全部图片,因此选择逆向分析app。

2. 分析过程

使用到的工具:Charles,jadx,python+frida,r0capture

2.1 抓取数据包


在抓包的过程中发现,使用fiddler、httpcanary等均无法成功抓包,使用trustme模块后也不行。经过分析并搜索后判断app使用了ssl双向验证,因此选择r0ysue的r0capture(https://github.com/r0ysue/r0capture
项目,成功导出p12证书。

屏幕截图 2023-03-26 230019.png
屏幕截图 2023-03-26 225832.png

将证书导入Charles后,成功抓取到app的数据包。(此处有个疑惑:我将p12证书导入httpcanary后仍然无法抓取数据包,不知道是何原因,希望有大佬解惑。)

屏幕截图 2023-03-26 225915.png
屏幕截图 2023-03-26 225931.png

很明显,我们抓取到的是加密后的数据,结合网站加密分析,看起来应该是aes或者des加密,下面分析数据的加密逻辑。

2.2 探究加密方法


app使用了数字加固,低版本安卓可以使用反射大师脱壳,也可以使用frida项目一键脱壳(https://github.com/hluwa/frida-dexdump)。

屏幕截图 2023-03-26 230342.png

将得到的dex文件在jadx中打开,经过多次分析后还是认为加密应该在signature内,但是无法找出具体的加密方法。分析过程中可以搜索上面抓到的一些参数(page,data等),搜索出来后可以使用frida进行hook,但是我在尝试多次后仍然没有找到。本来已经没有思路,但是突然想起web端加密中使用到fromhex,因此想到这里应该也要使用同样的方法,经过搜索果然发现了这个方法。

屏幕截图 2023-03-26 231048.png

那么接下来看看哪个地方调用了这个方法应该就可以,向上找成功找到了这个decrypt方法,hook这个方法后选择继续往上追溯。

屏幕截图 2023-03-26 231244.png

果然找到了这两个方法,其实最开始hook过第二个方法,但是没有结果就以为上面的方法也不是,结果事实证明上面的函数就是加密之处。

屏幕截图 2023-03-26 231448.png

同时在这个类中发现了一个md5方法,而hook出来的iv值是固定的,key值却一直在变化,返回的数据包中每次都有一个类似id的值,直接尝试对id取md5(其实经过了多次查找和分析),发现key值直接出来了。

屏幕截图 2023-03-26 232923.png

至此分析完毕,采用AES的CBC加密模式,传入一个变化的key和固定的iv值,解密获取数据。

3. 复现数据解密


使用python的requests-pkcs12库传入p12证书,并设置verify为False即可成功请求。具体解密代码可参考之前的web端加密。

屏幕截图 2023-03-26 232517.png
屏幕截图 2023-03-26 232451.png

4. 总结

成功分析出加密方法后,感觉其实app的加密难度并不是很大,主要是中间走了一些弯路。在这次分析和之前对另一个app的分析中,frida起到了很大的帮助,在不修改原app的前提下,可以捕获内部的方法,同时还可以对加固应用脱壳,实用性非常大。总的来看分析过程简单,难度较小,不过经验应该值得借鉴。

免费评分

参与人数 43威望 +2 吾爱币 +143 热心值 +38 收起 理由
鴻渊 + 1 谢谢@Thanks!
晚归 + 1 + 1 大佬,能安排一下哇力机器人app跳过登录嘛?厂家倒闭了,app无法登录,扫地.
Xue1203 + 1 + 1 用心讨论,共获提升!
junjia215 + 1 + 1 用心讨论,共获提升!
dhb520 + 1 + 1 谢谢@Thanks!
onlywey + 1 + 1 谢谢@Thanks!
mumuki + 1 + 1 学习了,楼主可以细说下寻找加密函数的流程和方法吗?
ningyueer + 1 + 1 谢谢@Thanks!
那年那月那天起 + 1 + 1 我很赞同!
allspark + 1 + 1 用心讨论,共获提升!
wasd3152 + 1 + 1 谢谢@Thanks!
这是追求不是梦 + 1 + 1 热心回复!
异常马粥 + 1 + 1 用心讨论,共获提升!
zshuim + 1 用心讨论,共获提升!
wumei + 1 + 1 谢谢@Thanks!
1zpeasy + 1 + 1 我很赞同!
warobot + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lsj1227 + 1 + 1 我很赞同!
xuwuup + 1 + 1 谢谢@Thanks!
SPT + 1 + 1 我很赞同!
Akihi6 + 1 + 1 我很赞同!
ovohuang + 1 + 1 我很赞同!
jayliuliuliu + 1 我很赞同!
qtfreet00 + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
侃遍天下无二人 + 4 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
469164323 + 2 + 1 希望出个视频教程呀
errorexception + 1 + 1 谢谢@Thanks!
ljw0313 + 1 + 1 谢谢@Thanks!
xyer8 + 1 谢谢@Thanks!
sundge + 1 谢谢@Thanks!
leommm + 1 我很赞同!
timeni + 1 + 1 用心讨论,共获提升!
19880103 + 1 + 1 xue xi qi lai
0106yingzi + 1 + 1 我很赞同!
yeal6 + 1 + 1 我很赞同!
LiRico + 1 + 1 谢谢@Thanks!
为之奈何? + 1 + 1 我很赞同!
Deyra0209 + 1 + 1 感谢分享
vergil7615 + 1 谢谢@Thanks!
丶七年 + 1 + 1 谢谢@Thanks!
xyl52p + 1 + 1 谢谢@Thanks!
OneKilo + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

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

侃遍天下无二人 发表于 2023-3-28 13:28
本帖最后由 侃遍天下无二人 于 2023-3-28 13:34 编辑

好多软件太过依赖数字加固,没了壳子啥都不是。像这种我倒未必会去研究怎么解密,一般是找到反序列化的代码,在它返回前把对象取出来转成json打印。转换可以用反射,具体实现问gpt就行

啊对了,楼主细说下jk制服
 楼主| Arcticlyc 发表于 2023-12-17 20:23
fnckyon2014 发表于 2023-3-27 00:13
  学习了,就是没懂这个 mzt 是哪个

免费评分

参与人数 1吾爱币 +1 收起 理由
hackerxj + 1 美之图

查看全部评分

775673603 发表于 2023-3-27 00:25
谢谢分享,学习起来
丶七年 发表于 2023-3-27 00:56
提取p12的证书是怎么提取的呀,能不能细说呀~
xyl52p 发表于 2023-3-27 00:57
感谢分享,思路清晰,排版也不错。
liuhai7435 发表于 2023-3-27 01:41
大佬您逆向的软件名能告知一下吗
huskysir13 发表于 2023-3-27 03:46
🙏谢谢分享,共同进步!
fan37257978 发表于 2023-3-27 06:48
谢谢楼主分享,感觉破解这东西太深奥了
zzl699 发表于 2023-3-27 06:52
来学习了
yizhimei123 发表于 2023-3-27 07:05
学习了,这个工具很实用!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-21 19:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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