查看原文
其他

Android安全基础

gyp880115 哆啦安全 2022-05-24

一、重新打包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批量打包工具 






您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存