Commit c4a19aa1 by sikang

update

parent 3f258fca
{ {
"//root":"project根目录", "//root":"project根目录, 运行目录下的相对路径 或 绝对路径",
"root" : "../..", "root" : "../..",
"//properties" : "gradle.properties路径", "//properties" : "gradle.properties路径",
...@@ -11,12 +11,22 @@ ...@@ -11,12 +11,22 @@
"lib_base/src/main" "lib_base/src/main"
], ],
"//api_mapping":"api混淆文件的路径 'root' 下的相对路径", "//api_mapping":"api混淆文件的路径: 'root' 下的相对路径",
"api_mapping":"script/api_mapping", "api_mapping":"script/api_mapping",
"//":"", "//":"",
"":"", "":"",
"//":"",
"":"",
"//":"",
"":"",
"//":"",
"":"",
"//apk_path" : "要加固的apk位置", "//apk_path" : "要加固的apk位置",
"apk_path" : "要加固的apk位置", "apk_path" : "要加固的apk位置",
......
import json import json
from tools.garble.activity_garble import ActivityGarble from tools.garble.activity_garble import ActivityGarble
from tools.garble.api_garble import ApiGarble from tools.garble.api_garble import ApiGarble
from tools.garble.manifest_grable import ManifestGarble
from func import Function from func import Function
...@@ -14,10 +15,12 @@ properties = Function().load_properties(config_json['properties']) ...@@ -14,10 +15,12 @@ properties = Function().load_properties(config_json['properties'])
config = config_json.copy() config = config_json.copy()
config.update(properties) config.update(properties)
print(" ")
print(" 使用帮助 ") print("使用帮助")
print("1、activity类名混淆") print("1、activity类名混淆")
print("2、api混淆(针对 Retrofit 注解)") print("2、api混淆(针对 Retrofit 注解)")
print("3、manifest混淆 在包路径中随机插入Activity并注册")
print(" ")
command = int(input("请输入指令编号:")) command = int(input("请输入指令编号:"))
...@@ -27,3 +30,7 @@ if command == 1: ...@@ -27,3 +30,7 @@ if command == 1:
elif command == 2: elif command == 2:
ApiGarble().api_garble(config) ApiGarble().api_garble(config)
elif command == 3:
#注意: src/main/java 目录下,只能是目录,不可以有文件
ManifestGarble().manifest_garble(config)
\ No newline at end of file
...@@ -128,11 +128,4 @@ class ClassBuilder: ...@@ -128,11 +128,4 @@ class ClassBuilder:
.replace("${pkg_name}",pkg_name) .replace("${pkg_name}",pkg_name)
return class_content return class_content
# for var_code in self.__variables:
# print(var_code)
# for func_code in self.__functions:
# print(func_code)
if __name__ == "__main__":
ClassBuilder().new_class("test","test")
...@@ -44,15 +44,10 @@ class ManifestGarble: ...@@ -44,15 +44,10 @@ class ManifestGarble:
def manifest_garble(self, config): def manifest_garble(self, config):
for main_dir in config['lib_main']:
print("generating activity ...") print("generating activity ...")
app_activities = self.__create_activities("%s/app/src/main/java"%config["root"]) activities = self.__create_activities("%s/%s/java"%(config["root"], main_dir))
base_activities = self.__create_activities("%s/lib_base/src/main/java"%config["root"])
print("inster activity to manifest ...") print("inster activity to manifest ...")
self.__insert_to_manifest("%s/app/src/main/AndroidManifest.xml"%config["root"],app_activities) self.__insert_to_manifest("%s/%s/AndroidManifest.xml"% (config["root"], main_dir), activities)
self.__insert_to_manifest("%s/lib_base/src/main/AndroidManifest.xml"%config["root"],base_activities)
print("done") print("done")
if __name__ == "__main__":
ManifestGarble().manifest_garble({})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment