Flutter 逆向安全

 前言:

前几天在 "学习" 一个项目, 发现是用 Flutter 开发的。之前研究过 flutter 的逆向,早期 Flutter 有工具可以通过快照进行反编译:《对照表如下》

新的版本开发者没有维护了。 目前没有很好的工具 可以对 Flutter 进行反编译!

所以现状就是使用 Flutter开发的应用  比使用传统原生的开发应用更安全!

安装包分析:

我们使用  AndroidKille 拆包查看:  因为是 Flutter 开发的 代码都在  libapp.so 中:

 我们通过 IDA 在浏览  libapp.so  过程中 发现了一行 可疑 字符

是不是特征很明显了:接下来就分析下  API的请求:

API请求分析:

我们通过 抓包软件 抓一个 API请求:

sign 字段是关键:

通过大量测试发现:签名规律:

前面是url 固定然后 是请求的参数 key-value,进行 ASCII 顺序拼接

编写脚本:

因为是个抢购软件,刚开始用 python编写发现效率不高而且 比较吃机器性能,后来改用 go 编写发现,不管是效率 还是对机器性能 都是一个质的提升。

警示:

API 请求秘钥形式特征明显

  1. 秘钥特性明显 容易被察觉
  2. 不管是 签名还是加密,在秘钥隐藏方面 要做到深入。秘钥不可转化为其他字符串。
  3. 对于特征明显的秘钥可以采用 切割, 算法进行处理

API 请求加密方式单一:

  1. 所有请求的方式 加密都是用一种方式,可以采用多种方式 复合使用;
  2. 特别重要的接口 可以使用不同的规则;以免一个接口攻破 所有接口都没有全军覆没

 

不管是加密还是哈希签名,对于 秘钥 或者 特征字符串 的隐藏是一个值得好好处理的事情。

隐藏的越深 越额普通 那你的安全就越高;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/87472.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023高教社杯数学建模思路 - 案例:FPTree-频繁模式树算法

文章目录 算法介绍FP树表示法构建FP树实现代码 建模资料 ## 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模式树算法&#xff0c…

JavaIO流

JavaIO流 一、概念二、File类三、File类的使用1、File文件/文件夹类的创建2、File类的获取操作3、File类判断操作 - boolean4、File类对文件/文件夹的增删改5、File类的获取子文件夹以及子文件的方法 四、Java中IO流多种维度的维度1、按照流向 - Java程序2、按照流的大小分类3、…

【UE5】用法简介-使用MAWI高精度树林资产的地形材质与添加风雪效果

首先我们新建一个basic工程 然后点击floor按del键,把floor给删除。 只留下空白场景 点击“地形” 在这个范例里,我只创建一个500X500大小的地形,只为了告诉大家用法,点击创建 创建好之后有一大片空白的地形出现 让我们点左上角…

Unity创建一个可移动的2D角色

文章目录 创建角色与场景创建地面 角色控制脚本检测地面 运行结果 创建角色与场景 我们首先创建一个角色,这里我新建了一个胶囊体用来当Player,一个Square用来当地面。 接下来,为角色增加碰撞体和刚体,为地面增加碰撞体。然后我…

Matlab图像处理-除法运算

除法运算 除法运算可用于去除数字化器灵敏度随空间变化造成的影响。图像的除法运算给出的是两幅图像相应像素值的变化比率,而不是每个像素的绝对差异,因而图像除法也称为比率变换,常用于校正成像设备的非线性影响。 在 MATLAB图像处理工具箱…

Nginx-报错no live upstreams while connecting to upstream

1、问题描述 生产环境Nginx间歇性502的事故分析过程 客户端请求后端服务时一直报错 502 bad gateway,查看后端的服务是正常启动的。后来又查看Nginx的错误日志,发现请求后端接口时Nginx报错no live upstreams while connecting to upstream&#xff0c…

dolphinschedule配置企微告警服务(WeChat群组)

一、前置说明 ds配置好工作流后,比较重要的一个就是上线后的监控报警服务,如果你是基于企微作为协同办公的,WeChat群组预警必须是要安排上的,文章基于自建应用配合群组方式构建预警群,接入后,任务成功或者…

CSS中如何实现背景图片的平铺和定位?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 平铺背景图片⭐ 背景图片定位⭐ 同时设置平铺和定位⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是…

记一次因函数入参没有带类型所引发的问题

工作中,sit测试中,测试突然发现页面异常。经排查,是函数参数没有定义类型所以,dart默认是dynamic类型,而dynamic编译阶段不检查类型,正是由于编译阶段不检查类型,很明显的错误也只能运行的时候才…

ExpressLRS开源之RC链路性能测试

ExpressLRS开源之RC链路性能测试 1. 源由2. 分析3. 测试方案4. 测试设计4.1 校准测试4.2 实验室测试4.3 拉距测试4.4 遮挡测试 5. 总结6. 参考资料 1. 源由 基于ExpressLRS开源基本调试验证方法,对RC链路性能进行简单的性能测试。 修改设计总能够满足合理的需求&a…

WPF自定义命令及属性改变处理

1、项目建构 2、自定义命令 namespace WpfDemo.Base {public class MyCommand : ICommand{Action executeAction;public MyCommand(Action action){executeAction action;}public event EventHandler? CanExecuteChanged;public bool CanExecute(object? parameter){retu…

bpmnjs Properties-panel拓展(属性设置篇)

最近有思考工作流相关的事情,绘制bpmn图的工具认可度比较高的就是bpmn.js了,是一个基于node.js的流程图绘制框架。初始的框架只实现了基本的可视化,想在xml进行客制化操作的话需要拓展,简单记录下几个需求的实现过程。 修改基础 …