Crack App | 某新闻 app 注册 token 加密逻辑分析

简介: Crack App | 某新闻 app 注册 token 加密逻辑分析

今日目标

aHR0cHM6Ly93d3cud2FuZG91amlhLmNvbS9hcHBzLzY2Mjk5Mzg=

抓包分析

在内容列表的请求包里面的有token这个参数值

但是在开始的这个init包里面没有这个token

在开始的这个init请求之后的所有的包都带有token这个参数

猜测是开始的init包带有的加密返回值有这个token参数,就类似设备注册的意思

所以分析的重点从列表页移动到了开始的init包里面

查壳与脱壳

先看看这个app的壳能不能搞

好像有点难搞,先用寒冰大大的FART试试

试了下开源版的frida_fart,提示进程终止,应该是没了,可能是我的姿势不对,有知道的大佬评论区指点一下

于是我换北风哥的脱壳机试了一试,于是我找北风哥 py 了一下,舒服~

北风哥也提示了我可以用frida-dexdump试试,并且fart也是可以的,操作提示如下

在北风哥的提示下,我研究一下用frida-dexdumpijm企业版

拖完发现没有北风哥脱得全,应该还是我的姿势不对,所以接下来我还是用北风哥脱得 dex 分析

加密逻辑分析与定位

因为由init这个请求返回的data的加密,所以以init为关键词搜索

看了几个位置,感觉相关性都不高

想了一下用token作为关键词检索,发现结果是在太多了,有1800+多个相关的结果,最后还是在inits里面找到了

在这个位置点进去,然后通过InitParam声明的地方找到下面的位置

那么在请求头中的siganature可能就是这里获取到的,通过getSign关键词找到下面这个位置

所以在header中的siganature就是getSign(),然后在这个位置出入m.c并将结果阶段传入e.a

但是通过wallbreak只看到下面的代码

这样感觉没办法搞啊,经过一番寻找,还得是旧版的app牛逼

在旧版的app里找到下面的代码

照着和新版对比一下就知道,e.aDES.decrypt,然后m.cMD5

既然是这样的话就很简单了

按照这个思路复写应该就可以了

key是由这里的逻辑生成的

这里用到的APP_SECRET_AKEY和时间戳多次MD5得到 key

ps:就在上图逻辑的上方,新旧版本相同

得到key之后,解密入参的是请求返回的密文 data

python可以实现解密

可以看到在结果里面取到token

简单总结

这个app磕磕绊绊了很久,在新版的加密上琢磨了很久,钻了牛角尖,如果早点分析旧版估计很快就分析出来了

所以之后如果不是必要还是不要死磕新版,不仅加固牛逼,混淆也很厉害,还有检测,我用fridaobjection都没办法spawn的方式启动app

唉,又是被APP教做人的一天。

感谢北风哥,2h 大佬等众多哥哥的脱壳测试。

End.

以上就是全部的内容了,咱们下次再会~

相关文章
|
8月前
|
存储 安全 生物认证
苹果上架APP遇到提示缺少出口合规证明时应该如何处理-什么是APP加密文稿-优雅草卓伊凡
苹果上架APP遇到提示缺少出口合规证明时应该如何处理-什么是APP加密文稿-优雅草卓伊凡
669 62
苹果上架APP遇到提示缺少出口合规证明时应该如何处理-什么是APP加密文稿-优雅草卓伊凡
|
5月前
|
存储 缓存 前端开发
《仿盒马》app开发技术分享-- 用户登录页(业务逻辑)(21)
上一节我们实现了静态的用户登录页,这一节我们需要给他添加上业务逻辑,实现跟云数据库的互通,同时跟整个应用关联起来,因为我们还没有实现用户的注册页面,所以这里我们在云数据库的用户数据插入暂时先不做同用户名的校验,我们在云端先插入几条数据,暂时专注于查询即可
168 5
|
5月前
|
数据库
《仿盒马》app开发技术分享-- 确认订单页(业务逻辑)(30)
上一节我们实现了确认订单页的页面绘制和价格计算优惠计算,订单列表展示等功能,这一节我们来实现确认订单页的整个业务逻辑。首先我们要实现的就是地址的选择,然后把我们计算的价格,商品列表等数据保存起来,然后我们开始创建订单表实体类等,把这些数据提交到订单表中
177 3
|
5月前
|
前端开发
《仿盒马》app开发技术分享-- 个人中心页or静态头像选择(业务逻辑)(22)
上一节我们实现了登录页面的业务逻辑,并且成功的实现了数据的查询,同时我们新增了用户首选项的工具类,现在主界面往登录页面跳转,登录成功后我们关闭登录页面,这时候我们就会回到个人中心页面,那么现在我们的业务逻辑是一种什么样的形式?登录成功后我们需要显示用户的信息,并且在下次登录时依旧展示个人信息。同时我们还新增了一个头像选择的静态弹窗,丰富个人信息页面
155 1
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
794 1
安卓项目:app注册/登录界面设计
|
10月前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
368 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
8月前
|
存储 安全 开发工具
【Azure Storage Account】利用App Service作为反向代理后续 ---- 隐藏 SAS Token
本文介绍了如何通过App Service作为反向代理,将SAS Token追加到请求URL中,以避免直接在代码或配置文件中存储SAS Token带来的安全性和维护问题。具体步骤包括修改App Service的web.config Rewrite规则,将SAS Token添加到转发的URL中;并在.NET SDK中仅使用不包含SAS Token的Uri进行Blob操作。这样既提高了安全性,也简化了SAS Token的管理。
173 16
|
10月前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
488 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
10月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
332 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
10月前
|
缓存 前端开发 IDE
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
274 0
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
下一篇
oss云网关配置