首页
社区
课程
招聘
[原创]某交通app的sign加密分析
发表于: 2020-9-7 09:06 8234

[原创]某交通app的sign加密分析

2020-9-7 09:06
8234

app没有抓包限制, 直接charles就可以完整抓包:

经过测试, 有效的校验参数只有sign;

根据r0ysue的逻辑:

so, 任何一个开发都不想单独写个方法混淆字符串, 都是被逼无奈, 所以常规操作, 上来先搜字符串;

sign, "sign"的结果都太多了, 最后用的是url地址encryptedLineDetail定位到可以位置 ;

使用objection 监控第一个watch第一个a方法:

手动触发请求, 结果如下:

返回的是一个object, 使用Wallbreaker打印对象的内容, 看看sign是否已经生成:

查找对应的object地址

plugin wallbreaker objectsearch dev.xesam.chelaile.sdk.f.y

打印对应的地址0x4386;

直接打印出sign的内容了,a()方法直接生成了sign;

分析一下a方法的生成逻辑:

该类的构造函数d(Context context, ppVar, z zVar)调用了o.a(this.f30583a), 返回的结果调用了getParams()方法, 跟进去看一下;

整个加密代码都找到了, getParams方法调用了a(), 并将结果赋值给了AppLinkConstants.SIGN也就是sign; a()调用了a(String str, String str2)进行加密, 参数为时间戳和字符串: "" + System.currentTimeMillis()woqunimalegebi1234567890(真的很有素质) ;

frida直接hook这个方法, 生成时间戳然后调用即可, 请求的时候带上一样的时间戳就可以保证正常请求了;

返回的response内容是加密的, 解密位置就在发送请求回调的位置:

 
 
 
 
 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-9-8 22:07 被lotus*编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (8)
雪    币: 1037
活跃值: (1780)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
woqunimalegebi
2020-9-7 10:12
0
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
祖安密钥~
2020-9-7 11:16
0
雪    币: 482
活跃值: (1007)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
说,这个哪个md文件抄过来的
2020-9-7 18:21
0
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
Lateautumn4 说,这个哪个md文件抄过来的[em_11]

2020-9-7 23:36
0
雪    币: 978
活跃值: (894)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
lotus*
有图片中博客的地址嘛
2020-9-8 01:49
0
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
https://kevinspider.github.io
2020-9-8 09:48
0
雪    币: 864
活跃值: (5124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
原创???
2020-9-8 17:15
0
雪    币: 33
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
suuuuu 原创???
原文在个人博客 可以去看
2020-9-8 22:08
0
游客
登录 | 注册 方可回帖
返回
//