[Tool] iOS-Code-Verschleierung-Tool-iOS-Quellcode-Verschleierung

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. !!
tree_fun_4.png

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

Supongo que te gusta

Origin blog.csdn.net/u014220518/article/details/128871035
Recomendado
Clasificación