Android 逆向反编译apk

        首先需要安装apktool工具,当前使用版本为2.9.3,如下图所示

Android 逆向反编译apk_第1张图片

1.解包

apktool.sh d -r apk文件全路径 -o 包结果的保存路径

        通过上面命令可以获取当前apk的smali代码,通过修改smali代码可以满足不同的需求,smali相关教程可参考:https://github.com/JnuSimba/AndroidSecNotes/blob/master/Android%E9%80%86%E5%90%91%E5%9F%BA%E7%A1%80/smali%20%E8%AF%AD%E6%B3%95.md

2.重打包

apktool.sh b smali文件路径 -o apk路径

3.生成keystore文件

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias officeAlias -storepass 123456 -keypass 123456

        签名生成keystore文件

mv my-release-key.jks /Users/xjq/Desktop/smaliFile/dist/

        移动到指定目录下

4.对齐apk

//首次次需配置环境变量
vim ~/.bash_profile
export PATH=${PATH}:/Users/xjq/Library/Android/sdk/build-tools/34.0.0
source ~/.bash_profile

//对齐 APK
zipalign -p -f -v 4 "步骤二生成的apk全路径" "对齐后apk要存放的路径"

5.进行签名

apksigner sign --ks "步骤三签名文件路径" --ks-key-alias officeAlias --ks-pass pass:123456 --v1-signing-enabled true --v2-signing-enabled true --out  "签名后的apk路径" -v "步骤4对齐后的apk路径"

6.安装

adb install 步骤5签名后的apk路径

你可能感兴趣的:(android)