Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
lib_base
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sikang
lib_base
Commits
56b81889
Commit
56b81889
authored
Oct 25, 2019
by
sikang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update script
parent
661b0aaa
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
106 additions
and
51 deletions
+106
-51
python/config.json
+63
-0
python/help.py
+22
-0
python/main.py
+11
-8
python/tools/garble/activity_garble.py
+10
-43
No files found.
python/config.json
0 → 100644
View file @
56b81889
{
"//root"
:
"project根目录"
,
"root"
:
"../.."
,
"//properties"
:
"gradle.properties路径"
,
"properties"
:
"../../gradle.properties"
,
"//lib_main"
:
"所有加入混淆的library main目录,上面 'root' 配置下的相对路径"
,
"lib_main"
:[
"app/src/main"
,
"lib_base/src/main"
],
"//"
:
""
,
""
:
""
,
"//"
:
""
,
""
:
""
,
"//apk_path"
:
"要加固的apk位置"
,
"apk_path"
:
"要加固的apk位置"
,
"//jiagu_output"
:
"360加固输出路径"
,
"jiagu_output"
:
"/Users/connor/Documents/apks"
,
"//jiagu_account"
:
"360加固 账号"
,
"jiagu_account"
:
"15902141504"
,
"//jiagu_pwd"
:
"360加固 密码"
,
"jiagu_pwd"
:
"qwqw10010"
,
"//jiagu_jar"
:
"jiagu.jar路径"
,
"jiagu_jar"
:
"/Users/connor/Documents/resources/app/jiagubao/jiagu/jiagu.jar"
,
"//activities"
:
"需要混淆的类名,匹配方式 endswith() ,如 加入Activity.java 则所有Activity结尾的类加入混淆"
,
"activities"
:
[
"Activity.java"
,
"Bean.java"
,
"Fragment.java"
,
"Receiver.java"
,
"CertifyActiviy.java"
,
"BaseApplication.java"
,
"ContactEntity.java"
,
"SmsEntity.java"
,
"ActivityCenter.java"
,
"Service.java"
,
"Collector.java"
,
"BannerMessageDto.java"
,
"BasicAck.java"
,
"InviteResult.java"
,
"LoanAppBeanFatherStatusLogs.java"
,
"LoanRange.java"
,
"PhotoInfo.java"
,
"IncomeMessageProto.java"
,
"ResponseErrorBody.java"
,
"RecordFilesResponse.java"
,
"TotalAmount.java"
,
"UserBankInfo.java"
,
"YWUser.java"
]
}
\ No newline at end of file
python/help.py
0 → 100644
View file @
56b81889
import
json
#读取config.json配置
config_json
=
{}
with
open
(
"config.json"
,
"r"
,
encoding
=
"utf-8"
)
as
fin
:
config_json
=
json
.
loads
(
fin
.
read
())
#加入properties配置
properties
=
Function
()
.
load_properties
(
config_json
[
'properties'
])
config
=
config_json
.
copy
()
config
.
update
(
properties
)
print
(
" 使用帮助 "
)
print
(
"1、activity类名混淆"
)
command
=
int
(
input
(
"请输入指令编号:"
))
if
command
==
1
:
#配置参数 config.json - activities
\ No newline at end of file
python/main.py
View file @
56b81889
...
...
@@ -9,18 +9,21 @@ from tools.garble.manifest_grable import ManifestGarble
from
tools.sdk_manager
import
SdkManager
import
os
import
shutil
import
json
config_json
=
{}
with
open
(
"config.json"
,
"r"
,
encoding
=
"utf-8"
)
as
fin
:
config_json
=
json
.
loads
(
fin
.
read
())
properties
=
Function
()
.
load_properties
(
config_json
[
'properties'
])
config
=
config_json
.
copy
()
config
.
update
(
properties
)
# properties 配置
config
=
Function
()
.
load_properties
(
"../../gradle.properties"
)
config
[
'root'
]
=
"../.."
config
[
'jks_path'
]
=
"../../jks"
config
[
'properties'
]
=
"../../gradle.properties"
config
[
'apk_path'
]
=
"../../resGuardApks/
%
s_
%
s_release.apk"
%
(
config
[
"corp_id"
],
config
[
"app_name"
]
.
replace
(
" "
,
"_"
))
config
[
'jiagu_output'
]
=
"/Users/connor/Documents/apks"
config
[
'jiagu_account'
]
=
"15902141504"
config
[
'jiagu_pwd'
]
=
"qwqw10010"
config
[
'jiagu_jar'
]
=
"/Users/connor/Documents/resources/app/jiagubao/jiagu/jiagu.jar"
print
(
" "
)
...
...
python/tools/garble/activity_garble.py
View file @
56b81889
...
...
@@ -4,32 +4,7 @@ import string
import
random
class
ActivityGarble
:
target
=
[
"Activity.java"
,
"Bean.java"
,
"Fragment.java"
,
"Receiver.java"
,
"CertifyActiviy.java"
,
"BaseApplication.java"
,
"ContactEntity.java"
,
"SmsEntity.java"
,
"ActivityCenter.java"
,
"Service.java"
,
"Collector.java"
,
"BannerMessageDto.java"
,
"BasicAck.java"
,
"InviteResult.java"
,
"LoanAppBeanFatherStatusLogs.java"
,
"LoanRange.java"
,
"PhotoInfo.java"
,
"IncomeMessageProto.java"
,
"ResponseErrorBody.java"
,
"RecordFilesResponse.java"
,
"TotalAmount.java"
,
"UserBankInfo.java"
,
"YWUser.java"
]
__config
=
{}
used_names
=
[]
activity_mapping
=
{}
...
...
@@ -68,7 +43,7 @@ class ActivityGarble:
directory
=
os
.
path
.
join
(
os
.
getcwd
(),
root
)
for
file
in
files
:
is_activity
=
False
for
file_name
in
self
.
target
:
for
file_name
in
self
.
__config
[
'activities'
]
:
if
file
.
endswith
(
file_name
):
is_activity
=
True
...
...
@@ -91,28 +66,21 @@ class ActivityGarble:
#四大组件混淆
def
activity_garble
(
self
,
config
):
self
.
__config
=
config
#找到要混淆的java文件
print
(
"find activity..."
)
self
.
__find_activities
(
"
%
s/app/src/main"
%
config
[
'root'
])
self
.
__find_activities
(
"
%
s/lib_base/src/main"
%
config
[
'root'
]
)
for
main_dir
in
config
[
'lib_main'
]:
self
.
__find_activities
(
"
%
s/
%
s"
%
(
config
[
'root'
],
main_dir
)
)
#开始混淆
print
(
"start garble .java..."
)
self
.
__process_files
(
"
%
s/app/src/main"
%
config
[
'root'
])
self
.
__process_files
(
"
%
s/lib_base/src/main"
%
config
[
'root'
]
)
for
main_dir
in
config
[
'lib_main'
]:
self
.
__process_files
(
"
%
s/
%
s"
%
(
config
[
'root'
],
main_dir
)
)
#混淆AndroidManifest.xml
print
(
"start garble 混淆AndroidManifest.xml ..."
)
manifest_path
=
os
.
path
.
join
(
"
%
s/app/src/main/"
%
config
[
'root'
],
"AndroidManifest.xml"
)
self
.
__process_file_content
(
manifest_path
,
"AndroidManifest.xml"
)
lib_manifest_path
=
os
.
path
.
join
(
"
%
s/lib_base/src/main/"
%
config
[
'root'
],
"AndroidManifest.xml"
)
self
.
__process_file_content
(
lib_manifest_path
,
"AndroidManifest.xml"
)
for
main_dir
in
config
[
'lib_main'
]:
manifest_path
=
os
.
path
.
join
(
"
%
s/
%
s"
%
(
config
[
'root'
],
main_dir
),
"AndroidManifest.xml"
)
self
.
__process_file_content
(
manifest_path
,
"AndroidManifest.xml"
)
print
(
"done"
)
if
__name__
==
"__main__"
:
#project 根目录
config
=
{
"root"
:
"../../../../"
}
ActivityGarble
()
.
activity_garble
(
config
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment