安卓逆向_2 --- Androidkiller,apktool、dex2jar、jd-gui、jadx反编译工具 的 安装、设置及使用教程...

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 的安装到环境变量的设置,到安装到下载,以及会遇到的问题,解决办法都很详细了,没有之一,强推!。下面为 帖子详细内容。直接 搬过来

前置补充,感谢大神 @旧年白白白 的建议,2018年4月15日15:20分网盘补充了一个蓝叠链接AK的批处理文件,有需要请下载!
    附上批处理的源代码,可以直接复制粘贴到记事本,然后另存为AK自动连接蓝叠模拟器.bat文件使用
从下面开始为批处理的代码
@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文件夹中的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/

一、基础篇:

        首先,引用大神 @淡然出尘 的帖子:【 Android killer 知多少: https://www.52pojie.cn/thread-318780-1-1.html 】 来了解下Androidkiller(简称AK)这个神器,为了节省论坛空间以及各位的宝贵时间(主要因为懒)我就不复制过来了,请自行传送到原帖地址查看。

     但是,神器嘛,并不是谁想用就能用的,首先你得让神器认主了,才可以随心所欲的操纵他,如果不然的话,可能就会出现下面截图中的情况:

虽然不认主不会造成神器的反噬,但是会令到你不能使用神器,那就让人很不爽了。 下面,我来传授你让神器认主的秘诀,一般人我还不告诉他。

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:解决编译源码卡死[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 的几个神级插件。

1、首先为大家介绍的是来自作者 @冥界3大法王 大神的自制插件,新品到货:《AndroidKiller打开路径伴侣》来了~~  
https://www.52pojie.cn/thread-697919-1-1.html    (相关附件自行下载)
    具体的请大家移步到大神的主题帖查看,确实是不可多得的好插件。
2、在我们正常的安卓逆向中,难免碰到加壳、加固的APP,那怎么快速判断APK文件是否经过加壳加固呢?我们可以使用AK自带的查壳工具进行查壳,但是因为AK自身版本的原因,部分新壳可能无法识别。

为了解决这个问题,我们就需要第三方的查壳工具,是我要为大家介绍的第二个神器伴侣,来自大神 @旧年白白白 的帖子:ApkScan-PKID查壳工具+脱壳(搬运) 作者 @旧年白白白
https://www.52pojie.cn/thread-708085-1-1.html    (我提供的整合版中已包含该插件)
    使用方法在帖子中有详细说明,十分简单,直接将APK拖放到大神提供的附件中即可,功能强大,信息比较全面。
3、AK作为Android逆向的神器,最大的功能当然就是进行APK的编译和反编译工作了,但是经过修改过的APK最终还是需要进行安装测试的,如果每次都用真机进行测试,未免太麻烦以及有点危险,毕竟不是每个人都有多部手机可以使用的。所以我们有另外一个大神器,手机模拟器,出名的想夜神、天天、蓝叠、雷电等等。我为大家介绍的第一个神器插件,就是用于将手机模拟器和AK连接起来的神级插件,来源是:安卓反编神器Android killer 连接夜神模拟器小工具带e源码 作者  @Aug_书生
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端口:

4、终极神器插件,来自帖子:小白的《宾果消消消》某定制版逆向笔记 作者 @winding
https://www.52pojie.cn/thread-712040-1-1.html    (我提供的整合版已包含该附件并附上winding大神亲自录制的操作视频)
    根据winding大神的要求必须给神器的原作者注明一下:
Android应用逆向——分析反编译代码之大神器 作者:charlessimonyi 核心思想和代码是人家的。
    我简单的介绍一下这个神器吧,引用原作者的话说,就是:“一个帮助分析代码执行流程的大神器。这个神器优点很多,不过遗憾的是它有一个致命的缺点!就是威力太大,能让使用它的人快速分析出一个复杂APP的执行流程,快速定位关键之处进行修改以达到各种目的,尤其对于像我一样的Android逆向新手来说,这是非常致命的。为什么非常致命?因为使用了该神器后,1个小时就找到了关键代码,弄清楚执行逻辑,1天之内就实现了程序,解决了外行人看来难度很高的问题。由此带来的后果就是自我感觉良好,自己感觉自己很牛逼,蒙蔽了自己的双眼,终日沉溺在这种骄傲的状态中,从而不能继续虚心刻苦学习技术知识,久而久之,在技术水平上落后别人一大截,对自身发展造成严重影响!”详细的请看大神的帖子,在本文的最后我会附上winding大神实际操作这个神器的视频教程。
    说了这么多,打字和截图也累了,同时也辛苦各位看官不厌其烦的看到这里,是时候为大家送上福利了,这个福利就是一个已经将本帖中提到的所有东东整合到一起的AndroidKiller_v1.3.1.2018整合版,除去部分帖子中需要积分下载的附件没有下载外,凡是有免费下载通道的附件插件我都整合到一起了,并且附上相关说明,而需要CB下载的为了保护原作者的权益,就麻烦大家自行到相关帖子下载补充,我连帖子的传送门都为你准备好了,你还想我怎样嘛!好了,到这里本次的分享就要接近尾声了。
    我是昨夜星辰2012,你的评分和热心是我继续发帖的动力,请不要吝惜,多多支持,多多收藏+评分,每人每天有3次免费评分的机会,不用就浪费了! 看帖5分钟,发帖2小时啊,这次这个帖我弄了2天,说多了都是泪啊,各位,免费的评分刷起来,下次再会。
2019年6月21日更新下载地址:
提取码: q6m2
解压密码:www.52pojie.cn
【原创】果宝三国V5.9内购PJ教程(3.18更新盗版PJ教程)    https://www.52pojie.cn/thread-708030-1-1.html

【原创】城市飞车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
【原创】赛尔号之勇者无敌2PJ教程   https://www.52pojie.cn/thread-723725-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没有加密,所以反编译出来看着很漂亮。
  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值