[网鼎杯 2020 青龙组]bang 复现--frida-dexdump安卓脱壳工具的使用

news2024/12/26 22:05:55

一.前言

在NSSCTF练习安卓逆向,第一次遇到安卓脱壳题
大佬的题解只有一句话"frida-dexdump一把嗦"
听起来容易做起来难,还遇到了安卓虚拟机的玄学bug,折磨了我很久,好在最终使用真机成功dump并得到flag
题目来源:[网鼎杯 2020 青龙组]bang
如果直接用jadx打开会发现点击MainActivity没有反应

二.准备

1.安装AndroidStudio并将SDK目录添加至环境变量

这个操作主要是为了方便后续使用adb调试手机

2. 一台root的手机或者安卓虚拟机

建议用真机,虚拟机有可能会导致奇怪的bug
在这里插入图片描述

3. 安装firda-dexdump

安装frida工具
pip install frida
pip install frida-tools
pip install frida-dexdump

4. 下载firda-server并推送至手机运行

1. 查看手机架构

adb shell getprop ro.product.cpu.abi
在这里插入图片描述

2. 下载frida-server

项目地址:frida
根据手机或虚拟机架构下载对应安装包并解压
在这里插入图片描述

3. 推送frida-server至手机

adb push frida-server-16.0.19-android-arm64 /data/local/tmp

4. 运行frida-server

adb shell		//进入shell
su				//获取root权限
cd /data/local/tmp	//进入tmp目录
chmod 777 frida-server-16.0.19-android-arm64 //给予可执行权限
./frida-server-16.0.19-android-arm64 	//运行程序

注意这里运行之后并不会有回显,光标会卡在那
在这里插入图片描述

5. 使用frida-dexdump脱壳

使用frida-ps -Ua命令查看手机正在运行的程序以及PID和包名等信息

在这里插入图片描述

或者使用adb shell pm list package显示包名

在这里插入图片描述

脱壳命令

指定App的应用名称:frida-dexdump -U -n how_debug
指定App的应用进程ID:frida-dexdump -U -p 29575
指定App的应用包名:frida-dexdump -U -f com.example.how_debug

前两种方式需要提前运行程序,第三种不需要,frida-dexdump会自动运行程序,不过前提是知道包名(可以通过一些其他工具查看apk的包名)
frida-dexdump -U -f com.example.how_debug

在这里插入图片描述

然后运行该命令的文件夹便会输出脱壳后的文件

在这里插入图片描述

选中这些文件拖到jadx中打开

在这里插入图片描述

然后就可以找到MainActivity了

在这里插入图片描述

这题的逻辑也并不复杂,分别输入用户名:admin密码:pass71487
成功登录后会输出flag{borring_things}

请添加图片描述

三.参考文章

  1. Android Spider Frida-Dexdump 脱壳工具下载使用以及相关技术介绍
  2. adb shell 查看CPU架构
  3. 每天一个adb命令:pm 命令详解
  4. frida-dexdump 真机&模拟器 一键安装+执行

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重大喜讯!国产讯飞星火大模型将超越chatGPT!

引言 近年来,随着人工智能技术的快速发展,自然语言处理成为了研究的热点。而在自然语言处理领域,ChatGPT是一个备受关注的模型,它的出现极大地推动了自然语言处理技术的发展。然而,最近国内一家公司——讯飞&#xff0…

记录--10个超级实用的Set、Map使用技巧

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Set是一种类似于数组的数据结构,但是它的值是唯一的,即Set中的每个值只会出现一次。Set对象的实例可以用于存储任何类型的唯一值,从而使它们非常适用于去重。 Map是…

如何为研发团队打造专属的效能提升路径|QECon 演讲回顾

近日,ONES 受邀参加 2023 QECon 全球软件质量&效能大会(深圳站)。在会上,ONES 研发效能改进咨询顾问陈仪,发表了主题为《如何为研发团队打造专属的效能提升路径》的演讲。 陈仪有着丰富的咨询经验,曾带…

C++考试

文章目录 1.程序填空1.1函数调用1.2前置和后置“”、“--”运算符重载1.3异常处理1.4文本文件读取 2.程序阅读2.1C编程基础2.2继承与派生2.3静态成员2.4继承与派生2.5 输入输出2.6 模板 3.程序改错3.1三种访问权限3.2 友元3.3抽象类不能实例化对象3.4常数据成员初始化必须使用构…

面试题总结

1、0513 1.重载和重写的区别? 重载发生在同一类中,同名的方法如果有不同的参数列表(类型不同、个数不同、顺序不同)则视为重载。 重写发生在父子类中,重写要求子类重写之后的方法与父类被重写方法有相同的返回类型,比…

Linux:在VMware中,如果虚拟机之前可以上网,之后突然不能上网,怎么办?

Linux系统版本:centos 7.5 x64位 VMware版本: VMware Workstation Pro 16 文章目录 前言一、什么原因会导致这种问题并如何解决它?原因①:虚拟机没有启动网络服务原因②:外部主机上VMware的【VMware NAT Service】服务…

Linux常用命令——htpasswd命令

在线Linux命令查询工具 htpasswd apache服务器创建密码认证文件 补充说明 htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。 语法 htpasswd(选项)(参数) 选项 -c:创建一个加密文件;…

用“平面两点距离”求三角形面积,再用“三角形面积”多边形面积

不小于 3 边的多边形,都可以任一顶点发出的边切分为 n - 2 个三角形。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… 地址&am…

跟着我学 AI丨教育 + AI = 一对一教学

随着人工智能(AI)技术的迅速发展,它已经开始了改变教育的方式。本文将介绍AI在教育行业中的应用场景,当前从事AI 教育的公司有哪些以及这些公司所提供的教育产品的特点,和未来AI 教育的潜在实现方式。 AI在教育行业的…

【C++初阶】C/C++内存管理

⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏留言 ⭐系列专栏:C初阶 ⭐代码仓库:C初阶 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们的支持是我…

【数据结构】一篇带你彻底了解栈

文章目录 栈的概念及结构栈接口的实现栈的初始化入栈出栈获取栈顶元素判断栈是否为空获取栈中有效元素个数栈的销毁 总结 栈的概念及结构 栈:一种线性数据结构,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶 (Top&…

Node.js 学习系列(三) —— REPL

Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Windows 系统的终端或 Unix/Linux shell,可以在终端中输入命令,并接收系统的响应。 Node 自带了交互式解释器,可以执行以下任务: 读取 —…

Spring 初始导读

1.Spring初始 1. 为什么要学框架 学习框架相当于从"小作坊"到"工厂"的升级 , 小作坊什么都要做 , 工厂是组件式装配 , 特点就是高效. 2.框架的优点展示(SpringBoot Vs Servlet) 使用SpringBoot 项目演示框架相比 Servlet 所具备的以下优点: 无需配置 …

Three.js 实战【1】—— 3D全景视图开发

Three.js 实战【1】—— 3D全景视图开发 摘要 1、3D视图Demo2、准备工作——搭建好一个开发环境3、RGBELoader——高范围动态图像加载器4、HDR——高动态范围图像5、使用HDR实现3D全景视图6、直接通过图片纹理进行实现 摘要 在现代开发过程当中,3D开发是越来越不可…

find,which,whereis,grep,bc,uname,free,nano,history指令的语法,功能与选项等

Tips x86_64 与 x64 都是指 64位x86 指的是 32位 find指令的语法,功能与选项 语法:find 目录 -name 文件名功能:在指定的目录之下进行文件查找(递归式查找)选项:它的选项也非常多,讲个 -name…

【Java 基础】File IO流

文章目录 1. File1.1 File类概述和构造方法1.2 绝对路径和相对路径1.3 File 类的常用方法1.4 递归删除文件夹及其下面的文件 2. IO2.1 分类2.2 字节输出流2.3 字节输入流2.4 文件的拷贝2.5 文件拷贝效率优化2.6 释放资源2.7 缓冲流2.8 编码表 3. commons-io 工具包3.1 API 1. F…

VSCode中安装GPT插件详细教程+gpt4改进

目录 安装插件 A.安装CodeGPT B.安装chatgpt 1.VSCode安装插件,使用本地下载vsix文件 2.获取 ChatGPT API 密钥 3.配置settings.json gpt4和3.5对比 GPT-4主要有三大改进点 局限性 安装插件 AB功能一样,A安装的人最多,GPT具体功能可…

K8s之标签、Node选择器与亲和性详解

文章目录 一、标签1、标签是什么?2、给Pod打标签3、给Node节点打标签4、查看标签资源 二、Node选择器1、nodeName(指定Pod调度到指定Node节点)2、nodeSelector(指定Pod调度到具有指定标签的Node节点) 三、亲和性1、Node亲和性-nodeAffinity2、Pod亲和性-podAffinity…

软件测试项目实战经验附视频以及源码【医疗项目,社区管理,前后端分离项目,银行项目,金融项目,车载项目】

前言: ​​大家好,我是测试小马。 很多初学的测试小白都在烦恼找不到合适的项目去练习,这也是难倒大部分测试小白的一个很常见的问题,项目经验确实是每一个测试非常宝贵的经验!这里小马哥给大家找了一些常用的项目合…

AJ-Captcha验证码使用教程源码解读

1.背景 验证码的主要作用是防止机器人恶意使用我们的程序........ 今天我们结束一款强大的验证码组件:aj-captcha 官方文档:AJ-Captcha在线体验 大家一定要认真阅读官方文档 2.项目启动与快速测试 启动后端: 快速页面测试: 使用浏览器访问这个页面 有修改后端源码的情况…