apktool反编译、签名、编译

这几天工作需要研究了一下apktool

1、下载和安装

官网下载地址
https://ibotpeaches.github.io/Apktool/install/
在这里插入图片描述
先check一下自己的Java JDK的版本,然后在本地新建了个apktool文件夹
1)下载apktool.bat,右键点击wrapper script,链接另存为…,把下载的文件放到apktool文件夹下,名字保存为apktool.bat;
2)下载apktool.jar文件,点击find newest here,跳到下载页,下载最新版本。
3)把下载的jar文件重新命名为:apktool.jar。
4)配置环境变量,如果保存在C盘Windows下,就不用配置环境变量。
5)检查是否安装成功apktool -version出现刚才下载jar文件的版本号就成功了。如果不成功,先检查Java JDK版本 ;再检查apktool的环境变量;再检查apktool.bat文件是不是有内容(我之前出现了这种情况,不知道为啥apktool.bat是空的,重新下载正常了)

2、反编译apk

apktool d test.apk(需要反编译apk包的名字)
执行完成之后,会在apktool文件夹下生成一个tets文件夹
然后就可以修改了(smali文件对应的就是java代码,可以对smali文件做直接修改)
命令行输入apktool b test -o new_test.apk,会生成一个名为new_test的apk包
然后可以尝试装到手机上了,会发现不能安装,是因为这个包没有签名

3、签名生成

命令行输入keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore
-genkey 产生证书文件
-alias 产生别名
-keystore 指定密钥库的.keystore文件中
-keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
-validity 为证书有效天数
签名文件生成后,在apktool文件夹里面多了一个abc.keystore文件
(如果你的命令行显示乱码,不要慌,一步一步输入下去即可)

4、编译和签名打包

命令行输入jarsigner -verbose -keystore abc.keystore -signedjar new_test_signed.apk new_test.apk abc.keystore
new_test_signed.apk为签名后的文件名
new_test.apk签名前的文件名
然后就有一个new_test_signed.apk文件生成了

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值