From 35849b0f9b78eecb75fc7740774a8f533da9ad43 Mon Sep 17 00:00:00 2001 From: de4dot Date: Wed, 19 Dec 2012 18:14:47 +0100 Subject: [PATCH] Submodule was updated. Fix code --- AssemblyData/methodsrewriter/TypeInstanceResolver.cs | 4 ++-- blocks/DotNetUtils.cs | 2 +- de4dot.code/DeobfuscatorContext.cs | 2 +- .../deobfuscators/Babel_NET/ConstantsDecrypter.cs | 2 +- de4dot.code/deobfuscators/TypesRestorer.cs | 2 +- de4dot.code/renamer/asmmodules/Module.cs | 2 +- de4dot.code/renamer/asmmodules/TypeDef.cs | 10 +++++----- dot10 | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/AssemblyData/methodsrewriter/TypeInstanceResolver.cs b/AssemblyData/methodsrewriter/TypeInstanceResolver.cs index b9d1ec01..bab13707 100644 --- a/AssemblyData/methodsrewriter/TypeInstanceResolver.cs +++ b/AssemblyData/methodsrewriter/TypeInstanceResolver.cs @@ -40,7 +40,7 @@ namespace AssemblyData.methodsrewriter { if (!fields.TryGetValue(fieldRef.Name.String, out list)) return null; - fieldRef = GenericArgsSubstitutor.create(fieldRef, fieldRef.DeclaringType.ToGenericInstSig()); + fieldRef = GenericArgsSubstitutor.create(fieldRef, fieldRef.DeclaringType.TryGetGenericInstSig()); foreach (var field in list) { if (ResolverUtils.compareFields(field, fieldRef)) @@ -71,7 +71,7 @@ namespace AssemblyData.methodsrewriter { if (!methods.TryGetValue(methodRef.Name.String, out list)) return null; - methodRef = GenericArgsSubstitutor.create(methodRef, methodRef.DeclaringType.ToGenericInstSig()); + methodRef = GenericArgsSubstitutor.create(methodRef, methodRef.DeclaringType.TryGetGenericInstSig()); foreach (var method in list) { if (ResolverUtils.compareMethods(method, methodRef)) diff --git a/blocks/DotNetUtils.cs b/blocks/DotNetUtils.cs index de71f6d4..105f9707 100644 --- a/blocks/DotNetUtils.cs +++ b/blocks/DotNetUtils.cs @@ -190,7 +190,7 @@ namespace de4dot.blocks { return null; if (method is MethodDef) return (MethodDef)method; - var git = method.DeclaringType.ToGenericInstSig(); + var git = method.DeclaringType.TryGetGenericInstSig(); var dt = git == null ? method.DeclaringType : git.GenericType.TypeDefOrRef; return getMethod(module, method, dt); } diff --git a/de4dot.code/DeobfuscatorContext.cs b/de4dot.code/DeobfuscatorContext.cs index fc8a1948..d0d22023 100644 --- a/de4dot.code/DeobfuscatorContext.cs +++ b/de4dot.code/DeobfuscatorContext.cs @@ -50,7 +50,7 @@ namespace de4dot.code { var ts = typeRef as TypeSpec; if (ts == null) return typeRef; - var gis = ts.ToGenericInstSig(); + var gis = ts.TryGetGenericInstSig(); if (gis == null || gis.GenericType == null) return typeRef; return gis.GenericType.TypeDefOrRef; diff --git a/de4dot.code/deobfuscators/Babel_NET/ConstantsDecrypter.cs b/de4dot.code/deobfuscators/Babel_NET/ConstantsDecrypter.cs index ae180590..3be4ba61 100644 --- a/de4dot.code/deobfuscators/Babel_NET/ConstantsDecrypter.cs +++ b/de4dot.code/deobfuscators/Babel_NET/ConstantsDecrypter.cs @@ -252,7 +252,7 @@ namespace de4dot.code.deobfuscators.Babel_NET { var castclass = instrs[index++]; if (castclass.OpCode.Code != Code.Castclass) continue; - var arrayType = (castclass.Operand as ITypeDefOrRef).ToSZArraySig(); + var arrayType = (castclass.Operand as ITypeDefOrRef).TryGetSZArraySig(); if (arrayType == null) continue; if (arrayType.Next.ElementType.GetPrimitiveSize() == -1) { diff --git a/de4dot.code/deobfuscators/TypesRestorer.cs b/de4dot.code/deobfuscators/TypesRestorer.cs index 1503ebf3..9aed1bab 100644 --- a/de4dot.code/deobfuscators/TypesRestorer.cs +++ b/de4dot.code/deobfuscators/TypesRestorer.cs @@ -513,7 +513,7 @@ namespace de4dot.code.deobfuscators { continue; IList calledMethodArgs = DotNetUtils.getArgs(calledMethodDefOrRef); - calledMethodArgs = DotNetUtils.replaceGenericParameters(calledMethodDefOrRef.DeclaringType.ToGenericInstSig(), calledMethodSpec, calledMethodArgs); + calledMethodArgs = DotNetUtils.replaceGenericParameters(calledMethodDefOrRef.DeclaringType.TryGetGenericInstSig(), calledMethodSpec, calledMethodArgs); for (int j = 0; j < pushedArgs.NumValidArgs; j++) { var pushInstr = pushedArgs.getEnd(j); if (pushInstr.OpCode.Code != Code.Ldfld && pushInstr.OpCode.Code != Code.Ldsfld) diff --git a/de4dot.code/renamer/asmmodules/Module.cs b/de4dot.code/renamer/asmmodules/Module.cs index 7d750db3..d73ebc33 100644 --- a/de4dot.code/renamer/asmmodules/Module.cs +++ b/de4dot.code/renamer/asmmodules/Module.cs @@ -236,7 +236,7 @@ namespace de4dot.code.renamer.asmmodules { var ts = typeRef as TypeSpec; if (ts == null) return typeRef; - var gis = ts.ToGenericInstSig(); + var gis = ts.TryGetGenericInstSig(); if (gis == null || gis.GenericType == null) return typeRef; return gis.GenericType.TypeDefOrRef; diff --git a/de4dot.code/renamer/asmmodules/TypeDef.cs b/de4dot.code/renamer/asmmodules/TypeDef.cs index 79e9fbe3..9614ea0e 100644 --- a/de4dot.code/renamer/asmmodules/TypeDef.cs +++ b/de4dot.code/renamer/asmmodules/TypeDef.cs @@ -494,7 +494,7 @@ namespace de4dot.code.renamer.asmmodules { } void initializeInterfaces(TypeInfo typeInfo) { - var git = typeInfo.typeRef.ToGenericInstSig(); + var git = typeInfo.typeRef.TryGetGenericInstSig(); interfaceMethodInfos.initializeFrom(typeInfo.typeDef.interfaceMethodInfos, git); foreach (var info in typeInfo.typeDef.allImplementedInterfaces.Keys) { var newTypeInfo = new TypeInfo(info, git); @@ -540,7 +540,7 @@ namespace de4dot.code.renamer.asmmodules { var ifaceMethod = methodInst.origMethodDef; if (!ifaceMethod.isVirtual()) continue; - var ifaceMethodRef = GenericArgsSubstitutor.create(methodInst.methodRef, ifaceInfo.typeRef.ToGenericInstSig()); + var ifaceMethodRef = GenericArgsSubstitutor.create(methodInst.methodRef, ifaceInfo.typeRef.TryGetGenericInstSig()); MMethodDef classMethod; if (!methodsDict.TryGetValue(ifaceMethodRef, out classMethod)) continue; @@ -574,7 +574,7 @@ namespace de4dot.code.renamer.asmmodules { var ifaceMethod = methodsList[0].origMethodDef; if (!ifaceMethod.isVirtual()) continue; - var ifaceMethodRef = GenericArgsSubstitutor.create(ifaceMethod.MethodDef, ifaceInfo.typeRef.ToGenericInstSig()); + var ifaceMethodRef = GenericArgsSubstitutor.create(ifaceMethod.MethodDef, ifaceInfo.typeRef.TryGetGenericInstSig()); MMethodDef classMethod; if (!methodsDict.TryGetValue(ifaceMethodRef, out classMethod)) continue; @@ -588,7 +588,7 @@ namespace de4dot.code.renamer.asmmodules { methodsDict.Clear(); var ifaceMethodsDict = new Dictionary(MethodEqualityComparer.CompareDeclaringTypes); foreach (var ifaceInfo in allImplementedInterfaces.Keys) { - var git = ifaceInfo.typeRef.ToGenericInstSig(); + var git = ifaceInfo.typeRef.TryGetGenericInstSig(); foreach (var ifaceMethod in ifaceInfo.typeDef.methods.getValues()) { IMethodDefOrRef ifaceMethodRef = ifaceMethod.MethodDef; if (git != null) @@ -699,7 +699,7 @@ namespace de4dot.code.renamer.asmmodules { void instantiateVirtualMembers(MethodNameGroups groups) { if (!TypeDef.IsInterface) { if (baseType != null) - virtualMethodInstances.initializeFrom(baseType.typeDef.virtualMethodInstances, baseType.typeRef.ToGenericInstSig()); + virtualMethodInstances.initializeFrom(baseType.typeDef.virtualMethodInstances, baseType.typeRef.TryGetGenericInstSig()); // Figure out which methods we override in the base class foreach (var methodDef in methods.getValues()) { diff --git a/dot10 b/dot10 index 8be6ceeb..ef5ba010 160000 --- a/dot10 +++ b/dot10 @@ -1 +1 @@ -Subproject commit 8be6ceeb862d85ce3ea18fbee5a04990f0f0556c +Subproject commit ef5ba01006a288eef4739dc7c9b39c24914777e5