android黑科技系列——手机端破解神器MT的内购VIP功能破解教程

2023-10-28

一、前言

在破解app的时候,我们现在几乎都是在PC端进行操作,但是之前bin神的MT管理器,可以在手机端直接破解,不过也有很大的局限性,但是对于一些简单的app破解没问题的。这个工具其实原理也很简单,就是解析apk中的dex,arsc等文件,然后支持修改其中的类方法信息和资源信息,然后在二次打包签名即可。其实把这部分功能移到了移动端做了,不过值得佩服的是这个app从整体效果来说,非常的赞,非常佩服这个工具的作者。

 

二、逆向分析

但是今天我们的主题是破解这个工具内部的收费功能,而用这个工具进行破解教程后续再给出文章,今天我们就来爆破这个app的收费功能。不多说了,直接上图:


我们在查看arsc文件的一部分功能的时候,就出现这个提示了,好的,直接用这个提示信息作为突破口,使用apktool工具反编译apk,然后查看他的string.xml文件:


看到这里,就很懵逼了,而且你会发现apk内部的所有资源都是这种格式定义,到这里可以猜想apk做了资源混淆,我们用Jadx打开apk之后,全局搜索这个name值,是找不到的,会发现全是R.xxx.MT_Bin这样的定义,所以这个作者是为了防护apk做的一种策略。不过不要紧更恶心的防护还在后面。看我分析再说。不过在怎么资源混淆,最终在smali代码中都必须用int值0x7FXXXX来进行操作,所以我们可以在smali代码目录下全局搜索包含0x7f08009e值的文件,这里需要借助Window中的命令findstr了:


命令很简单,在当前目录下查找所有文件中包含指定字符串内容的:findstr /s /i “需要查找的内容” *.*

我们可以看到总共就这么几个文件,这里我不会对每个文件进行查找,然后在确定是否是这个文件了,大家自己操作,可以依次顺序进行查看定位即可。最终我定位到了0oO00OO.8.smali这个文件。我们打开这个文件查看:


记住在代码的157行调用这个字符串信息了,然后我们在Jadx中进行类查找即可:


查找之后又开始懵逼了,这是他的第二次防护代码混淆,你看这些类名被高度混淆了,不过有个规律,就是都是C开头,然后是4位的数字,后面就是正确的类名。所以后面查找类都要记住这个规则即可。因为Jadx在查找类名不区分字符大小写,这里通过观察,可以确定是第一个,我们点击进入即可:


这里看到,正好是我们想要找的地方,看之前收费的功能截图:


就是资源查询功能需要收费。所以到这里,我们的入口就定位正确了,接下来就开始跟踪分析代码即可。不过这里有同学会问,上面那几个找到的文件,怎么就能定位到这个入口文件呢?还是那句话。可以依次对每个smali代码进行分析,还有一个办法就是在每个类中用到的提示信息地方进行hook,然后操作一下,看看哪个类中打印了,就表示哪个类是正确的。这个是逆向的一点经验。

接着上面的入口继续跟踪代码分析:


先不管这个判断,后面再分析,看看这个提示信息逻辑:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android黑科技系列——手机端破解神器MT的内购VIP功能破解教程 的相关文章

  • 【小程序】解析小程序原理

    本文首发自 前端修罗场 一个专注 Web 技术 答疑解惑 面试辅导 职业发展的社区 实际学习过程中 有些同学常常会对小程序和 Web 应用之间的差别产生疑惑 它们之间到底有什么不同 Web 应用不能作为小程序吗 本期文章将会带你比较小程序和
  • 在子类的override方法中调用父类的父类的未被重写的方法

    今天做一个自定义控件 扩展TableLayoutPanel这个控件加一些自己的属性 重写OnPaintBackground这个虚方法 控件的继承关系是这样的 Control ScrollableControl Panel TableLayo
  • 惊呆了!女儿拿着小天才电话手表,问我Android启动流程!

    首先 new一个女儿 var mDdaughter new 女儿 6岁 漂亮可爱 健康乖巧 最喜欢玩小天才电话手表和她的爸爸 好了 女儿有了 有一天 女儿问我 爸爸爸爸 你说我玩的这个小天才电话手表怎么这么厉害 随便点一下这个小图片 这个应
  • 热修复——Bugly让热修复变得如此简单

    一 简述 在上一篇 热修复 Tinker的集成与使用 中 根据Tinker官方Wiki集成了Tinker 但那仅仅只是本地集成 有一个重要的问题没有解决 那就是补丁从服务器下发到用户手机上 如果你团队中的后台开发人员实力够强 那么完全可以自
  • Unity 移动端触摸屏操作

    Unity 触屏操作 当将Unity游戏运行到IOS或Android设备上时 桌面系统的鼠标左键可以自动变为手机屏幕上的触屏操作 但如多点触屏等操作却是无法利用鼠标操作进行的 Unity的Input类中不仅包含桌面系统的各种输入功能 也包含
  • 第一百三十六回 WillPopScope组件

    文章目录 概念介绍 使用方法 示例代码 我们在上一章回中介绍了下拉刷新组件相关的内容 本章回中将介绍 WillPopScope组件 闲话休提 让我们一起Talk Flutter吧 概念介绍 我们在本章回中介绍的WillPopScope组件是
  • mongodb如何实现数组对象求和

    原本地址 mongodb如何实现数组对象求和 mongodb在计算集合数组值时候 我们通常会想到使用 group与 sum 但是如果是数组里面多个json对象 并且还需要根据条件过滤多个对象的内容该如何处理 现在让我们来实现它 假设mong
  • 制作一个“生日快乐”App,来自程序员的生日礼物~

    点击上方 码农的后花园 选择 星标 公众号 精选文章 第一时间送达 之前给大家制作了一个来自程序员的表白神器 本期带大家做一个 生日快乐 App 来自程序员的生日礼物 不要再说程序员不懂浪漫咯 往期精彩 Android App 开发的三种姿
  • Flutter可滚动Widgets-ListView

    ListView 先看下如下截图 以上效果图的代码 是从 flutter官方demo flutter gallery内copy的部分代码 首先 首先定义一个列表 代码如下 List
  • Android 模拟器 Genymotion 安装配置与 ARM 支持

    简介 Genymotion是一款基于x86架构的Android模拟器 由于系统启动速度 应用运行速度远远快于Android SDK自带模拟器而受到广泛应用 优缺点 优点 1 模拟器启动速度快 比AVD快很多 2 应用运行速度快 3 跨平台
  • Android原生系统真的那么好用吗?安卓原生系统吊打其他系统,因为有Google-Play

    Android原生系统真的那么好用吗 这种问题当然是否定的 原生 Android 指的是直接基于 AOSP 构建的而非手机厂商出厂固件修改的第三方 ROM 但包括 Nexus Pixel 或其它被 Google 直接支持的手机的可能是闭源的
  • JetBrains开发者日见闻(一)之Kotlin/Native 尝鲜篇

    简述 今天我们来讲点Kotlin中比较时髦的东西 有的人可能会说 不像你之前的风格啊 之前的文章不是一直在死扣语法以及语法糖背后秘密 当你还在死扣泛型语法的时候 别人的文章早就说了Kotlin Native和Kotlin1 3的新特性 瞬间
  • iOS开发助手、ipa便捷上传工具!

    ipa上传助手Appuploader是一个iOS APP上架辅助助手 帮助开发者可以快速的申请iOS证书打包ipa文件上传到App Store审核 非常方便的iOS上架助手 提升上架效率 ipa上传助手Appuploader官网http w
  • iOS逆向工程之App脱壳

    本篇博客以微信为例 给微信脱壳 砸壳 在iOS逆向工程中是经常做的一件事情 因为从AppStore直接下载安装的App是加壳的 其实就是经过加密的 这个 砸壳 的过程就是一个解密的过程 未砸壳的App是无法在Class dump Hoppe
  • 史上最全的《Android面试题及解析》,赶紧收藏!

    写在文章前面的话 工欲行其事 必先利其器 英雄和侠客更需要宝剑助己成功 同样 在现代软件开发环境中 每个Android开发者都需要更好的工具 帮助我们增强功能 提高效率 在这个竞争激烈的行业中 只有优秀的工程师能够生存 需要我们能够为客户提
  • 虹软人脸识别 - ArcFace SDK介绍及使用注意事项

    很多朋友在开发人脸识别系统的时候 会遇到各种各样的问题 现在我们以安卓平台使用虹软的免费离线人脸识别SDK开发为例 给大家介绍一下如何开发一个带有图片的人脸检测 视频画面的人脸属性检测 人脸注册识别等功能的人脸识别系统 一 获取SDK 1
  • APK加壳原理简述

    先把核心原理记录一下 代码随后再补 PRE dex文件结构知识和加壳原理 先看下dex文件的基本结构 对于加壳主要关注3个关键字 1 checksum 文件校验码 使用alder32算法 校验文件除了maigc和checksum外余下的所有
  • ​第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程

    朱江 现任联想 北京 有限公司 Android 开发工程师 从事 Android 开发工作多年 有丰富的项目经验 负责和参与开发过多款移动应用程序 同时还是多个开源项目的作者 2017 年开始在 CSDN 发表 Android 技术相关博文
  • Android Studio中的Java控制台中出现乱码问题?

    今天在用Android studio 中敲代码时发现控制台出不了汉字 一打汉字全是乱码的 在此特供解决方案 在Java的工程目录build gradle下添加如下代码 1 新版gradle tasks withType JavaCompil
  • 移动端H5开发遇到的问题

    移动端开发必会出现的问题和解决方案 H5开发过程中难免会遇到一些兼容性等爬过坑的问题 移动端 H5 相关问题汇总 1px 问题 响应式布局 iOS 滑动不流畅 iOS 上拉边界下拉出现白色空白 页面件放大或缩小不确定性行为 click 点击

随机推荐

  • QT信号槽的5种连接方式Qt::ConnectionType

    参考 QT信号槽的5种连接方式 非常溜 Qt QueuedConnection例子 666 Qt信号槽的五种连接方式 简洁清晰 Qt UniqueConnection 防止重复连接 综合 例子 updatethread h ifndef U
  • Python入门

    一 进制 1 什么是进制 进制就是进位的制度 一种进位的方式 2 常见的进制 二进制 0和1 0 1 十进制 0 9的整数 0 1 2 3 4 5 6 7 8 9 八进制 0 7的整数 用数字0开头 0 1 2 3 4 5 6 7 十六进制
  • ipconfig不是内部或外部命令

    错误背景 windows r 输入cmd dos命令输入ipconfig 出现不是内部或外部命令 解决方案 1 电脑 系统属性 环境变量 找到path 在末尾处 如没有分号就添加c windows system32 确定 windows r
  • Qt5 信号槽连接 函数重载、参数不一致问题

    Qt5中使用以下方式代替Qt4的信号槽连接 在编译时即对连接的函数指针进行检测 提高了安全性 而Qt4的连接方式是基于字符串的 只能在运行时进行检测 在Qt4的connect方法上右键 Refactor gt Convert connect
  • [数据库系统]第7讲 关系模式的优化知识点整理

    第1节 关系模型的好坏 ER模型转换的关系是否就是最优的关系 不一定 关系模型潜在的问题 添加异常 修改异常 删除异常 数据冗余 冗余 当数据的某些部分能由其他部分推导出来 就意味着存在冗余 冗余的存在是因为存在完整性约束 如何解决冗余问题
  • Transformer学习笔记

    The Illustrated Transformer Jay Alammar Visualizing machine learning one concept at a time jalammar github io 上面是图片出处 是否
  • CSS列表与表格

    目录 编辑 HTML 列表和 CSS 列表属性 不同的列表项目标记 实例 图像作为列表项标记 实例 定位列表项标记 实例 删除默认设置 实例 列表 简写属性 实例 设置列表的颜色样式 实例 更多实例 所有 CSS 列表属性 表格边框 实例
  • python PDF转docx库的安装与使用

    python PDF转docx库的安装与使用 下载 使用 三种方法 效果 下载 anaconda中直接通过anaconda prompt下载pdf2docx库 pip install pdf2docx 使用 三种方法 可以直接通过命令行使用
  • SpringMVC基础(5): SpringMVC常用注解

    目录 1 handler method 参数绑定常用注解 2 常用注解 1 PathVariable 2 RequestHeader CookieValue 3 Re Body 5 RequestBody和 RequestParam区别 6
  • 安装部署mysql、redis、minio、nginx

    离线安装部署mysql redis minio nginx jar包启动 系统环境 centos7 9 架构 X86 安装目录 server 记录安装笔记 依赖项在线安装的 下载离线依赖 yum install y nginx downlo
  • 最新升级的STM32CubeIDE属于一站式工具,本文带你体验它的强大

    目录 下载安装 配置生成代码 硬件在线调试 1 写在前面 2 STM32CubeIDE介绍 主要特点 3 STM32CubeIDE下载 4 STM32CubeMX安装 5创建工程并编译 下载安装 配置生成代码 硬件在线调试 1 写在前面 S
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过send 方法来向服务器发送数据 并通过onnes
  • 【nodejs课堂】Node.js 创建第一个应用

    在我们创建Node js第一个 hello world 应用前 先了解一下Node js应用由哪几部分组成 1 引入required模块 我们可以使用require指令来载入Node js模块 2 创建服务器 服务器可以监听客户端的请求 类
  • MyEclipse8 GA 下载地址 注册码 优化指南

    官方网站限制大陆IP 可以通过http ajava org 直接下载 下面是winodws linux的下载地址 其他版本请自行去http ajava org 下载 注册码7 5GA 8 0GA貌似通用 但不绝对 window版下载地址 h
  • 语义分割数据增强(Data augmentation for semantic segmentation)

    数据增强 深度学习模型的鲁棒性 robustness 和泛化性受到训练数据的多样性和数据量所影响 数据增强 data augmentation 是机器学习和深度学习中经常采用的一个方法 其目的是扩大训练样本的数量 语义分割是计算机视觉一个重
  • 期货十三篇 第七篇 平仓篇

    在期货交易中曾经流行这样一句话 会开仓的是徒弟 会平仓的是师傅 会空仓的是大师傅 在最初的期货交易过程中 我的开仓还算比较顺利 基本上都可以获得一定的盈利 但是我的平仓却十分糟糕 往往把自己的盈利单变成微利单或者亏损单而狼狈离场 我实在不能
  • 贝锐蒲公英:助力企业打造稳定高效的智能安防监控网络

    随着技术的快速发展和物联网的普及 企业面临着许多安全威胁和风险 如盗窃 入侵 信息泄露等 企业需要建立安防监控系统来保护其资产 员工和业务运营的安全 然而 企业在搭建安防监控系统的过程中 可能会面临一些难点 包括以下几个方面 1 监控设备多
  • sysdig_系统分析工具 Sysdig 详解

    Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具 Sysdig 能从运行的系统中 获取系统状态和行为 做过滤分析 功能上超同类开源工具 Sysdig 可以看做是 strace tcpdump lso
  • Java将图片转换成透明底图片

    package com stefan test import java awt Graphics2D import java awt Image import java awt image BufferedImage import java
  • android黑科技系列——手机端破解神器MT的内购VIP功能破解教程

    一 前言 在破解app的时候 我们现在几乎都是在PC端进行操作 但是之前bin神的MT管理器 可以在手机端直接破解 不过也有很大的局限性 但是对于一些简单的app破解没问题的 这个工具其实原理也很简单 就是解析apk中的dex arsc等文