jeb安卓apk调试
这几天遇到的安卓调试题,头一次做这样的题做个记录
安卓调试需要用apktool工具
1.逆向拆包编译打包与重新签名
环境准备好之后,开始Android逆向拆包编译打包与重新签名.
其实这个过程还是很简单的,主要分三步:
- 打开cmd命令窗口或者Windows PoweShell窗口,输入
java -jar .\apktool_2.9.3.jar .\apktool_2.9.3.jar d DebugMe.apk
apktool_2.9.3.jar 是我们下载的工具, 后面的 d 然后是你要拆包的apk
这一步的作用是 拆包这个apk,会生成同名的文件夹,我们可以看到文件夹里的内容和我们一般通过开发工具或者apk后缀变为zip包后的文件差不多,这个就是拆包,然后删除签名文件 META-INF文件夹;在这个文件夹里你可以进行改动了;汉化,界面什么的
- apk程序需要检查这个程序是否可以调试,需要看debuggerable,需要在Manifest需要给AndroidManifest.xml设置
android:debuggable="true"
需要在AndroidManifest.xml中加入调试属性
- 删除签名文件后重新打包成apk
java -jar .\apktool_2.9.3.jar b .\DebugMe\ -o test2.apk
-o 表示的是输出成test2.apk文件,这个DebugMe是我拆包的文件夹
- 给生成的apk文件签名
- 输入命令
keytool -genkey -alias new.keystore -keyalg RSA -validity 20000 -keystore new.keystore
然后在输入两次最低六位数的密钥口令,下面的信息直接Enter
,最后y
即可!
签名APK
未签名APK不能在安卓手机上安装,想要安装则想要对齐签名。
输入命令:
jarsigner -verbose -keystore new.keystore -signedjar test2_sign.apk test2.apk new.keystore
test2是我重打包之后的apk文件,需要给重打包后的text2文件进行签名
然后再输入密钥库的密码短语即你之前设置的密钥口令,即可签名!
adb连接模拟器来动调
模拟器打开设置,找到开发者选项,打开usb调试
然后检查连接口令如下
adb devices
安装好apk,启动apk
adb shell am start -D -n (包名)/(.主窗体)
adb devices
安装好apk,启动apk
adb shell am start -D -n (包名)/(.主窗体)
然后用jeb附加进程调试,下好断点,之后进行调试