本帖最后由 tlc123 于 2022-11-24 15:07 编辑
上一篇 当时最后提过一个问题,就是如果不用MT管理器,是否可以自己来重新打包呢?今天我们就这个问题继续开动。
MT管理器,帮我们进行了编译、打包和签名,如果不依赖MT管理器,是否也可以呢?
1、apktool
编译和反编译apk,从apk中提取图片和布局资源
Apktool - How to Install
1、Download Windows wrapper script (Right click, Save Link As apktool.bat)
2、Download apktool-2 (find newest here)
3、Rename downloaded jar to apktool.jar
4、Move both files (apktool.jar & apktool.bat) to your Windows directory (Usually C://Windows)
5、If you do not have access to C://Windows, you may place the two files anywhere then add that directory to your Environment Variables System PATH variable.
6、Try running apktool via command prompt
2、apksigner
这个是Android的一个build-tools工具,主要功能是签名,在该目录下面:[Asm] 纯文本查看 复制代码 C:\Users\xxx\AppData\Local\Android\Sdk\build-tools\26.0.2\apksigner.bat
一般来说会有很多个版本,应该用那个都行
3、反编译
[Asm] 纯文本查看 复制代码 apktool.bat d test.apk -o <output_dir>
4、修改smali
通过之前的分析,我们其实是知道需要改哪里的,所以不需要分析,直接动手
4.1、第一处
[Asm] 纯文本查看 复制代码 com.hustzp.com.xichuangzhu.utils.a1
在smali_classes2下面找到了,然后搜索"premiumMembership",增加红框内容
4.2、第二处
[Asm] 纯文本查看 复制代码 com.hustzp.com.xichuangzhu.books.BookIntroActivity
在smali_classes2下面找到了,然后搜索"领取成功"
发现在这几个smali里面搜索不到,别灰心,咱们转换一下
然后搜索\u9886\u53d6\u6210\u529f
找到了,并且注释掉红框里面的代码
5、编译
[Asm] 纯文本查看 复制代码 apktool.bat b <input_dir> -o <output.apk> - 其中就是上面反编译输出的目录
- <ouput.apk>是编译的输出结果,默认为dist/.apk
这个时候安装,会有如下提示:
6、签名
[Asm] 纯文本查看 复制代码 apksigner.bat sign --ks test.jks --ks-key-alias test --out signed.apk unsigned.apk
1、--ks 你的.jks文件路径
2、--ks-key-alias 你的签名文件的别名
3、--out 输出签名后的目标路径
4、unsigned.apk 未签名的原始apk文件路径
7、结果
|