Skip to content

Commit 54be090

Browse files
committed
新增360加固
1 parent 5b6bb38 commit 54be090

File tree

205 files changed

+21466
-10
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+21466
-10
lines changed

app/build.gradle

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ apply plugin: 'kotlin-android'
33
apply plugin: 'kotlin-android-extensions'
44
apply plugin: 'kotlin-kapt'
55
apply from: '../channel.gradle'
6+
apply from: '../protect.gradle'
7+
apply from: '../uploadpgy.gradle'
68

79
kapt {
810
generateStubs = true
@@ -20,10 +22,10 @@ android {
2022
}
2123
signingConfigs {
2224
release {
23-
keyAlias 'github'
24-
keyPassword 'fmt123456'
25-
storeFile file('../github')
26-
storePassword 'fmt123456'
25+
keyAlias rootProject.ext.signing.keyAlias
26+
keyPassword rootProject.ext.signing.keyPassword
27+
storeFile file(rootProject.ext.signing.storeFile)
28+
storePassword rootProject.ext.signing.storePassword
2729
}
2830
}
2931

@@ -58,17 +60,17 @@ dependencies {
5860
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
5961
implementation project(path: ':common')
6062
testImplementation 'junit:junit:4.13.2'
61-
androidTestImplementation 'androidx.test:runner:1.3.0'
62-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
63+
androidTestImplementation 'androidx.test:runner:1.4.0'
64+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
6365
implementation 'androidx.recyclerview:recyclerview:1.2.1'
64-
implementation 'com.google.android.material:material:1.3.0'
66+
implementation 'com.google.android.material:material:1.4.0'
6567

6668
//协程
6769
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0'
6870
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
6971

7072
//Android KTX 是一组 Kotlin 扩展程序,属于 Android Jetpack 系列
71-
implementation 'androidx.core:core-ktx:1.5.0'
73+
implementation 'androidx.core:core-ktx:1.6.0'
7274
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
7375
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
7476
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
@@ -89,7 +91,7 @@ dependencies {
8991
implementation "androidx.navigation:navigation-ui-ktx:2.3.5"
9092

9193
//paging
92-
implementation "androidx.paging:paging-runtime-ktx:3.1.0-alpha01"
94+
implementation "androidx.paging:paging-runtime-ktx:3.1.0-alpha02"
9395

9496
//WorkManager
9597
implementation "androidx.work:work-runtime-ktx:2.6.0-beta01"

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2+
apply from: './config.gradle'
3+
24
buildscript {
35
ext.kotlin_version = '1.5.10'
46
repositories {

channel.gradle

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ dependencies {
55
//多渠道
66
api 'com.leon.channel:helper:2.0.3'
77
}
8+
//直接编译生成多渠道包
89
channel {
910
//指定渠道文件
1011
channelFile = file("../channel.txt")
@@ -19,3 +20,16 @@ channel {
1920
//低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头的内容块读取到内存,在手机上合成APK时,可以使用该模式
2021
lowMemory = false
2122
}
23+
//根据已有基础包重新生成多渠道包
24+
rebuildChannel {
25+
//指定渠道文件
26+
channelFile = new File("../channel.txt")
27+
//baseDebugApk = new File(project.buildDir, "outputs/packers/app-release_10_jiagu_sign.apk")
28+
baseReleaseApk = new File(project.buildDir, "outputs/packers/app-release_28_jiagu_sign.apk")
29+
//debugOutputDir = new File(project.buildDir, "outputs/rebuildChannel/debug")
30+
releaseOutputDir = new File(project.buildDir, "outputs/rebuildChannel/release")
31+
//快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false)
32+
isFastMode = false
33+
//低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头的内容块读取到内存,在手机上合成APK时,可以使用该模式
34+
lowMemory = false
35+
}

config.gradle

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// 签名配置
2+
ext {
3+
signing = [
4+
keyAlias : 'github',
5+
keyPassword : 'fmt123456',
6+
storeFile : "../github",
7+
storePassword: 'fmt123456'
8+
]
9+
10+
// app相关的配置
11+
app = [
12+
//默认release apk的文件路径,因为加固是基于release包的
13+
releasePath: "${project.buildDir}/outputs/apk/release",
14+
//对release apk 加固后产生的加固apk地址
15+
packersPath: "${project.buildDir}/outputs/packers",
16+
]
17+
18+
// 360加固配置
19+
packers = [account : '15112453213', //账号
20+
password: 'fmt123456', //密码
21+
jarPath : "../jiagu/jiagu.jar", //执行命令的jar包路径
22+
]
23+
}

gradle.properties

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,7 @@ android.enableJetifier=true
2020
# Kotlin code style for this project: "official" or "obsolete":
2121
kotlin.code.style=official
2222
android.databinding.enableV2=true
23-
kapt.incremental.apt = false
23+
kapt.incremental.apt = false
24+
25+
#是否开启多渠道打包
26+
BUILD_MULTI_FLAVOR=true

jiagu/faq.txt

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
<p>
2+
<font size="14px" color="black"><strong>一、登陆问题</strong></font>
3+
</p>
4+
<p>
5+
<font size="14px" color="black">Q:Mac版加固助手打不开怎么办?
6+
<br/>A:请参考mac打不开解决办法:<a href="https://pan.baidu.com/s/17JmukyIUK89Z86v-B3t0OQ"> https://pan.baidu.com/s/17JmukyIUK89Z86v-B3t0OQ</a>&nbsp;&nbsp;提取码:2yhc
7+
</font><br/>
8+
</p>
9+
<p>
10+
<br/>
11+
</p>
12+
13+
<p>
14+
<font size="14px" color="black"><strong>二、签名问题</strong></font>
15+
</p>
16+
<p>
17+
<font size="14px" color="black">Q:签名失败怎么办?
18+
<br/>A:请检查以下情况:
19+
<br/>(1)签名文件是否完好,可以删掉原签名,重新导入试试
20+
<br/>(2)密码是否正确
21+
<br/>(3)WinXP系统下运行可能会出错,请使用尽量使用WIN7操作系统
22+
<br/>(4)Mac电脑,请尝试给签名所在文件夹开放777权限试下
23+
</font><br/>
24+
</p>
25+
<p>
26+
<font size="14px" color="black">Q:加固后的签名方式是V1还是V2?
27+
<br/>A:(1)启用自动签名,加固会自动匹配原包签名方式
28+
<br/>&nbsp;(2)使用签名apk工具:有两个签名方式供选择,其中V2(full APKsignature)相当于选择v1+v2方式
29+
</font><br/>
30+
</p>
31+
<p>
32+
<font size="14px" color="black">Q: 签名失败的原因大致有哪些?
33+
<br/>A:签名失败时请确认下面三种情况是否正确:
34+
<br/>(1)签名文件是否完好
35+
<br/>(2)密码是否正确
36+
<br/>(3)WinXP系统下运行可能会出错,请使用尽量使用WIN7操作系统
37+
</font><br/>
38+
</p>
39+
<p>
40+
<font size="14px" color="black">Q:加固保会上传开发者的的签名文件吗?
41+
<br/>A:不会,请开发者放心使用。
42+
</font><br/>
43+
</p>
44+
45+
<p>
46+
<font size="14px" color="black"><strong>三、多渠道打包问题</strong></font>
47+
</p>
48+
<p>
49+
<font size="14px" color="black">Q:为什么我选了两个渠道,出来3个包?
50+
<br/>A:两个渠道包,还有一个是360加固完的包。
51+
</font><br/>
52+
</p>
53+
<p>
54+
<font size="14px" color="black">Q:多渠道配置里“统计平台”、“市场名称”、“渠道编号”分别代表什么意思?
55+
<br/>A:统计平台:即android name,应用中集成的数据分析sdk的公司名称,例:umeng_channel(下拉列表里提供了若干选项);
56+
<br/>&nbsp;市场名称:各大安卓应用分发市场(下拉列表里提供了Top20的市场供选择),以帮助开发者区分不同渠道包特征上传相对应市场;
57+
<br/>&nbsp;渠道编号:即android value,一般填写相关channel id。用户可自行定义区分各大市场的关键字,可以是英文、数字、汉字等。
58+
</font><br/>
59+
</p>
60+
<p>
61+
<font size="14px" color="black">Q:打渠道包失败提示insert xml into zip failed或者modify xml failed?
62+
<br/>A:网络不稳定,请更换网络或者连接4G热点多渠道试试。
63+
</font><br/>
64+
</p>
65+
<p>
66+
<font size="14px" color="black"><strong>四、错误码解释</strong></font>
67+
</p>
68+
<p>
69+
<font size="14px" color="black">Q:109-重试3次后,上传仍然失败
70+
<br/>A:(1)请检查公司网络是否有限制yunpan.360.cn;如果没有限制,请去加固保官网下载新版加固助手可以解决此问题
71+
<br/>&nbsp;(2)如果没有限制,请去加固保官网下载新版加固助手可以解决此问题
72+
</font><br/>
73+
</p>
74+
<p>
75+
<font size="14px" color="black">Q:错误码:20001/20002
76+
<br/>A:IP异常登录失败超限/账户登录失败超限
77+
<br/>&nbsp;反馈此问题,请附上截图,发邮件至官方邮箱:[email protected]
78+
79+
</font><br/>
80+
</p>
81+
<p>
82+
<font size="14px" color="black">Q:错误码:13000
83+
<br/>A:登录鉴权失败,请尝试重新登录
84+
</font><br/>
85+
</p>
86+
<p>
87+
<font size="14px" color="black">Q:上传风险apk多次,账号被封
88+
<br/>A:请将apk发送至[email protected] 并抄送[email protected] 检测无误后,即可解封
89+
</font><br/>
90+
</p>
91+
92+
<p>
93+
<font size="14px" color="black">Q:错误码:11101/11102/11103/11105/11106
94+
<br/>A:main异常1/2/3/5/6,反馈此问题,请附上截图,发邮件至官方邮箱:[email protected]
95+
</font><br/>
96+
</p>
97+
<p>
98+
<font size="14px" color="black">Q:11104-main异常4
99+
<br/>分包问题,如果使用的自动分包,请将自动分包改成手动分包
100+
</font><br/>
101+
</p>
102+
103+
<p>
104+
<font size="14px" color="black">Q:错误码:11011/11013
105+
<br/>A:获取签名失败/更新解析信息失败,反馈此问题,请附上截图,发邮件至官方邮箱:[email protected]
106+
</font><br/>
107+
</p>
108+
109+
<p>
110+
<font size="14px" color="black">Q:错误码:11030/11032
111+
<br/>加固结果包丢失/加固包bodyHash获取失败,反馈此问题,请附上截图,发邮件至官方邮箱:[email protected]
112+
</font><br/>
113+
</p>
114+
115+
<p>
116+
<font size="14px" color="black">Q:错误码:11040
117+
<br/>解析appInfoKey失败,反馈此问题,请附上截图,发邮件至官方邮箱:[email protected]
118+
</font><br/>
119+
</p>
120+
<p>
121+
<font size="14px" color="black">Q:错误码:11041/11042
122+
<br/>获取加固数据失败/获取加固过程状态失败,反馈此问题,请附上截图,发邮件至官方邮箱:[email protected]
123+
</font><br/>
124+
</p>
125+
126+
<p>
127+
<font size="14px" color="black">Q:错误码:11012
128+
<br/>aapt解析失败,请检查AndroidMainfest.xml文件里application:label、application:icon等信息是否完整或者android:name、android:versionName类型是否是string类型
129+
</font><br/>
130+
</p>
131+
<p>
132+
<font size="14px" color="black">Q:错误码:11020/11021
133+
<br/>安检DANGER/安检CAUTION,请将apk发送至[email protected] 检测,检测通过后重新提交加固
134+
</font><br/>
135+
</p>
136+
<p>
137+
<font size="14px" color="black">Q:签名解析为空/签名解析失败
138+
<br/>加固后没有二次签名,请给加固后的包再次签名/请检查再次签名文件是否与原包签名一致
139+
</font><br/>
140+
</p>
141+
<p>
142+
<font size="14px" color="black">Q:11011-获取签名失败
143+
<br/>首先,请稍后重新加固试试,查看是否可以加固成功;其次,如果不成功,请检查原包是否可以正常安装,自检原包问题
144+
</font><br/>
145+
</p>
146+
<p>
147+
<font size="14px" color="black">Q:11031-加固包存储失败/11043-下载原包失败
148+
<br/>网络不稳定导致的加固包存储失败,请稍后删除原加固记录,重试
149+
</font><br/>
150+
</p>
151+
152+
<p>
153+
<br/>
154+
</p>

jiagu/help.txt

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
-login <username> 首次使用必须先登录 <360用户名>
2+
<password> <登录密码>
3+
-importsign <keystore_path> 导入签名信息 <密钥路径>
4+
<keystore_password> <密钥密码>
5+
<alias> <别名>
6+
<alias_password> <别名密码>
7+
-importmulpkg <mulpkg_filepath> 导入多渠道配置信息,txt格式
8+
-showsign 查看已配置的签名信息
9+
-showmulpkg 查看已配置的多渠道信息
10+
-deletemulpkg 清除已配置的多渠道信息
11+
-help 显示帮助信息
12+
-config 配置加固可选项
13+
----------------------可选增强服务-------------------------------
14+
[-crashlog] 【崩溃日志分析】
15+
[-x86] 【x86支持】
16+
[-analyse] 【加固数据分析】
17+
[-nocert] 【跳过签名校验】
18+
[-piracy] 【盗版监测】
19+
----------------------高级加固选项-------------------------------
20+
[-vmp] 【全VMP保护】
21+
[-data] 【本地数据文件保护】
22+
[-assets] 【资源文件保护】
23+
[-filecheck] 【文件完整性校验】
24+
[-ptrace] 【Ptrace防注入】
25+
[-so] 【SO文件保护】
26+
[-dex2c] 【dex2C保护】
27+
[-string_obfus] 【字符串加密】
28+
[-dex_shadow] 【DexShadow】
29+
[-so_private] 【SO防盗用】
30+
[-double_check] 【双开检测】
31+
-----------------------------------------------------------------
32+
-config_so 配置需要加固的SO文件,以空格分隔
33+
-config_assets 配置需要忽略的资源文件,以空格分隔
34+
-config_so_private 配置防盗用的SO文件,以空格分隔
35+
36+
-showconfig 显示已配置加固项
37+
-version 显示当前版本号
38+
-update 升级到最新版本
39+
-jiagu <inputAPKpath> 加固命令 <APK路径>
40+
<outputPath> <输出路径>
41+
[-autosign] 【自动签名】
42+
[-automulpkg] 【自动多渠道】
43+
[-pkgparam mulpkg_filepath] 【自定义文件生成多渠道】

jiagu/java/LICENSE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Please refer to https://java.com/bc_license

jiagu/java/README

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Please refer to http://java.com/licensereadme

0 commit comments

Comments
 (0)