吾爱破解安卓逆向入门教程学习心得(1-4)

这篇具有很好参考价值的文章主要介绍了吾爱破解安卓逆向入门教程学习心得(1-4)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

b站视频链接:https://www.bilibili.com/video/BV1wT411N7sV/?vd_source=f767aeec67fd5d5cc2f6ff3e890917d0

一.环境搭建

源帖:https://www.52pojie.cn/thread-1695141-1-1.html
下载个雷电模拟器,MT管理器,NP管理器
将MT管理器,NP管理器拖到雷电
相关软件地址https://www.aliyundrive.com/s/TJoKMK6du6x
接着在雷电开启root然后重启
安卓逆向vip,android,java,开发语言
具体配置的步骤请看源帖https://www.52pojie.cn/thread-1695141-1-1.html

二、初识APK文件结构、双开、汉化、基础修改

源帖:https://www.52pojie.cn/thread-1695796-1-1.html
1.APK的文件结构(从源帖截的)
安卓逆向vip,android,java,开发语言
2.双开
安卓逆向vip,android,java,开发语言在视频里面学到了利用mt管理器的apk共存
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
这里就是通过修改包名达到双开

3.汉化

这里需要用到mt管理器
先调一下分辨率,不然软件布局会很乱
安卓逆向vip,android,java,开发语言

将课件中给到的demo打开,这是挑战的第一关
安卓逆向vip,android,java,开发语言
先用mt管理器的安装包提取
安卓逆向vip,android,java,开发语言
然后点进去安装包搜索hello
安卓逆向vip,android,java,开发语言
搜到了点进去看
安卓逆向vip,android,java,开发语言
到这一步反编译卡住了没关系,可以去np管理器通过文件路径找到这个文件(或者直接充会员)
开始编辑
安卓逆向vip,android,java,开发语言
搜到这个字符串直接改
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言

然后保存退出自动签名

接下来再找下一串字符串,一堆俄语不会写
这时候再用到课件里的开发者助手,授予root权限
之后会悬浮窗出现在左上位置
打开软件,界面分析点击开始
安卓逆向vip,android,java,开发语言
然后点击要翻译的那串俄文
安卓逆向vip,android,java,开发语言
然后复制
回到MT管理器搜索
安卓逆向vip,android,java,开发语言
点进去再搜索
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
跟进
安卓逆向vip,android,java,开发语言
修改这串字符串就好了
安卓逆向vip,android,java,开发语言
保存退出 Reverse determines height,
development determines depth.
第三串字符串也是同理

安装时出现这种情况
安卓逆向vip,android,java,开发语言
直接安装会安装失败
这里点确定先卸载
然后接着安装
修改成功
安卓逆向vip,android,java,开发语言
还要替换图片
(这个貌似没讲,讲了当我没说)
关于图片这种静态资源,需要找res目录
安卓逆向vip,android,java,开发语言
这里随便翻个图片,然后改成一样的名字cf.jpg
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
之后安装
安装成功(安装成功的原因应该是签名一样)
安卓逆向vip,android,java,开发语言
看看效果
安卓逆向vip,android,java,开发语言

4.修改图标和软件名

这里用np管理器更方便
点功能
安卓逆向vip,android,java,开发语言
然后这里有个通用编辑的功能
安卓逆向vip,android,java,开发语言
这里就正常改就可以
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
安装成功
安卓逆向vip,android,java,开发语言

三、初识smali,vip终结者

源帖:https://www.52pojie.cn/thread-1701353-1-1.html

先把核心破解导入,会出现这种弹窗
安卓逆向vip,android,java,开发语言
点进去然后启用页面选择系统框架,之后退出重启模拟器
安卓逆向vip,android,java,开发语言
记得把这个勾上
安卓逆向vip,android,java,开发语言
点进demo看一下,说要冲会员
安卓逆向vip,android,java,开发语言
我们用jadx-gui打开,搜索大会员
安卓逆向vip,android,java,开发语言点进去看一下java函数

 public static final void m456onCreate$lambda1(ChallengeSecond challengeSecond, View view) {
        Toast.makeText(challengeSecond, "请长按完成一键三连", 1).show();
    }

    /* renamed from: onCreate$lambda-2 */
    public static final boolean m457onCreate$lambda2(Ref.IntRef intRef, ChallengeSecond challengeSecond, ImageView imageView, ImageView imageView2, ImageView imageView3, View view) {
        if (intRef.element < 10) {
            Toast.makeText(challengeSecond, "请先获取10个硬币哦", 1).show();
        }
        if (challengeSecond.isvip()) {
            ChallengeSecond challengeSecond2 = challengeSecond;
            Toast.makeText(challengeSecond2, "当前已经是大会员了哦!", 1).show();
            imageView.setImageResource(R.mipmap.zan_active);
            imageView2.setImageResource(R.mipmap.coin_active);
            imageView3.setImageResource(R.mipmap.collect_active);
            SPUtils.INSTANCE.saveInt(challengeSecond2, "level", 2);
        } else {
            Toast.makeText(challengeSecond, "请先充值大会员哦!", 1).show();
        }
        return true;
    }
}

看起来还要获取10个硬币,还有一个isvip方法判定
看一下smali
安卓逆向vip,android,java,开发语言可以看到这里没有汉字,这里把大会员转成unicode编码\u5927\u4f1a\u5458
这时候可以看到
安卓逆向vip,android,java,开发语言这时候再更省事一点,用MT管理器搜大会员
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
先搬个图来
安卓逆向vip,android,java,开发语言

分析一波关键代码

const/4 p5, 0x1

    const/16 v0, 0xa  #a转十进制就是10

    if-ge p0, v0, :cond_15  #p0是读取获取硬币的数量,若p0>=v0跳转到cond15

    .line 34
    move-object p0, p1

    check-cast p0, Landroid/content/Context;

    const-string v0, "请先获取10个硬币哦"

    check-cast v0, Ljava/lang/CharSequence;

    invoke-static {p0, v0, p5}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object p0

    invoke-virtual {p0}, Landroid/widget/Toast;->show()V

    .line 36
    :cond_15 #跳转的位置,下面调用isvip
    invoke-virtual {p1}, Lcom/zj/wuaipojie/ui/ChallengeSecond;->isvip()Z 

    move-result p0  #isvip判定后返回结果到p0

    if-eqz p0, :cond_43  #若p0等于0,跳转cond43,说明没激活大会员


    .line 37
    check-cast p1, Landroid/content/Context;

    const-string p0, "当前已经是大会员了哦!"
    
    :cond_43
    check-cast p1, Landroid/content/Context;

    const-string p0, "请先充值大会员哦!"

    check-cast p0, Ljava/lang/CharSequence;

改一下关键的逻辑就可以了
根据视频介绍有三种
安卓逆向vip,android,java,开发语言

1.修改判断

修改if-ge为if-le,if-le就是p0<=v0发生跳转,硬币这里通过后
安卓逆向vip,android,java,开发语言
接着是大会员,将判断函数注释掉就不会发生跳转
安卓逆向vip,android,java,开发语言
安装查看结果,成功
安卓逆向vip,android,java,开发语言

2.强制跳转

先在这里设置一个跳转点,相当于直接跳过硬币和会员判定
安卓逆向vip,android,java,开发语言
再设置一个强制跳转
安卓逆向vip,android,java,开发语言
也是可以
看了视频跟我的有点不一样
他是把判定直接改成强制跳转,然后把会员那边给注释掉
安卓逆向vip,android,java,开发语言

3.修改寄存器的值

把这个要求达到的硬币数量改成0,同样注释掉会员判定
安卓逆向vip,android,java,开发语言

四、恭喜你获得广告&弹窗静默卡

源帖:https://www.52pojie.cn/thread-1706691-1-1.html
第四关是三秒广告,一个更新弹窗,两个广告弹窗,还有一条横幅弹窗

1.修改广告显示时间

先看这个三秒广告
安卓逆向vip,android,java,开发语言
这里需要用到MT管理器的activity记录,然后启动服务
安卓逆向vip,android,java,开发语言
切到广告页面,可以看到记录到了adactivity
安卓逆向vip,android,java,开发语言
切回MT停止服务然后复制,接着点进class.dex搜索
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
可以看到只有一个,点进去
安卓逆向vip,android,java,开发语言

转成java代码(没会员可以用np管理器来看)
安卓逆向vip,android,java,开发语言
就看loadAd(),这里设置的3000ms就是3秒,
接下来点这个导航按钮,或者直接搜loadAd
安卓逆向vip,android,java,开发语言
点进loadAd,可以看到这里有个0xbb8转十进制就是3000,把这个改成0x0就可以了
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
保存安装,3秒广告这边已经没了,直接是更新
安卓逆向vip,android,java,开发语言
其实用activity记录看一下,这里adactivity还是有的,只不过改成0显示时间短了
安卓逆向vip,android,java,开发语言

2.修改xml中的versiocode(更新弹窗)

这里是针对更新弹窗,
点进这个xml看一下
安卓逆向vip,android,java,开发语言
可以看到版本号是1,需要改成更高版本的,这里就假设改成2
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
保存退出看一下效果,更新弹窗没了
安卓逆向vip,android,java,开发语言

3.修改广告弹窗

(1)用算法助手屏蔽关键词弹窗

安装算法助手,并如下图设置
安卓逆向vip,android,java,开发语言
之后进入算法助手,点wuaipojie
安卓逆向vip,android,java,开发语言
应用总开关打开,弹窗定位跟屏蔽打开
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
屏蔽打开时,设置关键词,中间要用英文逗号隔开
安卓逆向vip,android,java,开发语言
然后三角号运行
安卓逆向vip,android,java,开发语言
看一下效果,更新和广告弹窗都没了
安卓逆向vip,android,java,开发语言

(2)修改dex弹窗代码(只针对广告弹窗)

这里还是要用到算法助手
如下设置,然后运行
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
看一下广告弹窗,看完后回到算法助手
安卓逆向vip,android,java,开发语言
点进去看一下
安卓逆向vip,android,java,开发语言
点进第一个查看
安卓逆向vip,android,java,开发语言
这里的堆栈可以理解为逻辑执行的顺序,我们复制这个,到dex里面查找
安卓逆向vip,android,java,开发语言
点进这个看一下
安卓逆向vip,android,java,开发语言
可以看到关键词
安卓逆向vip,android,java,开发语言
这里搜一下show(),(像show()这种方法就是显示弹窗的)
安卓逆向vip,android,java,开发语言
这里面总共有两个show方法,把这一行注释掉
这是一号弹窗
安卓逆向vip,android,java,开发语言
这是二号弹窗
安卓逆向vip,android,java,开发语言
保存重新安装,现在只剩下横幅广告了
安卓逆向vip,android,java,开发语言

4.去除横幅广告

这里用到开发助手(注:不是开发者助手)
点一下布局查看
安卓逆向vip,android,java,开发语言
回到横幅广告处,点一下放大镜
安卓逆向vip,android,java,开发语言
点横幅
安卓逆向vip,android,java,开发语言
看第一个
安卓逆向vip,android,java,开发语言
复制id
安卓逆向vip,android,java,开发语言
用xml搜索
安卓逆向vip,android,java,开发语言
这里搜索注意把0x删掉
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
点进去没有找到id
安卓逆向vip,android,java,开发语言
这里把id转名称关掉就可以看到了
安卓逆向vip,android,java,开发语言
安卓逆向vip,android,java,开发语言
具体看一下

  <ImageView
                    android:id="@7f0801ca"   #图片id
                    android:background="@7f0d0017"
                    android:layout_width="wrap_content"    #图片宽度为自适应
                    android:layout_height="150dp"          #图片高度为150dp
                    android:layout_marginTop="100dp" />

我们只需要把宽度和高度改成0dp就可以了
安卓逆向vip,android,java,开发语言
保存重新安装查看效果,搞定!!!文章来源地址https://www.toymoban.com/news/detail-692986.html

到了这里,关于吾爱破解安卓逆向入门教程学习心得(1-4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网页爬虫逆向与AST入门系列教程(八、AST的应用之安全检测)

    在前面的文章中,我们已经介绍了AST的基本概念、生成方法以及在代码混淆解析、反爬虫技术解析、数据提取与分析以及代码转换中的应用。在本篇中,我们将继续探讨AST在网页爬虫逆向中的另一个重要领域:安全检测。 1. 安全检测的重要性 在进行网页爬虫逆向工作时,安

    2024年02月16日
    浏览(37)
  • 网页爬虫逆向与AST入门系列教程(四、AST的应用之代码混淆解析)

    前面的文章中,我们介绍了AST的基本概念、生成和可视化方法。在本篇中,我们将探讨AST在网页爬虫逆向中的另一个重要应用领域:代码混淆解析。 1. 代码混淆与反混淆 代码混淆是一种常见的技术,用于增加网页代码的复杂性和混淆程度,从而防止被不法分析者轻易地理解

    2024年02月11日
    浏览(38)
  • 网页爬虫逆向与AST入门系列教程(三、使用工具生成和可视化AST)

    在前两篇文章中,我们学习了什么是AST以及它在网页爬虫逆向中的应用。本篇将介绍一些工具和方法,帮助我们生成和可视化AST。 1. AST生成工具 为了生成AST,我们可以使用一些现有的工具来解析代码并生成AST数据结构。这里介绍两个常用的工具: Esprima :Esprima是一个流行的

    2024年02月11日
    浏览(47)
  • 网页爬虫逆向与AST入门系列教程(六、AST的应用之数据提取与分析)

    在前面的文章中,我们介绍了AST的基本概念、生成方法以及在代码混淆解析和反爬虫技术解析中的应用。在本篇中,我们将探讨AST在网页爬虫逆向中另一个重要的应用领域:数据提取与分析。 1. 数据提取与分析简介 数据提取与分析是指从网页中提取出所需的数据,并对其进

    2024年02月12日
    浏览(51)
  • android原生开发教程,安卓开发入门到精通

    建造者模式: 观察者模式: 代理模式: 门面模式: 单例模式: 生产者消费者模式: 这个通过对比来描述,比如面向对象和面向过程的对比,针对这两种思想的对比,还可以举个开发中的例子,比如播放器的实现,面向过程的实现方式就是将播放视频的这个功能分解成多个过

    2024年04月11日
    浏览(53)
  • Yalmip入门教程(1)-入门学习

            博客中所有内容均来源于自己学习过程中积累的经验以及对yalmip官方文档的翻译:YALMIP         Yalmip的作者是Johan Löfberg,是由Matlab平台编程实现的一个免费开源数学优化工具箱,在官网上就可以下载。官方下载链接如下: Download - YALMIP         下载时可以选

    2024年02月15日
    浏览(39)
  • 图像分类保姆级教程-深度学习入门教程(附代码)

    图像分类是计算机视觉领域中的一个重要任务。它的目的是将输入的图像归类到预定义的类别中。这个任务在过去被认为是非常具有挑战性的,因为图像的特征非常复杂,而且存在很多种不同的变化方式,例如光照、角度、遮挡等等。 然而,随着深度学习的发展,图像分类问

    2024年01月22日
    浏览(45)
  • Docker 快速上手学习入门教程

    目录 1、docker 的基础概念 2、怎样打包和运行一个应用程序? 3、如何对 docker 中的应用程序进行修改? 4、如何对创建的镜像进行共享? 5、如何使用 volumes 名称对容器中的数据进行存储?// 数据挂载 6、另一种挂载方式:目录挂载 7、实现容器之间的相互通信 8、使用 Docker

    2024年02月09日
    浏览(29)
  • PyTorch深度学习快速入门教程【小土堆】 学习笔记

    PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】 anaconda 卸载环境 :conda uninstall -n yyy --all anaconda 安装路径:D:anaconda3 创建环境: conda create -n pytorch python=3.9 切换环境 : conda activate pytorch 查看目前已经安装的工具包:pip list Q 安装pytorch? 进入pytorch首页 下拉,http

    2024年02月07日
    浏览(42)
  • 51单片机入门教程学习笔记

    基于江科大自化协B站教学视频《51单片机入门教程-2020版 程序全程纯手打 从零开始入门》 单片机,英文Micro Controller Unit,简称MCU 内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能 单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和

    2024年02月05日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包