Python实现Android Apk 加固及多渠道打包
来源:互联网 发布:stc15f104w数据手册 编辑:程序博客网 时间:2024/06/05 04:31
前言
道高一尺,魔高一丈。现如今只做混淆的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 加固及多渠道打包
- Java实现Android APK多渠道打包
- android apk多渠道打包
- Android多渠道打包APK
- Android apk多渠道 打包
- Android多渠道打包apk
- Android Apk 多渠道打包
- Android中apk多渠道打包----友盟打包实现步骤
- Android studio APK 加固打包
- 脚本实现apk多渠道打包
- Android 使用Python实现多渠道打包实践
- Android 使用Python实现多渠道打包
- Android APK打包(多渠道)
- Android应用市场(发布APK)及多渠道打包
- Android APK签名及友盟多渠道打包
- Android Studio 友盟api实现apk多渠道打包
- android 二次打包完成apk多渠道打包
- Android项目APK打包And多渠道打包
- 六-3 检查和编辑页面和样式 检查动画
- 四种会话跟踪技术?
- Mybatis学习笔记--(三)使用注解
- 几种流行的数据库SQL分页
- JavaWeb中的request对象和reponse对象
- Python实现Android Apk 加固及多渠道打包
- gdb fork 多进程调试
- Byte[]和byte[]的转换
- HTTP、HTTPS
- bootstrap基础之二
- 权限
- 如何使用Vue中的slot
- Object doesn't support property or method 'validate' 错误
- 100 零崎的朋友很多Ⅰ