【安卓逆向】MotionNinja会员功能的解锁分析

news/2024/10/12 10:27:48

这次的要分析的软件是😃

无壳,mt管理一键去除签名就行🤩

先来看看这款应用

这里有很多实用的功能

但是要会员!!!😂

这里导入jadx分析一下,还是先搜索一下isvip

这两个方法名根据我的经验,一眼是假的,点进去看看

空方法,果然没什么用,这里还搜索了"会员”,“vip"等等资源,等等资源id,均未找到突破点,没办法,只能从头分析一下,先打开mt管理器的activity记录

jadx定位到HomeActivity看看,看看有没有实现会员功能的初始化

这段代码引起我的注意,主要是这里有几个字段名比较值得怀疑

 if (!(BillingManager.m1758m() || BillingManager.m1770a("motionninja_vip_forever_96e9aa37bd91974b") || BillingManager.m1770a("motionninja_vip_year_418ebd67183cbcd8") 

看代码逻辑这里是调用BillingManager.m1770a方法进行了一通判断,具体其实我们还不知道是要干嘛,可以使用frida hook一下该方法,看看实现了什么功能

function hook(){let BillingManager = Java.use("vb.o");BillingManager["a"].implementation = function (str) {console.log(`BillingManager.m1770a is called: str=${str}`);let result = this["a"](str);console.log(`BillingManager.m1770a result=${result}`);return result;};
}function main(){Java.perform(function(){hook();})
}setImmediate(main)

 frida -U -f com.accarunit.motionvideoeditor.cn -l .\hook.js 启动应用

可以发现这个方法确实被调用了好多次,用于判断会员的情况(猜测的),且返回值是false,那如果我们试试将返回值改成true的话,结果会怎样呢?

function hook(){let BillingManager = Java.use("vb.o");BillingManager["a"].implementation = function (str) {console.log(`BillingManager.m1770a is called: str=${str}`);let result = this["a"](str);console.log(`BillingManager.m1770a result=${result}`);result = true;console.log(`BillingManager.m1770a result changed to ${result}`);return result;};
}function main(){Java.perform(function(){hook();})
}setImmediate(main)

我们再次来启动应用看看

返回值成功修改成了true了

实测会员功能已经解锁,且可以正常使用😀😝,现在关键方法已经找到,我们回到mt管理器,直接找到该方法处,修改返回值就行




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

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

相关文章

Linux 中sed命令实现从gff文件中仅仅提取基因名称

001、(base) [b20223040323@admin1 x_test]$ ls ## 测试gff文件 GCF_000001405.40_GRCh38.p14_genomic.fna.gz GCF_000001405.40_GRCh38.p14_genomic.gff (base) [b20223040323@admin1 x_test]$ grep -v "^#" GCF_000001405.40_GRC…

最新版在线客服系统源码

源码介绍 首发最新在线客服系统源码,优化更好并且重构源码布局UI 性能不吃cpu并发快,普通1H2G都能带动最新版只要是服务器都能带动 搭建即可使用,操作简单,易懂 修复了老版本bug 内附有搭建教程 gofly.v1kf.com 运行环境 Nginx 1.20 MySQL 5.7演示截图 十年开发经验程序员,…

Godot.NET C#IOC重构(11):攻击与死亡

目录前言带上伤害HitboxHurtbox实现效果渐变淡出添加受攻击效果Hurtbox完善Enemy状态机结果剩下的都是逻辑完善的部分了,后面的我就跳过了。 前言 这次来深刻了解一下Godot中的伤害计算 带上伤害 我们将之前的Hitbox和HurtBox进行了一下简单的修改 Hitbox using Godot; using …

快速批量重命名文件(夹)

首先,需要用到的这个工具:度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 我这里处理这4个文本,实际可以处理任意数量的文本和文件夹1、打开工具,进入文件批量复制版块2、点击“重命名”3、把要重命名的文件或者文件夹全部拖入进去,这里我把文件改为"文本01.txt、文本02…

如何批量复制多个文件到多个目录中(提取匹配法)

首先,需要用到的这个工具:度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 具体操作1、情景再现 我这里创建了3个数字命名的文件夹和一些带有数字命名的图片文件。(这里仅做演示作用,实际操作的数量肯定巨大。)观察一下发现,图片分2种命名:一种是数字.png,另一种是-数字.pn…

精武杯(计算机与手机)

精武杯(计算机与手机) 1.请综合分析计算机和手机检材,计算机最近一次登录的账户名是 admin火眼分析中就可以找到请综合分析计算机和手机检材,计算机最近一次插入的USB存储设备串号是S3JKNX0JA05097Y同样也是在分析中找到的3、请综合分析计算机和⼿机检材,谢弘的房间号是()…

基于深度学习网络的十二生肖图像分类matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a3.算法理论概述GoogLeNet主要由一系列的Inception模块堆叠而成,每个Inception模块包含多个并行的卷积层,以不同的窗口大小处理输入数据,然后将结果整合在一起。假设某一层的输入特征图表示为X∈ℝ^(HWC),四个分支分别应…

蓝桥杯-k倍区间

给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai+1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N 行每行包含一个整数 Ai。 输出格式 输出一个整…