30 lines
896 B
C#
30 lines
896 B
C#
using dnlib.DotNet;
|
|
|
|
namespace Obfuz.ObfusPasses.CallObfus
|
|
{
|
|
|
|
public struct ObfuscationCachePolicy
|
|
{
|
|
public bool cacheInLoop;
|
|
public bool cacheNotInLoop;
|
|
}
|
|
|
|
public interface IObfuscationPolicy
|
|
{
|
|
bool NeedObfuscateCallInMethod(MethodDef method);
|
|
|
|
ObfuscationCachePolicy GetMethodObfuscationCachePolicy(MethodDef method);
|
|
|
|
bool NeedObfuscateCalledMethod(MethodDef callerMethod, IMethod calledMethod, bool callVir, bool currentInLoop);
|
|
}
|
|
|
|
public abstract class ObfuscationPolicyBase : IObfuscationPolicy
|
|
{
|
|
public abstract bool NeedObfuscateCallInMethod(MethodDef method);
|
|
|
|
public abstract ObfuscationCachePolicy GetMethodObfuscationCachePolicy(MethodDef method);
|
|
|
|
public abstract bool NeedObfuscateCalledMethod(MethodDef callerMethod, IMethod calledMethod, bool callVir, bool currentInLoop);
|
|
}
|
|
}
|