don't call androguard when not necessary
This commit is contained in:
parent
56534b6576
commit
9f9593e505
1 changed files with 10 additions and 8 deletions
|
|
@ -89,14 +89,16 @@ def check_app_result(
|
||||||
dex = DEX(dex_bin)
|
dex = DEX(dex_bin)
|
||||||
classes_by_cl[cl_id].extend(dex.get_classes())
|
classes_by_cl[cl_id].extend(dex.get_classes())
|
||||||
|
|
||||||
apk_name = f"{path.name}.apk"
|
# Don't do androguard scan when there is no other dynloading
|
||||||
apk = APK(str(app_folder / apk_name))
|
if len(data["dyn_code_load"]) != 0:
|
||||||
cl_id = data["apk_cl_id"]
|
apk_name = f"{path.name}.apk"
|
||||||
if cl_id not in classes_by_cl:
|
apk = APK(str(app_folder / apk_name))
|
||||||
classes_by_cl[cl_id] = []
|
cl_id = data["apk_cl_id"]
|
||||||
for dex_bin in apk.get_all_dex():
|
if cl_id not in classes_by_cl:
|
||||||
dex = DEX(dex_bin)
|
classes_by_cl[cl_id] = []
|
||||||
classes_by_cl[cl_id].extend(dex.get_classes())
|
for dex_bin in apk.get_all_dex():
|
||||||
|
dex = DEX(dex_bin)
|
||||||
|
classes_by_cl[cl_id].extend(dex.get_classes())
|
||||||
|
|
||||||
nb_class_collision = 0
|
nb_class_collision = 0
|
||||||
already_found: set[str] = set()
|
already_found: set[str] = set()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue