Python实现Android Apk 加固及多渠道打包
Posted 安静的Sunny
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现Android Apk 加固及多渠道打包相关的知识,希望对你有一定的参考价值。
前言
道高一尺,魔高一丈。现如今只做混淆的apk,在smali逆向中,可以说是裸奔。鉴于此,各大佬也都针对自己的应用进行了加固处理(加固原理自找度娘),与此同时,市面上各主流平台也都开源推出了自己的应用加固工具,比如360加固助手。
我们海豚睡眠就是采用360加固,然后再配合美团新一代打包神器walle,来打渠道包上线的。
基本流程就是:apk包 —-》 360加固 —–》多渠道打包—–》上线
这里有个麻烦的地方,就是360加固助手是可视化操作,而walle是用的shell脚本,每次加固都得打开360加固助手手动选取apk包,那么有没有一种更好的方式来统一操作加固及打包呢?答案是肯定的,经过2天对Python的摸索,现学现卖,终于可以实现如题的功能。
一、Python环境搭建
就这2天的体验的来说,python给个人的感觉就是轻,容易上手,再具体的我也说不上来1234了,各位自行Google。
Python的环境搭建(windows平台)很简单:
1,去Python官网下载:http://www.python.org/;
2,选择python-xxxx.msi 文件下载(比如我下载的是python-2.7.13.msi);
3,双击进行安装;
4,安装完成后,记得在path中设置环境变量;
5,配置完成,打开cmd,输入python,有打印版本号等就说明安装成功。
二、下载360加固助手
1,加固助手下载地址:http://jiagu.360.cn/qcmshtml/details.html#helper
2,解压双击“360加固助手.exe”:
注:这一步的主要目的就是为了帮你通过打开的360加固助手客户端进行账号注册,如果已经有账号,这一步可以略过。
三、下载python打包工具
此工具我取名叫 PythonPackageTool,大家可以直接下载这个压缩包。
下面就这个压缩工具包的部分文件作下简要说明:
1,python脚本 comm_multipackage.py:
用Atom等文本编辑工具或 IDEA工具打开 comm_multipackage.py,定位到15行:
# 签名信息相关
keystorePath = os.path.join(baseDir, "xxxxx.keystore")
keystore_alias = "xxxx"
keystore_pass = "xxxx"
key_pass = "xxxxx"
各位记得把上面的签名信息修改为自己应用申请的签名信息。否则会签名失败。
然后再定位至94行:
os.system("java -jar jiagu.jar -login " + _360JiaguUserName + " " + _360JiaguPwd)
各位可以将上面代码中的_360JiaguUserName 与_360JiaguPwd变量修改为自己在360加固助手上注册的账号与密码,这样可省去每次都在命令窗口输入。
2,channelFile多渠道配置文件
#百度/91应用商店
P0010C00001
#360应用商店
P0010C00002
#应用宝
P0010C00003
这个没什么可说的,根据美团的来配置就好了,将上面的P****渠道号改成自己的就Ok了。
3,运行脚本
在PythonPackageTool解压目录下,按shift+鼠标右键,在弹出的Dialog中选择:在此处打开命令窗口(M),然后在cmd中输入python comm_multipackage.py 回车,如图:
注:如果cmd窗口发现汉字乱码,是因为我的python脚本是用utf-8编码的,这时得把cmd也切换到 utf-8编码:
chcp 65001
或者将comm_multipackage.py文件的头部UTF-8改为GBK:
#!/usr/bin/python
# -*- coding: GBK -*-
运行如图:
四、结果
待加固,多渠道打包结束后,apk存放在/mulipackage/cache/apks目录下:
这个渠道包的名字前半部分可以修改,比如:DolphinSleep_v1.1.2_release_P0010C00001.apk,前半部分指:* DolphinSleep_v1.1.2_release*
如果想改成别的名字,则在脚本刚开始执行的时候,它有提示* Please Input ApkName!*,你输入的这个名字就是用来对最后的渠道包进行重命名的,如果在开始你没有输入,那它将截取加固apk的apkname进行命名。
五、题外话
Python开发工具,大伙可以选择 PythonCharm,
这个PC要激活码,大家可以选择server,然后输入http://idea.imsxm.com/
就可以进行激活了。
以上是关于Python实现Android Apk 加固及多渠道打包的主要内容,如果未能解决你的问题,请参考以下文章