From:https://www.52pojie.cn/thread-726176-1-1.html
爱盘 - 在线 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 安卓应用逆向安全androidKiller使用与配置:https://www.jianshu.com/p/a7d9c28337e5
- 1. 入门级反编译工具:Apktool、dextojar,当初看过这个工具的开源介绍,而且用这种技术做过热更新的差分工作,但不得不承认,这个工具用起来还是有很多不方便的。
- 2. 初级反编译工具:jadx,这个工具是无意中发现的,比apktool要方便一些,不仅能解析jar包,还可以直接把apk,dex,aar拖进去直接查看,还可以搜索,还是很方便的。
- 3. 高级反编译工具:jeb,这个工具的安装和使用都比前两个复杂,而是是需要收费的(建议大家都使用正版)
一、Androidkiller
AndroidKiller安装、设置及使用教程:https://www.52pojie.cn/thread-726176-1-1.html
这篇帖子基本很详细的从 jdk 的安装到环境变量的设置,到安装到下载,以及会遇到的问题,解决办法都很详细了,没有之一,强推!。下面为 帖子详细内容。直接 搬过来
@echo off
TITLE AndroidKiller_v1.3.1自动ADB连接蓝叠模拟器工具 by 吾爱论坛 昨夜星辰2012color 3f:MENU
CLS
@ ECHO.
@ ECHO =================================================
@ ECHO.
@ ECHO 出处: https://www.52pojie.cn
@ ECHO.
@ ECHO =================================================
@ ECHO.
@ ECHO 以下将自动开始通过ADB命令连接蓝叠模拟器
@ ECHO.
@ ECHO 请确认是否已经将AK目录下bin\adb文件夹中的3个文件复制到蓝叠模拟器目录
@ 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进程,并通过5555端口进行连接,蓝叠是5555默认adb端口,其他模拟器请自行修改对应的端口号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. 配置环境变量
java1.5 版本之后可不需要设置 classpath,这里只需要设置 JAVA_HOME
然后 在 PATH 变量上追加 %JAVA_HOME%\bin
配置之后,点击 开始(或者 win + r) → 运行 → cmd → 确定,然后在键入【java】以及【javac】。
3. 设置 AndroidKiller 的 JDK
安装好 JDK 后,我们再次打开我们的神器 AK,出现如下提示我们直接点OK
到了这里,如果之前的步骤你没有出错的话,那恭喜你,你的神器已经完成认主了,你可以随心所欲的操纵神器,在APK的战场上尽情厮杀。
至此,基础篇已经修炼完毕,下面即将进行进阶篇。
二、进阶篇:
正所谓,工欲善其事,必先利其器,AndroidKiller 虽然是 Android 逆向方面的神器,但是 Android 版本更新迅速,而 Android Killer 早已不再更新,这不能不说是一个遗憾,也许有人会想到 APK改之理(又叫 APKIDE),我个人觉得,改之理 用着没那么顺手,在这里就不吐槽了。
表现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:https://www.52pojie.cn/thread-398642-1-1.html
jd-gui github 地址:https://github.com/java-decompiler/jd-gui
(我提供的整合版中已经替换好了)
方法是将下载的文件替换 AndroidKiller_v1.3.1\bin\jd-gui 的 jd-gui.exe 和 AndroidKiller_v1.3.1\bin\dex2jar 里面的文件。
至此,进阶篇算是修炼完毕了,你的神器AK已经比一般人的AK强大太多了,可以称之为 AK47了。接下来该是成神篇了。
三、终篇成神篇:
再强大的个体也需要团队,再强大的神器也需要插件,所以,在这一篇章中,我为大家介绍下神器 AK 的几个神级插件。
https://www.52pojie.cn/thread-697919-1-1.html (相关附件自行下载)
具体的请大家移步到大神的主题帖查看,确实是不可多得的好插件。
https://www.52pojie.cn/thread-708085-1-1.html (我提供的整合版中已包含该插件)
使用方法在帖子中有详细说明,十分简单,直接将APK拖放到大神提供的附件中即可,功能强大,信息比较全面。
https://www.52pojie.cn/thread-704289-1-1.html (相关附件请自行下载)
具体的请移步到该大神的帖子中查看,因为我用的不是夜神模拟器,所以,我将结合我自己使用的蓝叠模拟器来为大家演示怎样将AK与模拟器连接。
因为AK版本升级到1.3后,对模拟器的支持不是很好,需要自己手动开启ADB命令才能连接上,担心大家不会操作,我尽可能的详细说明一下操作步骤和注意事项,第一点要注意的就是,我说的方法只适用于XP系统以及蓝叠模拟器,其他操作系统和模拟器请自行对照修改。
需要用到的工具:蓝叠模拟器、AK。
首先,进入AK目录下\bin\adb文件夹,将该文件夹中的adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll这三个文件复制到模拟器的安装目录下的Engine\ProgramFiles文件夹中,这个文件夹中有一个叫HD-Adb.exe的文件,不知道路径的话请直接搜索HD-Adb.exe这个文件,然后打开文件所在目录,如下图:
打开蓝叠模拟器,进入设置 → 存储设置 → 点击右上角的三点 → 选择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端口:
https://www.52pojie.cn/thread-712040-1-1.html (我提供的整合版已包含该附件并附上winding大神亲自录制的操作视频)
根据winding大神的要求必须给神器的原作者注明一下:
http://blog.csdn.net/charlessimonyi/article/details/52027563
Android应用逆向——分析反编译代码之大神器 作者:charlessimonyi 核心思想和代码是人家的。
我简单的介绍一下这个神器吧,引用原作者的话说,就是:“一个帮助分析代码执行流程的大神器。这个神器优点很多,不过遗憾的是它有一个致命的缺点!就是威力太大,能让使用它的人快速分析出一个复杂APP的执行流程,快速定位关键之处进行修改以达到各种目的,尤其对于像我一样的Android逆向新手来说,这是非常致命的。为什么非常致命?因为使用了该神器后,1个小时就找到了关键代码,弄清楚执行逻辑,1天之内就实现了程序,解决了外行人看来难度很高的问题。由此带来的后果就是自我感觉良好,自己感觉自己很牛逼,蒙蔽了自己的双眼,终日沉溺在这种骄傲的状态中,从而不能继续虚心刻苦学习技术知识,久而久之,在技术水平上落后别人一大截,对自身发展造成严重影响!”详细的请看大神的帖子,在本文的最后我会附上winding大神实际操作这个神器的视频教程。
说了这么多,打字和截图也累了,同时也辛苦各位看官不厌其烦的看到这里,是时候为大家送上福利了,这个福利就是一个已经将本帖中提到的所有东东整合到一起的AndroidKiller_v1.3.1.2018整合版,除去部分帖子中需要积分下载的附件没有下载外,凡是有免费下载通道的附件插件我都整合到一起了,并且附上相关说明,而需要CB下载的为了保护原作者的权益,就麻烦大家自行到相关帖子下载补充,我连帖子的传送门都为你准备好了,你还想我怎样嘛!好了,到这里本次的分享就要接近尾声了。
我是昨夜星辰2012,你的评分和热心是我继续发帖的动力,请不要吝惜,多多支持,多多收藏+评分,每人每天有3次免费评分的机会,不用就浪费了! 看帖5分钟,发帖2小时啊,这次这个帖我弄了2天,说多了都是泪啊,各位,免费的评分刷起来,下次再会。
【原创】城市飞车V6.9内购PJ教程 https://www.52pojie.cn/thread-710786-1-1.html
【原创】雷电沙龙曼蛇V1.81内购PJ教程 https://www.52pojie.cn/thread-715859-1-1.html
【原创】4399游戏-密室逃脱24末日危机V24.18.12PJ教程 https://www.52pojie.cn/thread-718965-1-1.html
二、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没有加密,所以反编译出来看着很漂亮。