Letzter Update-Datensatz
V2.0.3 (11. Dezember 2022) Aktualisierungsinhalt:
1. Fügen Sie die Logik zum Importieren der Mapping-Liste hinzu;
2. Optimieren und beheben Sie andere verwirrende Logik;
3. Adresse aktualisieren - github
Die Hauptfunktion
ZFJObsLib ist ein professionelles Tool zur Verschleierung von iOS-Quellcode. Zu den spezifischen Funktionen gehören Methodenverschleierung, Attributverschleierung, Klassennamenverschleierung, Schlüsselwortverschleierung, Hinzufügen von Garbage-Code, automatisches Erstellen von Garbage-Klassen, Löschen von Kommentaren, Ändern von Ressourcendatei-Hash-Werten, Verschlüsseln von Zeichenfolgen und Renovieren Ressourcenname, künstliche Verschleierung, verschleierter Dateiname, verschleiertes Dateiverzeichnis, verschleierter Thesaurus, verschleiertes Protokoll, Mapping-Liste, Filterung sensibler Wörter, Bildkomprimierung, Crawler-Dienst, geänderter Projektname, überarbeitete Projekt-UUID, automatische Sicherung verschleierter Projekte, benutzerdefinierte Attribute ignorieren, benutzerdefinierte Ignorieren-Funktionen, benutzerdefinierte Ignorieren-Klassennamen, magische Änderungen der Schnittstellenfarbe usw. !!
Code-Verschleierung
In Bezug auf die Code-Verschleierung verschleiert es hauptsächlich den differenzierten Originalcode aus vier Aspekten: Attribut-Verschleierung, Funktions-Verschleierung, Klassennamen-Verschleierung und Schlüsselwort-Verschleierung. Benutzer können auch den Grad der Verschleierung wählen!
Ressourcensanierung
Für die Bildressourcendateien im Projekt kann die Software nicht nur ihren HASH-Wert ändern und den Namen der Ressourcendatei automatisch aktualisieren, sondern der Ressourcendatei auch ein verwirrendes Präfix hinzufügen!
Müllcode
Für Projekte mit weniger Quellcode und einfacherer Logik kann die Software Müllcode zu bestehenden Klassen hinzufügen und automatisch darauf verweisen, und kann auch Müllklassen erstellen und automatisch instanziieren und aufrufen!
verschlüsselte Zeichenfolge
Verschlüsseln und schützen Sie die Klartextzeichenfolgen im Projekt, um zu verhindern, dass wichtige Geschäftscodes von Tools wie IDA abgerufen werden!
Kommentar löschen
Die Software kann automatisch alle Arten von Kommentarcodes im Projekt mit einem Klick löschen, um zu verhindern, dass Codelogik ausläuft!
Projektrahmen für Verschleierung
Die Software unterscheidet den Projektrahmen, indem sie den Projektnamen ändert, das Projektverzeichnis verwirrt und die UUID mit einem Klick erneuert!
Sensible Wortfilterung
Für die Kartenüberprüfung oder -ablehnung aufgrund sensibler Wörter, die möglicherweise im Quellcode zitiert werden, kann die Software nach sensiblen Wörtern suchen und diese automatisch ersetzen!
Magische Veränderung der Benutzeroberfläche
Wenn Sie die Benutzeroberfläche nicht ändern und den Quellcode direkt ins Regal stellen möchten, können Sie die Benutzeroberflächenansicht durch die magische Änderung der Oberflächenfarbe ändern!
der Code
# -*- coding: utf-8 -*-
# @Author: zfjsyqk
# @Date: 2022-07-03 00:37:53
# @Last Modified by: zfjsyqk
# @Last Modified time: 2023-01-11 22:04:38
# ---------- FLutter混淆的主入口 ----------
import os
import subprocess
from ObsSecurity import *
from ObsFlutterReview import *
from ObsFlutterVariable import *
from ObsFlutterClassName import *
from ObsFlutterMethod import *
from ObsFlutterResourceName import *
from ObsFlutterDeleteNotes import *
from ObsFlutterResourceHash import *
from ObsFlutterUUID import *
from ObsFlutterLog import *
# 单利
_personinfo = ZFJPersoninfo()
# 开始混淆了
def flutter_obscure_main(project_path, obscure_list):
if is_can_obscure() == False: return
init_flutter_obscure_data()
_personinfo.flutterProjectPath = project_path
prefix_word = ''
start_review_project(project_path)
if 'KObsFlutterVariableKey' in obscure_list:
start_obscure_variable_constant_with_project(project_path, prefix_word)
else:
pass
if 'KObsFlutterClassNameKey' in obscure_list:
start_obscure_class_with_project_path(project_path, prefix_word)
else:
pass
if 'KObsFlutterMethodNameKey' in obscure_list:
start_obscure_method_with_project_path(project_path, prefix_word)
else:
pass
if 'KObsFlutterResourceHashKey' in obscure_list:
start_update_recource_hash(project_path)
else:
pass
if 'KObsFlutterResourceNameKey' in obscure_list:
start_obscure_resource_name_with_project_path(project_path, prefix_word)
else:
pass
if 'KObsFlutterDeleteNotesKey' in obscure_list:
start_delete_all_notes(project_path)
else:
pass
if 'KObsFlutterUUIDKey' in obscure_list:
start_update_flutter_uuid(project_path)
else:
pass
end_flutter_obscure(project_path)
def end_flutter_obscure(project_path):
global _personinfo
_personinfo.flutterProjectPath = None
export_flutter_map_list(project_path)
_personinfo.root_path = None
obs_flutter_title('Flutter obfuscation has ended.')
if _personinfo != None and _personinfo.flutterRootView != None:
_personinfo.flutterRootView.endFlutterObscure()
else:
pass
def flutter_root_view_maplist(map_list_str):
global _personinfo
if _personinfo == None: return
if _personinfo.flutterRootView == None: return
_personinfo.flutterRootView.addMapListEdit(map_list_str)
Geben Sie einen kleinen Stern, wenn es Ihnen gefällt ⭐️⭐️⭐️
https://github.com/zfjsyqk/ZFJObsLib