protected IpcAssemblyServerLoader(AssemblyServiceType serviceType, ServerClrVersion serverVersion) { this.serviceType = serviceType; assemblyServerFilename = GetServerName(serverVersion); ipcName = Utils.RandomName(15, 20); ipcUri = Utils.RandomName(15, 20); url = string.Format("ipc://{0}/{1}", ipcName, ipcUri); }
protected IpcAssemblyServerLoader(ServerClrVersion serverVersion) { assemblyServerFilename = getServerName(serverVersion); ipcName = Utils.randomName(15, 20); ipcUri = Utils.randomName(15, 20); url = string.Format("ipc://{0}/{1}", ipcName, ipcUri); }
protected IpcAssemblyServerLoader(AssemblyServiceType serviceType, ServerClrVersion serverVersion) { this.serviceType = serviceType; assemblyServerFilename = GetServerName(serverVersion); ipcName = Utils.RandomName(15, 20); ipcUri = Utils.RandomName(15, 20); url = $"ipc://{ipcName}/{ipcUri}"; }
public static DumpedMethods Decrypt(ServerClrVersion serverVersion, string filename, byte[] moduleCctorBytes) { using (var client = new NewProcessAssemblyClientFactory(serverVersion).Create(AssemblyServiceType.MethodDecrypter)) { client.Connect(); client.WaitConnected(); var info = new DecryptMethodsInfo(); info.moduleCctorBytes = moduleCctorBytes; client.MethodDecrypterService.InstallCompileMethod(info); client.MethodDecrypterService.LoadObfuscator(filename); return client.MethodDecrypterService.DecryptMethods(); } }
public static DumpedMethods decrypt(ServerClrVersion serverVersion, string filename, byte[] moduleCctorBytes) { using (var client = new NewProcessAssemblyClientFactory(serverVersion).create()) { client.connect(); client.waitConnected(); var info = new DecryptMethodsInfo(); info.moduleCctorBytes = moduleCctorBytes; client.Service.installCompileMethod(info); client.Service.loadObfuscator(filename); return(client.Service.decryptMethods()); } }
static DumpedMethods Decrypt2(ServerClrVersion serverVersion, string filename, byte[] moduleCctorBytes) { using (var client = new NewProcessAssemblyClientFactory(serverVersion).Create(AssemblyServiceType.MethodDecrypter)) { client.Connect(); client.WaitConnected(); var info = new DecryptMethodsInfo(); info.moduleCctorBytes = moduleCctorBytes; client.MethodDecrypterService.InstallCompileMethod(info); client.MethodDecrypterService.LoadObfuscator(filename); return(client.MethodDecrypterService.DecryptMethods()); } }
static string GetServerName(ServerClrVersion serverVersion) { if (serverVersion == ServerClrVersion.CLR_ANY_ANYCPU) serverVersion = IntPtr.Size == 4 ? ServerClrVersion.CLR_ANY_x86 : ServerClrVersion.CLR_ANY_x64; switch (serverVersion) { case ServerClrVersion.CLR_ANY_x86: return "AssemblyServer.exe"; case ServerClrVersion.CLR_ANY_x64: return "AssemblyServer-x64.exe"; case ServerClrVersion.CLR_v20_x86: return "AssemblyServer-CLR20.exe"; case ServerClrVersion.CLR_v20_x64: return "AssemblyServer-CLR20-x64.exe"; case ServerClrVersion.CLR_v40_x86: return "AssemblyServer-CLR40.exe"; case ServerClrVersion.CLR_v40_x64: return "AssemblyServer-CLR40-x64.exe"; default: throw new ArgumentException(string.Format("Invalid server version: {0}", serverVersion)); } }
public static DumpedMethods Decrypt(ServerClrVersion serverVersion, string filename, byte[] moduleCctorBytes) { Exception lastEx = null; for (int i = 0; i < 5; i++) { try { return Decrypt2(serverVersion, filename, moduleCctorBytes); } catch (RemotingException ex) { lastEx = ex; continue; } } throw lastEx; }
public static DumpedMethods Decrypt(ServerClrVersion serverVersion, string filename, byte[] moduleCctorBytes) { Exception lastEx = null; for (int i = 0; i < 5; i++) { try { return(Decrypt2(serverVersion, filename, moduleCctorBytes)); } catch (RemotingException ex) { lastEx = ex; continue; } } throw lastEx; }
static string GetServerName(ServerClrVersion serverVersion) { if (serverVersion == ServerClrVersion.CLR_ANY_ANYCPU) { serverVersion = IntPtr.Size == 4 ? ServerClrVersion.CLR_ANY_x86 : ServerClrVersion.CLR_ANY_x64; } switch (serverVersion) { case ServerClrVersion.CLR_ANY_x86: return("AssemblyServer.exe"); case ServerClrVersion.CLR_ANY_x64: return("AssemblyServer-x64.exe"); case ServerClrVersion.CLR_v20_x86: return("AssemblyServer-CLR20.exe"); case ServerClrVersion.CLR_v20_x64: return("AssemblyServer-CLR20-x64.exe"); case ServerClrVersion.CLR_v40_x86: return("AssemblyServer-CLR40.exe"); case ServerClrVersion.CLR_v40_x64: return("AssemblyServer-CLR40-x64.exe"); default: throw new ArgumentException($"Invalid server version: {serverVersion}"); } }
public NewProcessAssemblyServerLoader(AssemblyServiceType serviceType, ServerClrVersion version) : base(serviceType, version) { }
public NewProcessAssemblyServerLoader(ServerClrVersion version) : base(version) { }
public NewProcessAssemblyClientFactory(ServerClrVersion serverVersion) { this.serverVersion = serverVersion; }
public NewProcessAssemblyClientFactory() { this.serverVersion = ServerClrVersion.CLR_ANY_ANYCPU; }
internal NewProcessAssemblyClientFactory(ServerClrVersion serverVersion) { this.serverVersion = serverVersion; }