Disable TypeDef cache when removing types etc
This commit is contained in:
parent
50ff551898
commit
d0bee28111
|
@ -181,6 +181,10 @@ namespace de4dot.code.deobfuscators {
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void DeobfuscateEnd() {
|
public virtual void DeobfuscateEnd() {
|
||||||
|
// Make sure the TypeDefCache isn't enabled while we modify types or remove stuff
|
||||||
|
bool cacheState = module.EnableTypeDefFindCache;
|
||||||
|
module.EnableTypeDefFindCache = false;
|
||||||
|
|
||||||
if (CanRemoveTypes) {
|
if (CanRemoveTypes) {
|
||||||
RemoveTypesWithInvalidBaseTypes();
|
RemoveTypesWithInvalidBaseTypes();
|
||||||
|
|
||||||
|
@ -195,6 +199,8 @@ namespace de4dot.code.deobfuscators {
|
||||||
|
|
||||||
RestoreBaseType();
|
RestoreBaseType();
|
||||||
FixMDHeaderVersion();
|
FixMDHeaderVersion();
|
||||||
|
|
||||||
|
module.EnableTypeDefFindCache = cacheState;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool IsTypeWithInvalidBaseType(TypeDef moduleType, TypeDef type) {
|
static bool IsTypeWithInvalidBaseType(TypeDef moduleType, TypeDef type) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user