360加固的自动化处理脚本

Android应用很容易被反编译,为了保护源码,通常都会进行混淆、加固操作,以此来增加破解难度。国内提供加固服务的公司也不少,像梆梆、爱加密、360加固都是使用者比较多的服务。我们的应用从一开始就在使用360的免费加固服务,每次发版都要登录、上传、加固、下载、重签名等操作,戳来戳去实在是麻烦,尽管360提供了客户端工具,每次都要戳来戳去我还是不大愿意的,今天抽空根据360提供的客户端工具的手册,简单写了个自动登录、加固、重签名脚本,基于Python2。

 

 1 # coding=utf-8
 2 import os
 3 import subprocess
 4 
 5 #base cmd
 6 java = "java360"
 7 cmd = '-jar'
 8 jar = 'jiagu/jiagu.jar'
 9 #login
10 cmd_login = '-login'
11 name = ''
12 pwd = ''
13 #sign
14 cmd_sign = '-importsign'
15 key_path = ''
16 key_pwd = ''
17 alise = ''
18 alise_pwd = ''
19 #jiagu
20 cmd_jiagu = '-jiagu'
21 apkTarget = ''
22 apkOutPutPath = ''
23 #autosign
24 cmd_autosign = '-autosign'
25 #showsign
26 cmd_showsign = '-showsign'
27 
28 #get target apk and keystore
29 for file in os.listdir('.'):
30     if os.path.isfile(file):
31         extension = os.path.splitext(file)[1][1:]
32         if 'apk' in extension:
33             apkTarget = os.path.basename(file)
34         if "keystore" in extension:
35             key_path = os.path.basename(file)
36 
37 apkOutPutPath = os.getcwd()
38 
39 auto_login_cmd = [java,cmd,jar,cmd_login,name,pwd]
40 auto_importsign_cmd = [java,cmd,jar,cmd_sign,key_path,key_pwd,alise,alise_pwd]
41 auto_show_sign_cmd = [java,cmd,jar,cmd_showsign]
42 auto_jiagu_sign_cmd = [java,cmd,jar,cmd_jiagu,apkTarget,apkOutPutPath,cmd_autosign]
43 
44 subprocess.call(auto_login_cmd)
45 subprocess.call(auto_importsign_cmd)
46 subprocess.call(auto_show_sign_cmd)
47 subprocess.call(auto_jiagu_sign_cmd)

 

line 11,12:

360账户密码

 

line 16,17,18

签名文件的三个秘钥(反正就是那三个

 

登录、导入签名秘钥只需执行一次,360会记录

此脚本需结合360提供的客户端工具中的命令行工具,其中的java执行程序是360修改的,为了方便调用复制一个命名为java360(貌似不能直接改,重签名操作需要360的java)

配置好以后将签名文件(*.keystore)和所要加固的APK拷贝至脚本同一目录,运行脚本即可,命令行会输出相关运行信息。

 

配置好的工程已放至Github:https://github.com/xlf2630/autoBuild

由于工程包含了360的工具包,比较大,可自行下载360工具包再拷贝Python脚本放至同一目录,作相应修改即可。

 

posted @ 2016-09-12 21:27  XULINGFENG  阅读(3520)  评论(0编辑  收藏  举报