【flutter对抗】blutter使用+ACTF习题

最新的能很好反编译flutter程序的项目

1、安装

git clone https://github.com/worawit/blutter --depth=1

image

然后我直接将对应的两个压缩包下载下来(通过浏览器手动下载)

不再通过python的代码来下载,之前一直卡在这个地方。

如果读者可以正常运行init_env_win.py,手动这一步可以省略。

cd .\blutter\
python .\scripts\init_env_win.py

image

再次运行就可以安装成功

image

2、blutter反编译使用

image

运行该工具,进入目标文件夹

提供libapp.so 和 libflutter.so 的目录

image

image

python blutter.py C:\Users\Le\Desktop\flutter\chall\lib\armeabi-v7a .\output

然后报错。。。

image

但是问题不大,好像是我们的架构不支持,我们换一个

image

再次运行,发现正在下载对应Dart版本的信息

image

全程代理!

image

要不然还会报错

正常情况下:

image

安装完成后,再次运行命令:

image

报错:0x22说明权限不够,使用管理员模式运行即可

image

反编译成功

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

查看文件目录:

image

到此,blutter模块反编译flutter成功!

3、IDA恢复libapp.so符号

image

拖进IDA64

发现符号全无,不利于我们分析,此时blutter工具的用法就体现出来了

image

运行生成的脚本:

image

见证奇迹的时刻到了

image

4、分析

image

flutter中:onTap函数是按钮点击响应函数,CTF中以此作为入口进行分析

进入1DE500函数

image

进入分析发现一堆代码

image

目前不知道什么加密,因为“面目全非”(有256,%符号)

image

使用blutter生成的frida脚本,对该函数进行hook,观察其返回结果

frida -U -f com.example.flutter_application_1 -l blutter_frida.js

image

image

hook目标函数

image

然后发现没有触发

image

猜测flag长度有限制,后面知道了原来是模拟器有bug,我换了真机才可以

image

得到了比较的数组,也就是密文

Unhandle class id: 46, TypeArguments
GrowableList@750038d0f1 = [
  188698,
  0,
  {
    "key": "Unhandle class id: 46, TypeArguments"
  },
  34,
  {
    "key": [
      184,
      132,
      137,
      215,
      146,
      65,
      86,
      157,
      123,
      100,
      179,
      131,
      112,
      170,
      97,
      210,
      163,
      179,
      17,
      171,
      245,
      30,
      194,
      144,
      37,
      41,
      235,
      121,
      146,
      210,
      174,
      92,
      204,
      22
    ]
  },
  0,
  0,
  0
]

接下来使用IDA进行so的一个动调

image

image

选择same

image

找到module

image

运行程序

image

读者可以使用高级语言来看,为了理解更深刻,我这里采用了汇编来看

image

可以看到比较256次

RC4的经典特征

image

image

image

在异或出添加输出断点:

image

搜索指令

  EOR             X5, X3, X2

image

import idc
print(idc.get_reg_value("X2"),",",end="")

image

image

拿到异或的所有值

xor = [14, 14, 68, 80, 29, 201, 241, 46, 197, 208, 123, 79, 187, 55, 234, 104, 40, 117, 133, 12, 67, 137, 91, 31, 136,
       177, 64, 234, 24, 27, 26, 214, 122, 217]

然后还有密文

这里使用了oacia师傅的脚本

final = [184, 132, 137, 215, 146, 65, 86, 157, 123, 100, 179, 131, 112, 170, 97, 210, 163, 179, 17, 171, 245, 30, 194,
         144, 37, 41, 235, 121, 146, 210, 174, 92, 204, 22]
xor = [14, 14, 68, 80, 29, 201, 241, 46, 197, 208, 123, 79, 187, 55, 234, 104, 40, 117, 133, 12, 67, 137, 91, 31, 136,
       177, 64, 234, 24, 27, 26, 214, 122, 217]

flag = [chr(xor[i]^final[i]^0xff) for i in range(len(final))]
print(''.join(flag))

感谢oacia师傅的分享

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

npm安装

node 设置配置之后,要查询时,会从.npmrc中读取路径 .npmrc自己创建的(默认情况下.npmrc会创建在C盘中) 自己创建的在D:\studay-and-working\node16.14\node_modules\npm中 指定.npmrc文件,因为默认会访问C盘的.npmrc文…

在Windows系统和Linux系统中MongoDB的安装方法

本文主要介绍在Windows系统和Linux系统中MongoDB的安装方法。 目录 Windows系统中安装MongoDBLinux系统中安装MongoDB Windows系统中安装MongoDB 在Windows系统中安装MongoDB,可以分为以下几个步骤: 下载MongoDB安装包 在MongoDB官网上下载Windows系统下…

【Linux学习】深入理解动态库与静态库

目录 十三.动态库与静态库 13.1 认识动静态库 13.2 深入理解动静态库 什么是库? 编译链接过程 动静态库的基本原理 13.3 静态库 静态库的打包: 静态库的使用: 13.4 动态库 动态库的打包: 动态库的使用: 13.5 动态库与静态库怎么选? 十三.动态库与静态库 13.1 认识动静态库 …

Vue 中 v-model 的修饰符

lazy 修饰符&#xff1a;将 v-model 改为失去焦点后更新数据。 number 修饰符&#xff1a;将 v-model 数据转为数字类型。 trim 修饰符&#xff1a;去除 v-model 数据中的首尾空格。 语法格式&#xff1a; // lazy 修饰符 <input v-model.lazy"数据"> // nu…

ArcGIS pro与SuperMap根据属性自动填充颜色步骤

GIS项目经常会接触到控规CAD数据&#xff0c;想要把数据转换成GIS图层并发布&#xff0c;需要进行专题配图。研究了一下ArcGIS pro和SuperMap iDesktop的配图&#xff0c;整理一下用到的一些技术思路。 1、Excel表格根据RGB值添加单元格填充颜色 要实现如上效果图&#xff0c;…

AI创新之美:AIGC探讨2024年春晚吉祥物龙辰辰的AI绘画之独特观点

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《粉丝福利》 《linux深造日志》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引言一、龙辰辰事件概述二、为什么龙辰辰会被质疑AI创作&#xff1f;1.1 AI 作画的特点2.2 关于建行的合作宣传图…

如何利用宝塔面板和docker快速部署网站

当你有了一台服务器&#xff0c;就会折腾往这台服务器上部署各种好玩的网站。市面上有许多开源的网站项目&#xff0c;通过docker技术可以快速部署并使用&#xff0c;本文将以部署filebrowser举例介绍网站部署的基本流程。 1. 安装宝塔面板 宝塔面板是一款开源的网站运维工具…

博客内容和多种搜索友好格式在 2024 年的作用

内容和SEO之间一直存在着密切的联系。 今天&#xff0c;我想分享一些关于博客、内容和搜索友好格式的想法和技巧。此外&#xff0c;我将分享有关生成式人工智能如何为这种关系添加新元素的见解。 谷歌最近关于有用和有价值的内容的更新重新引发了关于如何找到内容以及内容排名…

汽车销售技巧培训应该学习哪些内容

汽车销售技巧培训应该学习哪些内容 随着汽车市场的竞争日益激烈&#xff0c;汽车销售技巧培训对于提高销售人员的销售能力和服务水平至关重要。本文将介绍汽车销售技巧培训应该学习哪些内容&#xff0c;并结合案例进行分析。 一、产品知识 作为销售人员&#xff0c;了解所销售…

用户管理第2节课 -- idea 2023.2 创建表

一、懂得 1.1编码格式是防止乱码的&#xff0c;utf-8是完全够的&#xff0c;那几个基本没差别 网址&#xff1a; 【IDEA——连接MySQL数据库&#xff0c;创建库和表】_idea中数据库-CSDN博客 这些是MySQL数据库中的一些术语&#xff0c;可以简单解释如下&#xff1a; 1、col…

【日积月累】Spring中的AOP与IOC相关问题详解

Spring中的AOP与IOC 1.前言2.Spring AOP&#xff08;面向切面编程&#xff09;2.1 AOP的实现过程2.2 AOP代理模式的类型2.2.1JDK的动态代理2.2.2CGLIB的动态代理 2.3AOP应用常见场景2.3.1日志记录 2.4对AOP的理解 3.Spring IOC&#xff08;Inversion of Control&#xff0c;控…

低代码平台解密:探秘MQTT协议的应用之道

本文由葡萄城技术团队发布。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 低代码平台作为当今快速发展的技术之一&#xff0c;为开发人员提供了更高效、更简便的工具和方法&#xff0c;以…

深度解读 Cascades 查询优化器

数据库中查询优化器是数据库的核心组件&#xff0c;其决定着 SQL 查询的性能。Cascades 优化器是 Goetz 在 volcano optimizer generator 的基础上优化之后诞生的一个搜索框架。 本期技术贴将带大家了解 Cascades 查询优化器。首先介绍 SQL 查询优化器&#xff0c;接着分析查询…

【玩转TableAgent数据智能分析】TableAgent全功能详解及多领域数据分析实践(下)数据分析过程及总结展望

6 TableAgent的数据分析过程解析 TableAgent的整个分析过程包括以下步骤&#xff0c;形成一个有机结构&#xff0c;让我们理清其工作原理。 6.1 Data Graph阶段 TableAgent首先绘制数据图&#xff0c;以解决问题。这个图形表示了问题的分解和细化&#xff0c;将大问题分解成…

git强制回滚,远程强制更新,git pull强制更新

注意&#xff1a;这里是强制回滚&#xff0c;回滚后&#xff0c;之后历史的就没有了&#xff0c;慎用。 本地强制回滚 强制回滚到上一个版本 git reset --hard HEAD^强制回滚上上个版本 git reset --hard HEAD^^git log查看版本 git log --prettyonelinegit log --prettyf…

【网络安全】HTTP Slowloris攻击原理解析

文章目录 Slowloris攻击的概念Slowloris攻击原理Slowloris攻击的步骤其他的DDoS攻击类型UDP FloodICMP (Ping) FloodSYN FloodPing of DeathNTP AmplificationHTTP FloodZero-day DDoS 攻击 推荐阅读 Slowloris攻击的概念 Slowloris是在2009年由著名Web安全专家RSnake提出的一…

指定安装nginx版本链接

Index of /packages/centos/7/x86_64/RPMS/ (nginx.org) 找到想要下载的对应版本直接下载 rpm -ivh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm 查看nginx信息 rpm -qa nginx rpm -qi nginx 命令rpm -ivh是Linux系统中的一种用于…

折腾了一下Atmega64A(开发环境搭建+程序下载)

半路接了一个项目&#xff0c;使用的mcu是atmega64a&#xff0c;在我印象中这种古老芯片都要淘汰了&#xff0c;没想到还有人在使用。 程序是用的ICCV7 for AVR开发的&#xff0c;在网上找到这个IDE&#xff0c;win10下安装还算顺利&#xff0c;这个软件的最新版本是7.22&#…

安科瑞出席宁波市建筑电气2023年年会-安科瑞 蒋静

12月1日&#xff0c;宁波市建筑电气2023年年会在宁波市海曙天港禧悦酒店成功举办。作为推动宁波市建筑电气行业技术发展的专业交流会&#xff0c;吸引了建筑电气行业领导、专家、设计师、厂家等300多名代表参会。期间&#xff0c;安科瑞电气股份有限公司携智能楼宇、智慧校园、…

Etcd实战(二)-k8s集群中Etcd数据存储

1 介绍 k8s中所有对象的manifest都需要保存到某个地方&#xff0c;这样他们的manifest在api server重启和失败的时候才不会丢失&#xff0c;因此引入了etcd。在k8s中只有api server和etcd直接交互&#xff0c;其它组件都通过api server间接和etcd交互&#xff0c;这样做的好处…