您的位置:首页 > 编程语言 > Python开发

Python实现Android Apk 加固及多渠道打包

2017-10-26 11:29 381 查看

前言

道高一尺,魔高一丈。现如今只做混淆的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/

就可以进行激活了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息