当前位置: 首页 > news >正文

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.lryc.cn/news/148887.html

相关文章:

  • 【微服务部署】01-Kubernetes部署流程
  • SPI3+DMA外设驱动-TFTLCD初始化
  • 通过chatgpt 学习React的useEffect
  • rabbitMq介绍及使用
  • rabbitmq载在.net中批量消费的问题记录
  • 【RPC 协议】序列化与反序列化 | lua-cjson | lua-protobuf
  • Flutter的Timer类
  • Chrome小恐龙快跑小游戏——Python实现
  • Web网站服务器
  • Docker consul 容器服务自动发现和更新
  • CentOS 8 执行yum命令报错:Failed to set locale, defaulting to C.UTF-8
  • 8. 损失函数与反向传播
  • Angular安全专辑之四 —— 避免服务端可能的资源耗尽(NodeJS)
  • Servlet学习总结(Request请求与转发,Response响应,Servlet生命周期、体系结构、执行流程等...)
  • 雅思写作 三小时浓缩学习顾家北 笔记总结(二)
  • Element Plus 日期选择器的使用和属性
  • 中国五百强企业用泛微为合同加速,提升数字化办公水平
  • Vue3 QRCode生成
  • 2023年8月随笔之有顾忌了
  • 正中优配:红筹股是啥意思?
  • 《Linux从练气到飞升》No.19 进程等待
  • OpenCV
  • hadoop解决数据倾斜的方法
  • 打造坚不可摧的代码堡垒 - 搭建GitLab私有仓库完全指南
  • linux把文件压缩/解压成.tar.gz/tar/tgz等格式的命令大全
  • 用户角色权限demo后续出现问题和解决
  • SpringBoot在IDEA里实现热部署
  • 浅谈Linux中的mkdir -p
  • 设计模式—职责链模式(Chain of Responsibility)
  • vue小测试之拖拽、自定义事件