记一次动调apk
记第一次动调apk
是24XY里的一道题,就单纯一道简单的安卓题,主要考查的点就是动调apk,记录下来的原因是踩了不少坑,毕竟第一次JEB动调apk
一.配置adb
ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。
下载链接:
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip
然后使用详解的话可以参考这篇博客ADB安装及使用详解(非常详细)从零基础入门到精通,看完这一篇就够了-CSDN博客
二.题点解析
这道题主要就是考查配置起apk的调试状态,分为两个目标进行达成,一是修改AndroidManifest中debuggable属性,第二个是修改ro.debuggable属性,其中第二个可以在下面链接中查看进行修改,我主要说说第一个,修改AndroidManifest中debuggable属性。让apk变可调试_如何修改 允许调试 安卓 apk-CSDN博客
想要修改AndroidManifest中debuggable属性,首先需要对你的apk进行解包,这里我使用的是ApkTool 进行解包和打包,下载链接是https://ibotpeaches.github.io/Apktool/,然后将apktool.jar放置在与你的apk同目录的文件夹下,同时你还需要一个签名的jar,用于将解包修改完之后的apk再重新签名一次,不然这个apk不能装载虚拟机上,这个文件可以去网上搜,再有就是用于签名的两个密钥文件,可以去下面这个文章弄APK重新签名或者更改签名详细步骤-CSDN博客,最后支撑文件如下如所示:(demo是已解包之后的文件夹,777.apk是原apk重新打包的文件)
拿到上述支撑文件就可以开始了
解包命令:java -jar apktool_2.9.3.jar d DebugMe.apk -o demo
之后在包中找到AndroidManifest.xml并将android:debuggable="true"添加进application中,下列示例代码的最后一行:
1 | <!-- application标签加上android:debuggable="true" --> |
然后再用打包命令:java -jar apktool_2.9.3.jar b demo -o 777.apk
(注意java版本别用太低,之前卡了好久在这儿,最后换了个高一点的版本才打包成功)
最后就是签名命令jarsigner -verbose -keystore kkkey.jks -signedjar 777.apk 777.apk android.keystore
,用到了上文中提到的两个秘钥支撑文件
签名成功,拖进虚拟机也安装成功,直接打开JEB开始动调!