XYCTF2024 RE Trustme 复现

news2024/12/26 10:47:52

但是只得到用户名 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.coloradmin.cn/o/1640809.html

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

相关文章

零基础学习数据库SQL语句之定义数据库对象的DDL语句

DDL语句 DDL Date Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段) 基本操作 数据库操作 查询所有数据库 SHOW DATEBASES查询当前数据库 SELECT DATEBASE() 创建 CREATE DATEBASE [IF …

张大哥笔记:付费进群创业项目玩法及详细操作教程

今天给大家分享一个赚钱小项目,它就是付费进群系统,这个项目应用范围很广。比如表情包,知识付费,美女写真,虚拟资料,交友扩列等都可以。今天我们就来说一下最近爆火的交友搭子付费进群做个演示案例&#xf…

你不可不知的数字可视化的未来。

10年UI设计和前端开发接单经验,完工项目1000,持续为友友们分享有价值、有见地的干货观点,有项目外包需求的老铁,欢迎关注发私信。 数据可视化是一个不断发展和创新的领域,未来的发展方向可能包括以下几个方面&#xff…

深度学习Day-15:LSTM实现火灾预测

🍨 本文为:[🔗365天深度学习训练营] 中的学习记录博客 🍖 原作者:[K同学啊 | 接辅导、项目定制] 要求: 了解LSTM是什么,并使用其构建一个完整的程序;R2达到0.83; 一、…

小米电脑回收站已清空?别急,恢复数据有妙招

在数字时代,电脑已经成为我们日常生活和工作中不可或缺的工具。对于小米电脑用户而言,回收站是一个方便我们管理文件的工具,但有时候,误操作或不小心清空回收站可能会让我们面临数据丢失的风险。那么,当小米电脑的回收…

Linux学习之路 -- 文件 -- 文件操作

在学习C语言时&#xff0c;我们就学习过文件相关的内容&#xff0c;但是由于知识储备尚且不足&#xff0c;无法深入的了解文件&#xff0c;下面我们就要重新认识一下文件。 <1> 简单介绍(铺垫) 1.前面我们说过&#xff0c;文件 内容 属性&#xff0c;所以我们对文件的…

ThreeJS:坐标辅助器与轨道控制器

ThreeJS与右手坐标系 使用ThreeJS创建3D场景时&#xff0c;需要使用一个坐标系来定位和控制对象的位置和方向。 ThreeJS使用的坐标系是右手坐标系&#xff0c;即&#xff1a;X轴向右、Y轴向上、Z轴向前&#xff0c;如下图所示&#xff0c; ThreeJS-右手坐标系 Tips&#xff1a;…

java技术栈快速复习05_基础运维(linux,git)

Linux知识总览 linux可以简单的理解成和window一样的操作系统。 Linux和Windows区别 Linux是严格区分大小写的&#xff1b;Linux中一切皆是文件&#xff1b;Linux中文件是没有后缀的&#xff0c;但是他有一些约定俗成的后缀&#xff1b;Windows下的软件一般是无法直接运行的Li…

JDK14特性

JDK14 1 概述2 语法层面的变化1_instanceof的模式匹配(预览)2_switch表达式(标准)3_文本块改进(第二次预览)4_Records 记录类型(预览 JEP359) 3 API层面的变化4 关于GC1_G1的NUMA内存分配优化2_弃用SerialCMS,ParNewSerial Old3_删除CMS4_ZGC on macOS and Windows 4 其他变化1…

《Git---Windows Powershell提交信息中文乱码解决方案》

解释&#xff1a; Windows PowerShell中的Git乱码通常是因为字符编码不正确或Git配置不支持Windows系统的默认编码导致的。Git在处理文件时可能使用UTF-8编码&#xff0c;而Windows系统的命令行工具&#xff08;如PowerShell&#xff09;默认使用的是Windows-1252或GBK编码。 …

Unity Animation--动画剪辑

Unity Animation--动画剪辑 动画剪辑 动画剪辑是Unity动画系统的核心元素之一。Unity支持从外部来源导入动画&#xff0c;并提供创建动画剪辑的能力使用“动画”窗口在编辑器中从头开始。 外部来源的动画 从外部来源导入的动画剪辑可能包括&#xff1a; 人形动画 运动捕捉…

3.4 无关、基和维度

这一节是关于子空间的真实大小。对于 m n m\times n mn 的矩阵&#xff0c;它有 n n n 个列&#xff0c;但是它真正的维数不一定为 n n n&#xff0c;维数可以由无关列的个数来得到。列空间的实际维度就是秩 r r r。 无关的概念是用于向量空间中的任意向量 v 1 , . . . ,…

C++入门第二节--关键字、命名空间、输入输出

点赞关注不迷路&#xff01;本节涉及c入门关键字、命名空间、输入输出... 1. C关键字 C总计63个关键字&#xff0c;C语言32个关键字 asmdoifreturntrycontinueautodoubleinlineshorttypedefforbooldynamic_castintsignedtypeidpublicbreakelselongsizeoftypenamethrowcaseen…

【Java EE】CAS原理和实现以及JUC中常见的类的使用

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

OpenCV如何在图像中寻找轮廓(60)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何模板匹配(59) 下一篇 :OpenCV检测凸包(61) 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 cv::findContours使用 OpenCV 函数 cv::d rawContours …

ROS机器人入门:机器人系统仿真【学习记录】——1

最近闲来无事&#xff0c;重温了一下ROS方面的相关知识。先前的学习都是一带而过&#xff0c;发现差不多都忘了&#xff0c;学习的不够深入。因此&#xff0c;在重温的同时&#xff0c;于先前写下了2篇ROS架构与通信机制的博客&#xff1a; 对应的博客的链接为&#xff1a; R…

【副本向】高等级副本全流程开发

副本的创建 1.从配置表通过副本ID获取此副本参数 Tab_CopyScene rCopyScene TableManager.GetCopySceneByID(m_CopySceneID);if (rCopyScene ! null){//只要配置了组队的Rule&#xff0c;就是组队模式&#xff0c;否则就是单人模式bool bSolo true;for (int n 0; n < rCo…

菜鸡学习netty源码(三)—— Reactor 模型

1.概述 我们先进行理解一下Reactor模型&#xff0c;知道什么是Reactor模型&#xff0c;它有什么特别之处。我们先来简单介绍一下这个Reactor模型。 Reactor模型的核心思想&#xff1a; 就是将所关注的I/O事件进行注册到一个多路复用器上&#xff0c;一旦有I/O事件的发生&#…

Debian 12 -bash: netstat: command not found 解决办法

问题表现&#xff1a; debian 12系统中&#xff0c;不能使用 netstat命令 处理办法&#xff1a; netstat 命令就的net-tools中&#xff0c;把net-tools工具安装上就好了。 apt-get install netstat 安装之后就可以使用netstat 命令了&#xff0c;如查询端口情况&#xff1a; …

快速排序的单趟排序方法对比

这里的霍尔法内容来自文章&#xff1a;【排序算法】快速排序&#xff08;C语言&#xff09;_c语言快速排序-CSDN博客 霍尔法 单趟排序使用霍尔法&#xff0c;这样的话我们必须保证除了指针停留的位置到头之外&#xff0c;最后首尾指针共同指向的是一个比key小的值&#xff0c…