obfuz/Editor/ObfusPasses/ConstEncrypt/IEncryptPolicy.cs

49 lines
1.9 KiB
C#
Raw Normal View History

2025-04-21 21:02:47 +08:00
using dnlib.DotNet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
2025-05-09 19:26:59 +08:00
namespace Obfuz.ObfusPasses.ConstEncrypt
2025-04-21 21:02:47 +08:00
{
public struct ConstCachePolicy
{
public bool cacheConstInLoop;
public bool cacheConstNotInLoop;
public bool cacheStringInLoop;
public bool cacheStringNotInLoop;
}
2025-05-09 19:26:59 +08:00
public interface IEncryptPolicy
2025-04-21 21:02:47 +08:00
{
bool NeedObfuscateMethod(MethodDef method);
ConstCachePolicy GetMethodConstCachePolicy(MethodDef method);
bool NeedObfuscateInt(MethodDef method, bool currentInLoop, int value);
2025-04-21 21:02:47 +08:00
bool NeedObfuscateLong(MethodDef method, bool currentInLoop, long value);
2025-04-21 21:02:47 +08:00
bool NeedObfuscateFloat(MethodDef method, bool currentInLoop, float value);
2025-04-21 21:02:47 +08:00
bool NeedObfuscateDouble(MethodDef method, bool currentInLoop, double value);
2025-04-21 21:02:47 +08:00
bool NeedObfuscateString(MethodDef method, bool currentInLoop, string value);
2025-04-23 13:46:50 +08:00
bool NeedObfuscateArray(MethodDef method, bool currentInLoop, byte[] array);
2025-04-21 21:02:47 +08:00
}
2025-05-10 18:25:43 +08:00
public abstract class EncryptPolicyBase : IEncryptPolicy
{
public abstract bool NeedObfuscateMethod(MethodDef method);
public abstract ConstCachePolicy GetMethodConstCachePolicy(MethodDef method);
public abstract bool NeedObfuscateDouble(MethodDef method, bool currentInLoop, double value);
public abstract bool NeedObfuscateFloat(MethodDef method, bool currentInLoop, float value);
public abstract bool NeedObfuscateInt(MethodDef method, bool currentInLoop, int value);
public abstract bool NeedObfuscateLong(MethodDef method, bool currentInLoop, long value);
public abstract bool NeedObfuscateString(MethodDef method, bool currentInLoop, string value);
public abstract bool NeedObfuscateArray(MethodDef method, bool currentInLoop, byte[] array);
}
2025-04-21 21:02:47 +08:00
}