bool find2() { foreach (var cctor in DeobUtils.getInitCctors(module, 3)) { foreach (var calledMethod in DotNetUtils.getCalledMethods(module, cctor)) { var type = calledMethod.DeclaringType; if (type.IsPublic) { continue; } var fieldTypes = new FieldTypes(type); if (!fieldTypes.exactly(requiredFields1) && !fieldTypes.exactly(requiredFields2) && !fieldTypes.exactly(requiredFields3) && !fieldTypes.exactly(requiredFields4)) { continue; } if (!hasInitializeMethod(type, "_Initialize") && !hasInitializeMethod(type, "_Initialize64")) { continue; } stringDecrypterMethod = findStringDecrypterMethod(type); initializeMethod = calledMethod; postInitializeMethod = findMethod(type, "System.Void", "PostInitialize", "()"); loadMethod = findMethod(type, "System.IntPtr", "Load", "()"); cliSecureRtType = type; return(true); } } return(false); }
public void find() { foreach (var cctor in DeobUtils.getInitCctors(module, 3)) { if (checkCctor(cctor)) { return; } } }