public void DeobfuscateBegin() { switch (options.StringDecrypterType) { case DecrypterType.None: CheckSupportedStringDecrypter(StringFeatures.AllowNoDecryption); break; case DecrypterType.Static: CheckSupportedStringDecrypter(StringFeatures.AllowStaticDecryption); break; case DecrypterType.Delegate: case DecrypterType.Emulate: CheckSupportedStringDecrypter(StringFeatures.AllowDynamicDecryption); var newProcFactory = assemblyClientFactory as NewProcessAssemblyClientFactory; if (newProcFactory != null) { assemblyClient = newProcFactory.Create(AssemblyServiceType.StringDecrypter, module); } else { assemblyClient = assemblyClientFactory.Create(AssemblyServiceType.StringDecrypter); } assemblyClient.Connect(); break; default: throw new ApplicationException(string.Format("Invalid string decrypter type '{0}'", options.StringDecrypterType)); } }
public void DeobfuscateCleanUp() { if (assemblyClient != null) { assemblyClient.Dispose(); assemblyClient = null; } }
public void Dispose() { if (assemblyClient != null) { assemblyClient.Dispose(); } assemblyClient = null; }
public void Initialize(ModuleDef module) { if (assemblyClient != null) { return; } var serverVersion = NewProcessAssemblyClientFactory.GetServerClrVersion(module); assemblyClient = new NewProcessAssemblyClientFactory(serverVersion).Create(AssemblyServiceType.Generic); assemblyClient.Connect(); assemblyClient.WaitConnected(); assemblyClient.GenericService.LoadUserService(typeof(DynocodeService), null); assemblyClient.GenericService.LoadAssembly(module.Location); }
public void deobfuscateBegin() { switch (options.StringDecrypterType) { case DecrypterType.None: checkSupportedStringDecrypter(StringFeatures.AllowNoDecryption); break; case DecrypterType.Static: checkSupportedStringDecrypter(StringFeatures.AllowStaticDecryption); break; case DecrypterType.Delegate: case DecrypterType.Emulate: checkSupportedStringDecrypter(StringFeatures.AllowDynamicDecryption); assemblyClient = assemblyClientFactory.create(); assemblyClient.connect(); break; default: throw new ApplicationException(string.Format("Invalid string decrypter type '{0}'", options.StringDecrypterType)); } }
public DynamicStringInliner(IAssemblyClient assemblyClient) { this.assemblyClient = assemblyClient; }
public void deobfuscateCleanUp() { if (assemblyClient != null) { assemblyClient.Dispose(); assemblyClient = null; } }
public void deobfuscateBegin() { switch (options.StringDecrypterType) { case DecrypterType.None: checkSupportedStringDecrypter(StringFeatures.AllowNoDecryption); break; case DecrypterType.Static: checkSupportedStringDecrypter(StringFeatures.AllowStaticDecryption); break; case DecrypterType.Delegate: case DecrypterType.Emulate: checkSupportedStringDecrypter(StringFeatures.AllowDynamicDecryption); assemblyClient = assemblyClientFactory.create(); assemblyClient.connect(); break; default: throw new ApplicationException(string.Format("Invalid string decrypter type '{0}'", options.StringDecrypterType)); } }
public void DeobfuscateBegin() { switch (options.StringDecrypterType) { case DecrypterType.None: CheckSupportedStringDecrypter(StringFeatures.AllowNoDecryption); break; case DecrypterType.Static: CheckSupportedStringDecrypter(StringFeatures.AllowStaticDecryption); break; case DecrypterType.Delegate: case DecrypterType.Emulate: CheckSupportedStringDecrypter(StringFeatures.AllowDynamicDecryption); var newProcFactory = assemblyClientFactory as NewProcessAssemblyClientFactory; if (newProcFactory != null) assemblyClient = newProcFactory.Create(AssemblyServiceType.StringDecrypter, module); else assemblyClient = assemblyClientFactory.Create(AssemblyServiceType.StringDecrypter); assemblyClient.Connect(); break; default: throw new ApplicationException(string.Format("Invalid string decrypter type '{0}'", options.StringDecrypterType)); } }
public DynamicStringDecrypter(IAssemblyClient assemblyClient) { this.assemblyClient = assemblyClient; }
public DynamicStringInliner(IAssemblyClient assemblyClient) { this.assemblyClient = assemblyClient; }