转至:http://www.52pojie.cn/thread-373814-1-1.html

前言

经常遇到这种问题,最新版的软件更新了,但是却没有最新版的 破解版,等待破解作者更新,有可能很快,也可能很漫长,更甚者,作者已经停更了!自己动手,又不懂smali语法,怎么办呢?那么,接下来,本文档就教你如何在已有破解版的基础上去更新破解新版,下面以AIDE为例:

准备工作:

需要的工具有:电脑一台,JDK(配置好环境变量),AndroidKiller(反编译回编译),BeyondCompare(进行分析对比数据)等;
所需工具下载: http://pan.baidu.com/s/1qW1aTEO密码:uchj

破解思想:

首先下载同一版本号的正版软件和破解版软件,使用AndroidKiller对软件进行反编译,再使用BeyondCompare对反编译得到的资源进行对比,从分析的数据可以看出有正版与破解版之间哪些改动,然后根据这些,再对新版软件进行反编译,对照着改动的位置,进行编写修改代码,最后回编译,安装调试!

分析过程:

1.      下载软件(以aide2.9.6版本为例):正版: http://pan.baidu.com/s/1bnbdbjT 密码:6vua,
破解版:链接: http://pan.baidu.com/s/1dDwDDZz 密码:zygt
2.      使用AndroidKiller对下载的软件进行反编译,详细如图(左为正版反编译截图,右为破解版反编译截图):
3.      使用BeyondCompare对刚刚反编译的资源文件夹(AndroidKiller反编译的资源在*\AndroidKiller_V1.2\projects\文件夹内,如图3.1)进行对比分析:
使用BeyondCompare对比分析结果截图:
从图中可以看出以下四个.smali文件有改动,我们只需要关注这四个文件(牢记该文件所在路径)即可,如下详细路径:
*\smali\com\aide\engine\service\Native.smali
*\smali\com\aide\ui\af.smali
*\smali\com\aide\ui\j.smali
*\smali\com\dropbox\client2\android\a.smali
下面就各个.smali文件进行分析,摸索差异(图中有颜色的部分即为差异部分):
(1)    Native.smali的分析
关于Native.smali的修改,可参见@蠻荒搜神大大的这个帖子:
http://tieba.baidu.com/p/2689006027?share=9105&fr=share,Native.smali这个主要是签名验证的作用,实例中,直接替换即可,感谢蛮大编写的Native.class,在这里,我们称此处为第1处修改
(2)    af.smali的分析
af.smali这个文件,通过对比可以发现,在if-eqz v0, :cond_4这个条件判断之后,增加了一条goto :goto_1跳转,使其跳过了原本的语句,直接跳转到:goto_1
invoke-static {p0},Lcom/aide/ui/af;->FH(Landroid/app/Activity;)V这条语句,所以,我们只需要在最新版软件中,定位到该语句,修改跳转即可,如何定位呢?可以根据文中的修改的语句的上下文中截取部分特色代码,使用AndroidKiller搜索即可,我截取这个"AIDE Premium Sale"进行搜索,只是更方便定位到所需语句罢了。在这里,我们称此处为第2处修改。
(3)    j.smali的分析
j.smali只是对FH函数中的const/4 v0, 0x0语句下面增加了一条const/4 v0, 0x1语句,使用了v0本地寄存器,并把值0x1存到v0中,可以不懂不理解,知道在这里增加一句修改就好,对于该j.smali文件修改,首先定位到FH函数,在对应位置进行修改即可,我们也可以使用AndroidKiller截取部分代码搜索,定位到需要修改的位置,我选择截取的是"AIDL",然后找寻需要修改的位置!在这里,我们称此处为第3处修改
(4)    a.smali的分析
a.smali这个文件,是在if-nez v1, :cond_1判断下,增加了goto :goto_1跳转,让程序即使判断了条件,也会跳转到:goto_1
invoke-virtual {p1,v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V语句,同样,对于修改,只需要定位到位置,对应修改即可,对于该文件,可以截取const/high16 v1, 0x10000000这个语句使用AndroidKiller进行搜索定位。在这里,我们称此处为第4处修改。

破解过程:

1.      反编译:
下载最新版软件(截止目前AIDE3.1版本),并对其进行反编译,分析等
下载链接: http://pan.baidu.com/s/1eQ6LcLc 密码:nu9a
2.      第1处修改:
提取破解版的Native.smali文件,直接替换到最新版反编译的资源文件夹的对应目录进行替换,即可,如图!
3.      第2处修改:
使用AndroidKiller搜索"AIDE Premium Sale",得到结果位于*\smali\com\aide\ui\ag.smali,我们双击打开搜索的结果,定位到if-eqz v0, :cond_4判断语句,在其后增加goto :goto_1,再找到该方法的最后,根据前面的分析,在 :cond_4之后增加:goto_1,再次检查对比,检查错误,然后保存!如下图:
4.      第3处修改:
打开AndroidKiller,搜索"AIDL",会得到5条结果(如下图4.1),我们选择位于*\smali\com\aide\ui\目录的,也就是*\smali\com\aide\ui\j.smali这个,双击打开它,再搜索const/4v0, 0x0,再和前面分析的对比,定位到FH函数,找到需要修改的位置,在const/4 v0, 0x0一句下增加一条const/4 v0, 0x1(图4.3),然后保存。
5.      第4处修改
搜索const/high16 v1, 0x10000000,得到9条结果,我们需要的是*\smali\com\dropbox\client2\android\目录下,也就是*\smali\com\dropbox\client2\android\a.smali这个文件,双击打开,定位到if-nezv1, :cond_1判断,在下面添加goto :goto_1,再找到:cond_1,在后面加上 :goto_1,然后保存!
6.      保存并回编译
最后,就是保存所有修改的文件,回编译,回编译的文件会在日志输出最后一行显示,将回编的软件安装到手机进行调试!
软件安装调试
提取软件之后,将软件安装到手机,从运行的截图,可以看出以成功破解,
破解版下载: http://pan.baidu.com/s/1o6xbrTK 密码:xpzi,截图如下:
关于&鸣谢
首先感谢AIDE团队,多么强大的移动端IDE,以及破解作者:@蠻荒搜神 大大,没有他的破解版,不会有这个教程文档,然后感谢AndroidKiller的制作团队,Beyond Compare的制作团队,编写出这么强大的工具,最后就是JAVA_JDK了,其重要性就不用说了,致谢!

或许因网页等多方面因素影响,排版难免有所不同,所以写了word文档,下面放出链接,不想看网页的排版的,可以下载word版本!
下载: http://pan.baidu.com/s/1ntMLOed 密码:4172

Android 破解APK相关推荐

  1. Android : 破解apk

    将 apk 文件的后缀修改为 zip,进行解压. assets.res 中可以看到图片.布局等各种资源. lib 中可以看到引用的 jar 包 classes.dex 是将 java 文件编译,再通过 ...

  2. Android动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

  3. android黑科技系列——静态分析技术来破解Apk

    一.前言 从这篇文章开始我们开始我们的破解之路,之前的几篇文章中我们是如何讲解怎么加固我们的Apk,防止被别人破解,那么现在我们要开始破解我们的Apk,针对于之前的加密方式采用相对应的破解技术,And ...

  4. Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

    一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为 ...

  5. Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)

    一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前说的主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码 ...

  6. Android破解过程-滚动的天空

    Android破解-滚动的天空 ##前言 最近看到很多学生在玩滚动的天空这个游戏,这游戏看起来还挺有趣的,于是我也去下载玩了几把.可是,坑呐,这游戏太难了,考验人的快速判断能力和手指滑动速度,玩的很渣 ...

  7. Android破解与防破解

    Android 破解(仅用于学习参考,而不是恶意去破解别人的东西) 过程: 1.用apktool对apk进行解压     2.修改smali文件(注1)     3.用apktoo打包成apk文件   ...

  8. Android的APK反编译技术

    Android的APK反编译主要由反编译源码以及反编译资源两部分,第一种方法用来学习别人优秀的代码,第二种方法可以反编译做汉化或其它一些有用的用途(这个你懂的).        想要反编译,那相应的工 ...

  9. apktool动态破解apk

    那么今天我们就用另外一种方式来破解apk:动态方式,关于动态方式其实很广义的,因为动态方式相对于静态方式来说,难度大一点,但是他比静态方式高效点,能够针对更过的破解范围.当然动态方式很多,所以这里就分 ...

最新文章

  1. Udacity机器人软件工程师课程笔记(二十七) - 卷积神经网络(CNN)
  2. 32岁程序员,补偿N+2:“谢谢裁我,让我翻倍!” 网友:榜样!
  3. bzoj1833: [ZJOI2010]count 数字计数USACO37 Cow Queueing 数数的梦(数位DP)
  4. c++ 双端队列 deque 之 (头部、尾部)插入元素/删除元素/
  5. C语言笔试常考知识点
  6. PHPExcel+phalcon+yii批量导入
  7. 简单封装POI导出excel
  8. 微软运行库合集 |VC9、VC11、VC14、VC15库 32位 64位|v2019.3.2(3264位)最新版 phpstudy vc9-vc14运行库
  9. Python+Django+MySQL资产管理系统
  10. 跨境erp系统功能分析
  11. windows pagefile.sys配置调整
  12. 用html和css轻松实现康奈尔笔记(5R笔记)模板
  13. 2021微信大数据挑战赛总结(微信视频号推荐)
  14. 中职网络安全操作系统渗透
  15. 华为服务器显示红色的心跳,服务器的心跳线
  16. JWT,JWS与JWE区别
  17. 记一次淘宝开放平台开通电商软件服务商ISV
  18. 5个小组,只有一个女黑客,他们居然要模仿妲己?
  19. 关于参加全国大学生数学建模竞赛总结
  20. 微型计算机题,微机课练习题

热门文章

  1. idea如何打开springboot项目pom.xml文件的依赖树
  2. vulnhub靶场之 LordOfTheRoot_1.0.1
  3. 什么是现金流游戏?_富爸爸_新浪博客
  4. LaTeX 插图总结
  5. CSK6开发分享1-视觉开发套件初体验篇
  6. 英语翻译作业(十七)
  7. “卓见杯”2020年河南省第二届CCPC大学生程序设计竞赛 J.二进制与、平方和
  8. java集合(容器)
  9. 【前端库】HTML 移动端适配(推荐)
  10. 实训|第三天Linux登录界面的修改以及Richard Stallman、自由软件运动