工具准备
apktool
. 直接去官网下载。- apktool.jar
- apktool.bat
- dex2jar.jar. 将dex文件转成jar文件。
- jd-gui.exe. 通过图形化的界面展示jar文件。
反编译apk
第一步, 解压apk包。
第二步,将classes.dex转成jar。
1
d2j-dex2har dex_path
第三步,在jd-gui
中打开第二步生成的jar文件。
二次打包
第一步,通过apktool
直接解析apk文件。
1
apktool d apk_path -o output_path
第二步,修改smali
文件。在第一步中,会将dex转成smali
格式的代码。对于smali
语言不太熟悉的话,可以先反编译,找到对应的类以及方法后,再去smali
文件夹中直接定位并修改。
第三步,重新打包。
1
apktool b old_output_path -o new_apk_path
第四部,签名。因为第三步中生成的apk包是没有签名的,无法安装到手机中,需要手动对它进行签名。JRE
自带签名工具,地址%jre_path%/bin
下。
1
jarsigner -keystore keystore_path unsign.apk keystore_alias