diff --git a/.gitignore b/.gitignore
index a4fe18b..60816c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,398 +3,14 @@
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
-# User-specific files
-*.rsuser
-*.suo
-*.user
-*.userosscache
-*.sln.docstates
+**/Library/
+**/Logs/
+**/Temp/
-# User-specific files (MonoDevelop/Xamarin Studio)
-*.userprefs
+**/.vs/
+**/bin/
+**/obj/
-# Mono auto generated files
-mono_crash.*
-# Build results
-[Dd]ebug/
-[Dd]ebugPublic/
-[Rr]elease/
-[Rr]eleases/
-x64/
-x86/
-[Ww][Ii][Nn]32/
-[Aa][Rr][Mm]/
-[Aa][Rr][Mm]64/
-bld/
-[Bb]in/
-[Oo]bj/
-[Ll]og/
-[Ll]ogs/
-
-# Visual Studio 2015/2017 cache/options directory
-.vs/
-# Uncomment if you have tasks that create the project's static files in wwwroot
-#wwwroot/
-
-# Visual Studio 2017 auto generated files
-Generated\ Files/
-
-# MSTest test Results
-[Tt]est[Rr]esult*/
-[Bb]uild[Ll]og.*
-
-# NUnit
-*.VisualState.xml
-TestResult.xml
-nunit-*.xml
-
-# Build Results of an ATL Project
-[Dd]ebugPS/
-[Rr]eleasePS/
-dlldata.c
-
-# Benchmark Results
-BenchmarkDotNet.Artifacts/
-
-# .NET Core
-project.lock.json
-project.fragment.lock.json
-artifacts/
-
-# ASP.NET Scaffolding
-ScaffoldingReadMe.txt
-
-# StyleCop
-StyleCopReport.xml
-
-# Files built by Visual Studio
-*_i.c
-*_p.c
-*_h.h
-*.ilk
-*.meta
-*.obj
-*.iobj
-*.pch
-*.pdb
-*.ipdb
-*.pgc
-*.pgd
-*.rsp
-# but not Directory.Build.rsp, as it configures directory-level build defaults
-!Directory.Build.rsp
-*.sbr
-*.tlb
-*.tli
-*.tlh
-*.tmp
-*.tmp_proj
-*_wpftmp.csproj
-*.log
-*.tlog
-*.vspscc
-*.vssscc
-.builds
-*.pidb
-*.svclog
-*.scc
-
-# Chutzpah Test files
-_Chutzpah*
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opendb
-*.opensdf
-*.sdf
-*.cachefile
-*.VC.db
-*.VC.VC.opendb
-
-# Visual Studio profiler
-*.psess
-*.vsp
-*.vspx
-*.sap
-
-# Visual Studio Trace Files
-*.e2e
-
-# TFS 2012 Local Workspace
-$tf/
-
-# Guidance Automation Toolkit
-*.gpState
-
-# ReSharper is a .NET coding add-in
-_ReSharper*/
-*.[Rr]e[Ss]harper
-*.DotSettings.user
-
-# TeamCity is a build add-in
-_TeamCity*
-
-# DotCover is a Code Coverage Tool
-*.dotCover
-
-# AxoCover is a Code Coverage Tool
-.axoCover/*
-!.axoCover/settings.json
-
-# Coverlet is a free, cross platform Code Coverage Tool
-coverage*.json
-coverage*.xml
-coverage*.info
-
-# Visual Studio code coverage results
-*.coverage
-*.coveragexml
-
-# NCrunch
-_NCrunch_*
-.*crunch*.local.xml
-nCrunchTemp_*
-
-# MightyMoose
-*.mm.*
-AutoTest.Net/
-
-# Web workbench (sass)
-.sass-cache/
-
-# Installshield output folder
-[Ee]xpress/
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish/
-
-# Publish Web Output
-*.[Pp]ublish.xml
-*.azurePubxml
-# Note: Comment the next line if you want to checkin your web deploy settings,
-# but database connection strings (with potential passwords) will be unencrypted
-*.pubxml
-*.publishproj
-
-# Microsoft Azure Web App publish settings. Comment the next line if you want to
-# checkin your Azure Web App publish settings, but sensitive information contained
-# in these scripts will be unencrypted
-PublishScripts/
-
-# NuGet Packages
-*.nupkg
-# NuGet Symbol Packages
-*.snupkg
-# The packages folder can be ignored because of Package Restore
-**/[Pp]ackages/*
-# except build/, which is used as an MSBuild target.
-!**/[Pp]ackages/build/
-# Uncomment if necessary however generally it will be regenerated when needed
-#!**/[Pp]ackages/repositories.config
-# NuGet v3's project.json files produces more ignorable files
-*.nuget.props
-*.nuget.targets
-
-# Microsoft Azure Build Output
-csx/
-*.build.csdef
-
-# Microsoft Azure Emulator
-ecf/
-rcf/
-
-# Windows Store app package directories and files
-AppPackages/
-BundleArtifacts/
-Package.StoreAssociation.xml
-_pkginfo.txt
-*.appx
-*.appxbundle
-*.appxupload
-
-# Visual Studio cache files
-# files ending in .cache can be ignored
-*.[Cc]ache
-# but keep track of directories ending in .cache
-!?*.[Cc]ache/
-
-# Others
-ClientBin/
-~$*
-*~
-*.dbmdl
-*.dbproj.schemaview
-*.jfm
-*.pfx
-*.publishsettings
-orleans.codegen.cs
-
-# Including strong name files can present a security risk
-# (https://github.com/github/gitignore/pull/2483#issue-259490424)
-#*.snk
-
-# Since there are multiple workflows, uncomment next line to ignore bower_components
-# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
-#bower_components/
-
-# RIA/Silverlight projects
-Generated_Code/
-
-# Backup & report files from converting an old project file
-# to a newer Visual Studio version. Backup files are not needed,
-# because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
-UpgradeLog*.htm
-ServiceFabricBackup/
-*.rptproj.bak
-
-# SQL Server files
-*.mdf
-*.ldf
-*.ndf
-
-# Business Intelligence projects
-*.rdl.data
-*.bim.layout
-*.bim_*.settings
-*.rptproj.rsuser
-*- [Bb]ackup.rdl
-*- [Bb]ackup ([0-9]).rdl
-*- [Bb]ackup ([0-9][0-9]).rdl
-
-# Microsoft Fakes
-FakesAssemblies/
-
-# GhostDoc plugin setting file
-*.GhostDoc.xml
-
-# Node.js Tools for Visual Studio
-.ntvs_analysis.dat
-node_modules/
-
-# Visual Studio 6 build log
-*.plg
-
-# Visual Studio 6 workspace options file
-*.opt
-
-# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
-*.vbw
-
-# Visual Studio 6 auto-generated project file (contains which files were open etc.)
-*.vbp
-
-# Visual Studio 6 workspace and project file (working project files containing files to include in project)
-*.dsw
-*.dsp
-
-# Visual Studio 6 technical files
-*.ncb
-*.aps
-
-# Visual Studio LightSwitch build output
-**/*.HTMLClient/GeneratedArtifacts
-**/*.DesktopClient/GeneratedArtifacts
-**/*.DesktopClient/ModelManifest.xml
-**/*.Server/GeneratedArtifacts
-**/*.Server/ModelManifest.xml
-_Pvt_Extensions
-
-# Paket dependency manager
-.paket/paket.exe
-paket-files/
-
-# FAKE - F# Make
-.fake/
-
-# CodeRush personal settings
-.cr/personal
-
-# Python Tools for Visual Studio (PTVS)
-__pycache__/
-*.pyc
-
-# Cake - Uncomment if you are using it
-# tools/**
-# !tools/packages.config
-
-# Tabs Studio
-*.tss
-
-# Telerik's JustMock configuration file
-*.jmconfig
-
-# BizTalk build output
-*.btp.cs
-*.btm.cs
-*.odx.cs
-*.xsd.cs
-
-# OpenCover UI analysis results
-OpenCover/
-
-# Azure Stream Analytics local run output
-ASALocalRun/
-
-# MSBuild Binary and Structured Log
-*.binlog
-
-# NVidia Nsight GPU debugger configuration file
-*.nvuser
-
-# MFractors (Xamarin productivity tool) working folder
-.mfractor/
-
-# Local History for Visual Studio
-.localhistory/
-
-# Visual Studio History (VSHistory) files
-.vshistory/
-
-# BeatPulse healthcheck temp database
-healthchecksdb
-
-# Backup folder for Package Reference Convert tool in Visual Studio 2017
-MigrationBackup/
-
-# Ionide (cross platform F# VS Code tools) working folder
-.ionide/
-
-# Fody - auto-generated XML schema
-FodyWeavers.xsd
-
-# VS Code files for those working on multiple tools
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-*.code-workspace
-
-# Local History for Visual Studio Code
-.history/
-
-# Windows Installer files from build outputs
-*.cab
-*.msi
-*.msix
-*.msm
-*.msp
-
-# JetBrains Rider
-*.sln.iml
+*.vsconfig
+**/UserSettings/
diff --git a/DeobfuscateStackTrace/deobfuscated.log b/DeobfuscateStackTrace/deobfuscated.log
new file mode 100644
index 0000000..1803a9e
--- /dev/null
+++ b/DeobfuscateStackTrace/deobfuscated.log
@@ -0,0 +1,17 @@
+test stack trace
+UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
+UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
+UnityEngine.Logger:Log(LogType, Object)
+UnityEngine.Debug:Log(Object)
+Obfus2.TestStackTrace:Stack3()
+Obfus2.NestedClass`1:Stack2(TestStackTrace, Int32[], List`1, Banana)
+Obfus2.TestStackTrace:Stack1(Int64, UInt64, Single, Double, String, Object)
+Obfus2.TestStackTrace:Stack0(Byte, SByte, Int16, UInt16, Int32, UInt32)
+Tests.TC_StackTrace:PrintStackTrace()
+System.Reflection.RuntimeMethodInfo:InternalInvoke(Object, Object[], Exception&)
+System.Reflection.RuntimeMethodInfo:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
+System.Reflection.MethodBase:Invoke(Object, Object[])
+SharpUnit.TestCase:Run(TestResult)
+SharpUnit.TestSuite:Run(TestResult)
+TestRunner:Run()
+Bootstrap:Start()
diff --git a/DeobfuscateStackTrace/obfuscated.log b/DeobfuscateStackTrace/obfuscated.log
new file mode 100644
index 0000000..d772f37
--- /dev/null
+++ b/DeobfuscateStackTrace/obfuscated.log
@@ -0,0 +1,17 @@
+test stack trace
+UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
+UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
+UnityEngine.Logger:Log(LogType, Object)
+UnityEngine.Debug:Log(Object)
+F.g:A()
+F.G:a(g, Int32[], List`1, Banana)
+F.g:a(Int64, UInt64, Single, Double, String, Object)
+F.g:b(Byte, SByte, Int16, UInt16, Int32, UInt32)
+Tests.TC_StackTrace:PrintStackTrace()
+System.Reflection.RuntimeMethodInfo:InternalInvoke(Object, Object[], Exception&)
+System.Reflection.RuntimeMethodInfo:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
+System.Reflection.MethodBase:Invoke(Object, Object[])
+SharpUnit.TestCase:Run(TestResult)
+SharpUnit.TestSuite:Run(TestResult)
+TestRunner:Run()
+Bootstrap:Start()
\ No newline at end of file
diff --git a/Obfuz/Obfuz.Editor.csproj b/Obfuz/Obfuz.Editor.csproj
new file mode 100644
index 0000000..3e60133
--- /dev/null
+++ b/Obfuz/Obfuz.Editor.csproj
@@ -0,0 +1,1095 @@
+
+
+
+
+ 9.0
+
+
+ Debug
+ AnyCPU
+ 10.0.20506
+ 2.0
+
+ {61F9FC55-17B9-1093-9FB3-FCD0720BA981}
+ Library
+ Properties
+ Obfuz.Editor
+ v4.7.1
+ 512
+ .
+
+
+ 0169;USG0001
+ UNITY_2022_3_11;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;UNITY_EDITOR_ONLY_COMPILATION
+ True
+
+
+ true
+ full
+ false
+ Temp\bin\Debug\
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ Temp\bin\Release\
+ prompt
+ 4
+
+
+ true
+ true
+ false
+ false
+ false
+
+
+ {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Package
+ 2.0.23
+ Legacy
+ Editor:5
+ StandaloneWindows64:19
+ 2022.3.11f1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEditor.Graphs.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AppleTVSupport\UnityEditor.AppleTV.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\LinuxStandaloneSupport\UnityEditor.LinuxStandalone.Extensions.dll
+ False
+
+
+ Packages\com.code-philosophy.obfuz\Plugins\dnlib.dll
+ False
+
+
+ Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AppleTVSupport\UnityEditor.iOS.Extensions.Xcode.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.GradleProject.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll
+ False
+
+
+ Library\ScriptAssemblies\UnityEngine.TestRunner.dll
+ False
+
+
+ Library\ScriptAssemblies\UnityEditor.TestRunner.dll
+ False
+
+
+
+
+ {1FE2F0BF-BDED-ACA3-1B41-08AC3002B1B6}
+ Obfuz.Runtime
+
+
+
+
+
+
diff --git a/Obfuz/Obfuz.Runtime.csproj b/Obfuz/Obfuz.Runtime.csproj
new file mode 100644
index 0000000..6a495f8
--- /dev/null
+++ b/Obfuz/Obfuz.Runtime.csproj
@@ -0,0 +1,881 @@
+
+
+
+
+ 9.0
+
+
+ Debug
+ AnyCPU
+ 10.0.20506
+ 2.0
+
+ {1FE2F0BF-BDED-ACA3-1B41-08AC3002B1B6}
+ Library
+ Properties
+ Obfuz.Runtime
+ v4.7.1
+ 512
+ .
+
+
+ 0169;USG0001
+ UNITY_2022_3_11;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER
+ True
+
+
+ true
+ full
+ false
+ Temp\bin\Debug\
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ Temp\bin\Release\
+ prompt
+ 4
+
+
+ true
+ true
+ false
+ false
+ false
+
+
+ {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Package
+ 2.0.23
+ Legacy
+ Game:1
+ StandaloneWindows64:19
+ 2022.3.11f1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\Managed\UnityEditor.Graphs.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AppleTVSupport\UnityEditor.AppleTV.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\LinuxStandaloneSupport\UnityEditor.LinuxStandalone.Extensions.dll
+ False
+
+
+ Packages\com.code-philosophy.obfuz\Plugins\dnlib.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AppleTVSupport\UnityEditor.iOS.Extensions.Xcode.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.GradleProject.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll
+ False
+
+
+ D:\UnityHubs\2022.3.11f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll
+ False
+
+
+
+
+
+
diff --git a/Obfuz/Obfuz.sln b/Obfuz/Obfuz.sln
new file mode 100644
index 0000000..c019123
--- /dev/null
+++ b/Obfuz/Obfuz.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Obfuz.Editor", "Obfuz.Editor.csproj", "{61F9FC55-17B9-1093-9FB3-FCD0720BA981}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Obfuz.Runtime", "Obfuz.Runtime.csproj", "{1FE2F0BF-BDED-ACA3-1B41-08AC3002B1B6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {61F9FC55-17B9-1093-9FB3-FCD0720BA981}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {61F9FC55-17B9-1093-9FB3-FCD0720BA981}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {61F9FC55-17B9-1093-9FB3-FCD0720BA981}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {61F9FC55-17B9-1093-9FB3-FCD0720BA981}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1FE2F0BF-BDED-ACA3-1B41-08AC3002B1B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1FE2F0BF-BDED-ACA3-1B41-08AC3002B1B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1FE2F0BF-BDED-ACA3-1B41-08AC3002B1B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1FE2F0BF-BDED-ACA3-1B41-08AC3002B1B6}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Obfuz/Packages/com.code-philosophy.obfuz/.gitignore b/Obfuz/Packages/com.code-philosophy.obfuz/.gitignore
new file mode 100644
index 0000000..a4fe18b
--- /dev/null
+++ b/Obfuz/Packages/com.code-philosophy.obfuz/.gitignore
@@ -0,0 +1,400 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Ww][Ii][Nn]32/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+[Ll]ogs/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+# but not Directory.Build.rsp, as it configures directory-level build defaults
+!Directory.Build.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.tlog
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*.json
+coverage*.xml
+coverage*.info
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio 6 auto-generated project file (contains which files were open etc.)
+*.vbp
+
+# Visual Studio 6 workspace and project file (working project files containing files to include in project)
+*.dsw
+*.dsp
+
+# Visual Studio 6 technical files
+*.ncb
+*.aps
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# Visual Studio History (VSHistory) files
+.vshistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
+
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
+
+# Fody - auto-generated XML schema
+FodyWeavers.xsd
+
+# VS Code files for those working on multiple tools
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Local History for Visual Studio Code
+.history/
+
+# Windows Installer files from build outputs
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# JetBrains Rider
+*.sln.iml
diff --git a/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Conf/XmlAssemblyTypeMethodRuleParser.cs b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Conf/XmlAssemblyTypeMethodRuleParser.cs
new file mode 100644
index 0000000..aac0a66
--- /dev/null
+++ b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Conf/XmlAssemblyTypeMethodRuleParser.cs
@@ -0,0 +1,267 @@
+using dnlib.DotNet;
+using Obfuz.Utils;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml;
+using UnityEditor.VersionControl;
+using UnityEngine;
+
+namespace Obfuz.Conf
+{
+ public interface IRule
+ {
+ void InheritParent(T parentRule);
+ }
+
+
+ public interface IMethodRule where R: IRule
+ {
+ string Name { get; set; }
+ NameMatcher NameMatcher { get; set; }
+
+ R Rule { get; set; }
+ }
+
+ public abstract class MethodRuleBase : IMethodRule where R : IRule
+ {
+ public string Name { get; set; }
+ public NameMatcher NameMatcher { get; set; }
+
+ public R Rule { get; set; }
+ }
+
+ public interface ITypeRule where T: IMethodRule where R : IRule
+ {
+ string Name { get; set; }
+
+ NameMatcher NameMatcher { get; set; }
+
+ R Rule { get; set; }
+
+ List Methods { get; set; }
+ }
+
+ public abstract class TypeRuleBase : ITypeRule where T : IMethodRule where R : IRule
+ {
+ public string Name { get; set; }
+
+ public NameMatcher NameMatcher { get; set; }
+
+ public R Rule { get; set; }
+
+ public List Methods { get; set; }
+ }
+
+ public interface IAssemblyRule where TType : ITypeRule where TMethod : IMethodRule where TRule : IRule
+ {
+ string Name { get; set; }
+
+ TRule Rule { get; set; }
+
+ List Types { get; set; }
+ }
+ public abstract class AssemblyRuleBase : IAssemblyRule where TType : ITypeRule where TMethod : IMethodRule where TRule : IRule
+ {
+ public string Name { get; set; }
+
+ public TRule Rule { get; set; }
+
+ public List Types { get; set; }
+ }
+
+ public class XmlAssemblyTypeMethodRuleParser
+ where TMethod : IMethodRule, new()
+ where TType : ITypeRule, new()
+ where TAssembly : IAssemblyRule, new()
+ where TRule : IRule, new()
+ {
+ private readonly HashSet _toObfuscatedAssemblyNames;
+ private readonly Func _ruleParser;
+ private readonly Action _unknownNodeTypeHandler;
+ private readonly Dictionary _assemblySpecs = new Dictionary();
+
+ public XmlAssemblyTypeMethodRuleParser(IEnumerable toObfuscatedAssemblyNames, Func ruleParser, Action unknownNodeTypeHandler)
+ {
+ _toObfuscatedAssemblyNames = new HashSet(toObfuscatedAssemblyNames);
+ _ruleParser = ruleParser;
+ _unknownNodeTypeHandler = unknownNodeTypeHandler;
+ }
+
+ public Dictionary AssemblySpecs => _assemblySpecs;
+
+ public void LoadConfigs(IEnumerable configFiles)
+ {
+ foreach (var configFile in configFiles)
+ {
+ LoadConfig(configFile);
+ }
+ }
+
+ public void LoadConfig(string configFile)
+ {
+ if (string.IsNullOrEmpty(configFile))
+ {
+ throw new Exception($"Invalid xml file {configFile}, file name is empty");
+ }
+ Debug.Log($"ConfigurableObfuscationPolicy::LoadConfig {configFile}");
+ var doc = new XmlDocument();
+ doc.Load(configFile);
+ var root = doc.DocumentElement;
+ if (root.Name != "obfuz")
+ {
+ throw new Exception($"Invalid xml file {configFile}, root name should be 'obfuz'");
+ }
+ foreach (XmlNode node in root.ChildNodes)
+ {
+ if (!(node is XmlElement ele))
+ {
+ continue;
+ }
+ switch (ele.Name)
+ {
+ case "assembly":
+ {
+ TAssembly assSpec = ParseAssembly(configFile, ele);
+ _assemblySpecs.Add(assSpec.Name, assSpec);
+ break;
+ }
+ default:
+ {
+ if (_unknownNodeTypeHandler == null)
+ {
+ throw new Exception($"Invalid xml file {configFile}, unknown node {ele.Name}");
+ }
+ _unknownNodeTypeHandler(configFile, ele);
+ break;
+ }
+ }
+ }
+ }
+
+ private TAssembly ParseAssembly(string configFile, XmlElement ele)
+ {
+ var assemblySpec = new TAssembly();
+ string name = ele.GetAttribute("name");
+ if (!_toObfuscatedAssemblyNames.Contains(name))
+ {
+ throw new Exception($"Invalid xml file {configFile}, assembly name {name} isn't in toObfuscatedAssemblyNames");
+ }
+ if (_assemblySpecs.ContainsKey(name))
+ {
+ throw new Exception($"Invalid xml file {configFile}, assembly name {name} is duplicated");
+ }
+ assemblySpec.Name = name;
+ assemblySpec.Rule = _ruleParser(configFile, ele);
+
+ var types = new List();
+ assemblySpec.Types = types;
+ foreach (XmlNode node in ele.ChildNodes)
+ {
+ if (!(node is XmlElement childEle))
+ {
+ continue;
+ }
+ switch (childEle.Name)
+ {
+ case "type":
+ {
+ types.Add(ParseType(configFile, childEle));
+ break;
+ }
+ default:
+ {
+ throw new Exception($"Invalid xml file, unknown node {childEle.Name}");
+ }
+ }
+ }
+ return assemblySpec;
+ }
+
+ private TType ParseType(string configFile, XmlElement element)
+ {
+ var typeSpec = new TType();
+
+ string name = element.GetAttribute("name");
+ typeSpec.Name = name;
+ typeSpec.NameMatcher = new NameMatcher(name);
+ typeSpec.Rule = _ruleParser(configFile, element);
+
+ var methods = new List();
+ typeSpec.Methods = methods;
+ foreach (XmlNode node in element.ChildNodes)
+ {
+ if (!(node is XmlElement ele))
+ {
+ continue;
+ }
+ switch (ele.Name)
+ {
+ case "method":
+ {
+ methods.Add(ParseMethod(configFile, ele));
+ break;
+ }
+ default:
+ {
+ throw new Exception($"Invalid xml file, unknown node {ele.Name}");
+ }
+ }
+ }
+ return typeSpec;
+ }
+
+ private TMethod ParseMethod(string configFile, XmlElement element)
+ {
+ var methodSpec = new TMethod();
+ string name = element.GetAttribute("name");
+ methodSpec.Name = name;
+ methodSpec.NameMatcher = new NameMatcher(name);
+ methodSpec.Rule = _ruleParser(configFile, element);
+ return methodSpec;
+ }
+
+ public TRule GetMethodRule(MethodDef method, TRule defaultRule)
+ {
+ var assemblyName = method.DeclaringType.Module.Assembly.Name;
+ if (!_assemblySpecs.TryGetValue(assemblyName, out var assSpec))
+ {
+ return defaultRule;
+ }
+ string declaringTypeName = method.DeclaringType.FullName;
+ foreach (var typeSpec in assSpec.Types)
+ {
+ if (typeSpec.NameMatcher.IsMatch(declaringTypeName))
+ {
+ foreach (var methodSpec in typeSpec.Methods)
+ {
+ if (methodSpec.NameMatcher.IsMatch(method.Name))
+ {
+ return methodSpec.Rule;
+ }
+ }
+ return typeSpec.Rule;
+ }
+ }
+ return assSpec.Rule;
+ }
+
+ public void InheritParentRules(TRule defaultRule)
+ {
+ foreach (TAssembly assSpec in _assemblySpecs.Values)
+ {
+ assSpec.Rule.InheritParent(defaultRule);
+ foreach (TType typeSpec in assSpec.Types)
+ {
+ typeSpec.Rule.InheritParent(assSpec.Rule);
+ foreach (TMethod methodSpec in typeSpec.Methods)
+ {
+ methodSpec.Rule.InheritParent(typeSpec.Rule);
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Conf/XmlFieldRuleParser.cs b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Conf/XmlFieldRuleParser.cs
new file mode 100644
index 0000000..591271e
--- /dev/null
+++ b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Conf/XmlFieldRuleParser.cs
@@ -0,0 +1,208 @@
+using dnlib.DotNet;
+using Obfuz.Utils;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml;
+using UnityEditor.VersionControl;
+using UnityEngine;
+
+namespace Obfuz.Conf
+{
+
+
+
+ public class XmlFieldRuleParser where R : class, new()
+ {
+ private readonly HashSet _toObfuscatedAssemblyNames;
+ private readonly Func _ruleParser;
+ private readonly Action _unknownNodeTypeHandler;
+ private readonly Dictionary _assemblySpecs = new Dictionary();
+
+
+ private class FieldSpec
+ {
+ public string Name { get; set; }
+ public NameMatcher NameMatcher { get; set; }
+
+ public R Rule { get; set; }
+ }
+
+ private class TypeSpec
+ {
+ public string Name { get; set; }
+
+ public NameMatcher NameMatcher { get; set; }
+
+ public List Fields { get; set; }
+ }
+
+ private class AssemblySpec
+ {
+ public string Name { get; set; }
+
+ public List Types { get; set; }
+ }
+
+ public XmlFieldRuleParser(IEnumerable toObfuscatedAssemblyNames, Func ruleParser, Action unknownNodeTypeHandler)
+ {
+ _toObfuscatedAssemblyNames = new HashSet(toObfuscatedAssemblyNames);
+ _ruleParser = ruleParser;
+ _unknownNodeTypeHandler = unknownNodeTypeHandler;
+ }
+
+ public void LoadConfigs(IEnumerable configFiles)
+ {
+ foreach (var configFile in configFiles)
+ {
+ LoadConfig(configFile);
+ }
+ }
+
+ public void LoadConfig(string configFile)
+ {
+ if (string.IsNullOrEmpty(configFile))
+ {
+ throw new Exception($"Invalid xml file {configFile}, file name is empty");
+ }
+ var doc = new XmlDocument();
+ doc.Load(configFile);
+ var root = doc.DocumentElement;
+ if (root.Name != "obfuz")
+ {
+ throw new Exception($"Invalid xml file {configFile}, root name should be 'obfuz'");
+ }
+ foreach (XmlNode node in root.ChildNodes)
+ {
+ if (!(node is XmlElement ele))
+ {
+ continue;
+ }
+ switch (ele.Name)
+ {
+ case "assembly":
+ {
+ AssemblySpec assSpec = ParseAssembly(configFile, ele);
+ _assemblySpecs.Add(assSpec.Name, assSpec);
+ break;
+ }
+ default:
+ {
+ if (_unknownNodeTypeHandler == null)
+ {
+ throw new Exception($"Invalid xml file {configFile}, unknown node {ele.Name}");
+ }
+ _unknownNodeTypeHandler(configFile, ele);
+ break;
+ }
+ }
+ }
+ }
+
+ private AssemblySpec ParseAssembly(string configFile, XmlElement ele)
+ {
+ var assemblySpec = new AssemblySpec();
+ string name = ele.GetAttribute("name");
+ if (!_toObfuscatedAssemblyNames.Contains(name))
+ {
+ throw new Exception($"Invalid xml file {configFile}, assembly name {name} isn't in toObfuscatedAssemblyNames");
+ }
+ if (_assemblySpecs.ContainsKey(name))
+ {
+ throw new Exception($"Invalid xml file {configFile}, assembly name {name} is duplicated");
+ }
+ assemblySpec.Name = name;
+
+ var types = new List();
+ assemblySpec.Types = types;
+ foreach (XmlNode node in ele.ChildNodes)
+ {
+ if (!(node is XmlElement childEle))
+ {
+ continue;
+ }
+ switch (childEle.Name)
+ {
+ case "type":
+ {
+ types.Add(ParseType(configFile, childEle));
+ break;
+ }
+ default:
+ {
+ throw new Exception($"Invalid xml file, unknown node {childEle.Name}");
+ }
+ }
+ }
+ return assemblySpec;
+ }
+
+ private TypeSpec ParseType(string configFile, XmlElement element)
+ {
+ var typeSpec = new TypeSpec();
+
+ string name = element.GetAttribute("name");
+ typeSpec.Name = name;
+ typeSpec.NameMatcher = new NameMatcher(name);
+
+ var fields = new List();
+ typeSpec.Fields = fields;
+ foreach (XmlNode node in element.ChildNodes)
+ {
+ if (!(node is XmlElement ele))
+ {
+ continue;
+ }
+ switch (ele.Name)
+ {
+ case "field":
+ {
+ fields.Add(ParseField(configFile, ele));
+ break;
+ }
+ default:
+ {
+ throw new Exception($"Invalid xml file, unknown node {ele.Name}");
+ }
+ }
+ }
+ return typeSpec;
+ }
+
+ private FieldSpec ParseField(string configFile, XmlElement element)
+ {
+ var fieldSpec = new FieldSpec();
+ string name = element.GetAttribute("name");
+ fieldSpec.Name = name;
+ fieldSpec.NameMatcher = new NameMatcher(name);
+ fieldSpec.Rule = _ruleParser(configFile, element);
+ return fieldSpec;
+ }
+
+ public R GetFieldRule(FieldDef field)
+ {
+ var assemblyName = field.DeclaringType.Module.Assembly.Name;
+ if (!_assemblySpecs.TryGetValue(assemblyName, out var assSpec))
+ {
+ return null;
+ }
+ string declaringTypeName = field.DeclaringType.FullName;
+ foreach (var typeSpec in assSpec.Types)
+ {
+ if (typeSpec.NameMatcher.IsMatch(declaringTypeName))
+ {
+ foreach (var fieldSpec in typeSpec.Fields)
+ {
+ if (fieldSpec.NameMatcher.IsMatch(field.Name))
+ {
+ return fieldSpec.Rule;
+ }
+ }
+ }
+ }
+ return null;
+ }
+ }
+}
diff --git a/Obfuz/Packages/com.code-philosophy.obfuz/Editor/ConfigurablePassPolicy.cs b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/ConfigurablePassPolicy.cs
new file mode 100644
index 0000000..6d0fc7e
--- /dev/null
+++ b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/ConfigurablePassPolicy.cs
@@ -0,0 +1,547 @@
+using dnlib.DotNet;
+using Obfuz.ObfusPasses;
+using Obfuz.Utils;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml;
+using UnityEngine;
+
+namespace Obfuz
+{
+ public class ConfigurablePassPolicy
+ {
+ class PassRule
+ {
+ public ObfuscationPassType? enablePasses;
+ public ObfuscationPassType? disablePasses;
+ public ObfuscationPassType? addPasses;
+ public ObfuscationPassType? removePasses;
+ public ObfuscationPassType finalPasses;
+
+ public void InheritParent(PassRule parentRule, ObfuscationPassType globalEnabledPasses)
+ {
+ finalPasses = parentRule.finalPasses;
+ if (enablePasses != null)
+ {
+ finalPasses = enablePasses.Value;
+ }
+ if (disablePasses != null)
+ {
+ finalPasses = ~disablePasses.Value;
+ }
+ if (addPasses != null)
+ {
+ finalPasses |= addPasses.Value;
+ }
+ if (removePasses != null)
+ {
+ finalPasses &= ~removePasses.Value;
+ }
+ finalPasses &= globalEnabledPasses;
+ }
+ }
+
+ class SpecBase
+ {
+ public string name;
+ public NameMatcher nameMatcher;
+ public PassRule rule;
+ }
+
+ class MethodSpec : SpecBase
+ {
+ }
+
+ class FieldSpec : SpecBase
+ {
+ }
+
+ class PropertySpec : SpecBase
+ {
+ }
+
+ class EventSpec : SpecBase
+ {
+ }
+
+ class TypeSpec : SpecBase
+ {
+ public List fields = new List();
+ public List methods = new List();
+ public List properties = new List();
+ public List events = new List();
+ }
+
+ class AssemblySpec
+ {
+ public string name;
+ public NameMatcher nameMatcher;
+ public PassRule rule;
+ public List types = new List();
+ }
+
+ private readonly ObfuscationPassType _enabledPasses;
+ private readonly HashSet _toObfuscatedAssemblyNames;
+ private readonly List _assemblySpecs = new List();
+ private readonly PassRule _defaultPassRule;
+
+ private string _curLoadingConfig;
+
+ public ConfigurablePassPolicy(IEnumerable toObfuscatedAssemblyNames, ObfuscationPassType enabledPasses, List configFiles)
+ {
+ _toObfuscatedAssemblyNames = new HashSet(toObfuscatedAssemblyNames);
+ _enabledPasses = enabledPasses;
+ _defaultPassRule = new PassRule { finalPasses = enabledPasses };
+ LoadConfigs(configFiles);
+ InheritParentRules(enabledPasses);
+ }
+
+ private void LoadConfigs(IEnumerable configFiles)
+ {
+ foreach (var configFile in configFiles)
+ {
+ LoadConfig(configFile);
+ }
+ }
+
+ private void InheritParentRules(ObfuscationPassType enablePasses)
+ {
+ var defaultRule = new PassRule
+ {
+ enablePasses = enablePasses,
+ finalPasses = enablePasses,
+ };
+ foreach (AssemblySpec assSpec in _assemblySpecs)
+ {
+ assSpec.rule.InheritParent(defaultRule, enablePasses);
+ foreach (TypeSpec typeSpec in assSpec.types)
+ {
+ typeSpec.rule.InheritParent(assSpec.rule, enablePasses);
+ foreach (FieldSpec fieldSpec in typeSpec.fields)
+ {
+ fieldSpec.rule.InheritParent(typeSpec.rule, enablePasses);
+ }
+ foreach (MethodSpec methodSpec in typeSpec.methods)
+ {
+ methodSpec.rule.InheritParent(typeSpec.rule, enablePasses);
+ }
+ foreach (PropertySpec propertySpec in typeSpec.properties)
+ {
+ propertySpec.rule.InheritParent(typeSpec.rule, enablePasses);
+ }
+ foreach (EventSpec eventSpec in typeSpec.events)
+ {
+ eventSpec.rule.InheritParent(typeSpec.rule, enablePasses);
+ }
+ }
+ }
+ }
+
+ public void LoadConfig(string configFile)
+ {
+ if (string.IsNullOrEmpty(configFile))
+ {
+ throw new Exception($"Invalid xml file {configFile}, file name is empty");
+ }
+ _curLoadingConfig = configFile;
+
+ Debug.Log($"ConfigurablePassPolicy::LoadConfig {configFile}");
+ var doc = new XmlDocument();
+ doc.Load(configFile);
+ var root = doc.DocumentElement;
+ if (root.Name != "obfuz")
+ {
+ throw new Exception($"Invalid xml file {configFile}, root name should be 'obfuz'");
+ }
+ foreach (XmlNode node in root.ChildNodes)
+ {
+ if (!(node is XmlElement ele))
+ {
+ continue;
+ }
+ switch (ele.Name)
+ {
+ case "assembly":
+ {
+ AssemblySpec assSpec = ParseAssembly(ele);
+ _assemblySpecs.Add(assSpec);
+ break;
+ }
+ default:
+ {
+ throw new Exception($"Invalid xml file {configFile}, unknown node {ele.Name}");
+ }
+ }
+ }
+ }
+
+ (bool, ObfuscationPassType) ParseObfuscationType(string obfuscationPassTypesStr)
+ {
+ bool delta = false;
+ if (obfuscationPassTypesStr[0] == '+' || obfuscationPassTypesStr[0] == '-')
+ {
+ delta = true;
+ obfuscationPassTypesStr = obfuscationPassTypesStr.Substring(1);
+ }
+ ObfuscationPassType passType = ObfuscationPassType.None;
+ foreach (var passName in obfuscationPassTypesStr.Split('|'))
+ {
+ if (Enum.TryParse< ObfuscationPassType>(passName, out var pass))
+ {
+ passType |= pass;
+ }
+ else
+ {
+ throw new Exception($"Invalid xml file {_curLoadingConfig}, unknown pass type {passName}");
+ }
+ }
+ return (delta, passType);
+ }
+
+ private PassRule ParseRule(XmlElement ele)
+ {
+ var r = new PassRule();
+ if (ele.HasAttribute("enable"))
+ {
+ string enablePassStr = ele.GetAttribute("enable");
+ if (string.IsNullOrEmpty(enablePassStr))
+ {
+ throw new Exception($"Invalid xml file {_curLoadingConfig}, enable attribute is empty");
+ }
+ var (delta, passType) = ParseObfuscationType(enablePassStr);
+ if (delta)
+ {
+ r.addPasses = passType;
+ }
+ else
+ {
+ r.enablePasses = passType;
+ }
+ }
+ if (ele.HasAttribute("disable"))
+ {
+ string disablePassStr = ele.GetAttribute("disable");
+ if (string.IsNullOrEmpty(disablePassStr))
+ {
+ throw new Exception($"Invalid xml file {_curLoadingConfig}, disable attribute is empty");
+ }
+ var (delta, passType) = ParseObfuscationType(disablePassStr);
+ if (delta)
+ {
+ r.removePasses = passType;
+ }
+ else
+ {
+ r.disablePasses = passType;
+ }
+ }
+ if (r.enablePasses != null && (r.disablePasses != null || r.addPasses != null || r.removePasses != null))
+ {
+ throw new Exception($"Invalid xml file {_curLoadingConfig}, enable and disable can't be used together");
+ }
+ if (r.disablePasses != null && (r.enablePasses != null || r.addPasses != null || r.removePasses != null))
+ {
+ throw new Exception($"Invalid xml file {_curLoadingConfig}, disable and enable can't be used together");
+ }
+ return r;
+ }
+
+ private AssemblySpec ParseAssembly(XmlElement ele)
+ {
+ var assemblySpec = new AssemblySpec();
+ string name = ele.GetAttribute("name");
+ if (!_toObfuscatedAssemblyNames.Contains(name))
+ {
+ throw new Exception($"Invalid xml file {_curLoadingConfig}, assembly name {name} isn't in toObfuscatedAssemblyNames");
+ }
+ assemblySpec.name = name;
+ assemblySpec.nameMatcher = new NameMatcher(name);
+ assemblySpec.rule = ParseRule(ele);
+
+
+ var types = assemblySpec.types;
+ foreach (XmlNode node in ele.ChildNodes)
+ {
+ if (!(node is XmlElement childEle))
+ {
+ continue;
+ }
+ switch (childEle.Name)
+ {
+ case "type":
+ {
+ types.Add(ParseType(childEle));
+ break;
+ }
+ default:
+ {
+ throw new Exception($"Invalid xml file, unknown node {childEle.Name}");
+ }
+ }
+ }
+ return assemblySpec;
+ }
+
+ private TypeSpec ParseType(XmlElement element)
+ {
+ var typeSpec = new TypeSpec();
+
+ string name = element.GetAttribute("name");
+ typeSpec.name = name;
+ typeSpec.nameMatcher = new NameMatcher(name);
+ typeSpec.rule = ParseRule(element);
+
+ List fields = typeSpec.fields;
+ List methods = typeSpec.methods;
+ List properties = typeSpec.properties;
+ List events = typeSpec.events;
+ foreach (XmlNode node in element.ChildNodes)
+ {
+ if (!(node is XmlElement ele))
+ {
+ continue;
+ }
+ switch (ele.Name)
+ {
+ case "field":
+ {
+ fields.Add(ParseField(ele));
+ break;
+ }
+ case "method":
+ {
+ methods.Add(ParseMethod(ele));
+ break;
+ }
+ case "property":
+ {
+ properties.Add(ParseProperty(ele));
+ break;
+ }
+ case "event":
+ {
+ events.Add(ParseEvent(ele));
+ break;
+ }
+ default:
+ {
+ throw new Exception($"Invalid xml file, unknown node {ele.Name}");
+ }
+ }
+ }
+ return typeSpec;
+ }
+
+ private void ParseSpecObject(XmlElement element, SpecBase obj)
+ {
+ string name = element.GetAttribute("name");
+ obj.name = name;
+ obj.nameMatcher = new NameMatcher(name);
+ obj.rule = ParseRule(element);
+ }
+
+ private FieldSpec ParseField(XmlElement element)
+ {
+ var fieldSpec = new FieldSpec();
+ ParseSpecObject(element, fieldSpec);
+ return fieldSpec;
+ }
+
+ private MethodSpec ParseMethod(XmlElement element)
+ {
+ var methodSpec = new MethodSpec();
+ ParseSpecObject(element, methodSpec);
+ return methodSpec;
+ }
+
+ private PropertySpec ParseProperty(XmlElement element)
+ {
+ var propertySpec = new PropertySpec();
+ ParseSpecObject(element, propertySpec);
+ return propertySpec;
+ }
+
+ private EventSpec ParseEvent(XmlElement element)
+ {
+ var eventSpec = new EventSpec();
+ ParseSpecObject(element, eventSpec);
+ return eventSpec;
+ }
+
+ private readonly Dictionary _modulePassRuleCaches = new Dictionary();
+ private readonly Dictionary _typePassRuleCaches = new Dictionary();
+ private readonly Dictionary _methodPassRuleCaches = new Dictionary();
+ private readonly Dictionary _fieldPassRuleCaches = new Dictionary();
+ private readonly Dictionary _propertyPassRuleCaches = new Dictionary();
+ private readonly Dictionary _eventPassRuleCaches = new Dictionary();
+
+
+ private (AssemblySpec, PassRule) GetAssemblySpec(ModuleDef module)
+ {
+ if (!_modulePassRuleCaches.TryGetValue(module, out var result))
+ {
+ result = (null, _defaultPassRule);
+ string assName = module.Assembly.Name;
+ foreach (var ass in _assemblySpecs)
+ {
+ if (ass.nameMatcher.IsMatch(assName))
+ {
+ result = (ass, _defaultPassRule);
+ break;
+ }
+ }
+ _modulePassRuleCaches.Add(module, result);
+ }
+ return result;
+ }
+
+ private (TypeSpec, PassRule) GetTypeSpec(TypeDef type)
+ {
+ if (!_typePassRuleCaches.TryGetValue(type, out var result))
+ {
+ var assResult = GetAssemblySpec(type.Module);
+ result = (null, assResult.Item2);
+ if (assResult.Item1 != null)
+ {
+ string typeName = type.FullName;
+ foreach (var typeSpec in assResult.Item1.types)
+ {
+ if (typeSpec.nameMatcher.IsMatch(typeName))
+ {
+ result = (typeSpec, typeSpec.rule);
+ break;
+ }
+ }
+ }
+ _typePassRuleCaches.Add(type, result);
+ }
+ return result;
+ }
+
+ private (MethodSpec, PassRule) GetMethodSpec(MethodDef method)
+ {
+ if (!_methodPassRuleCaches.TryGetValue(method, out var result))
+ {
+ var typeResult = GetTypeSpec(method.DeclaringType);
+ result = (null, typeResult.Item2);
+ if (typeResult.Item1 != null)
+ {
+ string methodName = method.Name;
+ foreach (var methodSpec in typeResult.Item1.methods)
+ {
+ if (methodSpec.nameMatcher.IsMatch(methodName))
+ {
+ result = (methodSpec, methodSpec.rule);
+ break;
+ }
+ }
+ }
+ _methodPassRuleCaches.Add(method, result);
+ }
+ return result;
+ }
+
+ private (FieldSpec, PassRule) GetFieldSpec(FieldDef field)
+ {
+ if (!_fieldPassRuleCaches.TryGetValue(field, out var result))
+ {
+ var typeResult = GetTypeSpec(field.DeclaringType);
+ result = (null, typeResult.Item2);
+ if (typeResult.Item1 != null)
+ {
+ string fieldName = field.Name;
+ foreach (var fieldSpec in typeResult.Item1.fields)
+ {
+ if (fieldSpec.nameMatcher.IsMatch(fieldName))
+ {
+ result = (fieldSpec, fieldSpec.rule);
+ break;
+ }
+ }
+ }
+ _fieldPassRuleCaches.Add(field, result);
+ }
+ return result;
+ }
+
+ private (PropertySpec, PassRule) GetPropertySpec(PropertyDef property)
+ {
+ if (!_propertyPassRuleCaches.TryGetValue(property, out var result))
+ {
+ var typeResult = GetTypeSpec(property.DeclaringType);
+ result = (null, typeResult.Item2);
+ if (typeResult.Item1 != null)
+ {
+ string propertyName = property.Name;
+ foreach (var propertySpec in typeResult.Item1.properties)
+ {
+ if (propertySpec.nameMatcher.IsMatch(propertyName))
+ {
+ result = (propertySpec, propertySpec.rule);
+ break;
+ }
+ }
+ }
+ _propertyPassRuleCaches.Add(property, result);
+ }
+ return result;
+ }
+
+ private (EventSpec, PassRule) GetEventSpec(EventDef eventDef)
+ {
+ if (!_eventPassRuleCaches.TryGetValue(eventDef, out var result))
+ {
+ var typeResult = GetTypeSpec(eventDef.DeclaringType);
+ result = (null, typeResult.Item2);
+ if (typeResult.Item1 != null)
+ {
+ string eventName = eventDef.Name;
+ foreach (var eventSpec in typeResult.Item1.events)
+ {
+ if (eventSpec.nameMatcher.IsMatch(eventName))
+ {
+ result = (eventSpec, eventSpec.rule);
+ break;
+ }
+ }
+ }
+ _eventPassRuleCaches.Add(eventDef, result);
+ }
+ return result;
+ }
+
+
+ public ObfuscationPassType GetAssemblyObfuscationPasses(ModuleDef module)
+ {
+ return GetAssemblySpec(module).Item2.finalPasses;
+ }
+
+ public ObfuscationPassType GetTypeObfuscationPasses(TypeDef type)
+ {
+ return GetTypeSpec(type).Item2.finalPasses;
+ }
+
+ public ObfuscationPassType GetMethodObfuscationPasses(MethodDef method)
+ {
+ return GetMethodSpec(method).Item2.finalPasses;
+ }
+
+ public ObfuscationPassType GetFieldObfuscationPasses(FieldDef field)
+ {
+ return GetFieldSpec(field).Item2.finalPasses;
+ }
+
+ public ObfuscationPassType GetPropertyObfuscationPasses(PropertyDef property)
+ {
+ return GetPropertySpec(property).Item2.finalPasses;
+ }
+
+ public ObfuscationPassType GetEventObfuscationPasses(EventDef eventDef)
+ {
+ return GetEventSpec(eventDef).Item2.finalPasses;
+ }
+ }
+}
diff --git a/Obfuz/Packages/com.code-philosophy.obfuz/Editor/ConstValues.cs b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/ConstValues.cs
new file mode 100644
index 0000000..2792a00
--- /dev/null
+++ b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/ConstValues.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Obfuz.Editor
+{
+ public static class ConstValues
+ {
+ public const string ObfuzInternalSymbolNamePrefix = "$Obfuz$";
+ }
+}
diff --git a/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Data/ConstFieldAllocator.cs b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Data/ConstFieldAllocator.cs
new file mode 100644
index 0000000..7d90f8f
--- /dev/null
+++ b/Obfuz/Packages/com.code-philosophy.obfuz/Editor/Data/ConstFieldAllocator.cs
@@ -0,0 +1,344 @@
+using dnlib.DotNet;
+using dnlib.DotNet.Emit;
+using Obfuz.Editor;
+using Obfuz.Emit;
+using Obfuz.Utils;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.NetworkInformation;
+using System.Text;
+using System.Threading.Tasks;
+using UnityEngine;
+using UnityEngine.Assertions;
+
+namespace Obfuz.Data
+{
+ public class ModuleConstFieldAllocator : IGroupByModuleEntity
+ {
+ private ModuleDef _module;
+ private readonly EncryptionScopeProvider _encryptionScopeProvider;
+ private readonly RvaDataAllocator _rvaDataAllocator;
+ private readonly GroupByModuleEntityManager _moduleEntityManager;
+ private EncryptionScopeInfo _encryptionScope;
+ private RandomCreator _randomCreator;
+ private IEncryptor _encryptor;
+
+ private TypeDef _holderTypeDef;
+
+ class ConstFieldInfo
+ {
+ public FieldDef field;
+ public object value;
+ }
+
+ class AnyComparer : IEqualityComparer