From:
爱盘 - 在线 PJ 工具包:https://down.52pojie.cn/
哔哩哔哩 :https://www.bilibili.com/video/BV1UE411A7rW?p=6
Android使用反编译工具-Android Killer - 美柚反编译:https://www.jianshu.com/p/19b62aace407 Android逆向笔记之AndroidKiller与Android Studio的使用:https://blog.csdn.net/a_1054280044/article/details/60465267 Android killer使用方法:https://www.52pojie.cn/forum.php?mod=viewthread&tid=626591&page=1 Android Killer 使用 - 修改喜马拉雅apk名字:https://www.jianshu.com/p/61a93a6c0c1b AndroidKiller 简单使用:修改应用名称:https://www.cnblogs.com/zeussbook/p/11014144.html
关于使用androidkiller1.3.1连接安卓设备的注意事项:https://www.52pojie.cn/thread-769707-1-1.html
androidkiller使用和解决反编译软件的过程:https://www.jianshu.com/p/e2112c51e4d9
apktool、dex2jar、jd-gui 差异及详解:https://blog.csdn.net/TheMeLove/article/details/53126360
2020-02-15 Android应用逆向安全androidKiller使用与配置:https://www.jianshu.com/p/a7d9c28337e5
- Apktool、dextojar,一开始看过这个工具的开源介绍,用这个技术做过热更新的差异,但是不得不承认,这个工具用起来还是有很多不便的。
- jadx,这个工具是无意中发现的,比apktool更方便,不仅可以分析jar包,也可以直接拿apk,dex,aar拖进去直接查看,也可以搜索,还是很方便的。
- jeb,该工具的安装和使用比前两种更复杂,但需要收费(建议使用合法)
一、Androidkiller
AndroidKiller教程的安装、设置和使用:
这篇文章基本上非常详细 jdk 从安装到环境变量设置,再到安装到下载,再到会遇到的问题,解决方案都很详细,没有一个,强推!。帖子的细节搬过来
@echo off TITLE AndroidKiller_v1.3.1自动ADB连接蓝叠模拟器工具 by 吾爱论坛 昨夜星辰2012 color 3f :MENU CLS @ ECHO. @ ECHO ================================================= @ ECHO. @ ECHO 出处: https://www.52pojie.cn @ ECHO. @ ECHO ================================================= @ ECHO. @ ECHO 以下将自动开始通过ADB命令连接蓝叠模拟器 @ ECHO. @ ECHO 请确认是否已将AK目录下bin\adb将文件夹中的三个文件复制到蓝复制到文件夹中 @ ECHO. @ ECHO 请确认蓝叠模拟器的安装路径是C:\Program Files\BluestacksCN @ ECHO. @ ECHO 请确认C:\Program Files\BluestacksCN\Engine\ProgramFiles目录下有HD-ADB.exe文件 @ ECHO. @ ECHO 信息完全一致,请按 Y → 回车键继续 @ ECHO. @ ECHO 信息不一致,请按 N → 回车键关闭窗口,修改本批处理文件后重新运行 @ ECHO. @ ECHO ================================================= @ ECHO. @ ECHO. @ ECHO. :CHO set choice= set /p choice= 选择您要做的操作: IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1% if /i "%choice%"=="Y" goto 1 if /i "%choice%"=="N" goto 2 echo 选择无效,请重新输入 echo. goto MENU :1 CLS COLOR E0 ECHO. ================================================= echo. echo 在操作中,操作完成后,按任何关键关闭窗口 echo. ECHO. ================================================= @ taskkill /im adb.exe /f >nul 2>nul 上面的命令是结束adb进程,不用修改 @ taskkill /im hd-adb.exe /f >nul 2>nul 上面的命令是结束hd-adb这一过程是蓝叠模拟器独有的,其它模拟器应该没有,不用修改 @ cd /d C:\Program Files\BluestacksCN\Engine\ProgramFiles >nul 2>nul 上述命令的作用是改变当前目录hd-adb.exe所在的C:\Program Files\BluestacksCN\Engine\ProgramFiles如果你的目录不同,目录(这是蓝叠默认目录)请根据实际路径修改命令的后半部分 @ hd-adb connect 127.0.0.1:5555 >nul 2>nul 上述命令的作用是启动hd-adb.exe通过555端口连接过程,蓝色叠加为555adb端口,其他模拟器请修改相应的端口号 CLS COLOR 0a CLS echo. echo. echo. echo. echo 所有操作已完成 echo. echo. echo. ECHO. ================================================= echo. echo 操作完成,按任何关键关闭窗口 echo. ECHO. ================================================= ECHO. echo. ECHO. ECHO. ECHO. ECHO. ECHO. echo. ECHO. ECHO. ECHO. ECHO. pause :2 CLS COLOR 30 echo *************************************************************************** echo * * echo * * echo * 窗户即将关闭 * echo * * echo * * echo * * echo *************************************************************************** ECHO. echo. ECHO. ECHO. ECHO. ECHO. echo. echo. ECHO. pause
以上是批处理代码。
大家好,我昨晚是星星2012。我以前发布过几篇教程帖子。你的老铁反应很热烈,但是有些朋友看帖子想实际操作,但是操作不了。AndroidKiller(简称AK)、JDK没有安装或设置,鉴于此,我整理了论坛现有的主题帖,并发布了这个教程帖,希望能帮助更多的朋友享受安卓逆向和安卓安全(不要总说PJ说多了容易被河蟹所理解)。在开始之前,首先要感谢以下大神,因为他们的劳动成功被引用到帖子中,排名不分顺序:@淡然出尘 、@skywilling、@S先生 、@你坏 、@pwelyn 、@Aug_书生、@冥界3大法王 、@旧年白白白 、@winding,感谢上述大神的努力和对我爱论坛的支持。
<> 先简单说明下我的操作环境:系统:Windows XP SP3 32位
JAVA(JDK)版本:8,V241 版本(Java SEDevelopment Kit 8u241) 下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
Androidkiller_v1.3.1 (简称AK), 下载地址:(来源为吾爱论坛的爱盘)https://down.52pojie.cn/Tools/Android_Tools/AndroidKiller_v1.3.1.zip
手机模拟器:雷电模拟器 官网地址:https://www.ldmnq.com/
一、基础篇:
但是,神器嘛,并不是谁想用就能用的,首先你得让神器认主了,才可以随心所欲的操纵他,如果不然的话,可能就会出现下面截图中的情况:
虽然不认主不会造成神器的反噬,但是会令到你不能使用神器,那就让人很不爽了。 下面,我来传授你让神器认主的秘诀,一般人我还不告诉他。
1、安装 JDK
先要安装好适合你系统版本的 JDK,在这里我使用的是 Java SE 8u241 版本:
下载地址(需要 Oracle 账号登录才能下载):https://www.oracle.com/java/technologies/javase-downloads.html
下载和安装的过程这里就略过了,毕竟都是一直下一步这样的操作,没技术含量,来吾爱的都懂的操作。
安装和配置 Java JDK 和 JRE:https://blog.csdn.net/freeking101/article/details/80522586
2. 配置环境变量
然后 在 变量上追加
配置之后,点击 开始(或者 win + r) → 运行 → cmd → 确定,然后在键入【java】以及【javac】。
3. 设置 AndroidKiller 的 JDK
安装好 JDK 后,我们再次打开我们的神器 AK,出现如下提示我们直接点OK
到了这里,如果之前的步骤你没有出错的话,那恭喜你,你的神器已经完成认主了,你可以随心所欲的操纵神器,在APK的战场上尽情厮杀。
至此,基础篇已经修炼完毕,下面即将进行进阶篇。
二、进阶篇:
正所谓,工欲善其事,必先利其器,AndroidKiller 虽然是 Android 逆向方面的神器,但是 Android 版本更新迅速,而 Android Killer 早已不再更新,这不能不说是一个遗憾,也许有人会想到 (又叫 ),我个人觉得,改之理 用着没那么顺手,在这里就不吐槽了。
表现1:AndroidKiller 对高版本的编译会卡在代码的位置,如下图:
一直卡在这个状态,必须手动关闭AK。
再次打开 AK,对刚才的 APK 进行分析时,会出现如下情况:
- 解决 androidKiller 反编译高版本 java 源码出错的工具优化篇 作者 @S先生:https://www.52pojie.cn/thread-646293-1-1.html (我提供的整合版中已包含)。方法如下:
完成后会出现在这里
- 然后我们再按照帖子:AndroidKiller:解决编译源码卡死[2018.3 更新链接] 作者 @你坏 https://www.52pojie.cn/thread-658341-1-1.html (我提供的整合版中已经替换了文件)更新一下 rtl230.bpl 这个文件,替换 AndroidKiller 目录中的 rtl230.bpl 就可以了。
- 最后,我们按照帖子:androidkiller 反编 java 卡死的一种简便处理方法(继续与坛友的讨论) 作者 @winding:https://www.52pojie.cn/thread-689999-1-1.html 再来添加一下 @winding 大神的批处理插件,具体方法参照上方的说明以及大神的主题帖子。(我提供的整合版中已包含)
表现 2:有时候 AK 在编译时会出现编译失败的情况,如下:
出现这个情况,可能是apktool版本太旧因为Android killer 的核心就是apktool,需要更新apktool版本, 下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads/
下载最新版后在目录AndroidKiller_v1.3.1\bin\apktool\apktool将下载的替换为ShakaApktool.jar,即可(我提供的整合版中已经替换为2.4.1版本)。
或者按以下方法,进行修改:
顺便的,我们把 jd-gui 和 dex2jar 也更新了一下,帖子地址:
JD-GUI1.4.0 作者 @pwelyn:
jd-gui github 地址:https://github.com/java-decompiler/jd-gui
(我提供的整合版中已经替换好了)
至此,进阶篇算是修炼完毕了,你的神器AK已经比一般人的AK强大太多了,可以称之为 AK47了。接下来该是成神篇了。
三、终篇成神篇:
再强大的个体也需要团队,再强大的神器也需要插件,所以,在这一篇章中,我为大家介绍下神器 AK 的几个神级插件。
打开蓝叠模拟器,进入设置 → 存储设置 → 点击右上角的三点 → 选择USB计算机连接,在新打开的界面中勾选【MTP】,然后重启模拟器,具体如下图所示:
让我们先看看现在的AK中能不能发现模拟器:
等待模拟器启动成功,然后点击开始→ 运行 → 输入cmd → 确定 → 在命令提示窗口输入如下格式的命令【cd/d adb.exe所在的目录完整路径】,如我的路径为:(注意1,一定要等模拟器完全启动完成才能进行命令的输入,注意2,注意空格的位置) C:\ProgramFiles\BluestacksCN\Engine\ProgramFiles,则输入如下命令:【cd /d C:\Program Files\BluestacksCN\Engine\ProgramFiles】不含中括号。如下图:
然后再输入如下命令格式:【adbconnect 127.0.0.1:端口号】不含括号,其中蓝叠模拟器的端口号是5555,所以,我输入的命令就是【hd-adb connect 127.0.0.1:5555】如下图:注意空格
好了,好人做到底,我再顺便为大家送上几个主流模拟器的默认adb端口:
二、apktool
apktool 下载地址:https://github.com/iBotPeaches/Apktool/releases
https://blog.csdn.net/TheMeLove/article/details/53126360
这个工具感觉跟 Androidkiller 差不多的,也是获得apk的源码,看看这篇文章就可以,暂时还没有用到其他。
三、dex2jar
dex2jar下载地址:http://code.google.com/p/dex2jar/downloads/list
- 1. 将.apk文件名后缀直接改成zip或者rar格式,然后解压缩。
- 2.解压缩后的文件中,有一个classes.dex文件如图1,将该文件复制粘贴到解压后的dex2jar文件中。
3.打开cmd,切换路径至安装的dex2jar路径下:
4.在该路径下,输入d2j-dex2jar.bat classes.dex,如图:
5.回到dex2jar的安装文件中,会发现多了一个jar文件,这个就是反编译成功的源码,要想看就要在jd-gui中看啦。
四、jd-gui
jd-gui下载地址:http://java-decompiler.github.io/
运行 jd-gui,打开上述步骤反编译出的文件classes_dex2jar.jar,就可以看到源码了
你也可以通过 Save Source 或 SaveAll Source,将源码进行保存。
五、jadx 反编译工具
Android 反编译利器,jadx 的高级技巧:https://www.jianshu.com/p/e5b021df2170
1. 下载 和 使用
在 GitHub上直接下载:https://github.com/skylot/jadx
点进入之后可以看到下载地址:
打开下载的 .exe 文件:
打开一个 apk 文件,就可以查看 反编译的源码:
java文件,资源文件(包括图片、layout、so文件)都反编译出来了。
注意:
- 1、反编译出来的 java 代码只能帮分析代码,一般都是没法直接编译通过的。
- 2、不要指望反编译出的完整目录结构能一模一样导出来。因为反编译的目的就是分析代码,不是运行代码。
- 3、商用APP都是经过加密的,反编译出来的代码肯定是混淆的,这个apk没有加密,所以反编译出来看着很漂亮。