【ツール】iOSコード難読化ツール - iOSソースコード難読化

最新の更新記録

V2.0.3 (2022 年 12 月 11 日) 更新内容:

1. マッピング リストをインポートするロジックを追加します。

2. 他の紛らわしいロジックを最適化および修正します。

3.アドレスの更新 - github

主な機能

ZFJObsLib は iOS ソース コード難読化ツールです. 具体的な機能としては, メソッドの難読化, 属性の難読化, クラス名の難読化, キーワードの難読化, ガベージ コードの追加, ガベージ クラスの自動作成, コメントの削除, リソース ファイルのハッシュ値の変更, 文字列の暗号化, 改修などがあります.リソース名、人為的な難読化、難読化されたファイル名、難読化されたファイル ディレクトリ、難読化されたシソーラス、難読化されたログ、マッピング リスト、センシティブ ワード フィルタリング、画像圧縮、クローラー サービス、変更されたプロジェクト名、改修されたプロジェクト UUID、難読化されたプロジェクトの自動バックアップ、カスタム無視属性、カスタム無視関数、カスタム無視クラス名、インターフェイス カラー マジックの変更など!!
tree_fun_4.png

コードの難読化

コードの難読化については、主に属性難読化、関数難読化、クラス名難読化、キーワード難読化の4つの側面から差別化されたオリジナルコードを難読化し、難読化の度合いもユーザーが選択可能!

リソースの改修

プロジェクト内の画像リソース ファイルの場合、ソフトウェアはその HASH 値を変更し、リソース ファイル名を自動的に更新するだけでなく、リソース ファイルに紛らわしいプレフィックスを追加することもできます。

ガベージコード

ソース コードが少なくロジックが単純なプロジェクトの場合、ソフトウェアは既存のクラスにガベージ コードを追加して自動的に参照したり、ガベージ クラスを作成して自動的にインスタンス化したり呼び出したりすることができます。

暗号化された文字列

プロジェクト内の平文文字列を暗号化して保護し、主要なビジネス コードが IDA などのツールによって取得されるのを防ぎます。

コメントを削除

このソフトウェアは、プロジェクト内のすべてのタイプのコメント コードをワンクリックで自動的に削除して、コード ロジックの漏洩を防ぎます。

難読化プロジェクト フレームワーク

このソフトウェアは、プロジェクト名を変更し、プロジェクト ディレクトリを混乱させ、ワンクリックで UUID を刷新することで、プロジェクト フレームワークを差別化します。

センシティブ ワード フィルタリング

ソースコードで引用されている可能性のあるセンシティブな単語が原因でカードのレビューや拒否が発生した場合、ソフトウェアはセンシティブな単語を検索して自動的に置き換えることができます。

インターフェース魔法変更

UI を変更してソース コードをシェルフに直接置きたくない場合は、インターフェイスの色を魔法のように変更して UI ビューを変更できます。

コード

# -*- 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)

気に入ったら星を少し付けてください⭐️⭐️⭐️
https://github.com/zfjsyqk/ZFJObsLib

おすすめ

転載: blog.csdn.net/u014220518/article/details/128871035