diff --git a/Editor/ObfusPass/CallObfus/ConfigProxyCallPolicy.cs b/Editor/ObfusPasses/CallObfus/ConfigProxyCallPolicy.cs similarity index 97% rename from Editor/ObfusPass/CallObfus/ConfigProxyCallPolicy.cs rename to Editor/ObfusPasses/CallObfus/ConfigProxyCallPolicy.cs index 63317f2..a80a547 100644 --- a/Editor/ObfusPass/CallObfus/ConfigProxyCallPolicy.cs +++ b/Editor/ObfusPasses/CallObfus/ConfigProxyCallPolicy.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.DynamicProxy +namespace Obfuz.ObfusPasses.CallObfus { public class ConfigProxyCallPolicy : ProxyCallPolicyBase { diff --git a/Editor/ObfusPass/CallObfus/DefaultProxyCallObfuscator.cs b/Editor/ObfusPasses/CallObfus/DefaultProxyCallObfuscator.cs similarity index 96% rename from Editor/ObfusPass/CallObfus/DefaultProxyCallObfuscator.cs rename to Editor/ObfusPasses/CallObfus/DefaultProxyCallObfuscator.cs index 9eb5c5e..6df48b7 100644 --- a/Editor/ObfusPass/CallObfus/DefaultProxyCallObfuscator.cs +++ b/Editor/ObfusPasses/CallObfus/DefaultProxyCallObfuscator.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using Obfuz.Utils; using Obfuz.Emit; -namespace Obfuz.DynamicProxy +namespace Obfuz.ObfusPasses.CallObfus { public class DefaultProxyCallObfuscator : ProxyCallObfuscatorBase { diff --git a/Editor/ObfusPass/CallObfus/IProxyCallObfuscator.cs b/Editor/ObfusPasses/CallObfus/IProxyCallObfuscator.cs similarity index 90% rename from Editor/ObfusPass/CallObfus/IProxyCallObfuscator.cs rename to Editor/ObfusPasses/CallObfus/IProxyCallObfuscator.cs index fcc26a4..b133ecb 100644 --- a/Editor/ObfusPass/CallObfus/IProxyCallObfuscator.cs +++ b/Editor/ObfusPasses/CallObfus/IProxyCallObfuscator.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.DynamicProxy +namespace Obfuz.ObfusPasses.CallObfus { public interface IProxyCallObfuscator { diff --git a/Editor/ObfusPass/CallObfus/IProxyCallPolicy.cs b/Editor/ObfusPasses/CallObfus/IProxyCallPolicy.cs similarity index 89% rename from Editor/ObfusPass/CallObfus/IProxyCallPolicy.cs rename to Editor/ObfusPasses/CallObfus/IProxyCallPolicy.cs index 86fc264..e03586f 100644 --- a/Editor/ObfusPass/CallObfus/IProxyCallPolicy.cs +++ b/Editor/ObfusPasses/CallObfus/IProxyCallPolicy.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.DynamicProxy +namespace Obfuz.ObfusPasses.CallObfus { public interface IProxyCallPolicy { diff --git a/Editor/ObfusPass/CallObfus/ProxyCallObfuscatorBase.cs b/Editor/ObfusPasses/CallObfus/ProxyCallObfuscatorBase.cs similarity index 90% rename from Editor/ObfusPass/CallObfus/ProxyCallObfuscatorBase.cs rename to Editor/ObfusPasses/CallObfus/ProxyCallObfuscatorBase.cs index 0315856..74b707d 100644 --- a/Editor/ObfusPass/CallObfus/ProxyCallObfuscatorBase.cs +++ b/Editor/ObfusPasses/CallObfus/ProxyCallObfuscatorBase.cs @@ -2,7 +2,7 @@ using dnlib.DotNet; using System.Collections.Generic; -namespace Obfuz.DynamicProxy +namespace Obfuz.ObfusPasses.CallObfus { public abstract class ProxyCallObfuscatorBase : IProxyCallObfuscator { diff --git a/Editor/ObfusPass/CallObfus/ProxyCallPass.cs b/Editor/ObfusPasses/CallObfus/ProxyCallPass.cs similarity index 96% rename from Editor/ObfusPass/CallObfus/ProxyCallPass.cs rename to Editor/ObfusPasses/CallObfus/ProxyCallPass.cs index 9e80e89..9c4c576 100644 --- a/Editor/ObfusPass/CallObfus/ProxyCallPass.cs +++ b/Editor/ObfusPasses/CallObfus/ProxyCallPass.cs @@ -10,9 +10,9 @@ using System.Text; using System.Threading.Tasks; using UnityEngine.Assertions; -namespace Obfuz.DynamicProxy +namespace Obfuz.ObfusPasses.CallObfus { - public class ProxyCallPass : MethodBodyObfuscationPassBase + public class ProxyCallPass : InstructionObfuscationPassBase { private readonly IRandom _random; private readonly IProxyCallPolicy _dynamicProxyPolicy; diff --git a/Editor/ObfusPass/CallObfus/ProxyCallPolicyBase.cs b/Editor/ObfusPasses/CallObfus/ProxyCallPolicyBase.cs similarity index 87% rename from Editor/ObfusPass/CallObfus/ProxyCallPolicyBase.cs rename to Editor/ObfusPasses/CallObfus/ProxyCallPolicyBase.cs index b98d4c5..e3d0b21 100644 --- a/Editor/ObfusPass/CallObfus/ProxyCallPolicyBase.cs +++ b/Editor/ObfusPasses/CallObfus/ProxyCallPolicyBase.cs @@ -1,6 +1,6 @@ using dnlib.DotNet; -namespace Obfuz.DynamicProxy +namespace Obfuz.ObfusPasses.CallObfus { public abstract class ProxyCallPolicyBase : IProxyCallPolicy { diff --git a/Editor/ObfusPass/CleanUp/CleanUpInstructionPass.cs b/Editor/ObfusPasses/CleanUp/CleanUpInstructionPass.cs similarity index 96% rename from Editor/ObfusPass/CleanUp/CleanUpInstructionPass.cs rename to Editor/ObfusPasses/CleanUp/CleanUpInstructionPass.cs index 17eb9ca..1c65e82 100644 --- a/Editor/ObfusPass/CleanUp/CleanUpInstructionPass.cs +++ b/Editor/ObfusPasses/CleanUp/CleanUpInstructionPass.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz +namespace Obfuz.ObfusPasses.CleanUp { public class CleanUpInstructionPass : ObfuscationPassBase { diff --git a/Editor/ObfusPass/ConstObfus/ConfigDataObfuscationPolicy.cs b/Editor/ObfusPasses/ConstObfus/ConfigDataObfuscationPolicy.cs similarity index 96% rename from Editor/ObfusPass/ConstObfus/ConfigDataObfuscationPolicy.cs rename to Editor/ObfusPasses/ConstObfus/ConfigDataObfuscationPolicy.cs index b14c0e5..b368497 100644 --- a/Editor/ObfusPass/ConstObfus/ConfigDataObfuscationPolicy.cs +++ b/Editor/ObfusPasses/ConstObfus/ConfigDataObfuscationPolicy.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.Virtualization +namespace Obfuz.ObfusPasses.ConstObfus { public class ConfigDataObfuscationPolicy : DataObfuscationPolicyBase { diff --git a/Editor/ObfusPass/ConstObfus/DataObfuscationPolicyBase.cs b/Editor/ObfusPasses/ConstObfus/DataObfuscationPolicyBase.cs similarity index 96% rename from Editor/ObfusPass/ConstObfus/DataObfuscationPolicyBase.cs rename to Editor/ObfusPasses/ConstObfus/DataObfuscationPolicyBase.cs index eff81fe..4316acb 100644 --- a/Editor/ObfusPass/ConstObfus/DataObfuscationPolicyBase.cs +++ b/Editor/ObfusPasses/ConstObfus/DataObfuscationPolicyBase.cs @@ -1,6 +1,6 @@ using dnlib.DotNet; -namespace Obfuz.Virtualization +namespace Obfuz.ObfusPasses.ConstObfus { public abstract class DataObfuscationPolicyBase : IDataObfuscationPolicy { diff --git a/Editor/ObfusPass/ConstObfus/DataVirtualizationPass.cs b/Editor/ObfusPasses/ConstObfus/DataVirtualizationPass.cs similarity index 98% rename from Editor/ObfusPass/ConstObfus/DataVirtualizationPass.cs rename to Editor/ObfusPasses/ConstObfus/DataVirtualizationPass.cs index e0f1713..039d605 100644 --- a/Editor/ObfusPass/ConstObfus/DataVirtualizationPass.cs +++ b/Editor/ObfusPasses/ConstObfus/DataVirtualizationPass.cs @@ -8,10 +8,10 @@ using System.Text; using System.Threading.Tasks; using UnityEngine.Assertions; -namespace Obfuz.Virtualization +namespace Obfuz.ObfusPasses.ConstObfus { - public class DataVirtualizationPass : MethodBodyObfuscationPassBase + public class DataVirtualizationPass : InstructionObfuscationPassBase { private IDataObfuscationPolicy _dataObfuscatorPolicy; private IDataObfuscator _dataObfuscator; diff --git a/Editor/ObfusPass/ConstObfus/DefaultDataObfuscator.cs b/Editor/ObfusPasses/ConstObfus/DefaultDataObfuscator.cs similarity index 98% rename from Editor/ObfusPass/ConstObfus/DefaultDataObfuscator.cs rename to Editor/ObfusPasses/ConstObfus/DefaultDataObfuscator.cs index 050214a..92b45e6 100644 --- a/Editor/ObfusPass/ConstObfus/DefaultDataObfuscator.cs +++ b/Editor/ObfusPasses/ConstObfus/DefaultDataObfuscator.cs @@ -5,7 +5,7 @@ using Obfuz.Utils; using System; using System.Collections.Generic; -namespace Obfuz.Virtualization +namespace Obfuz.ObfusPasses.ConstObfus { public class DefaultDataObfuscator : IDataObfuscator { diff --git a/Editor/ObfusPass/ConstObfus/IDataObfuscationPolicy.cs b/Editor/ObfusPasses/ConstObfus/IDataObfuscationPolicy.cs similarity index 94% rename from Editor/ObfusPass/ConstObfus/IDataObfuscationPolicy.cs rename to Editor/ObfusPasses/ConstObfus/IDataObfuscationPolicy.cs index 055bf72..66e42af 100644 --- a/Editor/ObfusPass/ConstObfus/IDataObfuscationPolicy.cs +++ b/Editor/ObfusPasses/ConstObfus/IDataObfuscationPolicy.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.Virtualization +namespace Obfuz.ObfusPasses.ConstObfus { public interface IDataObfuscationPolicy { diff --git a/Editor/ObfusPass/ConstObfus/IDataObfuscator.cs b/Editor/ObfusPasses/ConstObfus/IDataObfuscator.cs similarity index 95% rename from Editor/ObfusPass/ConstObfus/IDataObfuscator.cs rename to Editor/ObfusPasses/ConstObfus/IDataObfuscator.cs index 175952b..9bcdbd1 100644 --- a/Editor/ObfusPass/ConstObfus/IDataObfuscator.cs +++ b/Editor/ObfusPasses/ConstObfus/IDataObfuscator.cs @@ -3,7 +3,7 @@ using dnlib.DotNet.Emit; using System; using System.Collections.Generic; -namespace Obfuz.Virtualization +namespace Obfuz.ObfusPasses.ConstObfus { public interface IDataObfuscator { diff --git a/Editor/ObfusPass/ExprObfus/ExprObfuscationPass.cs b/Editor/ObfusPasses/ExprObfus/ExprObfuscationPass.cs similarity index 87% rename from Editor/ObfusPass/ExprObfus/ExprObfuscationPass.cs rename to Editor/ObfusPasses/ExprObfus/ExprObfuscationPass.cs index 72c6879..da05b38 100644 --- a/Editor/ObfusPass/ExprObfus/ExprObfuscationPass.cs +++ b/Editor/ObfusPasses/ExprObfus/ExprObfuscationPass.cs @@ -6,9 +6,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.ExprObfus +namespace Obfuz.ObfusPasses.ExprObfus { - public class ExprObfuscationPass : MethodBodyObfuscationPassBase + public class ExprObfuscationPass : InstructionObfuscationPassBase { diff --git a/Editor/ObfusPass/IObfuscationPass.cs b/Editor/ObfusPasses/IObfuscationPass.cs similarity index 91% rename from Editor/ObfusPass/IObfuscationPass.cs rename to Editor/ObfusPasses/IObfuscationPass.cs index 6d1acb4..838669f 100644 --- a/Editor/ObfusPass/IObfuscationPass.cs +++ b/Editor/ObfusPasses/IObfuscationPass.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz +namespace Obfuz.ObfusPasses { public interface IObfuscationPass { diff --git a/Editor/ObfusPass/MethodBodyObfuscationPassBase.cs b/Editor/ObfusPasses/InstructionObfuscationPassBase.cs similarity index 96% rename from Editor/ObfusPass/MethodBodyObfuscationPassBase.cs rename to Editor/ObfusPasses/InstructionObfuscationPassBase.cs index 46f33dd..55d30ce 100644 --- a/Editor/ObfusPass/MethodBodyObfuscationPassBase.cs +++ b/Editor/ObfusPasses/InstructionObfuscationPassBase.cs @@ -3,9 +3,9 @@ using dnlib.DotNet; using System.Collections.Generic; using System.Linq; -namespace Obfuz +namespace Obfuz.ObfusPasses { - public abstract class MethodBodyObfuscationPassBase : ObfuscationPassBase + public abstract class InstructionObfuscationPassBase : ObfuscationPassBase { protected abstract bool NeedObfuscateMethod(MethodDef method); diff --git a/Editor/ObfusPass/MemEncrypt/ConfigEncryptionPolicy.cs b/Editor/ObfusPasses/MemEncrypt/ConfigEncryptionPolicy.cs similarity index 96% rename from Editor/ObfusPass/MemEncrypt/ConfigEncryptionPolicy.cs rename to Editor/ObfusPasses/MemEncrypt/ConfigEncryptionPolicy.cs index 3fd650f..db1165a 100644 --- a/Editor/ObfusPass/MemEncrypt/ConfigEncryptionPolicy.cs +++ b/Editor/ObfusPasses/MemEncrypt/ConfigEncryptionPolicy.cs @@ -1,6 +1,6 @@ using dnlib.DotNet; -namespace Obfuz.MemEncrypt +namespace Obfuz.ObfusPasses.MemEncrypt { public class ConfigEncryptionPolicy : EncryptionPolicyBase { diff --git a/Editor/ObfusPass/MemEncrypt/DefaultMemoryEncryptor.cs b/Editor/ObfusPasses/MemEncrypt/DefaultMemoryEncryptor.cs similarity index 99% rename from Editor/ObfusPass/MemEncrypt/DefaultMemoryEncryptor.cs rename to Editor/ObfusPasses/MemEncrypt/DefaultMemoryEncryptor.cs index 5da46d9..c8782af 100644 --- a/Editor/ObfusPass/MemEncrypt/DefaultMemoryEncryptor.cs +++ b/Editor/ObfusPasses/MemEncrypt/DefaultMemoryEncryptor.cs @@ -6,7 +6,7 @@ using System; using System.Collections.Generic; using UnityEngine.Assertions; -namespace Obfuz.MemEncrypt +namespace Obfuz.ObfusPasses.MemEncrypt { public class DefaultMemoryEncryptor : MemoryEncryptorBase { diff --git a/Editor/ObfusPass/MemEncrypt/EncryptionPolicyBase.cs b/Editor/ObfusPasses/MemEncrypt/EncryptionPolicyBase.cs similarity index 80% rename from Editor/ObfusPass/MemEncrypt/EncryptionPolicyBase.cs rename to Editor/ObfusPasses/MemEncrypt/EncryptionPolicyBase.cs index 3552081..44190fd 100644 --- a/Editor/ObfusPass/MemEncrypt/EncryptionPolicyBase.cs +++ b/Editor/ObfusPasses/MemEncrypt/EncryptionPolicyBase.cs @@ -1,6 +1,6 @@ using dnlib.DotNet; -namespace Obfuz.MemEncrypt +namespace Obfuz.ObfusPasses.MemEncrypt { public abstract class EncryptionPolicyBase : IEncryptionPolicy { diff --git a/Editor/ObfusPass/MemEncrypt/IEncryptionPolicy.cs b/Editor/ObfusPasses/MemEncrypt/IEncryptionPolicy.cs similarity index 85% rename from Editor/ObfusPass/MemEncrypt/IEncryptionPolicy.cs rename to Editor/ObfusPasses/MemEncrypt/IEncryptionPolicy.cs index fb167b5..2cfe950 100644 --- a/Editor/ObfusPass/MemEncrypt/IEncryptionPolicy.cs +++ b/Editor/ObfusPasses/MemEncrypt/IEncryptionPolicy.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.MemEncrypt +namespace Obfuz.ObfusPasses.MemEncrypt { public interface IEncryptionPolicy { diff --git a/Editor/ObfusPass/MemEncrypt/IMemoryEncryptor.cs b/Editor/ObfusPasses/MemEncrypt/IMemoryEncryptor.cs similarity index 93% rename from Editor/ObfusPass/MemEncrypt/IMemoryEncryptor.cs rename to Editor/ObfusPasses/MemEncrypt/IMemoryEncryptor.cs index 9ea8aa8..a5b51de 100644 --- a/Editor/ObfusPass/MemEncrypt/IMemoryEncryptor.cs +++ b/Editor/ObfusPasses/MemEncrypt/IMemoryEncryptor.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.MemEncrypt +namespace Obfuz.ObfusPasses.MemEncrypt { public class MemoryEncryptionContext { diff --git a/Editor/ObfusPass/MemEncrypt/MemoryEncryptionPass.cs b/Editor/ObfusPasses/MemEncrypt/MemoryEncryptionPass.cs similarity index 95% rename from Editor/ObfusPass/MemEncrypt/MemoryEncryptionPass.cs rename to Editor/ObfusPasses/MemEncrypt/MemoryEncryptionPass.cs index 6c3765d..a645357 100644 --- a/Editor/ObfusPass/MemEncrypt/MemoryEncryptionPass.cs +++ b/Editor/ObfusPasses/MemEncrypt/MemoryEncryptionPass.cs @@ -1,15 +1,15 @@ using dnlib.DotNet; using dnlib.DotNet.Emit; using Obfuz; -using Obfuz.MemEncrypt; +using Obfuz.ObfusPasses.MemEncrypt; using System.Collections; using System.Collections.Generic; using UnityEngine; -namespace Obfuz.MemEncrypt +namespace Obfuz.ObfusPasses.MemEncrypt { - public class MemoryEncryptionPass : MethodBodyObfuscationPassBase + public class MemoryEncryptionPass : InstructionObfuscationPassBase { private readonly IEncryptionPolicy _encryptionPolicy = new ConfigEncryptionPolicy(); private readonly IMemoryEncryptor _memoryEncryptor = new DefaultMemoryEncryptor(); diff --git a/Editor/ObfusPass/MemEncrypt/MemoryEncryptorBase.cs b/Editor/ObfusPasses/MemEncrypt/MemoryEncryptorBase.cs similarity index 91% rename from Editor/ObfusPass/MemEncrypt/MemoryEncryptorBase.cs rename to Editor/ObfusPasses/MemEncrypt/MemoryEncryptorBase.cs index a73c73f..786b55f 100644 --- a/Editor/ObfusPass/MemEncrypt/MemoryEncryptorBase.cs +++ b/Editor/ObfusPasses/MemEncrypt/MemoryEncryptorBase.cs @@ -2,7 +2,7 @@ using dnlib.DotNet.Emit; using System.Collections.Generic; -namespace Obfuz.MemEncrypt +namespace Obfuz.ObfusPasses.MemEncrypt { public abstract class MemoryEncryptorBase : IMemoryEncryptor { diff --git a/Editor/ObfusPass/ObfuscationPassBase.cs b/Editor/ObfusPasses/ObfuscationPassBase.cs similarity index 91% rename from Editor/ObfusPass/ObfuscationPassBase.cs rename to Editor/ObfusPasses/ObfuscationPassBase.cs index b999d69..ac04509 100644 --- a/Editor/ObfusPass/ObfuscationPassBase.cs +++ b/Editor/ObfusPasses/ObfuscationPassBase.cs @@ -1,6 +1,6 @@ using Obfuz.Emit; -namespace Obfuz +namespace Obfuz.ObfusPasses { public abstract class ObfuscationPassBase : IObfuscationPass { diff --git a/Editor/ObfusPass/ObfuscationPassContext.cs b/Editor/ObfusPasses/ObfuscationPassContext.cs similarity index 89% rename from Editor/ObfusPass/ObfuscationPassContext.cs rename to Editor/ObfusPasses/ObfuscationPassContext.cs index e15b91a..a1cd233 100644 --- a/Editor/ObfusPass/ObfuscationPassContext.cs +++ b/Editor/ObfusPasses/ObfuscationPassContext.cs @@ -1,5 +1,5 @@ using dnlib.DotNet; -using Obfuz.Rename; +using Obfuz.ObfusPasses.SymbolObfus; using Obfuz.Utils; using System; using System.Collections.Generic; @@ -7,7 +7,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz +namespace Obfuz.ObfusPasses { public class ObfuscationPassContext diff --git a/Editor/ObfusPasses/ObfuscationPassType.cs b/Editor/ObfusPasses/ObfuscationPassType.cs new file mode 100644 index 0000000..aae5f58 --- /dev/null +++ b/Editor/ObfusPasses/ObfuscationPassType.cs @@ -0,0 +1,23 @@ +using System; + +namespace Obfuz.ObfusPasses +{ + [Flags] + public enum ObfuscationPassType + { + None = 0, + + ConstEncryption = 0x1, + MemoryEncryption = 0x2, + + SymbolObfuscation = 0x100, + CallProxy = 0x200, + ExprObfuscation = 0x400, + ControlFlowObfuscation = 0x800, + + + AllDataEncryption = ConstEncryption | MemoryEncryption, + AllCodeObfuscation = SymbolObfuscation | CallProxy | ExprObfuscation | ControlFlowObfuscation, + All = AllDataEncryption | AllCodeObfuscation, + } +} diff --git a/Editor/ObfusPass/SymbolObfus/CacheRenamePolicy.cs b/Editor/ObfusPasses/SymbolObfus/CacheRenamePolicy.cs similarity index 98% rename from Editor/ObfusPass/SymbolObfus/CacheRenamePolicy.cs rename to Editor/ObfusPasses/SymbolObfus/CacheRenamePolicy.cs index 5b7529c..28fd70d 100644 --- a/Editor/ObfusPass/SymbolObfus/CacheRenamePolicy.cs +++ b/Editor/ObfusPasses/SymbolObfus/CacheRenamePolicy.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class CacheRenamePolicy : RenamePolicyBase { diff --git a/Editor/ObfusPass/SymbolObfus/CombineRenamePolicy.cs b/Editor/ObfusPasses/SymbolObfus/CombineRenamePolicy.cs similarity index 97% rename from Editor/ObfusPass/SymbolObfus/CombineRenamePolicy.cs rename to Editor/ObfusPasses/SymbolObfus/CombineRenamePolicy.cs index 601ec85..9cd796f 100644 --- a/Editor/ObfusPass/SymbolObfus/CombineRenamePolicy.cs +++ b/Editor/ObfusPasses/SymbolObfus/CombineRenamePolicy.cs @@ -1,7 +1,7 @@ using dnlib.DotNet; using System.Linq; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class CombineRenamePolicy : IRenamePolicy { diff --git a/Editor/ObfusPass/SymbolObfus/INameMaker.cs b/Editor/ObfusPasses/SymbolObfus/INameMaker.cs similarity index 96% rename from Editor/ObfusPass/SymbolObfus/INameMaker.cs rename to Editor/ObfusPasses/SymbolObfus/INameMaker.cs index 22e46f2..03c18cc 100644 --- a/Editor/ObfusPass/SymbolObfus/INameMaker.cs +++ b/Editor/ObfusPasses/SymbolObfus/INameMaker.cs @@ -1,6 +1,6 @@ using dnlib.DotNet; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public interface INameMaker { diff --git a/Editor/ObfusPass/SymbolObfus/INameScope.cs b/Editor/ObfusPasses/SymbolObfus/INameScope.cs similarity index 78% rename from Editor/ObfusPass/SymbolObfus/INameScope.cs rename to Editor/ObfusPasses/SymbolObfus/INameScope.cs index 6246bd3..87d2d5a 100644 --- a/Editor/ObfusPass/SymbolObfus/INameScope.cs +++ b/Editor/ObfusPasses/SymbolObfus/INameScope.cs @@ -1,4 +1,4 @@ -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public interface INameScope { diff --git a/Editor/ObfusPass/SymbolObfus/IRenamePolicy.cs b/Editor/ObfusPasses/SymbolObfus/IRenamePolicy.cs similarity index 90% rename from Editor/ObfusPass/SymbolObfus/IRenamePolicy.cs rename to Editor/ObfusPasses/SymbolObfus/IRenamePolicy.cs index 600d89e..9e787a5 100644 --- a/Editor/ObfusPass/SymbolObfus/IRenamePolicy.cs +++ b/Editor/ObfusPasses/SymbolObfus/IRenamePolicy.cs @@ -1,6 +1,6 @@ using dnlib.DotNet; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public interface IRenamePolicy { diff --git a/Editor/ObfusPass/SymbolObfus/NameMaker.cs b/Editor/ObfusPasses/SymbolObfus/NameMaker.cs similarity index 91% rename from Editor/ObfusPass/SymbolObfus/NameMaker.cs rename to Editor/ObfusPasses/SymbolObfus/NameMaker.cs index e960299..3cd5dc2 100644 --- a/Editor/ObfusPass/SymbolObfus/NameMaker.cs +++ b/Editor/ObfusPasses/SymbolObfus/NameMaker.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class NameMaker : NameMakerBase diff --git a/Editor/ObfusPass/SymbolObfus/NameMakerBase.cs b/Editor/ObfusPasses/SymbolObfus/NameMakerBase.cs similarity index 98% rename from Editor/ObfusPass/SymbolObfus/NameMakerBase.cs rename to Editor/ObfusPasses/SymbolObfus/NameMakerBase.cs index b4639fb..9bec34d 100644 --- a/Editor/ObfusPass/SymbolObfus/NameMakerBase.cs +++ b/Editor/ObfusPasses/SymbolObfus/NameMakerBase.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public abstract class NameMakerBase : INameMaker { diff --git a/Editor/ObfusPass/SymbolObfus/NameMakerFactory.cs b/Editor/ObfusPasses/SymbolObfus/NameMakerFactory.cs similarity index 93% rename from Editor/ObfusPass/SymbolObfus/NameMakerFactory.cs rename to Editor/ObfusPasses/SymbolObfus/NameMakerFactory.cs index 57003ed..f7e95e3 100644 --- a/Editor/ObfusPass/SymbolObfus/NameMakerFactory.cs +++ b/Editor/ObfusPasses/SymbolObfus/NameMakerFactory.cs @@ -5,7 +5,7 @@ using System.Runtime.Remoting.Messaging; using System.Text; using System.Threading.Tasks; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public static class NameMakerFactory { diff --git a/Editor/ObfusPass/SymbolObfus/NameScope.cs b/Editor/ObfusPasses/SymbolObfus/NameScope.cs similarity index 94% rename from Editor/ObfusPass/SymbolObfus/NameScope.cs rename to Editor/ObfusPasses/SymbolObfus/NameScope.cs index 15e098c..e56d9cc 100644 --- a/Editor/ObfusPass/SymbolObfus/NameScope.cs +++ b/Editor/ObfusPasses/SymbolObfus/NameScope.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class NameScope : NameScopeBase diff --git a/Editor/ObfusPass/SymbolObfus/NameScopeBase.cs b/Editor/ObfusPasses/SymbolObfus/NameScopeBase.cs similarity index 97% rename from Editor/ObfusPass/SymbolObfus/NameScopeBase.cs rename to Editor/ObfusPasses/SymbolObfus/NameScopeBase.cs index 46ca32c..2d5f0b9 100644 --- a/Editor/ObfusPass/SymbolObfus/NameScopeBase.cs +++ b/Editor/ObfusPasses/SymbolObfus/NameScopeBase.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Text; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public abstract class NameScopeBase : INameScope { diff --git a/Editor/ObfusPass/SymbolObfus/ObfuscateRuleConfig.cs b/Editor/ObfusPasses/SymbolObfus/ObfuscateRuleConfig.cs similarity index 99% rename from Editor/ObfusPass/SymbolObfus/ObfuscateRuleConfig.cs rename to Editor/ObfusPasses/SymbolObfus/ObfuscateRuleConfig.cs index 4b79803..c315a49 100644 --- a/Editor/ObfusPass/SymbolObfus/ObfuscateRuleConfig.cs +++ b/Editor/ObfusPasses/SymbolObfus/ObfuscateRuleConfig.cs @@ -1,5 +1,4 @@ using dnlib.DotNet; -using Obfuz.Rename; using Obfuz.Utils; using System; using System.Collections.Generic; @@ -9,7 +8,7 @@ using System.Threading.Tasks; using System.Xml; using UnityEngine; -namespace Obfuz +namespace Obfuz.ObfusPasses.SymbolObfus { public class ObfuscateRuleConfig : RenamePolicyBase diff --git a/Editor/ObfusPass/SymbolObfus/RenamePolicyBase.cs b/Editor/ObfusPasses/SymbolObfus/RenamePolicyBase.cs similarity index 95% rename from Editor/ObfusPass/SymbolObfus/RenamePolicyBase.cs rename to Editor/ObfusPasses/SymbolObfus/RenamePolicyBase.cs index 94a8cd6..a545d03 100644 --- a/Editor/ObfusPass/SymbolObfus/RenamePolicyBase.cs +++ b/Editor/ObfusPasses/SymbolObfus/RenamePolicyBase.cs @@ -1,6 +1,6 @@ using dnlib.DotNet; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public abstract class RenamePolicyBase : IRenamePolicy { diff --git a/Editor/ObfusPass/SymbolObfus/RenameRecordMap.cs b/Editor/ObfusPasses/SymbolObfus/RenameRecordMap.cs similarity index 99% rename from Editor/ObfusPass/SymbolObfus/RenameRecordMap.cs rename to Editor/ObfusPasses/SymbolObfus/RenameRecordMap.cs index 7e3e9d9..1843a0a 100644 --- a/Editor/ObfusPass/SymbolObfus/RenameRecordMap.cs +++ b/Editor/ObfusPasses/SymbolObfus/RenameRecordMap.cs @@ -1,5 +1,4 @@ using dnlib.DotNet; -using Obfuz.Rename; using Obfuz.Utils; using System.Collections.Generic; using System.IO; @@ -10,7 +9,7 @@ using System.Xml; using System.Xml.Linq; using UnityEngine; -namespace Obfuz +namespace Obfuz.ObfusPasses.SymbolObfus { public class RenameRecordMap diff --git a/Editor/ObfusPass/SymbolObfus/RenameSymbolPass.cs b/Editor/ObfusPasses/SymbolObfus/RenameSymbolPass.cs similarity index 95% rename from Editor/ObfusPass/SymbolObfus/RenameSymbolPass.cs rename to Editor/ObfusPasses/SymbolObfus/RenameSymbolPass.cs index 6de4c9a..3e2948a 100644 --- a/Editor/ObfusPass/SymbolObfus/RenameSymbolPass.cs +++ b/Editor/ObfusPasses/SymbolObfus/RenameSymbolPass.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class RenameSymbolPass : ObfuscationPassBase { diff --git a/Editor/ObfusPass/SymbolObfus/SymbolRename.cs b/Editor/ObfusPasses/SymbolObfus/SymbolRename.cs similarity index 99% rename from Editor/ObfusPass/SymbolObfus/SymbolRename.cs rename to Editor/ObfusPasses/SymbolObfus/SymbolRename.cs index 3414245..99a2919 100644 --- a/Editor/ObfusPass/SymbolObfus/SymbolRename.cs +++ b/Editor/ObfusPasses/SymbolObfus/SymbolRename.cs @@ -1,5 +1,5 @@ using dnlib.DotNet; -using Obfuz.Rename; +using Obfuz.ObfusPasses.SymbolObfus; using Obfuz.Utils; using System; using System.Collections; @@ -12,10 +12,8 @@ using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.Assertions; -namespace Obfuz +namespace Obfuz.ObfusPasses.SymbolObfus { - - public class SymbolRename { class AssemblyReferenceInfo diff --git a/Editor/ObfusPass/SymbolObfus/SystemRenamePolicy.cs b/Editor/ObfusPasses/SymbolObfus/SystemRenamePolicy.cs similarity index 94% rename from Editor/ObfusPass/SymbolObfus/SystemRenamePolicy.cs rename to Editor/ObfusPasses/SymbolObfus/SystemRenamePolicy.cs index b58d1b5..3ed249d 100644 --- a/Editor/ObfusPass/SymbolObfus/SystemRenamePolicy.cs +++ b/Editor/ObfusPasses/SymbolObfus/SystemRenamePolicy.cs @@ -1,6 +1,6 @@ using dnlib.DotNet; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class SystemRenamePolicy : RenamePolicyBase { diff --git a/Editor/ObfusPass/SymbolObfus/TestNameMaker.cs b/Editor/ObfusPasses/SymbolObfus/TestNameMaker.cs similarity index 92% rename from Editor/ObfusPass/SymbolObfus/TestNameMaker.cs rename to Editor/ObfusPasses/SymbolObfus/TestNameMaker.cs index 686946a..cc3844d 100644 --- a/Editor/ObfusPass/SymbolObfus/TestNameMaker.cs +++ b/Editor/ObfusPasses/SymbolObfus/TestNameMaker.cs @@ -1,6 +1,6 @@ using System.Text; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class TestNameMaker : NameMakerBase { diff --git a/Editor/ObfusPass/SymbolObfus/UnityRenamePolicy.cs b/Editor/ObfusPasses/SymbolObfus/UnityRenamePolicy.cs similarity index 98% rename from Editor/ObfusPass/SymbolObfus/UnityRenamePolicy.cs rename to Editor/ObfusPasses/SymbolObfus/UnityRenamePolicy.cs index e9503d7..e571684 100644 --- a/Editor/ObfusPass/SymbolObfus/UnityRenamePolicy.cs +++ b/Editor/ObfusPasses/SymbolObfus/UnityRenamePolicy.cs @@ -6,7 +6,7 @@ using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class UnityRenamePolicy : RenamePolicyBase diff --git a/Editor/ObfusPass/SymbolObfus/VirtualMethodGroupCalculator.cs b/Editor/ObfusPasses/SymbolObfus/VirtualMethodGroupCalculator.cs similarity index 98% rename from Editor/ObfusPass/SymbolObfus/VirtualMethodGroupCalculator.cs rename to Editor/ObfusPasses/SymbolObfus/VirtualMethodGroupCalculator.cs index ab0bc51..03cb1b3 100644 --- a/Editor/ObfusPass/SymbolObfus/VirtualMethodGroupCalculator.cs +++ b/Editor/ObfusPasses/SymbolObfus/VirtualMethodGroupCalculator.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Obfuz.Rename +namespace Obfuz.ObfusPasses.SymbolObfus { public class VirtualMethodGroup diff --git a/Editor/Obfuscator.cs b/Editor/Obfuscator.cs index 5ef9ea4..cac03f8 100644 --- a/Editor/Obfuscator.cs +++ b/Editor/Obfuscator.cs @@ -1,5 +1,6 @@ using dnlib.DotNet; using Obfuz.Emit; +using Obfuz.ObfusPasses; using Obfuz.Utils; using System; using System.Collections.Generic; @@ -42,8 +43,6 @@ namespace Obfuz { _pipeline.AddPass(pass); } - - _pipeline.AddPass(new CleanUpInstructionPass()); } public void Run() diff --git a/Editor/ObfuscatorBuilder.cs b/Editor/ObfuscatorBuilder.cs index 75febea..238f499 100644 --- a/Editor/ObfuscatorBuilder.cs +++ b/Editor/ObfuscatorBuilder.cs @@ -1,11 +1,14 @@ -using Obfuz.DynamicProxy; -using Obfuz.MemEncrypt; -using Obfuz.Rename; +using Obfuz.ObfusPasses; +using Obfuz.ObfusPasses.CallObfus; +using Obfuz.ObfusPasses.CleanUp; +using Obfuz.ObfusPasses.ConstObfus; +using Obfuz.ObfusPasses.ExprObfus; +using Obfuz.ObfusPasses.MemEncrypt; +using Obfuz.ObfusPasses.SymbolObfus; +using Obfuz.Settings; using System.Collections.Generic; using System.Linq; -using Obfuz.Virtualization; using UnityEditor; -using Obfuz.ExprObfus; namespace Obfuz { @@ -92,6 +95,7 @@ namespace Obfuz { builder.AddPass(new RenameSymbolPass(settings.ruleFiles.ToList(), settings.mappingFile)); } + builder.AddPass(new CleanUpInstructionPass()); return builder; } } diff --git a/Editor/Pipeline.cs b/Editor/Pipeline.cs index 08d9ae1..a638743 100644 --- a/Editor/Pipeline.cs +++ b/Editor/Pipeline.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using Obfuz.ObfusPasses; +using System.Collections.Generic; namespace Obfuz { diff --git a/Editor/Settings/ObfuzSettings.cs b/Editor/Settings/ObfuzSettings.cs index 7da3fb7..6fd66f7 100644 --- a/Editor/Settings/ObfuzSettings.cs +++ b/Editor/Settings/ObfuzSettings.cs @@ -1,4 +1,4 @@ -using System; +using Obfuz.ObfusPasses; using System.Collections.Generic; using System.IO; using System.Runtime.Remoting.Messaging; @@ -6,26 +6,8 @@ using UnityEditor; using UnityEditorInternal; using UnityEngine; -namespace Obfuz +namespace Obfuz.Settings { - [Flags] - public enum ObfuscationPassType - { - None = 0, - - ConstEncryption = 0x1, - MemoryEncryption = 0x2, - - SymbolObfuscation = 0x100, - CallProxy = 0x200, - ExprObfuscation = 0x400, - ControlFlowObfuscation = 0x800, - - - AllDataEncryption = ConstEncryption | MemoryEncryption, - AllCodeObfuscation = SymbolObfuscation | CallProxy | ExprObfuscation | ControlFlowObfuscation, - All = AllDataEncryption | AllCodeObfuscation, - } public class ObfuzSettings : ScriptableObject { diff --git a/Editor/Settings/ObfuzSettingsProvider.cs b/Editor/Settings/ObfuzSettingsProvider.cs index 618ff54..40f6d00 100644 --- a/Editor/Settings/ObfuzSettingsProvider.cs +++ b/Editor/Settings/ObfuzSettingsProvider.cs @@ -5,7 +5,7 @@ using UnityEditor.Presets; using UnityEngine; using UnityEngine.UIElements; -namespace Obfuz +namespace Obfuz.Settings { public class ObfuzSettingsProvider : SettingsProvider { diff --git a/Editor/Unity/ObfuscationBeginEventArgs.cs b/Editor/Unity/ObfuscationBeginEventArgs.cs new file mode 100644 index 0000000..b8f2397 --- /dev/null +++ b/Editor/Unity/ObfuscationBeginEventArgs.cs @@ -0,0 +1,8 @@ +namespace Obfuz.Unity +{ + public class ObfuscationBeginEventArgs + { + public string scriptAssembliesPath; + public string obfuscatedScriptAssembliesPath; + } +} diff --git a/Editor/Unity/ObfuscationEndEventArgs.cs b/Editor/Unity/ObfuscationEndEventArgs.cs new file mode 100644 index 0000000..ac2fa76 --- /dev/null +++ b/Editor/Unity/ObfuscationEndEventArgs.cs @@ -0,0 +1,9 @@ +namespace Obfuz.Unity +{ + public class ObfuscationEndEventArgs + { + public bool success; + public string originalScriptAssembliesPath; + public string obfuscatedScriptAssembliesPath; + } +} diff --git a/Editor/BuildProcess/ObfuscationProcess.cs b/Editor/Unity/ObfuscationProcess.cs similarity index 91% rename from Editor/BuildProcess/ObfuscationProcess.cs rename to Editor/Unity/ObfuscationProcess.cs index ba0a92d..8e4142c 100644 --- a/Editor/BuildProcess/ObfuscationProcess.cs +++ b/Editor/Unity/ObfuscationProcess.cs @@ -11,8 +11,9 @@ using UnityEngine; using UnityEditor.Compilation; using Obfuz.Utils; using FileUtil = Obfuz.Utils.FileUtil; +using Obfuz.Settings; -namespace Obfuz.BuildProcess +namespace Obfuz.Unity { #if UNITY_2019_1_OR_NEWER @@ -22,19 +23,6 @@ namespace Obfuz.BuildProcess public int callbackOrder => 10000; - public class ObfuscationBeginEventArgs : EventArgs - { - public string scriptAssembliesPath; - public string obfuscatedScriptAssembliesPath; - } - - public class ObfuscationEndEventArgs : EventArgs - { - public bool success; - public string originalScriptAssembliesPath; - public string obfuscatedScriptAssembliesPath; - } - public static event Action OnObfuscationBegin; public static event Action OnObfuscationEnd; diff --git a/Editor/Menus/ObfuzMenu.cs b/Editor/Unity/ObfuzMenu.cs similarity index 98% rename from Editor/Menus/ObfuzMenu.cs rename to Editor/Unity/ObfuzMenu.cs index dda5236..4bf51a8 100644 --- a/Editor/Menus/ObfuzMenu.cs +++ b/Editor/Unity/ObfuzMenu.cs @@ -1,7 +1,7 @@ using UnityEditor; using UnityEngine; -namespace Obfuz +namespace Obfuz.Unity { public static class ObfuzMenu {