Android安全基础
一、重新打包jar
(1)使用dx工具把jar转为dex
(2)使用baksmali的jar反编译dex
(3)修改smali代码
(4)使用smali的jar重新打包为dex
(5)使用dex-tools-2.1-SNAPSHOT.jar把dex转jar
(6)解包
(7)打包
二、重新打包jar的使用步骤
三、apktool下载地址
四、反编译apk的命令
五、打包apk的命令
六、APK批量打包工具
一、重新打包jar
baksmali.jar和smali.jar的下载地址
https://bitbucket.org/JesusFreke/smali/downloads/
(1)使用dx工具把jar转为dex
dx --dex --output=output.dex test.jar
(2)使用baksmali的jar反编译dex
java -jar baksmali-2.1.1.jar -o output output.dex
(3)修改smali代码
(4)使用smali的jar重新打包为dex
java -jar smali-2.1.1.jar -o output_release.dex output
(5)使用dex-tools-2.1-SNAPSHOT.jar把dex转jar
d2j-dex2jar output_release.dex
(6)解包
apktool d xxx.apk -r选项可以使得不解析资源,但AndroidManifest.xml也不会解析,此时无法添加gadget.so需要的socket权限
(7)打包
通过-f -p <empty path>选项使得打包时忽略这些资源
apktool b -f -p . xxx -o output.apk
或者单独通过其他程序解码AndroidManifest.xml,添加权限后再编码回目录中,此时可以直接apktool b打包
二、重新打包jar的使用步骤
三、apktool下载地址
https://bitbucket.org/iBotPeaches/apktool/downloads/
四、反编译apk的命令:
apktool d test.apk
java -jar apktool.jar d test.apk
五、打包apk的命令:
apktool b test
java -jar apktool.jar b test
六、APK批量打包工具