【反破解】Obfuz/KedrExtension 动态开关:将 KedrExtension 移至 Tool/Obfuz 外部目录,打包时由 setup_obfuz.sh 在 Unity 启动前动态拷入/清理,Jenkins Obfuz 开关统一控制混淆、OpCode Shuffle 和多态 DLL

Made-with: Cursor
main
刘涛 2026-03-12 13:11:18 +08:00
parent debc921f37
commit 04164dc333
29 changed files with 21 additions and 14 deletions

5
.gitignore vendored
View File

@ -105,3 +105,8 @@ ProjectNLD/Assets/Code/Scripts/GamePlay.meta
ProjectNLD/Assets/Code/Scripts/GamePlay_Dll/GamePlay.dll.meta ProjectNLD/Assets/Code/Scripts/GamePlay_Dll/GamePlay.dll.meta
ProjectNLD/CLAUDE.md ProjectNLD/CLAUDE.md
ProjectNLD/.claude ProjectNLD/.claude
# Obfuz/KedrExtension 动态拷入的文件(由 setup_obfuz.sh 管理)
ProjectNLD/Assets/Editor/KedrExtension/
ProjectNLD/Assets/Editor/KedrExtension.meta
ProjectNLD/ProjectSettings/KedrExtensionSettings.asset

View File

@ -73,20 +73,25 @@ class BuildLauncher
if (ObfuzSettings.Instance.buildPipelineSettings.enable) if (ObfuzSettings.Instance.buildPipelineSettings.enable)
{ {
// GenerateObfuzLinkXml();
ObfuzMenu.GenerateEncryptionVM(); ObfuzMenu.GenerateEncryptionVM();
ObfuzMenu.SaveSecretFile(); ObfuzMenu.SaveSecretFile();
// obfuz 的 generate all var kedrType = Type.GetType("KedrExtensionMenu, Assembly-CSharp-Editor");
// PrebuildCommandExt.GenerateAll(); if (kedrType != null)
KedrExtensionMenu.GenerateAll(); {
var method = kedrType.GetMethod("GenerateAll",
BindingFlags.Public | BindingFlags.Static);
method?.Invoke(null, null);
}
else
{
Debug.LogWarning("[Obfuz] KedrExtensionMenu not found, falling back to PrebuildCommandExt");
PrebuildCommandExt.GenerateAll();
}
} }
else else
{ {
// #region 未接入Obfuz
PrebuildCommand.GenerateAll(); PrebuildCommand.GenerateAll();
// #endregion
} }
HotUpadeEditorHelper.CopyHotUpdateDll(); HotUpadeEditorHelper.CopyHotUpdateDll();

View File

@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 2f924162a120446a945bec50417f2be6
timeCreated: 1769251206

@ -1 +1 @@
Subproject commit 0a421ace23a885ad4c6102f1f92e81237cb73219 Subproject commit e34df460b0329a2326e22193dbebada574037b78

View File

@ -90,6 +90,6 @@ MonoBehaviour:
text: Obfuscated by Obfuz text: Obfuscated by Obfuz
signatureLength: 256 signatureLength: 256
polymorphicDllSettings: polymorphicDllSettings:
enable: 1 enable: 0
codeGenerationSecretKey: obfuz-phxh-polymorphic-check-dll codeGenerationSecretKey: obfuz-phxh-polymorphic-check-dll
disableLoadStandardDll: 1 disableLoadStandardDll: 0

@ -1 +1 @@
Subproject commit a46840afd8585396b02348436521c75e598c80db Subproject commit 3db9a2dc871f4d33a07414e6d21da3fa1c66d89c