XYCTF2024 RE Trustme 复现

但是只得到用户名 admin

法一:猜Sql注入,直接万能密码

法二:正常逆向

jadx中的AndroidManifest.xml有奇怪之处

怀疑有加壳,进ProxyApplication看看

大量安卓一代壳的特征

Android第一代壳加固原理及实现 - 知乎

GitHub - Huyehan/First_generation_shell: Android第一代加壳技术

接下来脱壳,也有两种方法:

ⅰ. frida-dexdump(未成功)

Releases · frida/frida · GitHub

先把frida_server放到模拟器里

然后记得设定一下 frida-server-16.1.10-android-x86_64 的运行权限

./frida-server-16.1.10-android-x86_64

电脑端可以用frida-ps -U监控到进程

(模拟器不知道什么玄学问题,找不到 com.swdd.trustme

用这个找

报错:

Releases · frida/frida · GitHub

注意把这个取消勾选,不然找不到对应的路径

启动模拟器里的server,打开模拟器的app,运行dex-dump

识别不出来dex……不知道哪里有问题

ⅱ. 拖出解包文件(shell)

先找一下MainActivity的实际名字

找一下/data/data/com.swdd.trustme/app_payload_dex/shell.apk

pull出来

记得MT管理器改一下文件夹权限,不然弄不出来

出来之后jadx分析MainActivity,发现是通过访问数据库进行验证

所以就可以万能密码进行SQL注入,同第一种方法

当然也可以去找那个数据库

资源文件里可以找到,但是别在jadx里点,会卡死

原apk解压其实也可以得到

这个函数实际上进行了数据库解密

UByte.MAX_VALUE实际上就是0xFF

可以看到数据库文件里有大量的FF,实际上是空白的数据部分,异或0xFF之后就是0

ⅲ. MT直接找shell/数据库

MT里单击base.apk

这就是数据的位置

这里直接看到shell

数据库在这里

编辑文本方式打开直接看flag(在主机上用navicat也可以看)

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

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

相关文章

基于双层优化的电动汽车优化调度研究(附matlab程序)

基于双层优化的电动汽车优化调度研究 0.代码链接 基于双层优化的电动汽车优化调度研究(matlab程序)资源-CSDN文库 1.简述 关键词:双层优化 选址定容 输配协同 时空优化 参考文档:《考虑大规模电动汽车接入电网的双层优化调度策略_胡文平》…

confluence 设置https代理

使用nginx反待confluence并开启https后,登录confluence会一直提示:scheme、proxyName、proxyPort设置错误。 解决办法: find / -name server.xmlvi /opt/atlassian/confluence/conf/server.xml HTTP反代配置 HTTPS反代配置

前端工程化升级之路:Webpack 5深度配置与优化策略

前端工程化升级到Webpack 5的过程中,深度配置与优化策略可以从以下几个关键方面进行深入探讨: 模块打包优化: Tree Shaking:Webpack 5增强了对ES6模块的静态分析能力,更准确地去除未使用的导出模块,减少最终…

[leetcode] 61. 旋转链表

文章目录 题目描述解题方法遍历java代码复杂度分析 相似题目 题目描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3]示例 2&…

ICode国际青少年编程竞赛- Python-1级训练场-for循环练习

ICode国际青少年编程竞赛- Python-1级训练场-for循环练习 1、 for i in range(3):Dev.step(4)Dev.turnLeft()2、 for i in range(3):Dev.step(2)Dev.turnRight()Dev.step(2)Dev.turnLeft()3、 for i in range(3):Dev.step(2)Dev.turnRight()Dev.step(2)Dev.turnLeft()4、 for…

Python中覆盖类属性最好的方法

Python中有一个很独特的功能,类属性可为实例属性提供默认值。下面Person类中有一个名为current_year的类属性。compute_age方法中用到了这个属性,而且都故意使用self.current_year读取它的值。因为Person本身没有current_year这个实例属性,所以self.current_year默认获取的是…

算法人生(13):从“Scrum”看“PDCA时间管理法”

很多人会好奇为什么“读了很多书,却依然不知道怎么过好这一生”?大家可能都有各自的理解,但正如王阳明先生的“知行合一”所说,“知”要能“行”出来才算“真知”,生活中很多时候知并不一定能行,所以知与行…

python - mac安装mysqlclient

参考 https://github.com/PyMySQL/mysqlclient 安装 xcode xcode-select --install安装mysql brew uninstall mysql brew install mysql8.0启动 mysql-server 命令如下 brew services start mysql8.0安装 mysql-client brew uninstall mysql-client wget https://raw.git…

Deep learning Part Five RNN--24.4.29

接着上期,CBOW模型无法解决文章内容过长的单词预测的,那该如何解决呢? 除此之外,根据图中5-5的左图所示,在CBOW模型的中间层求单词向量的和,这时就会出现另一个问题的,那就是上下文的单词的顺序…

PC通过串口发送指令控制LED+串口中断

如何让单片机接收数据? 首先要打开SCON中的串行接收控制位REN。当REN1时为允许接收状态,可以接收信息。 因此令SCON 0x50; 怎么知道收到数据? 利用RI接收中断请求标志位。当串行接收到第8位结束时由内部硬件自动置为RI1&#…

机器人系统ros2-开发实践04-ROS2 中 tf2的定义及示例说明

1. what ros2 tf2 ? tf2的全称是transform2,在ROS(Robot Operating System)中,它是专门用于处理和变换不同坐标系间位置和方向的库。这个名字来源于“transform”这个词,表示坐标变换,而“2”则…

【抽代复习笔记】17-群(十一):置换的练习题(1)

练习1:计算: 解: 解析:①左边的置换是1保持不变,2变成3,3变成4,4变成5,5变成2,因此可以简写为(2345);右边的置换是2和5保持不变,1变成3&#xff…

NPDP产品经理认证报考条件及流程

你是否经常感到无法准确了解用户需求,市场细分让你困扰不已?你是否经常觉得自己创意匮乏,无法持续进行创新?你是否时常发现沟通效率低下,团队协作总是充满摩擦?你是否因为提出的方案被否决而感到失望和挫折…

Git从旧的仓库迁移到新的仓库后clone lfs的文件出现错误

一、问题描述 利用git转移仓库从gitee的testA.git仓库到coding的testB.git利用命令 git clone --mirror gitgitee.com:dev/testA.git cd testA.git git push --mirror gitgit.e.coding.test.clund:dev/testB.git 可以迁移成功,但是在clone新的仓库时候会发现存在l…

购物网站-批发

https://p4psearch.1688.com/hamlet.html 1688,批发采购为主,货物全 https://www.wsy.com/ 网商园:鞋包衣服,进价略低 https://www.yiwugo.com/ 义乌购:义乌小商品城线上平台 http://www.k3.cn/ 开山网:专门…

k8s环境部署gpu以及CUDA兼容性分析

本文记录和学习在实用gpu搭建k8s支持上层应用时的功能实践和遇到的问题。 1. 基础概念 CUDA本质上就是NVIDIA专为通用高性能并行计算设计的一套计算平台和编程模型,换句话使用GPU并行编程的规范方法,所以CUDA在软件层面包含了众多库, 那这里…

万兴PDF专家 PDFelement Pro v10.3.8 破姐版!

🧑‍💻万兴PDF专家 PDFelement Pro v10.3.8 破姐版 (https://docs.qq.com/sheet/DRVVxTHJ3RXJFVHVr)

docker mysql更新升级版本

一、环境说明 操作系统:Centos7 数据库版本:MySql 8.0.22 数据库中数据量不大,处于开发/测试环境,风险较低 二、升级原因 升级是因为测评漏洞,在进行国家三级等级保护测评过程中,漏扫发现多个MySql漏洞…

Linux学习之IP协议

前言: 在学习IP协议i前,我们其实知道网络协议栈是一层层的,上层封装好之后就传给下层,对于我们治安学习到的TCP协议,在对数据进行封装之后,并不是直接就将数据进行传输,而是交给下一层网络层进…

C++顺序容器3——容器适配器

容器适配器 除了顺序容器外,标准库还定义了三个顺序容器适配器:stack、queue和priority_queue。 适配器(adaptor)是标准库中的一个通用概念。容器、迭代器和函数都有适配器。 本质上,一个适配器是一种机制&#xff…