Mac Android apk 重打包 修改数据 签名校验

Mac  Android apk 重打包

1、 环境

前置条件必须安转java

  • apktool :https://ibotpeaches.github.io/Apktool/install
  • 1)安装Homebrew 
  • 2)​brew install apktool​
  • dex2jar:https://github.com/pxb1988/dex2jar
  • jd-gui:http://jd.benow.ca

 

2、解析数据得出源码

1)进入存放apk的位置 

2)执行 ​apktool d -s apk包名​

3)打开解析的文件,文件内会生成 classes.dex 文件(它就是java文件编译再通过dx工具打包而成的),移动到   dex2jar-2.0  文件内

4)cmd 命令内进入 dex2jar-2.0 文件内,输入 ​sh d2j-dex2jar.sh classes.dex ​

备注:如果报错  执行 sudo chmod +x d2j_invoke.sh

5)当前文件夹内会生成 classes-dex2jar.jar 文件,利用jd-gui-osx-1.6.6文件内的 应用JD-GUI  打开

 

3、反编译数据,修改数据

  1. Cmd 进入apk包存储的位置  输入 ​apktool d test.apk -f​,反编译出来的文件里,smali文件夹代替了上面的classes.dex;smali的目录结构与上面的class目录结构是相同的。
  1. 在smali 进行编辑修改保存即可

 

4 、apk重新打包

  1. Cmd 切换到文件目录下,输入 ​apktool b 文件名​;会在当前文件内的 dist 文件夹内生成未签名的apk文件
  1. 执行该命令会在当前目录下 生成一个abc.keystore证书文件。​keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore​
  1. 未签名的apk包 和签名文件保存在同一个问价下,
  • cmd 执行  ​jarsigner -verbose -keystore abc.keystore -signedjar 带签名的包名  未签名的包名  abc.keystore​
  •  备注:jarsigner -verbose -keystore [keystore路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [keystore别名]

 

 

你可能感兴趣的:(mac)