Home android反编译以及二次打包
Post
Cancel

android反编译以及二次打包

工具准备

  • 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
This post is licensed under CC BY 4.0 by the author.