Remove encrypted resources and call to methods decrypter
This commit is contained in:
parent
dfb73f222f
commit
ceca5718ba
|
@ -36,6 +36,10 @@ namespace de4dot.deobfuscators.dotNET_Reactor {
|
||||||
get { return encryptedResource.ResourceDecrypterMethod; }
|
get { return encryptedResource.ResourceDecrypterMethod; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EmbeddedResource BooleansResource {
|
||||||
|
get { return encryptedResource.EncryptedDataResource; }
|
||||||
|
}
|
||||||
|
|
||||||
public BooleanDecrypter(ModuleDefinition module) {
|
public BooleanDecrypter(ModuleDefinition module) {
|
||||||
this.module = module;
|
this.module = module;
|
||||||
this.encryptedResource = new EncryptedResource(module);
|
this.encryptedResource = new EncryptedResource(module);
|
||||||
|
|
|
@ -163,6 +163,17 @@ namespace de4dot.deobfuscators.dotNET_Reactor {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
DeobfuscatedFile.stringDecryptersAdded();
|
DeobfuscatedFile.stringDecryptersAdded();
|
||||||
|
|
||||||
|
if (Operations.DecryptStrings != OpDecryptString.None)
|
||||||
|
addResourceToBeRemoved(stringDecrypter.StringsResource, "Encrypted strings");
|
||||||
|
if (options.DecryptMethods) {
|
||||||
|
addResourceToBeRemoved(methodsDecrypter.MethodsResource, "Encrypted methods");
|
||||||
|
addCctorInitCallToBeRemoved(methodsDecrypter.MethodsDecrypterMethod);
|
||||||
|
}
|
||||||
|
if (options.DecryptBools)
|
||||||
|
addResourceToBeRemoved(booleanDecrypter.BooleansResource, "Encrypted booleans");
|
||||||
|
if (Operations.DecryptStrings != OpDecryptString.None && options.DecryptMethods && options.DecryptBools)
|
||||||
|
addTypeToBeRemoved(methodsDecrypter.MethodsDecrypterMethod.DeclaringType, "Decrypter type");
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool deobfuscateOther(Blocks blocks) {
|
public override bool deobfuscateOther(Blocks blocks) {
|
||||||
|
|
|
@ -38,6 +38,10 @@ namespace de4dot.deobfuscators.dotNET_Reactor {
|
||||||
set { resourceDecrypterMethod = value; }
|
set { resourceDecrypterMethod = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EmbeddedResource EncryptedDataResource {
|
||||||
|
get { return encryptedDataResource; }
|
||||||
|
}
|
||||||
|
|
||||||
public EncryptedResource(ModuleDefinition module) {
|
public EncryptedResource(ModuleDefinition module) {
|
||||||
this.module = module;
|
this.module = module;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,14 @@ namespace de4dot.deobfuscators.dotNET_Reactor {
|
||||||
get { return encryptedResource.ResourceDecrypterMethod != null; }
|
get { return encryptedResource.ResourceDecrypterMethod != null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MethodDefinition MethodsDecrypterMethod {
|
||||||
|
get { return encryptedResource.ResourceDecrypterMethod; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public EmbeddedResource MethodsResource {
|
||||||
|
get { return encryptedResource.EncryptedDataResource; }
|
||||||
|
}
|
||||||
|
|
||||||
public MethodsDecrypter(ModuleDefinition module) {
|
public MethodsDecrypter(ModuleDefinition module) {
|
||||||
this.module = module;
|
this.module = module;
|
||||||
this.encryptedResource = new EncryptedResource(module);
|
this.encryptedResource = new EncryptedResource(module);
|
||||||
|
|
|
@ -49,6 +49,10 @@ namespace de4dot.deobfuscators.dotNET_Reactor {
|
||||||
get { return encryptedResource.ResourceDecrypterMethod != null; }
|
get { return encryptedResource.ResourceDecrypterMethod != null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EmbeddedResource StringsResource {
|
||||||
|
get { return encryptedResource.EncryptedDataResource; }
|
||||||
|
}
|
||||||
|
|
||||||
public IEnumerable<DecrypterInfo> DecrypterInfos {
|
public IEnumerable<DecrypterInfo> DecrypterInfos {
|
||||||
get { return decrypterInfos; }
|
get { return decrypterInfos; }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user