Add RenamerFlags
This commit is contained in:
parent
20309b0225
commit
fa4e1fcc6b
|
@ -90,6 +90,7 @@ namespace de4dot.code {
|
||||||
public bool KeepObfuscatorTypes { get; set; }
|
public bool KeepObfuscatorTypes { get; set; }
|
||||||
public bool PreserveTokens { get; set; }
|
public bool PreserveTokens { get; set; }
|
||||||
public MetaDataFlags MetaDataFlags { get; set; }
|
public MetaDataFlags MetaDataFlags { get; set; }
|
||||||
|
public RenamerFlags RenamerFlags { get; set; }
|
||||||
|
|
||||||
public Options() {
|
public Options() {
|
||||||
StringDecrypterType = DecrypterType.Default;
|
StringDecrypterType = DecrypterType.Default;
|
||||||
|
@ -254,6 +255,7 @@ namespace de4dot.code {
|
||||||
|
|
||||||
op.KeepObfuscatorTypes = options.KeepObfuscatorTypes;
|
op.KeepObfuscatorTypes = options.KeepObfuscatorTypes;
|
||||||
op.MetaDataFlags = options.MetaDataFlags;
|
op.MetaDataFlags = options.MetaDataFlags;
|
||||||
|
op.RenamerFlags = options.RenamerFlags;
|
||||||
|
|
||||||
return op;
|
return op;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using dot10.DotNet.Writer;
|
using dot10.DotNet.Writer;
|
||||||
|
using de4dot.code.renamer;
|
||||||
|
|
||||||
namespace de4dot.code.deobfuscators {
|
namespace de4dot.code.deobfuscators {
|
||||||
public enum OpDecryptString {
|
public enum OpDecryptString {
|
||||||
|
@ -29,12 +30,14 @@ namespace de4dot.code.deobfuscators {
|
||||||
public interface IOperations {
|
public interface IOperations {
|
||||||
bool KeepObfuscatorTypes { get; }
|
bool KeepObfuscatorTypes { get; }
|
||||||
MetaDataFlags MetaDataFlags { get; }
|
MetaDataFlags MetaDataFlags { get; }
|
||||||
|
RenamerFlags RenamerFlags { get; }
|
||||||
OpDecryptString DecryptStrings { get; }
|
OpDecryptString DecryptStrings { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
class Operations : IOperations {
|
class Operations : IOperations {
|
||||||
public bool KeepObfuscatorTypes { get; set; }
|
public bool KeepObfuscatorTypes { get; set; }
|
||||||
public MetaDataFlags MetaDataFlags { get; set; }
|
public MetaDataFlags MetaDataFlags { get; set; }
|
||||||
|
public RenamerFlags RenamerFlags { get; set; }
|
||||||
public OpDecryptString DecryptStrings { get; set; }
|
public OpDecryptString DecryptStrings { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,21 +26,152 @@ using de4dot.code.renamer.asmmodules;
|
||||||
using de4dot.blocks;
|
using de4dot.blocks;
|
||||||
|
|
||||||
namespace de4dot.code.renamer {
|
namespace de4dot.code.renamer {
|
||||||
|
[Flags]
|
||||||
|
public enum RenamerFlags {
|
||||||
|
RenameNamespaces = 1,
|
||||||
|
RenameTypes = 2,
|
||||||
|
RenameProperties = 4,
|
||||||
|
RenameEvents = 8,
|
||||||
|
RenameFields = 0x10,
|
||||||
|
RenameMethods = 0x20,
|
||||||
|
RenameMethodArgs = 0x40,
|
||||||
|
RenameGenericParams = 0x80,
|
||||||
|
RestoreProperties = 0x100,
|
||||||
|
RestorePropertiesFromNames = 0x200,
|
||||||
|
RestoreEvents = 0x400,
|
||||||
|
RestoreEventsFromNames = 0x800,
|
||||||
|
DontCreateNewParamDefs = 0x1000,
|
||||||
|
DontRenameDelegateFields = 0x2000,
|
||||||
|
}
|
||||||
|
|
||||||
public class Renamer {
|
public class Renamer {
|
||||||
public bool RenameNamespaces { get; set; }
|
public RenamerFlags RenamerFlags { get; set; }
|
||||||
public bool RenameTypes { get; set; }
|
public bool RenameNamespaces {
|
||||||
public bool RenameProperties { get; set; }
|
get { return (RenamerFlags & RenamerFlags.RenameNamespaces) != 0; }
|
||||||
public bool RenameEvents { get; set; }
|
set {
|
||||||
public bool RenameFields { get; set; }
|
if (value)
|
||||||
public bool RenameMethods { get; set; }
|
RenamerFlags |= RenamerFlags.RenameNamespaces;
|
||||||
public bool RenameMethodArgs { get; set; }
|
else
|
||||||
public bool RenameGenericParams { get; set; }
|
RenamerFlags &= ~RenamerFlags.RenameNamespaces;
|
||||||
public bool RestoreProperties { get; set; }
|
}
|
||||||
public bool RestorePropertiesFromNames { get; set; }
|
}
|
||||||
public bool RestoreEvents { get; set; }
|
public bool RenameTypes {
|
||||||
public bool RestoreEventsFromNames { get; set; }
|
get { return (RenamerFlags & RenamerFlags.RenameTypes) != 0; }
|
||||||
public bool DontCreateNewParamDefs { get; set; }
|
set {
|
||||||
public bool DontRenameDelegateFields { get; set; }
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RenameTypes;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RenameTypes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RenameProperties {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RenameProperties) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RenameProperties;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RenameProperties;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RenameEvents {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RenameEvents) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RenameEvents;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RenameEvents;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RenameFields {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RenameFields) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RenameFields;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RenameFields;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RenameMethods {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RenameMethods) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RenameMethods;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RenameMethods;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RenameMethodArgs {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RenameMethodArgs) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RenameMethodArgs;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RenameMethodArgs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RenameGenericParams {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RenameGenericParams) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RenameGenericParams;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RenameGenericParams;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RestoreProperties {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RestoreProperties) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RestoreProperties;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RestoreProperties;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RestorePropertiesFromNames {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RestorePropertiesFromNames) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RestorePropertiesFromNames;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RestorePropertiesFromNames;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RestoreEvents {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RestoreEvents) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RestoreEvents;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RestoreEvents;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool RestoreEventsFromNames {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.RestoreEventsFromNames) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.RestoreEventsFromNames;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.RestoreEventsFromNames;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool DontCreateNewParamDefs {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.DontCreateNewParamDefs) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.DontCreateNewParamDefs;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.DontCreateNewParamDefs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool DontRenameDelegateFields {
|
||||||
|
get { return (RenamerFlags & RenamerFlags.DontRenameDelegateFields) != 0; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
RenamerFlags |= RenamerFlags.DontRenameDelegateFields;
|
||||||
|
else
|
||||||
|
RenamerFlags &= ~RenamerFlags.DontRenameDelegateFields;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Modules modules;
|
Modules modules;
|
||||||
MemberInfos memberInfos = new MemberInfos();
|
MemberInfos memberInfos = new MemberInfos();
|
||||||
|
@ -53,19 +184,8 @@ namespace de4dot.code.renamer {
|
||||||
"System.MulticastDelegate",
|
"System.MulticastDelegate",
|
||||||
};
|
};
|
||||||
|
|
||||||
public Renamer(IDeobfuscatorContext deobfuscatorContext, IEnumerable<IObfuscatedFile> files) {
|
public Renamer(IDeobfuscatorContext deobfuscatorContext, IEnumerable<IObfuscatedFile> files, RenamerFlags flags) {
|
||||||
RenameNamespaces = true;
|
RenamerFlags = flags;
|
||||||
RenameTypes = true;
|
|
||||||
RenameProperties = true;
|
|
||||||
RenameEvents = true;
|
|
||||||
RenameFields = true;
|
|
||||||
RenameMethods = true;
|
|
||||||
RenameMethodArgs = true;
|
|
||||||
RenameGenericParams = true;
|
|
||||||
RestoreProperties = true;
|
|
||||||
RestorePropertiesFromNames = true;
|
|
||||||
RestoreEvents = true;
|
|
||||||
RestoreEventsFromNames = true;
|
|
||||||
|
|
||||||
modules = new Modules(deobfuscatorContext);
|
modules = new Modules(deobfuscatorContext);
|
||||||
isDelegateClass = new DerivedFrom(delegateClasses);
|
isDelegateClass = new DerivedFrom(delegateClasses);
|
||||||
|
|
|
@ -25,6 +25,7 @@ using dot10.DotNet.Writer;
|
||||||
using de4dot.code;
|
using de4dot.code;
|
||||||
using de4dot.code.deobfuscators;
|
using de4dot.code.deobfuscators;
|
||||||
using de4dot.code.AssemblyClient;
|
using de4dot.code.AssemblyClient;
|
||||||
|
using de4dot.code.renamer;
|
||||||
|
|
||||||
namespace de4dot.cui {
|
namespace de4dot.cui {
|
||||||
class CommandLineParser {
|
class CommandLineParser {
|
||||||
|
@ -120,28 +121,29 @@ namespace de4dot.cui {
|
||||||
}));
|
}));
|
||||||
miscOptions.Add(new NoArgOption(null, "dont-rename", "Don't rename classes, methods, etc.", () => {
|
miscOptions.Add(new NoArgOption(null, "dont-rename", "Don't rename classes, methods, etc.", () => {
|
||||||
filesOptions.RenameSymbols = false;
|
filesOptions.RenameSymbols = false;
|
||||||
|
filesOptions.RenamerFlags = 0;
|
||||||
}));
|
}));
|
||||||
miscOptions.Add(new OneArgOption(null, "keep-names", "Don't rename n(amespaces), t(ypes), p(rops), e(vents), f(ields), m(ethods), a(rgs), g(enericparams), d(elegate fields). Can be combined, eg. efm", "flags", (val) => {
|
miscOptions.Add(new OneArgOption(null, "keep-names", "Don't rename n(amespaces), t(ypes), p(rops), e(vents), f(ields), m(ethods), a(rgs), g(enericparams), d(elegate fields). Can be combined, eg. efm", "flags", (val) => {
|
||||||
foreach (var c in val) {
|
foreach (var c in val) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'n': filesOptions.RenameNamespaces = false; break;
|
case 'n': filesOptions.RenamerFlags &= ~RenamerFlags.RenameNamespaces; break;
|
||||||
case 't': filesOptions.RenameTypes = false; break;
|
case 't': filesOptions.RenamerFlags &= ~RenamerFlags.RenameTypes; break;
|
||||||
case 'p': filesOptions.RenameProperties = false; break;
|
case 'p': filesOptions.RenamerFlags &= ~RenamerFlags.RenameProperties; break;
|
||||||
case 'e': filesOptions.RenameEvents = false; break;
|
case 'e': filesOptions.RenamerFlags &= ~RenamerFlags.RenameEvents; break;
|
||||||
case 'f': filesOptions.RenameFields = false; break;
|
case 'f': filesOptions.RenamerFlags &= ~RenamerFlags.RenameFields; break;
|
||||||
case 'm': filesOptions.RenameMethods = false; break;
|
case 'm': filesOptions.RenamerFlags &= ~RenamerFlags.RenameMethods; break;
|
||||||
case 'a': filesOptions.RenameMethodArgs = false; break;
|
case 'a': filesOptions.RenamerFlags &= ~RenamerFlags.RenameMethodArgs; break;
|
||||||
case 'g': filesOptions.RenameGenericParams = false; break;
|
case 'g': filesOptions.RenamerFlags &= ~RenamerFlags.RenameGenericParams; break;
|
||||||
case 'd': filesOptions.DontRenameDelegateFields = true; break;
|
case 'd': filesOptions.RenamerFlags |= RenamerFlags.DontRenameDelegateFields; break;
|
||||||
default: throw new UserException(string.Format("Unrecognized --keep-names char: '{0}'", c));
|
default: throw new UserException(string.Format("Unrecognized --keep-names char: '{0}'", c));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
miscOptions.Add(new NoArgOption(null, "dont-create-params", "Don't create method params when renaming", () => {
|
miscOptions.Add(new NoArgOption(null, "dont-create-params", "Don't create method params when renaming", () => {
|
||||||
filesOptions.DontCreateNewParamDefs = true;
|
filesOptions.RenamerFlags |= RenamerFlags.DontCreateNewParamDefs;
|
||||||
}));
|
}));
|
||||||
miscOptions.Add(new NoArgOption(null, "dont-restore-props", "Don't restore properties/events", () => {
|
miscOptions.Add(new NoArgOption(null, "dont-restore-props", "Don't restore properties/events", () => {
|
||||||
filesOptions.RestorePropsEvents = false;
|
filesOptions.RenamerFlags &= ~(RenamerFlags.RestorePropertiesFromNames | RenamerFlags.RestoreEventsFromNames);
|
||||||
}));
|
}));
|
||||||
miscOptions.Add(new OneArgOption(null, "default-strtyp", "Default string decrypter type", "type", (val) => {
|
miscOptions.Add(new OneArgOption(null, "default-strtyp", "Default string decrypter type", "type", (val) => {
|
||||||
object decrypterType;
|
object decrypterType;
|
||||||
|
@ -223,6 +225,7 @@ namespace de4dot.cui {
|
||||||
ControlFlowDeobfuscation = filesOptions.ControlFlowDeobfuscation,
|
ControlFlowDeobfuscation = filesOptions.ControlFlowDeobfuscation,
|
||||||
KeepObfuscatorTypes = filesOptions.KeepObfuscatorTypes,
|
KeepObfuscatorTypes = filesOptions.KeepObfuscatorTypes,
|
||||||
MetaDataFlags = filesOptions.MetaDataFlags,
|
MetaDataFlags = filesOptions.MetaDataFlags,
|
||||||
|
RenamerFlags = filesOptions.RenamerFlags,
|
||||||
};
|
};
|
||||||
if (defaultStringDecrypterType != null)
|
if (defaultStringDecrypterType != null)
|
||||||
newFileOptions.StringDecrypterType = defaultStringDecrypterType.Value;
|
newFileOptions.StringDecrypterType = defaultStringDecrypterType.Value;
|
||||||
|
|
|
@ -40,18 +40,8 @@ namespace de4dot.cui {
|
||||||
public IList<SearchDir> SearchDirs { get; set; }
|
public IList<SearchDir> SearchDirs { get; set; }
|
||||||
public MetaDataFlags MetaDataFlags { get; set; }
|
public MetaDataFlags MetaDataFlags { get; set; }
|
||||||
public bool DetectObfuscators { get; set; }
|
public bool DetectObfuscators { get; set; }
|
||||||
public bool DontCreateNewParamDefs { get; set; }
|
public RenamerFlags RenamerFlags { get; set; }
|
||||||
public bool RenameNamespaces { get; set; }
|
|
||||||
public bool RenameTypes { get; set; }
|
|
||||||
public bool RenameProperties { get; set; }
|
|
||||||
public bool RenameEvents { get; set; }
|
|
||||||
public bool RenameFields { get; set; }
|
|
||||||
public bool RenameMethods { get; set; }
|
|
||||||
public bool RenameMethodArgs { get; set; }
|
|
||||||
public bool RenameGenericParams { get; set; }
|
|
||||||
public bool DontRenameDelegateFields { get; set; }
|
|
||||||
public bool RenameSymbols { get; set; }
|
public bool RenameSymbols { get; set; }
|
||||||
public bool RestorePropsEvents { get; set; }
|
|
||||||
public bool ControlFlowDeobfuscation { get; set; }
|
public bool ControlFlowDeobfuscation { get; set; }
|
||||||
public bool KeepObfuscatorTypes { get; set; }
|
public bool KeepObfuscatorTypes { get; set; }
|
||||||
public bool OneFileAtATime { get; set; }
|
public bool OneFileAtATime { get; set; }
|
||||||
|
@ -65,16 +55,19 @@ namespace de4dot.cui {
|
||||||
Files = new List<IObfuscatedFile>();
|
Files = new List<IObfuscatedFile>();
|
||||||
SearchDirs = new List<SearchDir>();
|
SearchDirs = new List<SearchDir>();
|
||||||
DefaultStringDecrypterMethods = new List<string>();
|
DefaultStringDecrypterMethods = new List<string>();
|
||||||
RenameNamespaces = true;
|
RenamerFlags = RenamerFlags.RenameNamespaces |
|
||||||
RenameTypes = true;
|
RenamerFlags.RenameTypes |
|
||||||
RenameProperties = true;
|
RenamerFlags.RenameProperties |
|
||||||
RenameEvents = true;
|
RenamerFlags.RenameEvents |
|
||||||
RenameFields = true;
|
RenamerFlags.RenameFields |
|
||||||
RenameMethods = true;
|
RenamerFlags.RenameMethods |
|
||||||
RenameMethodArgs = true;
|
RenamerFlags.RenameMethodArgs |
|
||||||
RenameGenericParams = true;
|
RenamerFlags.RenameGenericParams |
|
||||||
|
RenamerFlags.RestorePropertiesFromNames |
|
||||||
|
RenamerFlags.RestoreEventsFromNames |
|
||||||
|
RenamerFlags.RestoreProperties |
|
||||||
|
RenamerFlags.RestoreEvents;
|
||||||
RenameSymbols = true;
|
RenameSymbols = true;
|
||||||
RestorePropsEvents = true;
|
|
||||||
ControlFlowDeobfuscation = true;
|
ControlFlowDeobfuscation = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -167,6 +160,7 @@ namespace de4dot.cui {
|
||||||
ControlFlowDeobfuscation = options.ControlFlowDeobfuscation,
|
ControlFlowDeobfuscation = options.ControlFlowDeobfuscation,
|
||||||
KeepObfuscatorTypes = options.KeepObfuscatorTypes,
|
KeepObfuscatorTypes = options.KeepObfuscatorTypes,
|
||||||
MetaDataFlags = options.MetaDataFlags,
|
MetaDataFlags = options.MetaDataFlags,
|
||||||
|
RenamerFlags = options.RenamerFlags,
|
||||||
CreateDestinationDir = !onlyScan,
|
CreateDestinationDir = !onlyScan,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -191,6 +185,7 @@ namespace de4dot.cui {
|
||||||
public bool ControlFlowDeobfuscation { get; set; }
|
public bool ControlFlowDeobfuscation { get; set; }
|
||||||
public bool KeepObfuscatorTypes { get; set; }
|
public bool KeepObfuscatorTypes { get; set; }
|
||||||
public MetaDataFlags MetaDataFlags { get; set; }
|
public MetaDataFlags MetaDataFlags { get; set; }
|
||||||
|
public RenamerFlags RenamerFlags { get; set; }
|
||||||
public bool CreateDestinationDir { get; set; }
|
public bool CreateDestinationDir { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -318,6 +313,7 @@ namespace de4dot.cui {
|
||||||
ControlFlowDeobfuscation = options.ControlFlowDeobfuscation,
|
ControlFlowDeobfuscation = options.ControlFlowDeobfuscation,
|
||||||
KeepObfuscatorTypes = options.KeepObfuscatorTypes,
|
KeepObfuscatorTypes = options.KeepObfuscatorTypes,
|
||||||
MetaDataFlags = options.MetaDataFlags,
|
MetaDataFlags = options.MetaDataFlags,
|
||||||
|
RenamerFlags = options.RenamerFlags,
|
||||||
};
|
};
|
||||||
if (options.DefaultStringDecrypterType != null)
|
if (options.DefaultStringDecrypterType != null)
|
||||||
fileOptions.StringDecrypterType = options.DefaultStringDecrypterType.Value;
|
fileOptions.StringDecrypterType = options.DefaultStringDecrypterType.Value;
|
||||||
|
@ -391,20 +387,7 @@ namespace de4dot.cui {
|
||||||
void rename(IEnumerable<IObfuscatedFile> theFiles) {
|
void rename(IEnumerable<IObfuscatedFile> theFiles) {
|
||||||
if (!options.RenameSymbols)
|
if (!options.RenameSymbols)
|
||||||
return;
|
return;
|
||||||
var renamer = new Renamer(deobfuscatorContext, theFiles) {
|
var renamer = new Renamer(deobfuscatorContext, theFiles, options.RenamerFlags);
|
||||||
DontCreateNewParamDefs = options.DontCreateNewParamDefs,
|
|
||||||
RenameNamespaces = options.RenameNamespaces,
|
|
||||||
RenameTypes = options.RenameTypes,
|
|
||||||
RenameProperties = options.RenameProperties,
|
|
||||||
RenameEvents = options.RenameEvents,
|
|
||||||
RenameFields = options.RenameFields,
|
|
||||||
RenameMethods = options.RenameMethods,
|
|
||||||
RenameMethodArgs = options.RenameMethodArgs,
|
|
||||||
RenameGenericParams = options.RenameGenericParams,
|
|
||||||
DontRenameDelegateFields = options.DontRenameDelegateFields,
|
|
||||||
RestorePropertiesFromNames = options.RestorePropsEvents,
|
|
||||||
RestoreEventsFromNames = options.RestorePropsEvents,
|
|
||||||
};
|
|
||||||
renamer.rename();
|
renamer.rename();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user