2019-06-13 15:28:20 +03:00

33 lines
1.0 KiB
C#

using Server.RenamingObfuscation.Interfaces;
using dnlib.DotNet;
namespace Server.RenamingObfuscation.Classes
{
public class MethodsRenaming : IRenaming
{
public ModuleDefMD Rename(ModuleDefMD module)
{
ModuleDefMD moduleToRename = module;
foreach (TypeDef type in moduleToRename.Types)
{
if (type.IsGlobalModuleType)
continue;
type.Name = Utils.GenerateRandomString();
foreach (MethodDef method in type.Methods)
{
if (!method.IsSpecialName && !method.IsConstructor && !method.HasCustomAttributes && !method.IsAbstract && !method.IsVirtual)
method.Name = Utils.GenerateRandomString();
foreach (ParamDef paramDef in method.ParamDefs)
{
paramDef.Name = Utils.GenerateRandomString();
}
}
}
return moduleToRename;
}
}
}