├── .github └── workflows │ └── codeql.yml ├── .gitignore ├── LICENSE ├── NetShield Protector.sln ├── NetShield Protector ├── App.config ├── Classes.cs ├── Encryption.cs ├── Helper.cs ├── Main.Designer.cs ├── Main.cs ├── Main.resx ├── NetShield Protector.csproj ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Resource1.Designer.cs ├── Resource1.resx ├── Resources │ ├── LicensePacker.cs │ ├── PackStub.cs │ ├── Program.cs │ ├── USBPacker.cs │ └── dnlib.dll └── icons81_system_task.ico └── README.md /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ "main" ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ "main" ] 20 | schedule: 21 | - cron: '29 6 * * 1' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | permissions: 28 | actions: read 29 | contents: read 30 | security-events: write 31 | 32 | strategy: 33 | fail-fast: false 34 | matrix: 35 | language: [ 'csharp' ] 36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] 37 | # Use only 'java' to analyze code written in Java, Kotlin or both 38 | # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both 39 | # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support 40 | 41 | steps: 42 | - name: Checkout repository 43 | uses: actions/checkout@v3 44 | 45 | # Initializes the CodeQL tools for scanning. 46 | - name: Initialize CodeQL 47 | uses: github/codeql-action/init@v2 48 | with: 49 | languages: ${{ matrix.language }} 50 | # If you wish to specify custom queries, you can do so here or in a config file. 51 | # By default, queries listed here will override any specified in a config file. 52 | # Prefix the list here with "+" to use these queries and those in the config file. 53 | 54 | # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs 55 | # queries: security-extended,security-and-quality 56 | 57 | 58 | # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). 59 | # If this step fails, then you should remove it and run the build manually (see below) 60 | - name: Autobuild 61 | uses: github/codeql-action/autobuild@v2 62 | 63 | # ℹ️ Command-line programs to run using the OS shell. 64 | # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun 65 | 66 | # If the Autobuild fails above, remove it and uncomment the following three lines. 67 | # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. 68 | 69 | # - run: | 70 | # echo "Run, Build Application using script" 71 | # ./location_of_script_within_repo/buildscript.sh 72 | 73 | - name: Perform CodeQL Analysis 74 | uses: github/codeql-action/analyze@v2 75 | with: 76 | category: "/language:${{matrix.language}}" 77 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # The following command works for downloading when using Git for Windows: 2 | # curl -LOf http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore 3 | # 4 | # Download this file using PowerShell v3 under Windows with the following comand: 5 | # Invoke-WebRequest https://gist.githubusercontent.com/kmorcinek/2710267/raw/ -OutFile .gitignore 6 | # 7 | # or wget: 8 | # wget --no-check-certificate http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore 9 | 10 | # User-specific files 11 | *.suo 12 | *.user 13 | *.sln.docstates 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Rr]elease/ 18 | x64/ 19 | [Bb]in/ 20 | [Oo]bj/ 21 | # build folder is nowadays used for build scripts and should not be ignored 22 | #build/ 23 | 24 | # NuGet Packages 25 | *.nupkg 26 | # The packages folder can be ignored because of Package Restore 27 | **/packages/* 28 | # except build/, which is used as an MSBuild target. 29 | !**/packages/build/ 30 | # Uncomment if necessary however generally it will be regenerated when needed 31 | #!**/packages/repositories.config 32 | 33 | # MSTest test Results 34 | [Tt]est[Rr]esult*/ 35 | [Bb]uild[Ll]og.* 36 | 37 | *_i.c 38 | *_p.c 39 | *.ilk 40 | *.meta 41 | *.obj 42 | *.pch 43 | *.pdb 44 | *.pgc 45 | *.pgd 46 | *.rsp 47 | *.sbr 48 | *.tlb 49 | *.tli 50 | *.tlh 51 | *.tmp 52 | *.tmp_proj 53 | *.log 54 | *.vspscc 55 | *.vssscc 56 | .builds 57 | *.pidb 58 | *.log 59 | *.scc 60 | 61 | # OS generated files # 62 | .DS_Store* 63 | Icon? 64 | 65 | # Visual C++ cache files 66 | ipch/ 67 | *.aps 68 | *.ncb 69 | *.opensdf 70 | *.sdf 71 | *.cachefile 72 | 73 | # Visual Studio profiler 74 | *.psess 75 | *.vsp 76 | *.vspx 77 | 78 | # Guidance Automation Toolkit 79 | *.gpState 80 | 81 | # ReSharper is a .NET coding add-in 82 | _ReSharper*/ 83 | *.[Rr]e[Ss]harper 84 | 85 | # TeamCity is a build add-in 86 | _TeamCity* 87 | 88 | # DotCover is a Code Coverage Tool 89 | *.dotCover 90 | 91 | # NCrunch 92 | *.ncrunch* 93 | .*crunch*.local.xml 94 | 95 | # Installshield output folder 96 | [Ee]xpress/ 97 | 98 | # DocProject is a documentation generator add-in 99 | DocProject/buildhelp/ 100 | DocProject/Help/*.HxT 101 | DocProject/Help/*.HxC 102 | DocProject/Help/*.hhc 103 | DocProject/Help/*.hhk 104 | DocProject/Help/*.hhp 105 | DocProject/Help/Html2 106 | DocProject/Help/html 107 | 108 | # Click-Once directory 109 | publish/ 110 | 111 | # Publish Web Output 112 | *.Publish.xml 113 | 114 | # Windows Azure Build Output 115 | csx 116 | *.build.csdef 117 | 118 | # Windows Store app package directory 119 | AppPackages/ 120 | 121 | # Others 122 | *.Cache 123 | ClientBin/ 124 | [Ss]tyle[Cc]op.* 125 | ~$* 126 | *~ 127 | *.dbmdl 128 | *.[Pp]ublish.xml 129 | *.pfx 130 | *.publishsettings 131 | modulesbin/ 132 | tempbin/ 133 | 134 | # EPiServer Site file (VPP) 135 | AppData/ 136 | 137 | # RIA/Silverlight projects 138 | Generated_Code/ 139 | 140 | # Backup & report files from converting an old project file to a newer 141 | # Visual Studio version. Backup files are not needed, because we have git ;-) 142 | _UpgradeReport_Files/ 143 | Backup*/ 144 | UpgradeLog*.XML 145 | UpgradeLog*.htm 146 | 147 | # vim 148 | *.txt~ 149 | *.swp 150 | *.swo 151 | 152 | # Temp files when opening LibreOffice on ubuntu 153 | .~lock.* 154 | 155 | # svn 156 | .svn 157 | 158 | # CVS - Source Control 159 | **/CVS/ 160 | 161 | # Remainings from resolving conflicts in Source Control 162 | *.orig 163 | 164 | # SQL Server files 165 | **/App_Data/*.mdf 166 | **/App_Data/*.ldf 167 | **/App_Data/*.sdf 168 | 169 | 170 | #LightSwitch generated files 171 | GeneratedArtifacts/ 172 | _Pvt_Extensions/ 173 | ModelManifest.xml 174 | 175 | # ========================= 176 | # Windows detritus 177 | # ========================= 178 | 179 | # Windows image file caches 180 | Thumbs.db 181 | ehthumbs.db 182 | 183 | # Folder config file 184 | Desktop.ini 185 | 186 | # Recycle Bin used on file shares 187 | $RECYCLE.BIN/ 188 | 189 | # Mac desktop service store files 190 | .DS_Store 191 | 192 | # SASS Compiler cache 193 | .sass-cache 194 | 195 | # Visual Studio 2014 CTP 196 | **/*.sln.ide 197 | 198 | # Visual Studio temp something 199 | .vs/ 200 | 201 | # dotnet stuff 202 | project.lock.json 203 | 204 | # VS 2015+ 205 | *.vc.vc.opendb 206 | *.vc.db 207 | 208 | # Rider 209 | .idea/ 210 | 211 | # Visual Studio Code 212 | .vscode/ 213 | 214 | # Output folder used by Webpack or other FE stuff 215 | **/node_modules/* 216 | **/wwwroot/* 217 | 218 | # SpecFlow specific 219 | *.feature.cs 220 | *.feature.xlsx.* 221 | *.Specs_*.html 222 | 223 | ##### 224 | # End of core ignore list, below put you custom 'per project' settings (patterns or path) 225 | ##### 226 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 AdvDebug 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /NetShield Protector.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.31624.102 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetShield Protector", "NetShield Protector\NetShield Protector.csproj", "{F796DDDD-9133-4A59-B511-6A0950690C4C}" 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 | {F796DDDD-9133-4A59-B511-6A0950690C4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {F796DDDD-9133-4A59-B511-6A0950690C4C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {F796DDDD-9133-4A59-B511-6A0950690C4C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {F796DDDD-9133-4A59-B511-6A0950690C4C}.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 = {EEA0E6CF-94B1-4AB2-8844-25009C6D2847} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /NetShield Protector/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /NetShield Protector/Classes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Linq; 5 | using System.Management; 6 | using System.Runtime.InteropServices; 7 | using System.Text; 8 | using System.Threading; 9 | using System.Threading.Tasks; 10 | 11 | namespace NetShield_Protector 12 | { 13 | internal class Classes 14 | { 15 | internal class AntiDebug 16 | { 17 | [DllImport("kernel32.dll", SetLastError = true)] 18 | private static extern bool IsDebuggerPresent(); 19 | 20 | [DllImport("kernel32.dll", SetLastError = true)] 21 | private static extern bool CloseHandle(IntPtr Handle); 22 | 23 | [DllImport("kernel32.dll", SetLastError = true)] 24 | private static extern bool CheckRemoteDebuggerPresent(IntPtr Handle, ref bool IsPresent); 25 | public static void AntiDebugCheck() 26 | { 27 | bool IsPresent = false; 28 | CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref IsPresent); 29 | if (IsDebuggerPresent() || Debugger.IsAttached || IsPresent) 30 | { 31 | Environment.Exit(0); 32 | } 33 | try 34 | { 35 | CloseHandle((IntPtr)0x1231); 36 | } 37 | catch 38 | { 39 | Environment.Exit(0); 40 | } 41 | } 42 | } 43 | 44 | internal class AntiVM 45 | { 46 | [DllImport("kernel32.dll", SetLastError = true)] 47 | private static extern IntPtr GetModuleHandle(string lib); 48 | 49 | public static bool IsEmulated() 50 | { 51 | long Tick = Environment.TickCount; 52 | Thread.Sleep(500); 53 | long Tick2 = Environment.TickCount; 54 | if (((Tick2 - Tick) < 500L)) 55 | { 56 | return true; 57 | } 58 | return false; 59 | } 60 | 61 | public static bool IsModulePresent(string lib) 62 | { 63 | if (GetModuleHandle(lib) != IntPtr.Zero ) 64 | return true; 65 | return false; 66 | } 67 | 68 | public static bool CheckForVMwareAndVirtualBox() 69 | { 70 | using (ManagementObjectSearcher ObjectSearcher = new ManagementObjectSearcher("Select * from Win32_ComputerSystem")) 71 | { 72 | using (ManagementObjectCollection ObjectItems = ObjectSearcher.Get()) 73 | { 74 | foreach (ManagementBaseObject Item in ObjectItems) 75 | { 76 | string ManufacturerString = Item["Manufacturer"].ToString().ToLower(); 77 | string ModelName = Item["Model"].ToString(); 78 | if ((ManufacturerString == "microsoft corporation" && ModelName.ToUpperInvariant().Contains("VIRTUAL") || ManufacturerString.Contains("vmware"))) 79 | { 80 | return true; 81 | } 82 | } 83 | } 84 | } 85 | return false; 86 | } 87 | 88 | public static void AntiVMCheck() 89 | { 90 | string[] BlacklistModules = { "SbieDll.dll", "cmdvrt32.dll", "SxIn.dll", "cuckoomon.dll" }; 91 | for (int i = 0; i < BlacklistModules.Length; i++) 92 | { 93 | if (IsModulePresent(BlacklistModules[i])) 94 | { 95 | Environment.Exit(0); 96 | } 97 | } 98 | if (CheckForVMwareAndVirtualBox() || IsEmulated()) 99 | { 100 | Environment.Exit(0); 101 | } 102 | } 103 | } 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /NetShield Protector/Encryption.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Security.Cryptography; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace NetShield_Protector 9 | { 10 | public class Encryption 11 | { 12 | public static string AesTextEncryption(string DataToEncrypt, string KeyToEncryptWith, string IVKey) 13 | { 14 | byte[] data = UTF8Encoding.UTF8.GetBytes(DataToEncrypt); 15 | using (SHA256CryptoServiceProvider SHA256 = new SHA256CryptoServiceProvider()) 16 | { 17 | string initVector = IVKey; 18 | byte[] initVectorBytes = Encoding.ASCII.GetBytes(initVector); 19 | byte[] keys = SHA256.ComputeHash(UTF8Encoding.UTF8.GetBytes(KeyToEncryptWith)); 20 | using (AesCryptoServiceProvider AES = new AesCryptoServiceProvider() { Key = keys, Mode = CipherMode.CBC, Padding = PaddingMode.PKCS7 }) 21 | { 22 | AES.IV = initVectorBytes; 23 | ICryptoTransform transform = AES.CreateEncryptor(); 24 | byte[] results = transform.TransformFinalBlock(data, 0, data.Length); 25 | string Result = Convert.ToBase64String(results, 0, results.Length); 26 | return Result; 27 | } 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /NetShield Protector/Helper.cs: -------------------------------------------------------------------------------- 1 | using dnlib.DotNet; 2 | using dnlib.DotNet.Emit; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | 6 | namespace NetShield_Protector 7 | { 8 | public static class InjectHelper 9 | { 10 | private static TypeDefUser Clone(TypeDef origin) 11 | { 12 | var ret = new TypeDefUser(origin.Namespace, origin.Name) 13 | { 14 | Attributes = origin.Attributes 15 | }; 16 | 17 | if (origin.ClassLayout != null) 18 | ret.ClassLayout = new ClassLayoutUser(origin.ClassLayout.PackingSize, origin.ClassSize); 19 | 20 | foreach (var genericParam in origin.GenericParameters) 21 | ret.GenericParameters.Add(new GenericParamUser(genericParam.Number, genericParam.Flags, "-")); 22 | 23 | return ret; 24 | } 25 | 26 | private static MethodDefUser Clone(MethodDef origin) 27 | { 28 | var ret = new MethodDefUser(origin.Name, null, origin.ImplAttributes, origin.Attributes); 29 | 30 | foreach (var genericParam in origin.GenericParameters) 31 | ret.GenericParameters.Add(new GenericParamUser(genericParam.Number, genericParam.Flags, "-")); 32 | 33 | return ret; 34 | } 35 | 36 | private static FieldDefUser Clone(FieldDef origin) 37 | { 38 | var ret = new FieldDefUser(origin.Name, null, origin.Attributes); 39 | return ret; 40 | } 41 | 42 | private static TypeDef PopulateContext(TypeDef typeDef, InjectContext ctx) 43 | { 44 | TypeDef ret; 45 | if (!ctx.Mep.TryGetValue(typeDef, out var existing)) 46 | { 47 | ret = Clone(typeDef); 48 | ctx.Mep[typeDef] = ret; 49 | } 50 | else 51 | ret = (TypeDef)existing; 52 | 53 | foreach (var nestedType in typeDef.NestedTypes) 54 | ret.NestedTypes.Add(PopulateContext(nestedType, ctx)); 55 | 56 | foreach (var method in typeDef.Methods) 57 | ret.Methods.Add((MethodDef)(ctx.Mep[method] = Clone(method))); 58 | 59 | foreach (var field in typeDef.Fields) 60 | ret.Fields.Add((FieldDef)(ctx.Mep[field] = Clone(field))); 61 | 62 | return ret; 63 | } 64 | 65 | private static void CopyTypeDef(TypeDef typeDef, InjectContext ctx) 66 | { 67 | var newTypeDef = (TypeDef)ctx.Mep[typeDef]; 68 | 69 | newTypeDef.BaseType = ctx.Importer.Import(typeDef.BaseType); 70 | 71 | foreach (var iface in typeDef.Interfaces) 72 | newTypeDef.Interfaces.Add(new InterfaceImplUser(ctx.Importer.Import(iface.Interface))); 73 | } 74 | 75 | private static void CopyMethodDef(MethodDef methodDef, InjectContext ctx) 76 | { 77 | var newMethodDef = (MethodDef)ctx.Mep[methodDef]; 78 | 79 | newMethodDef.Signature = ctx.Importer.Import(methodDef.Signature); 80 | newMethodDef.Parameters.UpdateParameterTypes(); 81 | 82 | if (methodDef.ImplMap != null) 83 | newMethodDef.ImplMap = new ImplMapUser(new ModuleRefUser(ctx.TargetModule, methodDef.ImplMap.Module.Name), methodDef.ImplMap.Name, methodDef.ImplMap.Attributes); 84 | 85 | foreach (var ca in methodDef.CustomAttributes) 86 | newMethodDef.CustomAttributes.Add(new CustomAttribute((ICustomAttributeType)ctx.Importer.Import(ca.Constructor))); 87 | 88 | if (!methodDef.HasBody) 89 | return; 90 | newMethodDef.Body = new CilBody(methodDef.Body.InitLocals, new List(), 91 | new List(), new List()) 92 | { MaxStack = methodDef.Body.MaxStack }; 93 | 94 | var bodyMap = new Dictionary(); 95 | 96 | foreach (var local in methodDef.Body.Variables) 97 | { 98 | var newLocal = new Local(ctx.Importer.Import(local.Type)); 99 | newMethodDef.Body.Variables.Add(newLocal); 100 | newLocal.Name = local.Name; 101 | newLocal.Attributes = local.Attributes; 102 | 103 | bodyMap[local] = newLocal; 104 | } 105 | 106 | foreach (var instr in methodDef.Body.Instructions) 107 | { 108 | var newInstr = new Instruction(instr.OpCode, instr.Operand) 109 | { 110 | SequencePoint = instr.SequencePoint 111 | }; 112 | 113 | switch (newInstr.Operand) 114 | { 115 | case IType type: 116 | newInstr.Operand = ctx.Importer.Import(type); 117 | break; 118 | 119 | case IMethod method: 120 | newInstr.Operand = ctx.Importer.Import(method); 121 | break; 122 | 123 | case IField field: 124 | newInstr.Operand = ctx.Importer.Import(field); 125 | break; 126 | } 127 | 128 | newMethodDef.Body.Instructions.Add(newInstr); 129 | bodyMap[instr] = newInstr; 130 | } 131 | 132 | foreach (var instr in newMethodDef.Body.Instructions) 133 | { 134 | if (instr.Operand != null && bodyMap.ContainsKey(instr.Operand)) 135 | instr.Operand = bodyMap[instr.Operand]; 136 | else if (instr.Operand is Instruction[] v) 137 | instr.Operand = v.Select(target => (Instruction)bodyMap[target]).ToArray(); 138 | } 139 | 140 | foreach (var eh in methodDef.Body.ExceptionHandlers) 141 | newMethodDef.Body.ExceptionHandlers.Add(new ExceptionHandler(eh.HandlerType) 142 | { 143 | CatchType = eh.CatchType == null ? null : ctx.Importer.Import(eh.CatchType), 144 | TryStart = (Instruction)bodyMap[eh.TryStart], 145 | TryEnd = (Instruction)bodyMap[eh.TryEnd], 146 | HandlerStart = (Instruction)bodyMap[eh.HandlerStart], 147 | HandlerEnd = (Instruction)bodyMap[eh.HandlerEnd], 148 | FilterStart = eh.FilterStart == null ? null : (Instruction)bodyMap[eh.FilterStart] 149 | }); 150 | 151 | newMethodDef.Body.SimplifyMacros(newMethodDef.Parameters); 152 | } 153 | 154 | private static void CopyFieldDef(FieldDef fieldDef, InjectContext ctx) 155 | { 156 | var newFieldDef = (FieldDef)ctx.Mep[fieldDef]; 157 | 158 | newFieldDef.Signature = ctx.Importer.Import(fieldDef.Signature); 159 | } 160 | 161 | private static void Copy(TypeDef typeDef, InjectContext ctx, bool copySelf) 162 | { 163 | if (copySelf) 164 | CopyTypeDef(typeDef, ctx); 165 | 166 | foreach (var nestedType in typeDef.NestedTypes) 167 | Copy(nestedType, ctx, true); 168 | 169 | foreach (var method in typeDef.Methods) 170 | CopyMethodDef(method, ctx); 171 | 172 | foreach (var field in typeDef.Fields) 173 | CopyFieldDef(field, ctx); 174 | } 175 | 176 | public static TypeDef Inject(TypeDef typeDef, ModuleDef target) 177 | { 178 | var ctx = new InjectContext(target); 179 | PopulateContext(typeDef, ctx); 180 | Copy(typeDef, ctx, true); 181 | return (TypeDef)ctx.Mep[typeDef]; 182 | } 183 | 184 | public static MethodDef Inject(MethodDef methodDef, ModuleDef target) 185 | { 186 | var ctx = new InjectContext(target) 187 | { 188 | Mep = 189 | { 190 | [methodDef] = Clone(methodDef) 191 | } 192 | }; 193 | CopyMethodDef(methodDef, ctx); 194 | return (MethodDef)ctx.Mep[methodDef]; 195 | } 196 | 197 | public static IEnumerable Inject(TypeDef typeDef, TypeDef newType, ModuleDef target) 198 | { 199 | var ctx = new InjectContext(target) 200 | { 201 | Mep = 202 | { 203 | [typeDef] = newType 204 | } 205 | }; 206 | PopulateContext(typeDef, ctx); 207 | Copy(typeDef, ctx, false); 208 | return ctx.Mep.Values.Except(new[] { newType }); 209 | } 210 | 211 | private class InjectContext : ImportMapper 212 | { 213 | public readonly Dictionary Mep = new Dictionary(); 214 | 215 | public readonly ModuleDef TargetModule; 216 | 217 | public InjectContext(ModuleDef target) 218 | { 219 | TargetModule = target; 220 | Importer = new Importer(target, ImporterOptions.TryToUseTypeDefs, new GenericParamContext(), this); 221 | } 222 | 223 | public Importer Importer { get; } 224 | 225 | public override ITypeDefOrRef Map(ITypeDefOrRef typeDefOrRef) 226 | { 227 | return typeDefOrRef is TypeDef typeDef && Mep.ContainsKey(typeDef) ? Mep[typeDef] as TypeDef : null; 228 | } 229 | 230 | public override IMethod Map(MethodDef methodDef) 231 | { 232 | return Mep.ContainsKey(methodDef) ? Mep[methodDef] as MethodDef : null; 233 | } 234 | 235 | public override IField Map(FieldDef fieldDef) 236 | { 237 | return Mep.ContainsKey(fieldDef) ? Mep[fieldDef] as FieldDef : null; 238 | } 239 | } 240 | } 241 | } -------------------------------------------------------------------------------- /NetShield Protector/Main.Designer.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace NetShield_Protector 3 | { 4 | partial class Main 5 | { 6 | /// 7 | /// Required designer variable. 8 | /// 9 | private System.ComponentModel.IContainer components = null; 10 | 11 | /// 12 | /// Clean up any resources being used. 13 | /// 14 | /// true if managed resources should be disposed; otherwise, false. 15 | protected override void Dispose(bool disposing) 16 | { 17 | if (disposing && (components != null)) 18 | { 19 | components.Dispose(); 20 | } 21 | base.Dispose(disposing); 22 | } 23 | 24 | #region Windows Form Designer generated code 25 | 26 | /// 27 | /// Required method for Designer support - do not modify 28 | /// the contents of this method with the code editor. 29 | /// 30 | private void InitializeComponent() 31 | { 32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main)); 33 | this.panel1 = new System.Windows.Forms.Panel(); 34 | this.AntiDecompilerCheckBox = new System.Windows.Forms.CheckBox(); 35 | this.AntiVMCheckBox = new System.Windows.Forms.CheckBox(); 36 | this.AntiDebugCheckBox = new System.Windows.Forms.CheckBox(); 37 | this.PackingCheckBox = new System.Windows.Forms.CheckBox(); 38 | this.AntiILDasmCheckBox = new System.Windows.Forms.CheckBox(); 39 | this.INTConfusionCheckBox = new System.Windows.Forms.CheckBox(); 40 | this.RenamingCheckBox = new System.Windows.Forms.CheckBox(); 41 | this.CtrlFlowCheckBox = new System.Windows.Forms.CheckBox(); 42 | this.JunkCheckBox = new System.Windows.Forms.CheckBox(); 43 | this.FakeObfuscatorAttributesCheckBox = new System.Windows.Forms.CheckBox(); 44 | this.AntiDe4DotCheckBox = new System.Windows.Forms.CheckBox(); 45 | this.Base64EncodeCheckBox = new System.Windows.Forms.CheckBox(); 46 | this.label1 = new System.Windows.Forms.Label(); 47 | this.textBox1 = new System.Windows.Forms.TextBox(); 48 | this.BrowseButton = new System.Windows.Forms.Button(); 49 | this.label2 = new System.Windows.Forms.Label(); 50 | this.label3 = new System.Windows.Forms.Label(); 51 | this.panel2 = new System.Windows.Forms.Panel(); 52 | this.textBox4 = new System.Windows.Forms.TextBox(); 53 | this.label6 = new System.Windows.Forms.Label(); 54 | this.HowThisWorksButton = new System.Windows.Forms.Button(); 55 | this.USBComboBox = new System.Windows.Forms.ComboBox(); 56 | this.label7 = new System.Windows.Forms.Label(); 57 | this.USBHWIDCheckBox = new System.Windows.Forms.CheckBox(); 58 | this.WhatThisDoButton = new System.Windows.Forms.Button(); 59 | this.checkBox4 = new System.Windows.Forms.CheckBox(); 60 | this.textBox3 = new System.Windows.Forms.TextBox(); 61 | this.label5 = new System.Windows.Forms.Label(); 62 | this.panel4 = new System.Windows.Forms.Panel(); 63 | this.panel3 = new System.Windows.Forms.Panel(); 64 | this.GetCurrentHWIDButton = new System.Windows.Forms.Button(); 65 | this.LockToHWIDCheckBox = new System.Windows.Forms.CheckBox(); 66 | this.textBox2 = new System.Windows.Forms.TextBox(); 67 | this.label4 = new System.Windows.Forms.Label(); 68 | this.button3 = new System.Windows.Forms.Button(); 69 | this.panel1.SuspendLayout(); 70 | this.panel2.SuspendLayout(); 71 | this.SuspendLayout(); 72 | // 73 | // panel1 74 | // 75 | this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 76 | this.panel1.Controls.Add(this.AntiDecompilerCheckBox); 77 | this.panel1.Controls.Add(this.AntiVMCheckBox); 78 | this.panel1.Controls.Add(this.AntiDebugCheckBox); 79 | this.panel1.Controls.Add(this.PackingCheckBox); 80 | this.panel1.Controls.Add(this.AntiILDasmCheckBox); 81 | this.panel1.Controls.Add(this.INTConfusionCheckBox); 82 | this.panel1.Controls.Add(this.RenamingCheckBox); 83 | this.panel1.Controls.Add(this.CtrlFlowCheckBox); 84 | this.panel1.Controls.Add(this.JunkCheckBox); 85 | this.panel1.Controls.Add(this.FakeObfuscatorAttributesCheckBox); 86 | this.panel1.Controls.Add(this.AntiDe4DotCheckBox); 87 | this.panel1.Controls.Add(this.Base64EncodeCheckBox); 88 | this.panel1.Location = new System.Drawing.Point(12, 101); 89 | this.panel1.Name = "panel1"; 90 | this.panel1.Size = new System.Drawing.Size(286, 590); 91 | this.panel1.TabIndex = 0; 92 | // 93 | // AntiDecompilerCheckBox 94 | // 95 | this.AntiDecompilerCheckBox.AutoSize = true; 96 | this.AntiDecompilerCheckBox.Location = new System.Drawing.Point(13, 544); 97 | this.AntiDecompilerCheckBox.Name = "AntiDecompilerCheckBox"; 98 | this.AntiDecompilerCheckBox.Size = new System.Drawing.Size(147, 24); 99 | this.AntiDecompilerCheckBox.TabIndex = 12; 100 | this.AntiDecompilerCheckBox.Text = "Anti Decompiler"; 101 | this.AntiDecompilerCheckBox.UseVisualStyleBackColor = true; 102 | // 103 | // AntiVMCheckBox 104 | // 105 | this.AntiVMCheckBox.AutoSize = true; 106 | this.AntiVMCheckBox.Location = new System.Drawing.Point(13, 493); 107 | this.AntiVMCheckBox.Name = "AntiVMCheckBox"; 108 | this.AntiVMCheckBox.Size = new System.Drawing.Size(92, 24); 109 | this.AntiVMCheckBox.TabIndex = 11; 110 | this.AntiVMCheckBox.Text = "Anti-VM"; 111 | this.AntiVMCheckBox.UseVisualStyleBackColor = true; 112 | this.AntiVMCheckBox.MouseHover += new System.EventHandler(this.checkBox14_MouseHover); 113 | // 114 | // AntiDebugCheckBox 115 | // 116 | this.AntiDebugCheckBox.AutoSize = true; 117 | this.AntiDebugCheckBox.Location = new System.Drawing.Point(13, 440); 118 | this.AntiDebugCheckBox.Name = "AntiDebugCheckBox"; 119 | this.AntiDebugCheckBox.Size = new System.Drawing.Size(116, 24); 120 | this.AntiDebugCheckBox.TabIndex = 10; 121 | this.AntiDebugCheckBox.Text = "Anti-Debug"; 122 | this.AntiDebugCheckBox.UseVisualStyleBackColor = true; 123 | this.AntiDebugCheckBox.MouseHover += new System.EventHandler(this.checkBox13_MouseHover_1); 124 | // 125 | // PackingCheckBox 126 | // 127 | this.PackingCheckBox.AutoSize = true; 128 | this.PackingCheckBox.Location = new System.Drawing.Point(13, 393); 129 | this.PackingCheckBox.Name = "PackingCheckBox"; 130 | this.PackingCheckBox.Size = new System.Drawing.Size(91, 24); 131 | this.PackingCheckBox.TabIndex = 9; 132 | this.PackingCheckBox.Text = "Packing"; 133 | this.PackingCheckBox.UseVisualStyleBackColor = true; 134 | this.PackingCheckBox.MouseHover += new System.EventHandler(this.checkBox12_MouseHover); 135 | // 136 | // AntiILDasmCheckBox 137 | // 138 | this.AntiILDasmCheckBox.AutoSize = true; 139 | this.AntiILDasmCheckBox.Location = new System.Drawing.Point(13, 348); 140 | this.AntiILDasmCheckBox.Name = "AntiILDasmCheckBox"; 141 | this.AntiILDasmCheckBox.Size = new System.Drawing.Size(123, 24); 142 | this.AntiILDasmCheckBox.TabIndex = 8; 143 | this.AntiILDasmCheckBox.Text = "Anti ILDasm"; 144 | this.AntiILDasmCheckBox.UseVisualStyleBackColor = true; 145 | this.AntiILDasmCheckBox.MouseHover += new System.EventHandler(this.checkBox11_MouseHover); 146 | // 147 | // INTConfusionCheckBox 148 | // 149 | this.INTConfusionCheckBox.AutoSize = true; 150 | this.INTConfusionCheckBox.Location = new System.Drawing.Point(13, 296); 151 | this.INTConfusionCheckBox.Name = "INTConfusionCheckBox"; 152 | this.INTConfusionCheckBox.Size = new System.Drawing.Size(136, 24); 153 | this.INTConfusionCheckBox.TabIndex = 7; 154 | this.INTConfusionCheckBox.Text = "INT Confusion"; 155 | this.INTConfusionCheckBox.UseVisualStyleBackColor = true; 156 | this.INTConfusionCheckBox.MouseHover += new System.EventHandler(this.checkBox10_MouseHover); 157 | // 158 | // RenamingCheckBox 159 | // 160 | this.RenamingCheckBox.AutoSize = true; 161 | this.RenamingCheckBox.Location = new System.Drawing.Point(13, 248); 162 | this.RenamingCheckBox.Name = "RenamingCheckBox"; 163 | this.RenamingCheckBox.Size = new System.Drawing.Size(204, 24); 164 | this.RenamingCheckBox.TabIndex = 5; 165 | this.RenamingCheckBox.Text = "Rename Methods, etc..."; 166 | this.RenamingCheckBox.UseVisualStyleBackColor = true; 167 | this.RenamingCheckBox.MouseHover += new System.EventHandler(this.checkBox8_MouseHover); 168 | // 169 | // CtrlFlowCheckBox 170 | // 171 | this.CtrlFlowCheckBox.AutoSize = true; 172 | this.CtrlFlowCheckBox.Location = new System.Drawing.Point(13, 198); 173 | this.CtrlFlowCheckBox.Name = "CtrlFlowCheckBox"; 174 | this.CtrlFlowCheckBox.Size = new System.Drawing.Size(230, 24); 175 | this.CtrlFlowCheckBox.TabIndex = 4; 176 | this.CtrlFlowCheckBox.Text = "Control Flow Obfouscastion"; 177 | this.CtrlFlowCheckBox.UseVisualStyleBackColor = true; 178 | this.CtrlFlowCheckBox.MouseHover += new System.EventHandler(this.checkBox7_MouseHover); 179 | // 180 | // JunkCheckBox 181 | // 182 | this.JunkCheckBox.AutoSize = true; 183 | this.JunkCheckBox.Location = new System.Drawing.Point(13, 146); 184 | this.JunkCheckBox.Name = "JunkCheckBox"; 185 | this.JunkCheckBox.Size = new System.Drawing.Size(261, 24); 186 | this.JunkCheckBox.TabIndex = 3; 187 | this.JunkCheckBox.Text = "Junk Methods and namespaces"; 188 | this.JunkCheckBox.UseVisualStyleBackColor = true; 189 | this.JunkCheckBox.MouseHover += new System.EventHandler(this.checkBox6_MouseHover); 190 | // 191 | // FakeObfuscatorAttributesCheckBox 192 | // 193 | this.FakeObfuscatorAttributesCheckBox.AutoSize = true; 194 | this.FakeObfuscatorAttributesCheckBox.Location = new System.Drawing.Point(13, 95); 195 | this.FakeObfuscatorAttributesCheckBox.Name = "FakeObfuscatorAttributesCheckBox"; 196 | this.FakeObfuscatorAttributesCheckBox.Size = new System.Drawing.Size(235, 24); 197 | this.FakeObfuscatorAttributesCheckBox.TabIndex = 2; 198 | this.FakeObfuscatorAttributesCheckBox.Text = "Fake Obfuscastor Attributes"; 199 | this.FakeObfuscatorAttributesCheckBox.UseVisualStyleBackColor = true; 200 | this.FakeObfuscatorAttributesCheckBox.MouseHover += new System.EventHandler(this.checkBox5_MouseHover); 201 | // 202 | // AntiDe4DotCheckBox 203 | // 204 | this.AntiDe4DotCheckBox.AutoSize = true; 205 | this.AntiDe4DotCheckBox.Location = new System.Drawing.Point(13, 51); 206 | this.AntiDe4DotCheckBox.Name = "AntiDe4DotCheckBox"; 207 | this.AntiDe4DotCheckBox.Size = new System.Drawing.Size(121, 24); 208 | this.AntiDe4DotCheckBox.TabIndex = 1; 209 | this.AntiDe4DotCheckBox.Text = "Anti-De4dot"; 210 | this.AntiDe4DotCheckBox.UseVisualStyleBackColor = true; 211 | this.AntiDe4DotCheckBox.MouseHover += new System.EventHandler(this.checkBox2_MouseHover); 212 | // 213 | // Base64EncodeCheckBox 214 | // 215 | this.Base64EncodeCheckBox.AutoSize = true; 216 | this.Base64EncodeCheckBox.Location = new System.Drawing.Point(13, 10); 217 | this.Base64EncodeCheckBox.Name = "Base64EncodeCheckBox"; 218 | this.Base64EncodeCheckBox.Size = new System.Drawing.Size(235, 24); 219 | this.Base64EncodeCheckBox.TabIndex = 0; 220 | this.Base64EncodeCheckBox.Text = "Encode Strings with Base64"; 221 | this.Base64EncodeCheckBox.UseVisualStyleBackColor = true; 222 | this.Base64EncodeCheckBox.MouseHover += new System.EventHandler(this.checkBox1_MouseHover); 223 | // 224 | // label1 225 | // 226 | this.label1.AutoSize = true; 227 | this.label1.Location = new System.Drawing.Point(12, 21); 228 | this.label1.Name = "label1"; 229 | this.label1.Size = new System.Drawing.Size(111, 20); 230 | this.label1.TabIndex = 1; 231 | this.label1.Text = "File To Protect"; 232 | // 233 | // textBox1 234 | // 235 | this.textBox1.Location = new System.Drawing.Point(138, 18); 236 | this.textBox1.Name = "textBox1"; 237 | this.textBox1.Size = new System.Drawing.Size(533, 26); 238 | this.textBox1.TabIndex = 2; 239 | // 240 | // BrowseButton 241 | // 242 | this.BrowseButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 243 | this.BrowseButton.Location = new System.Drawing.Point(677, 9); 244 | this.BrowseButton.Name = "BrowseButton"; 245 | this.BrowseButton.Size = new System.Drawing.Size(111, 44); 246 | this.BrowseButton.TabIndex = 3; 247 | this.BrowseButton.Text = "Browse"; 248 | this.BrowseButton.UseVisualStyleBackColor = true; 249 | this.BrowseButton.Click += new System.EventHandler(this.button1_Click); 250 | // 251 | // label2 252 | // 253 | this.label2.AutoSize = true; 254 | this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F); 255 | this.label2.Location = new System.Drawing.Point(8, 64); 256 | this.label2.Name = "label2"; 257 | this.label2.Size = new System.Drawing.Size(115, 22); 258 | this.label2.TabIndex = 4; 259 | this.label2.Text = "Obfuscastion"; 260 | // 261 | // label3 262 | // 263 | this.label3.AutoSize = true; 264 | this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F); 265 | this.label3.Location = new System.Drawing.Point(702, 64); 266 | this.label3.Name = "label3"; 267 | this.label3.Size = new System.Drawing.Size(86, 22); 268 | this.label3.TabIndex = 4; 269 | this.label3.Text = "Licensing"; 270 | // 271 | // panel2 272 | // 273 | this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 274 | this.panel2.Controls.Add(this.textBox4); 275 | this.panel2.Controls.Add(this.label6); 276 | this.panel2.Controls.Add(this.HowThisWorksButton); 277 | this.panel2.Controls.Add(this.USBComboBox); 278 | this.panel2.Controls.Add(this.label7); 279 | this.panel2.Controls.Add(this.USBHWIDCheckBox); 280 | this.panel2.Controls.Add(this.WhatThisDoButton); 281 | this.panel2.Controls.Add(this.checkBox4); 282 | this.panel2.Controls.Add(this.textBox3); 283 | this.panel2.Controls.Add(this.label5); 284 | this.panel2.Controls.Add(this.panel4); 285 | this.panel2.Controls.Add(this.panel3); 286 | this.panel2.Controls.Add(this.GetCurrentHWIDButton); 287 | this.panel2.Controls.Add(this.LockToHWIDCheckBox); 288 | this.panel2.Controls.Add(this.textBox2); 289 | this.panel2.Controls.Add(this.label4); 290 | this.panel2.Location = new System.Drawing.Point(364, 101); 291 | this.panel2.Name = "panel2"; 292 | this.panel2.Size = new System.Drawing.Size(424, 590); 293 | this.panel2.TabIndex = 5; 294 | // 295 | // textBox4 296 | // 297 | this.textBox4.Location = new System.Drawing.Point(162, 317); 298 | this.textBox4.Name = "textBox4"; 299 | this.textBox4.Size = new System.Drawing.Size(244, 26); 300 | this.textBox4.TabIndex = 14; 301 | this.textBox4.Text = "License.dat"; 302 | // 303 | // label6 304 | // 305 | this.label6.AutoSize = true; 306 | this.label6.Location = new System.Drawing.Point(19, 320); 307 | this.label6.Name = "label6"; 308 | this.label6.Size = new System.Drawing.Size(137, 20); 309 | this.label6.TabIndex = 13; 310 | this.label6.Text = "License Filename:"; 311 | // 312 | // HowThisWorksButton 313 | // 314 | this.HowThisWorksButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 315 | this.HowThisWorksButton.Location = new System.Drawing.Point(233, 454); 316 | this.HowThisWorksButton.Name = "HowThisWorksButton"; 317 | this.HowThisWorksButton.Size = new System.Drawing.Size(173, 43); 318 | this.HowThisWorksButton.TabIndex = 12; 319 | this.HowThisWorksButton.Text = "How this works?"; 320 | this.HowThisWorksButton.UseVisualStyleBackColor = true; 321 | this.HowThisWorksButton.Click += new System.EventHandler(this.button5_Click); 322 | // 323 | // USBComboBox 324 | // 325 | this.USBComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 326 | this.USBComboBox.FormattingEnabled = true; 327 | this.USBComboBox.Location = new System.Drawing.Point(72, 462); 328 | this.USBComboBox.Name = "USBComboBox"; 329 | this.USBComboBox.Size = new System.Drawing.Size(121, 28); 330 | this.USBComboBox.TabIndex = 11; 331 | this.USBComboBox.DropDown += new System.EventHandler(this.comboBox1_DropDown); 332 | // 333 | // label7 334 | // 335 | this.label7.AutoSize = true; 336 | this.label7.Location = new System.Drawing.Point(19, 465); 337 | this.label7.Name = "label7"; 338 | this.label7.Size = new System.Drawing.Size(47, 20); 339 | this.label7.TabIndex = 10; 340 | this.label7.Text = "USB:"; 341 | // 342 | // USBHWIDCheckBox 343 | // 344 | this.USBHWIDCheckBox.AutoSize = true; 345 | this.USBHWIDCheckBox.Location = new System.Drawing.Point(23, 527); 346 | this.USBHWIDCheckBox.Name = "USBHWIDCheckBox"; 347 | this.USBHWIDCheckBox.Size = new System.Drawing.Size(290, 24); 348 | this.USBHWIDCheckBox.TabIndex = 9; 349 | this.USBHWIDCheckBox.Text = "Enable USB Hardware ID Activation"; 350 | this.USBHWIDCheckBox.UseVisualStyleBackColor = true; 351 | this.USBHWIDCheckBox.CheckedChanged += new System.EventHandler(this.checkBox9_CheckedChanged); 352 | // 353 | // WhatThisDoButton 354 | // 355 | this.WhatThisDoButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 356 | this.WhatThisDoButton.Location = new System.Drawing.Point(103, 186); 357 | this.WhatThisDoButton.Name = "WhatThisDoButton"; 358 | this.WhatThisDoButton.Size = new System.Drawing.Size(218, 46); 359 | this.WhatThisDoButton.TabIndex = 8; 360 | this.WhatThisDoButton.Text = "What this do?"; 361 | this.WhatThisDoButton.UseVisualStyleBackColor = true; 362 | this.WhatThisDoButton.Click += new System.EventHandler(this.button4_Click); 363 | // 364 | // checkBox4 365 | // 366 | this.checkBox4.AutoSize = true; 367 | this.checkBox4.Location = new System.Drawing.Point(23, 384); 368 | this.checkBox4.Name = "checkBox4"; 369 | this.checkBox4.Size = new System.Drawing.Size(270, 24); 370 | this.checkBox4.TabIndex = 7; 371 | this.checkBox4.Text = "Enable Registration With Licence"; 372 | this.checkBox4.UseVisualStyleBackColor = true; 373 | this.checkBox4.CheckedChanged += new System.EventHandler(this.checkBox4_CheckedChanged); 374 | // 375 | // textBox3 376 | // 377 | this.textBox3.Location = new System.Drawing.Point(93, 275); 378 | this.textBox3.Name = "textBox3"; 379 | this.textBox3.Size = new System.Drawing.Size(313, 26); 380 | this.textBox3.TabIndex = 6; 381 | // 382 | // label5 383 | // 384 | this.label5.AutoSize = true; 385 | this.label5.Location = new System.Drawing.Point(19, 278); 386 | this.label5.Name = "label5"; 387 | this.label5.Size = new System.Drawing.Size(68, 20); 388 | this.label5.TabIndex = 5; 389 | this.label5.Text = "License:"; 390 | // 391 | // panel4 392 | // 393 | this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 394 | this.panel4.Location = new System.Drawing.Point(6, 440); 395 | this.panel4.Name = "panel4"; 396 | this.panel4.Size = new System.Drawing.Size(417, 1); 397 | this.panel4.TabIndex = 4; 398 | // 399 | // panel3 400 | // 401 | this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 402 | this.panel3.Location = new System.Drawing.Point(2, 251); 403 | this.panel3.Name = "panel3"; 404 | this.panel3.Size = new System.Drawing.Size(417, 1); 405 | this.panel3.TabIndex = 4; 406 | // 407 | // GetCurrentHWIDButton 408 | // 409 | this.GetCurrentHWIDButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 410 | this.GetCurrentHWIDButton.Location = new System.Drawing.Point(23, 64); 411 | this.GetCurrentHWIDButton.Name = "GetCurrentHWIDButton"; 412 | this.GetCurrentHWIDButton.Size = new System.Drawing.Size(284, 47); 413 | this.GetCurrentHWIDButton.TabIndex = 3; 414 | this.GetCurrentHWIDButton.Text = "Get Current PC HWID"; 415 | this.GetCurrentHWIDButton.UseVisualStyleBackColor = true; 416 | this.GetCurrentHWIDButton.Click += new System.EventHandler(this.button2_Click); 417 | // 418 | // LockToHWIDCheckBox 419 | // 420 | this.LockToHWIDCheckBox.AutoSize = true; 421 | this.LockToHWIDCheckBox.Location = new System.Drawing.Point(23, 137); 422 | this.LockToHWIDCheckBox.Name = "LockToHWIDCheckBox"; 423 | this.LockToHWIDCheckBox.Size = new System.Drawing.Size(229, 24); 424 | this.LockToHWIDCheckBox.TabIndex = 2; 425 | this.LockToHWIDCheckBox.Text = "Lock to the specified HWID"; 426 | this.LockToHWIDCheckBox.UseVisualStyleBackColor = true; 427 | this.LockToHWIDCheckBox.CheckedChanged += new System.EventHandler(this.checkBox3_CheckedChanged); 428 | // 429 | // textBox2 430 | // 431 | this.textBox2.Location = new System.Drawing.Point(82, 11); 432 | this.textBox2.Name = "textBox2"; 433 | this.textBox2.Size = new System.Drawing.Size(324, 26); 434 | this.textBox2.TabIndex = 1; 435 | // 436 | // label4 437 | // 438 | this.label4.AutoSize = true; 439 | this.label4.Location = new System.Drawing.Point(19, 14); 440 | this.label4.Name = "label4"; 441 | this.label4.Size = new System.Drawing.Size(57, 20); 442 | this.label4.TabIndex = 0; 443 | this.label4.Text = "HWID:"; 444 | // 445 | // button3 446 | // 447 | this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; 448 | this.button3.Location = new System.Drawing.Point(74, 705); 449 | this.button3.Name = "button3"; 450 | this.button3.Size = new System.Drawing.Size(155, 39); 451 | this.button3.TabIndex = 6; 452 | this.button3.Text = "Protect"; 453 | this.button3.UseVisualStyleBackColor = true; 454 | this.button3.Click += new System.EventHandler(this.button3_Click); 455 | // 456 | // Main 457 | // 458 | this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); 459 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 460 | this.ClientSize = new System.Drawing.Size(800, 752); 461 | this.Controls.Add(this.button3); 462 | this.Controls.Add(this.panel2); 463 | this.Controls.Add(this.label3); 464 | this.Controls.Add(this.label2); 465 | this.Controls.Add(this.BrowseButton); 466 | this.Controls.Add(this.textBox1); 467 | this.Controls.Add(this.label1); 468 | this.Controls.Add(this.panel1); 469 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 470 | this.Name = "Main"; 471 | this.Text = "NetShield Protector"; 472 | this.Load += new System.EventHandler(this.Main_Load); 473 | this.panel1.ResumeLayout(false); 474 | this.panel1.PerformLayout(); 475 | this.panel2.ResumeLayout(false); 476 | this.panel2.PerformLayout(); 477 | this.ResumeLayout(false); 478 | this.PerformLayout(); 479 | 480 | } 481 | 482 | #endregion 483 | 484 | private System.Windows.Forms.Panel panel1; 485 | private System.Windows.Forms.Label label1; 486 | private System.Windows.Forms.TextBox textBox1; 487 | private System.Windows.Forms.Button BrowseButton; 488 | private System.Windows.Forms.Label label2; 489 | private System.Windows.Forms.Label label3; 490 | private System.Windows.Forms.Panel panel2; 491 | private System.Windows.Forms.CheckBox checkBox4; 492 | private System.Windows.Forms.TextBox textBox3; 493 | private System.Windows.Forms.Label label5; 494 | private System.Windows.Forms.Panel panel3; 495 | private System.Windows.Forms.Button GetCurrentHWIDButton; 496 | private System.Windows.Forms.CheckBox LockToHWIDCheckBox; 497 | private System.Windows.Forms.TextBox textBox2; 498 | private System.Windows.Forms.Label label4; 499 | private System.Windows.Forms.Button button3; 500 | private System.Windows.Forms.CheckBox FakeObfuscatorAttributesCheckBox; 501 | private System.Windows.Forms.CheckBox AntiDe4DotCheckBox; 502 | private System.Windows.Forms.CheckBox Base64EncodeCheckBox; 503 | private System.Windows.Forms.CheckBox CtrlFlowCheckBox; 504 | private System.Windows.Forms.CheckBox JunkCheckBox; 505 | private System.Windows.Forms.CheckBox RenamingCheckBox; 506 | private System.Windows.Forms.Button WhatThisDoButton; 507 | private System.Windows.Forms.ComboBox USBComboBox; 508 | private System.Windows.Forms.Label label7; 509 | private System.Windows.Forms.CheckBox USBHWIDCheckBox; 510 | private System.Windows.Forms.Panel panel4; 511 | private System.Windows.Forms.Button HowThisWorksButton; 512 | private System.Windows.Forms.CheckBox INTConfusionCheckBox; 513 | private System.Windows.Forms.CheckBox AntiILDasmCheckBox; 514 | private System.Windows.Forms.CheckBox PackingCheckBox; 515 | private System.Windows.Forms.TextBox textBox4; 516 | private System.Windows.Forms.Label label6; 517 | private System.Windows.Forms.CheckBox AntiVMCheckBox; 518 | private System.Windows.Forms.CheckBox AntiDebugCheckBox; 519 | private System.Windows.Forms.CheckBox AntiDecompilerCheckBox; 520 | } 521 | } -------------------------------------------------------------------------------- /NetShield Protector/Main.cs: -------------------------------------------------------------------------------- 1 | using dnlib.DotNet; 2 | using dnlib.DotNet.Emit; 3 | using dnlib.DotNet.MD; 4 | using dnlib.DotNet.Writer; 5 | using Microsoft.CSharp; 6 | using System; 7 | using System.CodeDom.Compiler; 8 | using System.Collections.Generic; 9 | using System.Data; 10 | using System.Diagnostics; 11 | using System.Drawing; 12 | using System.IO; 13 | using System.Linq; 14 | using System.Management; 15 | using System.Net; 16 | using System.Reflection; 17 | using System.Runtime.InteropServices; 18 | using System.Security.Cryptography; 19 | using System.Text; 20 | using System.Text.RegularExpressions; 21 | using System.Windows.Forms; 22 | 23 | namespace NetShield_Protector 24 | { 25 | public partial class Main : Form 26 | { 27 | public Main() 28 | { 29 | InitializeComponent(); 30 | } 31 | 32 | private string RandomPassword(int PasswordLength) 33 | { 34 | StringBuilder MakePassword = new StringBuilder(); 35 | Random MakeRandom = new Random(); 36 | while (0 < PasswordLength--) 37 | { 38 | string characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ*!@=&?&/abcdefghijklmnopqrstuvwxyz1234567890"; 39 | MakePassword.Append(characters[MakeRandom.Next(characters.Length)]); 40 | } 41 | return MakePassword.ToString(); 42 | } 43 | 44 | private string RandomName(int NameLength) 45 | { 46 | StringBuilder MakePassword = new StringBuilder(); 47 | Random MakeRandom = new Random(); 48 | while (0 < NameLength--) 49 | { 50 | string characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; 51 | MakePassword.Append(characters[MakeRandom.Next(characters.Length)]); 52 | } 53 | return MakePassword.ToString(); 54 | } 55 | 56 | public static string RandomChineseCharacters(int NameLength) 57 | { 58 | const string chars = "的是有为也而要你可生家发如成起经"; 59 | return new string(Enumerable.Repeat(chars, NameLength) 60 | .Select(s => s[new Random(Guid.NewGuid().GetHashCode()).Next(s.Length)]).ToArray()); 61 | } 62 | 63 | private string RandomChineseCharacters_SameName(int NameLength) 64 | { 65 | StringBuilder MakePassword = new StringBuilder(); 66 | Random MakeRandom = new Random(); 67 | while (0 < NameLength--) 68 | { 69 | string characters = "的是有为也而要你可生家发如成起经"; 70 | MakePassword.Append(characters[MakeRandom.Next(characters.Length)]); 71 | } 72 | return MakePassword.ToString(); 73 | } 74 | 75 | public class Block { public Block() { Instructions = new List(); } public List Instructions { get; set; } public int Number { get; set; } } 76 | 77 | public static List GetMethod(MethodDef method) { var blocks = new List(); var block = new Block(); var id = 0; var usage = 0; block.Number = id; block.Instructions.Add(Instruction.Create(OpCodes.Nop)); blocks.Add(block); block = new Block(); var handlers = new Stack(); foreach (var instruction in method.Body.Instructions) { foreach (var eh in method.Body.ExceptionHandlers) { if (eh.HandlerStart == instruction || eh.TryStart == instruction || eh.FilterStart == instruction) handlers.Push(eh); } foreach (var eh in method.Body.ExceptionHandlers) { if (eh.HandlerEnd == instruction || eh.TryEnd == instruction) handlers.Pop(); } instruction.CalculateStackUsage(out var stacks, out var pops); block.Instructions.Add(instruction); usage += stacks - pops; if (stacks == 0) { if (instruction.OpCode != OpCodes.Nop) { if ((usage == 0 || instruction.OpCode == OpCodes.Ret) && handlers.Count == 0) { block.Number = ++id; blocks.Add(block); block = new Block(); } } } } return blocks; } 78 | 79 | private string XOREncryptionKeys(string KeyToEncrypt, string Key) 80 | { 81 | StringBuilder DecryptEncryptionKey = new StringBuilder(); 82 | for (int c = 0; c < KeyToEncrypt.Length; c++) 83 | DecryptEncryptionKey.Append((char)((uint)KeyToEncrypt[c] ^ (uint)Key[c % 4])); 84 | return DecryptEncryptionKey.ToString(); 85 | } 86 | 87 | private void PackAndEncrypt(string FileToPack, string Output) 88 | { 89 | var Options = new Dictionary(); 90 | Options.Add("CompilerVersion", "v4.0"); 91 | Options.Add("language", "c#"); 92 | var codeProvider = new CSharpCodeProvider(Options); 93 | CompilerParameters parameters = new CompilerParameters(); 94 | parameters.CompilerOptions = "/target:winexe /unsafe"; 95 | parameters.GenerateExecutable = true; 96 | parameters.OutputAssembly = Output; 97 | parameters.IncludeDebugInformation = false; 98 | parameters.TreatWarningsAsErrors = false; 99 | string[] Librarys = { "System", "System.Windows.Forms", "System.Management", "System.Net", "System.Core", "System.Net.Http", "System.Runtime", "System.Runtime.InteropServices" }; 100 | foreach (string Library in Librarys) 101 | { 102 | parameters.ReferencedAssemblies.Add(Library + ".dll"); 103 | } 104 | byte[] CodeToProtect = File.ReadAllBytes(FileToPack); 105 | string RandomIV = RandomName(16); 106 | string RandomKey = RandomPassword(17); 107 | string RandomXORKey = RandomPassword(4); 108 | string EncryptedKey = XOREncryptionKeys(RandomKey, RandomXORKey); 109 | string EncryptedIV = XOREncryptionKeys(RandomIV, RandomXORKey); 110 | string Final = Encryption.AesTextEncryption(Convert.ToBase64String(CodeToProtect).Replace("A", ".").Replace("B", "*").Replace("S", @"_"), EncryptedKey, EncryptedIV); 111 | string PackStub = Resource1.PackStub; 112 | string NewPackStub = PackStub.Replace("DecME", Final).Replace("THISISIV", RandomIV).Replace("THISISKEY", RandomKey); 113 | string TotallyNewPackStub = NewPackStub.Replace("decryptkeyencryption", Convert.ToBase64String(Encoding.UTF8.GetBytes(RandomXORKey))).Replace("decryptkeyiv", Convert.ToBase64String(Encoding.UTF8.GetBytes(RandomXORKey))).Replace("PackStub", "namespace " + RandomName(12)); 114 | CompilerResults cr = codeProvider.CompileAssemblyFromSource(parameters, TotallyNewPackStub); 115 | if (cr.Errors.Count > 0) 116 | { 117 | foreach (CompilerError ce in cr.Errors) 118 | { 119 | MessageBox.Show("Errors building: " + ce.ErrorText + ", in line: " + ce.Line); 120 | } 121 | } 122 | } 123 | 124 | private void ObfuscasteCode(string ToProtect) 125 | { 126 | byte[] AssemblyToProtect = File.ReadAllBytes(ToProtect); 127 | ModuleContext ModuleCont = ModuleDefMD.CreateModuleContext(); 128 | ModuleDefMD FileModule = ModuleDefMD.Load(AssemblyToProtect, ModuleCont); 129 | AssemblyDef Assembly1 = FileModule.Assembly; 130 | 131 | if (AntiDe4DotCheckBox.Checked) 132 | { 133 | for (int i = 200; i < 300; i++) 134 | { 135 | InterfaceImpl Interface = new InterfaceImplUser(FileModule.GlobalType); 136 | TypeDef typedef = new TypeDefUser("", $"Form{i.ToString()}", FileModule.CorLibTypes.GetTypeRef("System", "Attribute")); 137 | InterfaceImpl interface1 = new InterfaceImplUser(typedef); 138 | FileModule.Types.Add(typedef); 139 | typedef.Interfaces.Add(interface1); 140 | typedef.Interfaces.Add(Interface); 141 | } 142 | } 143 | 144 | string[] FakeObfuscastionsAttributes = { "ConfusedByAttribute", "YanoAttribute", "NetGuard", "DotfuscatorAttribute", "BabelAttribute", "ObfuscatedByGoliath", "dotNetProtector" }; 145 | if (FakeObfuscatorAttributesCheckBox.Checked) 146 | { 147 | for (int i = 0; i < FakeObfuscastionsAttributes.Length; i++) 148 | { 149 | var FakeObfuscastionsAttribute = new TypeDefUser(FakeObfuscastionsAttributes[i], FileModule.CorLibTypes.Object.TypeDefOrRef); 150 | FileModule.Types.Add(FakeObfuscastionsAttribute); 151 | } 152 | } 153 | 154 | if (RenamingCheckBox.Checked) 155 | { 156 | foreach (TypeDef type in FileModule.Types) 157 | { 158 | FileModule.Name = RandomName(12); 159 | if (type.IsGlobalModuleType || type.IsRuntimeSpecialName || type.IsSpecialName || type.IsWindowsRuntime || type.IsInterface) 160 | { 161 | continue; 162 | } 163 | else 164 | { 165 | for (int i = 200; i < 300; i++) 166 | { 167 | foreach (PropertyDef property in type.Properties) 168 | { 169 | if (property.IsRuntimeSpecialName) continue; 170 | property.Name = RandomName(20) + i + RandomName(10) + i; 171 | } 172 | foreach (FieldDef fields in type.Fields) 173 | { 174 | fields.Name = RandomName(20) + i + RandomName(10) + i; 175 | } 176 | foreach (EventDef eventdef in type.Events) 177 | { 178 | eventdef.Name = RandomName(20) + i + RandomName(10) + i; 179 | } 180 | foreach (MethodDef method in type.Methods) 181 | { 182 | if (method.IsConstructor || method.IsRuntimeSpecialName || method.IsRuntime || method.IsStaticConstructor || method.IsVirtual) continue; 183 | method.Name = RandomName(20) + i + RandomName(10) + i; 184 | } 185 | foreach (MethodDef method in type.Methods) 186 | { 187 | foreach (Parameter RenameParameters in method.Parameters) 188 | { 189 | RenameParameters.Name = RandomName(10); 190 | } 191 | } 192 | } 193 | } 194 | foreach (ModuleDefMD module in FileModule.Assembly.Modules) 195 | { 196 | module.Name = RandomName(13); 197 | module.Assembly.Name = RandomName(14); 198 | } 199 | } 200 | 201 | foreach (TypeDef type in FileModule.Types) 202 | { 203 | foreach (MethodDef GetMethods in type.Methods) 204 | { 205 | for (int i = 200; i < 300; i++) 206 | { 207 | if (GetMethods.IsConstructor || GetMethods.IsRuntimeSpecialName || GetMethods.IsRuntime || GetMethods.IsStaticConstructor) continue; 208 | GetMethods.Name = RandomName(15) + i; 209 | } 210 | } 211 | } 212 | 213 | Dictionary AssemblyNames = new Dictionary(); 214 | foreach (var type in FileModule.GetTypes()) 215 | { 216 | if (type.IsGlobalModuleType) continue; 217 | if (type.Namespace == "") 218 | continue; 219 | if (AssemblyNames.TryGetValue(type.Namespace, out var nameValue)) 220 | type.Namespace = nameValue; 221 | else 222 | { 223 | string newName = null; 224 | for (int i = 0; i < 200; i++) 225 | { 226 | newName = RandomName(11) + RandomName(3) + RandomName(11) + RandomName(11) + i; 227 | } 228 | AssemblyNames.Add(type.Namespace, newName); 229 | type.Namespace = newName; 230 | } 231 | } 232 | foreach (var type in FileModule.GetTypes()) 233 | { 234 | if (type.IsGlobalModuleType) continue; 235 | 236 | if (type.Name == "GeneratedInternalTypeHelper" || type.Name == "Resources" || type.Name == "Settings") 237 | continue; 238 | if (AssemblyNames.TryGetValue(type.Name, out var nameValue)) 239 | type.Name = nameValue; 240 | else 241 | { 242 | string newName = null; 243 | for (int i = 0; i < 200; i++) 244 | { 245 | newName = RandomName(11) + RandomName(3) + RandomName(11) + RandomName(11) + i; 246 | } 247 | AssemblyNames.Add(type.Name, newName); 248 | type.Name = newName; 249 | } 250 | } 251 | foreach (var resource in FileModule.Resources) 252 | { 253 | foreach (var item in AssemblyNames.Where(item => resource.Name.Contains(item.Key))) 254 | { 255 | resource.Name = resource.Name.Replace(item.Key, item.Value); 256 | } 257 | } 258 | foreach (var type in FileModule.GetTypes()) 259 | { 260 | foreach (var property in type.Properties) 261 | { 262 | if (property.Name != "ResourceManager") 263 | continue; 264 | 265 | var instr = property.GetMethod.Body.Instructions; 266 | } 267 | } 268 | } 269 | 270 | if (JunkCheckBox.Checked) 271 | { 272 | for (int i = 0; i < 200; i++) 273 | { 274 | var Junk = new TypeDefUser("A" + RandomChineseCharacters(10) + RandomChineseCharacters(10) + RandomChineseCharacters(10) + i, FileModule.CorLibTypes.Object.Namespace); 275 | FileModule.Types.Add(Junk); 276 | } 277 | 278 | for (int i = 0; i < 200; i++) 279 | { 280 | var Junk = new TypeDefUser(RandomChineseCharacters(10) + RandomChineseCharacters(10) + RandomChineseCharacters(10) + i, FileModule.CorLibTypes.Object.TypeDefOrRef); 281 | FileModule.Types.Add(Junk); 282 | } 283 | 284 | for (int i = 0; i < 200; i++) 285 | { 286 | var Junk = new TypeDefUser(RandomChineseCharacters(10) + RandomChineseCharacters(2) + RandomChineseCharacters(10) + RandomChineseCharacters(10) + i, FileModule.CorLibTypes.Object.TypeDefOrRef); 287 | var Junk2 = new TypeDefUser(RandomChineseCharacters(11) + RandomChineseCharacters(3) + RandomChineseCharacters(11) + RandomChineseCharacters(11) + i, FileModule.CorLibTypes.Object.TypeDefOrRef); 288 | FileModule.Types.Add(Junk); 289 | FileModule.Types.Add(Junk2); 290 | } 291 | 292 | for (int i = 0; i < 200; i++) 293 | { 294 | var Junk = new TypeDefUser(RandomChineseCharacters(10) + RandomChineseCharacters(4) + RandomChineseCharacters(10) + RandomChineseCharacters(10) + i, FileModule.CorLibTypes.Object.Namespace); 295 | var Junk2 = new TypeDefUser(RandomChineseCharacters(11) + RandomChineseCharacters(5) + RandomChineseCharacters(11) + RandomChineseCharacters(11) + i, FileModule.CorLibTypes.Object.Namespace); 296 | FileModule.Types.Add(Junk); 297 | FileModule.Types.Add(Junk2); 298 | } 299 | } 300 | 301 | if (Base64EncodeCheckBox.Checked) 302 | { 303 | foreach (TypeDef type in FileModule.Types) 304 | { 305 | foreach (MethodDef method in type.Methods) 306 | { 307 | if (method.Body == null) continue; 308 | method.Body.SimplifyBranches(); 309 | for (int i = 0; i < method.Body.Instructions.Count; i++) 310 | { 311 | if (method.Body.Instructions[i].OpCode == OpCodes.Ldstr) 312 | { 313 | string EncodedString = method.Body.Instructions[i].Operand.ToString(); 314 | string InsertEncodedString = Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(EncodedString)); 315 | method.Body.Instructions[i].OpCode = OpCodes.Nop; 316 | method.Body.Instructions.Insert(i + 1, new Instruction(OpCodes.Call, FileModule.Import(typeof(Encoding).GetMethod("get_UTF8", new Type[] { })))); 317 | method.Body.Instructions.Insert(i + 2, new Instruction(OpCodes.Ldstr, InsertEncodedString)); 318 | method.Body.Instructions.Insert(i + 3, new Instruction(OpCodes.Call, FileModule.Import(typeof(Convert).GetMethod("FromBase64String", new Type[] { typeof(string) })))); 319 | method.Body.Instructions.Insert(i + 4, new Instruction(OpCodes.Callvirt, FileModule.Import(typeof(Encoding).GetMethod("GetString", new Type[] { typeof(byte[]) })))); 320 | i += 4; 321 | } 322 | } 323 | } 324 | } 325 | } 326 | 327 | if (INTConfusionCheckBox.Checked) 328 | { 329 | foreach (var type in FileModule.GetTypes()) 330 | { 331 | if (type.IsGlobalModuleType) continue; 332 | foreach (var method in type.Methods) 333 | { 334 | if (!method.HasBody) continue; 335 | { 336 | for (var i = 0; i < method.Body.Instructions.Count; i++) 337 | { 338 | if (!method.Body.Instructions[i].IsLdcI4()) continue; 339 | var numorig = new Random(Guid.NewGuid().GetHashCode()).Next(); 340 | var div = new Random(Guid.NewGuid().GetHashCode()).Next(); 341 | var num = numorig ^ div; 342 | var nop = OpCodes.Nop.ToInstruction(); 343 | var local = new Local(method.Module.ImportAsTypeSig(typeof(int))); 344 | method.Body.Variables.Add(local); 345 | method.Body.Instructions.Insert(i + 1, OpCodes.Stloc.ToInstruction(local)); 346 | method.Body.Instructions.Insert(i + 2, Instruction.Create(OpCodes.Ldc_I4, method.Body.Instructions[i].GetLdcI4Value() - sizeof(float))); 347 | method.Body.Instructions.Insert(i + 3, Instruction.Create(OpCodes.Ldc_I4, num)); 348 | method.Body.Instructions.Insert(i + 4, Instruction.Create(OpCodes.Ldc_I4, div)); 349 | method.Body.Instructions.Insert(i + 5, Instruction.Create(OpCodes.Xor)); 350 | method.Body.Instructions.Insert(i + 6, Instruction.Create(OpCodes.Ldc_I4, numorig)); 351 | method.Body.Instructions.Insert(i + 7, Instruction.Create(OpCodes.Bne_Un, nop)); 352 | method.Body.Instructions.Insert(i + 8, Instruction.Create(OpCodes.Ldc_I4, 2)); 353 | method.Body.Instructions.Insert(i + 9, OpCodes.Stloc.ToInstruction(local)); 354 | method.Body.Instructions.Insert(i + 10, Instruction.Create(OpCodes.Sizeof, method.Module.Import(typeof(float)))); 355 | method.Body.Instructions.Insert(i + 11, Instruction.Create(OpCodes.Add)); 356 | method.Body.Instructions.Insert(i + 12, nop); 357 | i += 12; 358 | } 359 | method.Body.SimplifyBranches(); 360 | } 361 | } 362 | } 363 | } 364 | 365 | if (AntiILDasmCheckBox.Checked) 366 | { 367 | foreach (ModuleDef module in FileModule.Assembly.Modules) 368 | { 369 | TypeRef attrRef = FileModule.CorLibTypes.GetTypeRef("System.Runtime.CompilerServices", "SuppressIldasmAttribute"); 370 | var ctorRef = new MemberRefUser(module, ".ctor", MethodSig.CreateInstance(module.CorLibTypes.Void), attrRef); 371 | var attr = new CustomAttribute(ctorRef); 372 | module.CustomAttributes.Add(attr); 373 | } 374 | } 375 | 376 | if (CtrlFlowCheckBox.Checked) 377 | { 378 | foreach (var tDef in FileModule.Types) 379 | { 380 | if (tDef == FileModule.GlobalType) continue; 381 | foreach (var mDef in tDef.Methods) 382 | { 383 | if (mDef.Name.StartsWith("get_") || mDef.Name.StartsWith("set_")) continue; 384 | if (!mDef.HasBody || mDef.IsConstructor) continue; 385 | mDef.Body.SimplifyBranches(); 386 | mDef.Body.SimplifyMacros(mDef.Parameters); 387 | var blocks = GetMethod(mDef); 388 | var ret = new List(); 389 | foreach (var group in blocks) 390 | { 391 | Random rnd = new Random(); 392 | ret.Insert(rnd.Next(0, ret.Count), group); 393 | } 394 | blocks = ret; 395 | mDef.Body.Instructions.Clear(); 396 | var local = new Local(mDef.Module.CorLibTypes.Int32); 397 | mDef.Body.Variables.Add(local); 398 | var target = Instruction.Create(OpCodes.Nop); 399 | var instr = Instruction.Create(OpCodes.Br, target); 400 | var instructions = new List { Instruction.Create(OpCodes.Ldc_I4, 0) }; 401 | foreach (var instruction in instructions) 402 | mDef.Body.Instructions.Add(instruction); 403 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Stloc, local)); 404 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Br, instr)); 405 | mDef.Body.Instructions.Add(target); 406 | foreach (var block in blocks.Where(block => block != blocks.Single(x => x.Number == blocks.Count - 1))) 407 | { 408 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Ldloc, local)); 409 | var instructions1 = new List { Instruction.Create(OpCodes.Ldc_I4, block.Number) }; 410 | foreach (var instruction in instructions1) 411 | mDef.Body.Instructions.Add(instruction); 412 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Ceq)); 413 | var instruction4 = Instruction.Create(OpCodes.Nop); 414 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Brfalse, instruction4)); 415 | 416 | foreach (var instruction in block.Instructions) 417 | mDef.Body.Instructions.Add(instruction); 418 | 419 | var instructions2 = new List { Instruction.Create(OpCodes.Ldc_I4, block.Number + 1) }; 420 | foreach (var instruction in instructions2) 421 | mDef.Body.Instructions.Add(instruction); 422 | 423 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Stloc, local)); 424 | mDef.Body.Instructions.Add(instruction4); 425 | } 426 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Ldloc, local)); 427 | var instructions3 = new List { Instruction.Create(OpCodes.Ldc_I4, blocks.Count - 1) }; 428 | foreach (var instruction in instructions3) 429 | mDef.Body.Instructions.Add(instruction); 430 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Ceq)); 431 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Brfalse, instr)); 432 | mDef.Body.Instructions.Add(Instruction.Create(OpCodes.Br, blocks.Single(x => x.Number == blocks.Count - 1).Instructions[0])); 433 | mDef.Body.Instructions.Add(instr); 434 | 435 | foreach (var lastBlock in blocks.Single(x => x.Number == blocks.Count - 1).Instructions) 436 | mDef.Body.Instructions.Add(lastBlock); 437 | } 438 | } 439 | } 440 | 441 | if (AntiDebugCheckBox.Checked) 442 | { 443 | var typeModule = ModuleDefMD.Load(typeof(Classes.AntiDebug).Module); 444 | var cctor = FileModule.GlobalType.FindOrCreateStaticConstructor(); 445 | var typeDef = typeModule.ResolveTypeDef(MDToken.ToRID(typeof(Classes.AntiDebug).MetadataToken)); 446 | var members = InjectHelper.Inject(typeDef, FileModule.GlobalType, FileModule); 447 | var init = (MethodDef)members.Single(method => method.Name == "AntiDebugCheck"); 448 | cctor.Body.Instructions.Insert(0, Instruction.Create(OpCodes.Call, init)); 449 | foreach (var md in FileModule.GlobalType.Methods) 450 | { 451 | if (md.Name != ".ctor") continue; 452 | FileModule.GlobalType.Remove(md); 453 | break; 454 | } 455 | } 456 | 457 | if(AntiVMCheckBox.Checked) 458 | { 459 | var typeModule = ModuleDefMD.Load(typeof(Classes.AntiVM).Module); 460 | var cctor = FileModule.GlobalType.FindOrCreateStaticConstructor(); 461 | var typeDef = typeModule.ResolveTypeDef(MDToken.ToRID(typeof(Classes.AntiVM).MetadataToken)); 462 | var members = InjectHelper.Inject(typeDef, FileModule.GlobalType, FileModule); 463 | var init = (MethodDef)members.Single(method => method.Name == "AntiVMCheck"); 464 | cctor.Body.Instructions.Insert(0, Instruction.Create(OpCodes.Call, init)); 465 | foreach (var md in FileModule.GlobalType.Methods) 466 | { 467 | if (md.Name != ".ctor") continue; 468 | FileModule.GlobalType.Remove(md); 469 | break; 470 | } 471 | } 472 | 473 | if(AntiDecompilerCheckBox.Checked) 474 | { 475 | foreach (TypeDef typeDef in FileModule.GetTypes()) 476 | { 477 | foreach (MethodDef methodDef in typeDef.Methods) 478 | { 479 | methodDef.Body.KeepOldMaxStack = true; 480 | if (methodDef.HasBody && methodDef.Body.HasInstructions) 481 | { 482 | methodDef.Body.Instructions.Insert(0, Instruction.Create(OpCodes.Box, methodDef.Module.Import(typeof(Math)))); 483 | } 484 | } 485 | } 486 | } 487 | 488 | if (File.Exists(Environment.CurrentDirectory + @"\Obfuscasted.exe") == false) 489 | { 490 | FileModule.Write(Environment.CurrentDirectory + @"\Obfuscasted.exe"); 491 | if (PackingCheckBox.Checked) 492 | { 493 | string RandomAssemblyName = RandomChineseCharacters(12); 494 | PackAndEncrypt(Environment.CurrentDirectory + @"\Obfuscasted.exe", Environment.CurrentDirectory + @"\" + RandomAssemblyName + ".tmp"); 495 | File.Delete(Environment.CurrentDirectory + @"\Obfuscasted.exe"); 496 | File.Move(Environment.CurrentDirectory + @"\" + RandomAssemblyName + ".tmp", Environment.CurrentDirectory + @"\Obfuscasted.exe"); 497 | } 498 | } 499 | else 500 | { 501 | MessageBox.Show("Please Delete or move the file: " + Environment.CurrentDirectory + @"\Obfuscasted.exe" + " first to Obfuscaste your file", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 502 | } 503 | } 504 | 505 | private static string HashingHardwareID(string ToHash) 506 | { 507 | byte[] KeyToHashWith = Encoding.ASCII.GetBytes("bAI!J6XwWO&A"); 508 | HMACSHA256 SHA256Hashing = new HMACSHA256(); 509 | SHA256Hashing.Key = KeyToHashWith; 510 | var TheHash = SHA256Hashing.ComputeHash(UTF8Encoding.UTF8.GetBytes(ToHash)); 511 | StringBuilder builder = new StringBuilder(); 512 | for (int i = 0; i < TheHash.Length; i++) 513 | { 514 | builder.Append(TheHash[i].ToString("x2")); 515 | } 516 | string FinalHash = builder.ToString(); 517 | return FinalHash; 518 | } 519 | 520 | private static string GetHardwareID() 521 | { 522 | ManagementObjectSearcher CPU = new ManagementObjectSearcher("SELECT * FROM Win32_Processor"); 523 | ManagementObjectCollection GetCPU = CPU.Get(); 524 | string CPUID = null; 525 | foreach (ManagementObject CPUId in GetCPU) 526 | { 527 | CPUID = CPUId["ProcessorType"].ToString() + CPUId["ProcessorId"].ToString(); 528 | } 529 | ManagementObjectSearcher BIOS = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS"); 530 | ManagementObjectCollection GetBIOS = BIOS.Get(); 531 | string GPUID = null; 532 | foreach (ManagementObject BIOSId in GetBIOS) 533 | { 534 | GPUID = BIOSId["Manufacturer"].ToString() + BIOSId["Version"].ToString(); 535 | } 536 | return HashingHardwareID(CPUID + GPUID); 537 | } 538 | 539 | private static string GetUSBHardwareID(string USBPath) 540 | { 541 | DriveInfo[] GetDrives = DriveInfo.GetDrives(); 542 | foreach (DriveInfo GetInfo in GetDrives) 543 | { 544 | if (GetInfo.RootDirectory.ToString() == USBPath) 545 | { 546 | ManagementObjectSearcher USB = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); 547 | ManagementObjectCollection GetUSB = USB.Get(); 548 | foreach (ManagementObject USBHardwareID in GetUSB) 549 | { 550 | if (USBHardwareID["MediaType"].ToString() == "Removable Media") 551 | { 552 | return HashingHardwareID(GetInfo.TotalSize + USBHardwareID["SerialNumber"].ToString() + USBHardwareID["PNPDeviceID"].ToString()); 553 | } 554 | } 555 | } 556 | } 557 | return null; 558 | } 559 | 560 | private void HWIDPacking(string FileToPack, string Output) 561 | { 562 | var Options = new Dictionary(); 563 | Options.Add("CompilerVersion", "v4.0"); 564 | Options.Add("language", "c#"); 565 | var codeProvider = new CSharpCodeProvider(Options); 566 | CompilerParameters parameters = new CompilerParameters(); 567 | parameters.CompilerOptions = "/target:winexe"; 568 | parameters.GenerateExecutable = true; 569 | parameters.OutputAssembly = Output; 570 | parameters.IncludeDebugInformation = false; 571 | string[] Librarys = { "System", "System.Windows.Forms", "System.Management", "System.Core", "System.Runtime", "System.Runtime.InteropServices" }; 572 | foreach (string Library in Librarys) 573 | { 574 | parameters.ReferencedAssemblies.Add(Library + ".dll"); 575 | } 576 | byte[] CodeToProtect = File.ReadAllBytes(FileToPack); 577 | string RandomIV = RandomPassword(16); 578 | string RandomKey = RandomPassword(4); 579 | StringBuilder ROT13Encoding = new StringBuilder(); 580 | Regex regex = new Regex("[A-Za-z]"); 581 | foreach (char KSXZ in XOREncryptionKeys(textBox2.Text, RandomKey)) 582 | { 583 | if (regex.IsMatch(KSXZ.ToString())) 584 | { 585 | int C = ((KSXZ & 223) - 52) % 26 + (KSXZ & 32) + 65; 586 | ROT13Encoding.Append((char)C); 587 | } 588 | } 589 | string EncryptedKey = UTF8Encoding.UTF8.GetString(MD5.Create().ComputeHash(UTF8Encoding.UTF8.GetBytes(ROT13Encoding.ToString()))); 590 | var GetTextToHEX = Encoding.Unicode.GetBytes(EncryptedKey); 591 | var BuildHEX = new StringBuilder(); 592 | foreach (var FinalHEX in GetTextToHEX) 593 | { 594 | BuildHEX.Append(FinalHEX.ToString("X2")); 595 | } 596 | StringBuilder sb = new StringBuilder(); foreach (char c in BuildHEX.ToString().ToCharArray()) { sb.Append(Convert.ToString(c, 2).PadLeft(8, '0')); } 597 | byte[] keys = MD5.Create().ComputeHash(UTF8Encoding.UTF8.GetBytes(sb.ToString())); 598 | StringBuilder builder = new StringBuilder(); 599 | for (int i = 0; i < keys.Length; i++) 600 | { 601 | builder.Append(keys[i].ToString("x2")); 602 | } 603 | string Final = Encryption.AesTextEncryption(Convert.ToBase64String(CodeToProtect), builder.ToString(), RandomIV); 604 | string HWIDPacker = Resource1.HWIDPacker; 605 | string NewHWIDPackerCode = HWIDPacker.Replace("DecME", Final).Replace("THISISIV", RandomIV).Replace("HWIDPacker", "namespace " + RandomName(14)); 606 | string MyShinyNewPacker = NewHWIDPackerCode.Replace("SOS12", Convert.ToBase64String(Encoding.UTF8.GetBytes(RandomKey))); 607 | codeProvider.CompileAssemblyFromSource(parameters, MyShinyNewPacker); 608 | } 609 | 610 | private void LicensePacking(string FileToPack, string Output) 611 | { 612 | var Options = new Dictionary(); 613 | Options.Add("CompilerVersion", "v4.0"); 614 | Options.Add("language", "c#"); 615 | var codeProvider = new CSharpCodeProvider(Options); 616 | CompilerParameters parameters = new CompilerParameters(); 617 | parameters.CompilerOptions = "/target:winexe"; 618 | parameters.GenerateExecutable = true; 619 | parameters.OutputAssembly = Output; 620 | parameters.IncludeDebugInformation = false; 621 | string[] Librarys = { "System", "System.Windows.Forms", "System.Management", "System.Net", "System.Core", "System.Net.Http", "System.Runtime", "System.Runtime.InteropServices" }; 622 | foreach (string Library in Librarys) 623 | { 624 | parameters.ReferencedAssemblies.Add(Library + ".dll"); 625 | } 626 | byte[] CodeToProtect = File.ReadAllBytes(FileToPack); 627 | string RandomIV = RandomPassword(16); 628 | string RandomKey = RandomPassword(4); 629 | Random rnd = new Random(); 630 | int RandomINT = rnd.Next(6, 13); 631 | string RandomHashingKey = RandomPassword(RandomINT); 632 | StringBuilder ROT13Encoding = new StringBuilder(); 633 | Regex regex = new Regex("[A-Za-z]"); 634 | foreach (char KSXZ in XOREncryptionKeys(textBox3.Text, RandomKey)) 635 | { 636 | if (regex.IsMatch(KSXZ.ToString())) 637 | { 638 | int C = ((KSXZ & 223) - 52) % 26 + (KSXZ & 32) + 65; 639 | ROT13Encoding.Append((char)C); 640 | } 641 | } 642 | StringBuilder sb = new StringBuilder(); foreach (char c in ROT13Encoding.ToString().ToCharArray()) { sb.Append(Convert.ToString(c, 2).PadLeft(8, '0')); } 643 | var GetTextToHEX = Encoding.Unicode.GetBytes(sb.ToString()); 644 | var BuildHEX = new StringBuilder(); 645 | foreach (var FinalHEX in GetTextToHEX) 646 | { 647 | BuildHEX.Append(FinalHEX.ToString("X2")); 648 | } 649 | string HashedKey = UTF8Encoding.UTF8.GetString(MD5.Create().ComputeHash(UTF8Encoding.UTF8.GetBytes(BuildHEX.ToString()))); 650 | HMACMD5 HMACMD = new HMACMD5(); 651 | HMACMD.Key = UTF8Encoding.UTF8.GetBytes("LXSO12".Replace(UTF8Encoding.UTF8.GetString(Convert.FromBase64String("TFhTTzEy")), RandomHashingKey)); 652 | string HashedKey2 = UTF8Encoding.UTF8.GetString(HMACMD.ComputeHash(UTF8Encoding.UTF8.GetBytes(HashedKey))); 653 | string Final = Encryption.AesTextEncryption(Convert.ToBase64String(CodeToProtect), HashedKey2.ToString(), RandomIV); 654 | string LicensePacker = Resource1.LicensePacker; 655 | string NewLicensePackerCode = LicensePacker.Replace("DecME", Final).Replace("THISISIV", RandomIV).Replace("LicensePacker", "namespace " + RandomName(14)); 656 | string MyShinyNewPacker = NewLicensePackerCode.Replace("decryptkeyencryption", Convert.ToBase64String(Encoding.UTF8.GetBytes(RandomKey))).Replace("SOS13", textBox4.Text).Replace(UTF8Encoding.UTF8.GetString(Convert.FromBase64String("TFhTTzEy")), RandomHashingKey); 657 | codeProvider.CompileAssemblyFromSource(parameters, MyShinyNewPacker); 658 | } 659 | 660 | private void USBPacking(string FileToPack, string Output) 661 | { 662 | var Options = new Dictionary(); 663 | Options.Add("CompilerVersion", "v4.0"); 664 | Options.Add("language", "c#"); 665 | var codeProvider = new CSharpCodeProvider(Options); 666 | CompilerParameters parameters = new CompilerParameters(); 667 | parameters.CompilerOptions = "/target:winexe"; 668 | parameters.GenerateExecutable = true; 669 | parameters.OutputAssembly = Output; 670 | parameters.IncludeDebugInformation = false; 671 | string[] Librarys = { "System", "System.Windows.Forms", "System.Management", "System.Net", "System.Core", "System.Net.Http", "System.Runtime", "System.Runtime.InteropServices" }; 672 | foreach (string Library in Librarys) 673 | { 674 | parameters.ReferencedAssemblies.Add(Library + ".dll"); 675 | } 676 | byte[] CodeToProtect = File.ReadAllBytes(FileToPack); 677 | string RandomIV = RandomPassword(16); 678 | string RandomKey = RandomPassword(4); 679 | string USBHWID = GetUSBHardwareID(USBComboBox.Text); 680 | string EncryptedKey = XOREncryptionKeys(USBHWID, RandomKey); 681 | string Final = Encryption.AesTextEncryption(Convert.ToBase64String(CodeToProtect), Convert.ToBase64String(Encoding.UTF8.GetBytes(EncryptedKey)), RandomIV); 682 | string USBPacker = Resource1.USBPacker; 683 | string NewUSBPackerCode = USBPacker.Replace("DecME", Final).Replace(GetUSBHardwareID(USBComboBox.Text), USBPacker).Replace("THISISIV", RandomIV).Replace("USBPacker", "namespace " + RandomName(14)).Replace("USBSADASAS", HashingHardwareID(USBComboBox.Text)); 684 | string MyShinyNewPacker = NewUSBPackerCode.Replace("SOS12", Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(RandomKey))); 685 | codeProvider.CompileAssemblyFromSource(parameters, MyShinyNewPacker); 686 | } 687 | 688 | private void button3_Click(object sender, EventArgs e) 689 | { 690 | try 691 | { 692 | if (string.IsNullOrEmpty(textBox1.Text)) 693 | { 694 | MessageBox.Show("Please Select a file to protect.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 695 | } 696 | else 697 | { 698 | bool IsAnythingSelected = false; 699 | if (Base64EncodeCheckBox.Checked || AntiDe4DotCheckBox.Checked || FakeObfuscatorAttributesCheckBox.Checked || JunkCheckBox.Checked || CtrlFlowCheckBox.Checked || RenamingCheckBox.Checked || INTConfusionCheckBox.Checked || AntiILDasmCheckBox.Checked || AntiDebugCheckBox.Checked) 700 | { 701 | IsAnythingSelected = true; 702 | ObfuscasteCode(textBox1.Text); 703 | } 704 | 705 | if (LockToHWIDCheckBox.Checked) 706 | { 707 | if (string.IsNullOrEmpty(textBox2.Text)) 708 | { 709 | MessageBox.Show("Please Enter your hardware id or the buyer hardware id.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 710 | } 711 | else 712 | { 713 | IsAnythingSelected = true; 714 | if (Base64EncodeCheckBox.Checked || AntiDe4DotCheckBox.Checked || FakeObfuscatorAttributesCheckBox.Checked || JunkCheckBox.Checked || CtrlFlowCheckBox.Checked || RenamingCheckBox.Checked || INTConfusionCheckBox.Checked || AntiILDasmCheckBox.Checked) 715 | { 716 | HWIDPacking(Environment.CurrentDirectory + @"\Obfuscasted.exe", Environment.CurrentDirectory + @"\Packed.exe"); 717 | File.Delete(Environment.CurrentDirectory + @"\Obfuscasted.exe"); 718 | } 719 | else 720 | { 721 | HWIDPacking(textBox1.Text, Environment.CurrentDirectory + @"\Packed.exe"); 722 | } 723 | } 724 | } 725 | 726 | if (USBHWIDCheckBox.Checked) 727 | { 728 | if (string.IsNullOrEmpty(USBComboBox.Text)) 729 | { 730 | MessageBox.Show("Please Choose a USB.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 731 | } 732 | else 733 | { 734 | IsAnythingSelected = true; 735 | if (Base64EncodeCheckBox.Checked || AntiDe4DotCheckBox.Checked || FakeObfuscatorAttributesCheckBox.Checked || JunkCheckBox.Checked || CtrlFlowCheckBox.Checked || RenamingCheckBox.Checked || INTConfusionCheckBox.Checked || AntiILDasmCheckBox.Checked) 736 | { 737 | USBPacking(Environment.CurrentDirectory + @"\Obfuscasted.exe", Environment.CurrentDirectory + @"\Packed.exe"); 738 | File.Delete(Environment.CurrentDirectory + @"\Obfuscasted.exe"); 739 | } 740 | else 741 | { 742 | USBPacking(textBox1.Text, Environment.CurrentDirectory + @"\Packed.exe"); 743 | } 744 | } 745 | } 746 | 747 | if (checkBox4.Checked) 748 | { 749 | if (string.IsNullOrEmpty(textBox3.Text)) 750 | { 751 | MessageBox.Show("Please Enter the license you want to license your program with.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 752 | } 753 | else 754 | { 755 | IsAnythingSelected = true; 756 | if (Base64EncodeCheckBox.Checked || AntiDe4DotCheckBox.Checked || FakeObfuscatorAttributesCheckBox.Checked || JunkCheckBox.Checked || CtrlFlowCheckBox.Checked || RenamingCheckBox.Checked || INTConfusionCheckBox.Checked || AntiILDasmCheckBox.Checked) 757 | { 758 | if (LockToHWIDCheckBox.Checked) 759 | { 760 | MessageBox.Show("Sorry but you can't use Hardware ID Licensing with Normal Licensing.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 761 | } 762 | else 763 | { 764 | LicensePacking(Environment.CurrentDirectory + @"\Obfuscasted.exe", Environment.CurrentDirectory + @"\Packed.exe"); 765 | File.Delete(Environment.CurrentDirectory + @"\Obfuscasted.exe"); 766 | } 767 | } 768 | else 769 | { 770 | LicensePacking(textBox1.Text, Environment.CurrentDirectory + @"\Packed.exe"); 771 | } 772 | } 773 | } 774 | if (IsAnythingSelected == true) 775 | { 776 | MessageBox.Show("Done.", "Done", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); 777 | } 778 | } 779 | } 780 | catch (Exception ex) 781 | { 782 | MessageBox.Show("Error: " + ex.Message, "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 783 | } 784 | } 785 | 786 | private void button2_Click(object sender, EventArgs e) 787 | { 788 | textBox2.Text = GetHardwareID(); 789 | } 790 | 791 | private void button1_Click(object sender, EventArgs e) 792 | { 793 | OpenFileDialog GetFileToProtect = new OpenFileDialog(); 794 | GetFileToProtect.Title = "Select File To Protect"; 795 | if (GetFileToProtect.ShowDialog() == DialogResult.OK) 796 | { 797 | textBox1.Text = GetFileToProtect.FileName; 798 | } 799 | } 800 | 801 | private void button4_Click(object sender, EventArgs e) 802 | { 803 | MessageBox.Show("Hardware ID Licensing (HWID For Shortcut) are a type of licensing which gets the Hardware Information and then hashes it to get a unique hash for your pc, and there's two types of copy protection software that uses this method: the one who just compares the hardware id with yours and decrypt the program if it found that the hardware id matches which are horrible in terms of security cause the program can get fooled by editing code to make it think that the hardware id matches (patching in memory or disk), and the another type is the one who encrypt your program on the stub executable based on your hardware id and try to decrypt it using your hardware id or the buyer hardware id and if exception thrown then we know that the one that tries to run the program are not authorized to use it which are good for security and that what we use.", "Explaination", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); 804 | } 805 | 806 | private void checkBox4_CheckedChanged(object sender, EventArgs e) 807 | { 808 | if (checkBox4.Checked) 809 | { 810 | if (LockToHWIDCheckBox.Checked || USBHWIDCheckBox.Checked) 811 | { 812 | MessageBox.Show("Sorry, but only one registration method supported.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 813 | checkBox4.Checked = false; 814 | } 815 | } 816 | } 817 | 818 | private void comboBox1_DropDown(object sender, EventArgs e) 819 | { 820 | DriveInfo[] GetDrives = DriveInfo.GetDrives(); 821 | foreach (DriveInfo GetUSB in GetDrives) 822 | { 823 | if (GetUSB.DriveType == DriveType.Removable) 824 | { 825 | USBComboBox.Items.Clear(); 826 | USBComboBox.Items.Add(GetUSB.RootDirectory); 827 | } 828 | } 829 | } 830 | 831 | private void checkBox9_CheckedChanged(object sender, EventArgs e) 832 | { 833 | if (USBHWIDCheckBox.Checked) 834 | { 835 | if (checkBox4.Checked || LockToHWIDCheckBox.Checked) 836 | { 837 | MessageBox.Show("Sorry, but only one registration method supported.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 838 | USBHWIDCheckBox.Checked = false; 839 | } 840 | } 841 | } 842 | 843 | private void checkBox3_CheckedChanged(object sender, EventArgs e) 844 | { 845 | if (LockToHWIDCheckBox.Checked) 846 | { 847 | if (checkBox4.Checked || USBHWIDCheckBox.Checked) 848 | { 849 | MessageBox.Show("Sorry, but only one registration method supported.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 850 | LockToHWIDCheckBox.Checked = false; 851 | } 852 | } 853 | } 854 | 855 | private void button5_Click(object sender, EventArgs e) 856 | { 857 | MessageBox.Show("you choose a usb from the list and choose a program to protect and then the program will be encrypted based on the usb hardware id and if no usb found or there were no vaild usb the program will show a message that says that you are not authorized to use this program and only works if you entered a vaild USB making it impossible for someone which doesn't have your USB to recover the program code or access it, and please make sure to enter one USB while protecting the program or running it, cause errors may occur.", "Explaination", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); 858 | } 859 | 860 | private void checkBox1_MouseHover(object sender, EventArgs e) 861 | { 862 | ToolTip ShowInfo = new ToolTip(); 863 | ShowInfo.SetToolTip(Base64EncodeCheckBox, "Encode Strings Inside The Protected .NET Executable To Prevent Easy String Access or to identify a function based on string."); 864 | } 865 | 866 | private void checkBox2_MouseHover(object sender, EventArgs e) 867 | { 868 | ToolTip ShowInfo = new ToolTip(); 869 | ShowInfo.SetToolTip(AntiDe4DotCheckBox, "Prevent De4dot from processing the protected .NET File."); 870 | } 871 | 872 | private void checkBox5_MouseHover(object sender, EventArgs e) 873 | { 874 | ToolTip ShowInfo = new ToolTip(); 875 | ShowInfo.SetToolTip(FakeObfuscatorAttributesCheckBox, "Prevent Identifying Obfuscastor Which Obfuscasted This File and it can cause automated deobfuscastors tools to corrupt the .NET executable file."); 876 | } 877 | 878 | private void checkBox6_MouseHover(object sender, EventArgs e) 879 | { 880 | ToolTip ShowInfo = new ToolTip(); 881 | ShowInfo.SetToolTip(JunkCheckBox, "Adding Junk Namespaces and Methods."); 882 | } 883 | 884 | private void checkBox7_MouseHover(object sender, EventArgs e) 885 | { 886 | ToolTip ShowInfo = new ToolTip(); 887 | ShowInfo.SetToolTip(CtrlFlowCheckBox, "Control Flow Edits the program in such a way so it returns the same result and mangling the code, and it can confuse the one who are trying to read the source code."); 888 | } 889 | 890 | private void checkBox8_MouseHover(object sender, EventArgs e) 891 | { 892 | ToolTip ShowInfo = new ToolTip(); 893 | ShowInfo.SetToolTip(RenamingCheckBox, "renaming assembly name, methods and functions to the same name so that the one who try to decompile it and tries to identify a function or a string he can't easily."); 894 | } 895 | 896 | private void checkBox10_MouseHover(object sender, EventArgs e) 897 | { 898 | ToolTip ShowInfo = new ToolTip(); 899 | ShowInfo.SetToolTip(INTConfusionCheckBox, "This Protection adds junk INT Comparsion, sizeof's and float's, making it more confusing."); 900 | } 901 | 902 | private void checkBox11_MouseHover(object sender, EventArgs e) 903 | { 904 | ToolTip ShowInfo = new ToolTip(); 905 | ShowInfo.SetToolTip(AntiILDasmCheckBox, "Prevent Decompiling .NET Assembly by adding SuppressIldasmAttribute Attribute to it, probably you will never need this option but you can add it as an extra."); 906 | } 907 | 908 | private void checkBox12_MouseHover(object sender, EventArgs e) 909 | { 910 | ToolTip ShowInfo = new ToolTip(); 911 | ShowInfo.SetToolTip(PackingCheckBox, "Encrypting Your .NET Executable Inside of another one that will gonna be decrypted in memory, but keep in mind that this are not AV Friendly."); 912 | } 913 | 914 | private void checkBox13_MouseHover(object sender, EventArgs e) 915 | { 916 | ToolTip ShowInfo = new ToolTip(); 917 | ShowInfo.SetToolTip(AntiDebugCheckBox, "Convert Calls to Calli."); 918 | } 919 | 920 | private void Main_Load(object sender, EventArgs e) 921 | { 922 | 923 | } 924 | 925 | private void checkBox13_MouseHover_1(object sender, EventArgs e) 926 | { 927 | new ToolTip().SetToolTip(AntiDebugCheckBox, "Injects Anti-Debugging Code into the protected application."); 928 | } 929 | 930 | private void checkBox14_MouseHover(object sender, EventArgs e) 931 | { 932 | new ToolTip().SetToolTip(AntiVMCheckBox, "Injects Anti-VM Code into the protected application."); 933 | } 934 | } 935 | } -------------------------------------------------------------------------------- /NetShield Protector/Main.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 | AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAA 124 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 125 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 126 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 127 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 128 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 129 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 130 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 131 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 132 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 133 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 134 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 135 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 136 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 137 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 138 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 139 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 140 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 141 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 142 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 143 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 144 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 145 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 146 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 147 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 148 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 149 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 150 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 151 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 152 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 153 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 154 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 155 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 156 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 157 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 158 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 159 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 160 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 161 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 162 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 163 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ2PeXKckHiqnJB4qpyQeKqckHiqnJB4qpyQ 164 | eKqckHiqnJB4qpyQeKqckHiqnJB4qpyQeKqckHiqnJB4qpyQeKqckHiqnJB4qpyQeKqckHiqnJB4qpyQ 165 | eKqckHiqnJB4qpyQeKqckHiqnJB4qpyQeKqckHiqnY95cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 166 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 167 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbj3mpnJB4/5yQ 168 | eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ 169 | eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5uPeakAAAAAAAAAAAAA 170 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 171 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 172 | AAAAAAAAnJB5gZyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ 173 | eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ 174 | eP+dkXh/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 175 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 176 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJmPehmckHjbnJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ 177 | eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQ 178 | eP+ckHj/nJB4/5yQeP+ckHjam5B6FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 179 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 180 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn5+ACJuPeEKckHhVnJB4VZyQ 181 | eFWckHhVnJB4VZyQeFWckHhVnJB4VZyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/nJB4VZyQ 182 | eFWckHhVnJB4VZyQeFWckHhVnJB4VZyQeFWbj3hCkpJtBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 183 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 184 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 185 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACckHj/nJB4/5yQeP+ckHj/nJB4/5yQ 186 | eP+ckHj/nJB4/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 187 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 188 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 189 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJB4/5yQ 190 | eP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 191 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 192 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 193 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 194 | AAAAAAAAAAAAAJyQeP+ckHj/nJB4/5yQeP+ckHj/nJB4/5yQeP+ckHj/AAAAAAAAAAAAAAAAAAAAAAAA 195 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 196 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 197 | AAAAAAAAxb2wq8W9sKvFvbCrxb2wq8W9sKvFvbCrxb2wq8W9sKvFvbCrxb2wq8W9sKvFvbCrxb2wq8W9 198 | sKvFvbCrxb2wq8W9sKvFvbCrxb2wq8W9sKuzqpjHs6qYx7OqmMezqpjHs6qYx7OqmMezqpjHs6qYx8W9 199 | sKvFvbCrxb2wq8W9sKvFvbCrxb2wq8W9sKvFvbCrxb2wq8W9sKvFvbCrxb2wq8W9sKvFvbCrxb2wq8W9 200 | sKvFvbCrxb2wq8W9sKvFvbCrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 201 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 202 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 203 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 204 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 205 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 206 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 207 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 208 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAA 209 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+ 210 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 211 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 212 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 213 | sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 214 | AAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 215 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 216 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 217 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 218 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+sP/FvrD/mJl1/5iZdf+YmXX/mJl1/5iZ 219 | df+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZ 220 | df+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZ 221 | df+YmXX/mJl1/5iZdf+YmXX/mJl1/8W+sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 222 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+sP/FvrD/xb6w/0BN 223 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 224 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 225 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP/FvrD/xb6w/8W+sP/FvrD/AAAAAAAA 226 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+ 227 | sP/FvrD/xb6w/8W+sP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 228 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 229 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/xb6w/8W+ 230 | sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 231 | AAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+sP/FvrD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 232 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 233 | AP9LXAP/S1wD/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 234 | AP9ATQD/QE0A/8W+sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 235 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+sP/FvrD/xb6w/0BNAP9ATQD/QE0A/0BN 236 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 237 | AP9ATQD/QE0A/0BNAP9ATQD/iK0S/4muEv9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 238 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP/FvrD/xb6w/8W+sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAA 239 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+ 240 | sP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 241 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/V20G/7XoHf+16B3/W3EH/0BNAP9ATQD/QE0A/0BN 242 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/xb6w/8W+sP/FvrD/xb6w/wAA 243 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 244 | AADFvrD/xb6w/8W+sP/FvrD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 245 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE4A/53IF/+26R3/tukd/6DL 246 | GP9BTwD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/8W+ 247 | sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 248 | AAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+sP/FvrD/xb6w/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 249 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/26J 250 | C/+26R3/tukd/7bpHf+26R3/c5AN/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 251 | AP9ATQD/QE0A/0BNAP/FvrD/xb6w/8W+sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 252 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+sP9ATQD/QE0A/0BN 253 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 254 | AP9ATQD/QE0A/0lYAv+t3hv/tukd/7DgG/+w4Bv/tukd/7DiHP9NXwP/QE0A/0BNAP9ATQD/QE0A/0BN 255 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/xb6w/8W+sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAA 256 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+ 257 | sP/FvrD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 258 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP+DpRD/tukd/7bpHf94lw7/dZMN/7bpHf+26R3/jbIT/0BN 259 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/8W+sP/FvrD/xb6w/8W+ 260 | sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 261 | AAAAAAAAxb6w/8W+sP/FvrD/xb6w/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 262 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9UZwX/s+Yc/7bpHf+n1Bn/RFIB/0NQ 263 | Af+izhj/tukd/7XoHf9dcwf/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 264 | AP/FvrD/xb6w/8W+sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 265 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+sP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 266 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/mMIW/7bp 267 | Hf+26R3/ZHwJ/0BNAP9ATQD/WnAH/7XoHf+26R3/oc0Y/0JQAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 268 | AP9ATQD/QE0A/0BNAP9ATQD/xb6w/8W+sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 269 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+sP/FvrD/YHYI/2B2 270 | CP9gdgj/YHYI/2B2CP9gdgj/YHYI/2B2CP9gdgj/YHYI/09iBP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 271 | AP9ATQD/a4YL/7bpHf+26R3/k7sU/0BNAP9ATQD/QE0A/0BNAP+FqRH/tukd/7bpHf+CpRD/YHYI/2B2 272 | CP9gdgj/YHYI/2B2CP9gdgj/YHYI/2B2CP9gdgj/W3EH/8W+sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAA 273 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+ 274 | sP/FvrD/xb6w/7bpHf+26R3/tukd/7bpHf+26R3/tukd/7bpHf+26R3/tukd/7bpHf+j0Bj/QlAB/0BN 275 | AP9ATQD/QE0A/0BNAP9ATQD/RFMB/6jWGf+26R3/tOYd/1RoBf9ATQD/QE0A/0BNAP9ATQD/SVkC/63e 276 | G/+26R3/tukd/7bpHf+26R3/tukd/7bpHf+26R3/tukd/7bpHf+26R3/tukd/6fUGf/FvrD/xb6w/8W+ 277 | sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 278 | AAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+sP+26R3/tukd/7bpHf+26R3/tukd/7bpHf+26R3/tukd/7bp 279 | Hf+26R3/tukd/3mYDv9ATQD/QE0A/0BNAP9ATQD/QE0A/36fD/+26R3/tukd/4GkEP9ATQD/QE0A/0BN 280 | AP9ATQD/QE0A/0BNAP9tiQv/tukd/7bpHf+26R3/tukd/7bpHf+26R3/tukd/7bpHf+26R3/tukd/7bp 281 | Hf+n1Bn/xb6w/8W+sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 282 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+sP/FvrD/aIEK/2iBCv9ogQr/aIEK/2iB 283 | Cv9ogQr/aIEK/2iBCv9ogQr/qtga/7bpHf+y5Bz/UWQE/0BNAP9ATQD/QE0A/1NmBf+z5hz/tukd/6ra 284 | Gv9GVQH/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QU4A/2V+Cf9ogQr/aIEK/2iBCv9ogQr/aIEK/2iB 285 | Cv9ogQr/aIEK/2iBCv9ogQr/YnsI/8W+sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 286 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+sP/FvrD/xb6w/0BN 287 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/2mCCv+26R3/tukd/5O7FP9ATQD/QE0A/0BN 288 | AP+UuxX/tukd/7bpHf9uigv/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 289 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP/FvrD/xb6w/8W+sP/FvrD/AAAAAAAA 290 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+ 291 | sP/FvrD/xb6w/8W+sP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/lr8V/7bp 292 | Hf+26R3/ZoAJ/0BNAP9kfAn/tukd/7bpHf+fyxf/QE4A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 293 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/xb6w/8W+ 294 | sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 295 | AAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+sP/FvrD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 296 | AP9ATQD/QE0A/1JlBP+z5Rz/tukd/6nXGv9JWAL/pdEZ/7bpHf+16B3/XXMH/0BNAP9ATQD/QE0A/0BN 297 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 298 | AP9ATQD/QE0A/8W+sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 299 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+sP/FvrD/xb6w/0BNAP9ATQD/QE0A/0BN 300 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/eJcO/7bpHf+26R3/qNca/7bpHf+26R3/ia0S/0BN 301 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 302 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP/FvrD/xb6w/8W+sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAA 303 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+ 304 | sP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0RSAf+l0hn/tukd/7bp 305 | Hf+26R3/sOIc/0xeA/9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 306 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/xb6w/8W+sP/FvrD/xb6w/wAA 307 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 308 | AADFvrD/xb6w/8W+sP/FvrD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 309 | AP9ATQD/X3YI/7bpHf+26R3/tukd/3iXDv9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 310 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/8W+ 311 | sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 312 | AAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+sP/FvrD/xb6w/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 313 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP+LrxL/tukd/6fUGf9EUgH/QE0A/0BNAP9ATQD/QE0A/0BN 314 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 315 | AP9ATQD/QE0A/0BNAP/FvrD/xb6w/8W+sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 316 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+sP9ATQD/QE0A/0BN 317 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/SloC/67eG/9kfAn/QE0A/0BN 318 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 319 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/xb6w/8W+sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAA 320 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+ 321 | sP/FvrD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 322 | AP9Xawb/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 323 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/8W+sP/FvrD/xb6w/8W+ 324 | sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 325 | AAAAAAAAxb6w/8W+sP/FvrD/xb6w/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 326 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 327 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 328 | AP/FvrD/xb6w/8W+sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 329 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+sP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 330 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 331 | AP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BNAP9ATQD/QE0A/0BN 332 | AP9ATQD/QE0A/0BNAP9ATQD/xb6w/8W+sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 333 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+sP/FvrD/mJl1/5iZ 334 | df+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZ 335 | df+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZ 336 | df+YmXX/mJl1/5iZdf+YmXX/mJl1/5iZdf+YmXX/mJl1/8W+sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAA 337 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxb6w/8W+ 338 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 339 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 340 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 341 | sP/FvrD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 342 | AAAAAAAAAAAAAMW+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 343 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 344 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 345 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 346 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 347 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 348 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+ 349 | sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP/FvrD/xb6w/8W+sP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 350 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxr2xVca9sVXGvbFVxr2xVca9 351 | sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9 352 | sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9 353 | sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVxr2xVca9sVXGvbFVAAAAAAAA 354 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 355 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 356 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 357 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 358 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 359 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 360 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 361 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 362 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 363 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 364 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 365 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 366 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 367 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 368 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 369 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 370 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 371 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 372 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 373 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 374 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 375 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 376 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 377 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 378 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 379 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 380 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 381 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 382 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 383 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 384 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 385 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 386 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 387 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 388 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 389 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 390 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 391 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 392 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 393 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 394 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 395 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 396 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 397 | AAAAAAAA//////////////////////////////////////////////////////////////////////// 398 | ///////////////////////////AAAAD/////4AAAAH/////gAAAA//////AAAAD///////wD/////// 399 | //AP////////8A/////////wD/////8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAA 400 | AP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8A 401 | AAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAA 402 | AP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8A 403 | AAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAA 404 | AP//AAAAAAAA//////////////////////////////////////////////////////////////////// 405 | //////////////////////////////////////////////////8= 406 | 407 | 408 | -------------------------------------------------------------------------------- /NetShield Protector/NetShield Protector.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {F796DDDD-9133-4A59-B511-6A0950690C4C} 8 | WinExe 9 | NetShield_Protector 10 | NetShield Protector 11 | v4.7.2 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | false 26 | true 27 | 28 | 29 | AnyCPU 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | icons81_system_task.ico 39 | 40 | 41 | 42 | Resources\dnlib.dll 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | Form 63 | 64 | 65 | Main.cs 66 | 67 | 68 | 69 | 70 | True 71 | True 72 | Resource1.resx 73 | 74 | 75 | 76 | 77 | 78 | 79 | Main.cs 80 | 81 | 82 | ResXFileCodeGenerator 83 | Designer 84 | Resources.Designer.cs 85 | 86 | 87 | ResXFileCodeGenerator 88 | Resource1.Designer.cs 89 | 90 | 91 | SettingsSingleFileGenerator 92 | Settings.Designer.cs 93 | 94 | 95 | True 96 | True 97 | Resources.resx 98 | 99 | 100 | True 101 | Settings.settings 102 | True 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /NetShield Protector/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | using System.Runtime.InteropServices; 7 | 8 | namespace NetShield_Protector 9 | { 10 | static class Program 11 | { 12 | [DllImport("user32.dll", SetLastError = true)] 13 | private static extern bool SetProcessDPIAware(); 14 | 15 | [STAThread] 16 | static void Main() 17 | { 18 | Application.EnableVisualStyles(); 19 | Application.SetCompatibleTextRenderingDefault(false); 20 | Main main = new Main(); 21 | main.AutoScaleMode = AutoScaleMode.Dpi; 22 | main.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 23 | Application.Run(main); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /NetShield Protector/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("NetShield Protector")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("NetShield Protector")] 13 | [assembly: AssemblyCopyright("Copyright © 2021")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("f796dddd-9133-4a59-b511-6a0950690c4c")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /NetShield Protector/Properties/Resources.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 NetShield_Protector.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NetShield_Protector.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /NetShield Protector/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 | 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 | -------------------------------------------------------------------------------- /NetShield Protector/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 | 12 | namespace NetShield_Protector.Properties 13 | { 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 17 | { 18 | 19 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 20 | 21 | public static Settings Default 22 | { 23 | get 24 | { 25 | return defaultInstance; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /NetShield Protector/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /NetShield Protector/Resource1.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 NetShield_Protector { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resource1 { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resource1() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NetShield_Protector.Resource1", typeof(Resource1).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Looks up a localized string similar to using System; 65 | ///using System.Collections.Generic; 66 | ///using System.Linq; 67 | ///using System.Threading.Tasks; 68 | ///using System.Windows.Forms; 69 | ///using System.Security.Cryptography; 70 | ///using System.Management; 71 | ///using System.Reflection; 72 | ///using System.Text; 73 | ///using System.Runtime.InteropServices; 74 | ///using System.Diagnostics; 75 | /// 76 | ///HWIDPacker 77 | ///{ 78 | /// static class Program 79 | /// { 80 | /// static string ProgramToDecrypt = "DecME"; 81 | /// static string IV = "THISISIV"; 82 | /// 83 | /// [DllImport("kernel32.dll", SetLastError = true)] 84 | /// [rest of string was truncated]";. 85 | /// 86 | internal static string HWIDPacker { 87 | get { 88 | return ResourceManager.GetString("HWIDPacker", resourceCulture); 89 | } 90 | } 91 | 92 | /// 93 | /// Looks up a localized string similar to using System; 94 | ///using System.Collections.Generic; 95 | ///using System.Diagnostics; 96 | ///using System.IO; 97 | ///using System.Linq; 98 | ///using System.Reflection; 99 | ///using System.Runtime.InteropServices; 100 | ///using System.Security.Cryptography; 101 | ///using System.Text; 102 | ///using System.Threading.Tasks; 103 | ///using System.Windows.Forms; 104 | /// 105 | ///LicensePacker 106 | ///{ 107 | /// static class Program 108 | /// { 109 | /// static string ProgramToDecrypt = "DecME"; 110 | /// static string IV = "THISISIV"; 111 | /// 112 | /// [DllImport("kernel32.dll", SetLastError = true)] 113 | /// pri [rest of string was truncated]";. 114 | /// 115 | internal static string LicensePacker { 116 | get { 117 | return ResourceManager.GetString("LicensePacker", resourceCulture); 118 | } 119 | } 120 | 121 | /// 122 | /// Looks up a localized string similar to using System; 123 | ///using System.Collections.Generic; 124 | ///using System.Linq; 125 | ///using System.Threading.Tasks; 126 | ///using System.Windows.Forms; 127 | ///using System.Security.Cryptography; 128 | ///using System.Text; 129 | ///using System.Runtime.InteropServices; 130 | ///using System.Diagnostics; 131 | ///using System.Reflection; 132 | /// 133 | ///namespace PackStub 134 | ///{ 135 | /// static class Program 136 | /// { 137 | /// [DllImport("kernel32.dll", SetLastError = true)] 138 | /// private static extern bool IsDebuggerPresent(); 139 | /// 140 | /// static string fMJUcafeoygb = "DecME"; 141 | /// sta [rest of string was truncated]";. 142 | /// 143 | internal static string PackStub { 144 | get { 145 | return ResourceManager.GetString("PackStub", resourceCulture); 146 | } 147 | } 148 | 149 | /// 150 | /// Looks up a localized string similar to using System; 151 | ///using System.Diagnostics; 152 | ///using System.IO; 153 | ///using System.Management; 154 | ///using System.Reflection; 155 | ///using System.Runtime.InteropServices; 156 | ///using System.Security.Cryptography; 157 | ///using System.Text; 158 | ///using System.Windows.Forms; 159 | /// 160 | ///USBPacker 161 | ///{ 162 | /// internal static class Program 163 | /// { 164 | /// private static string ProgramToDecrypt = "DecME"; 165 | /// private static string IV = "THISISIV"; 166 | /// 167 | /// [DllImport("kernel32.dll", SetLastError = true)] 168 | /// private static extern bool IsDebuggerPrese [rest of string was truncated]";. 169 | /// 170 | internal static string USBPacker { 171 | get { 172 | return ResourceManager.GetString("USBPacker", resourceCulture); 173 | } 174 | } 175 | } 176 | } 177 | -------------------------------------------------------------------------------- /NetShield Protector/Resource1.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 | Resources\Program.cs;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 123 | 124 | 125 | Resources\LicensePacker.cs;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 126 | 127 | 128 | Resources\PackStub.cs;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 129 | 130 | 131 | Resources\USBPacker.cs;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 132 | 133 | -------------------------------------------------------------------------------- /NetShield Protector/Resources/LicensePacker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Reflection; 7 | using System.Runtime.InteropServices; 8 | using System.Security.Cryptography; 9 | using System.Text; 10 | using System.Text.RegularExpressions; 11 | using System.Threading.Tasks; 12 | using System.Windows.Forms; 13 | 14 | LicensePacker 15 | { 16 | static class Program 17 | { 18 | static string ProgramToDecrypt = "DecME"; 19 | static string IV = "THISISIV"; 20 | 21 | [DllImport("kernel32.dll", SetLastError = true)] 22 | private static extern bool IsDebuggerPresent(); 23 | 24 | [DllImport("kernel32.dll", SetLastError = true)] 25 | private static extern void CheckRemoteDebuggerPresent(IntPtr Handle, ref bool IsPresent); 26 | 27 | [DllImport("kernel32.dll", SetLastError = true)] 28 | private static extern bool CloseHandle(IntPtr Handle); 29 | 30 | [DllImport("kernel32.dll", SetLastError = true)] 31 | private static extern IntPtr GetModuleHandle(string lib); 32 | 33 | [DllImport("kernel32.dll", SetLastError = true)] 34 | private static extern IntPtr GetProcAddress(IntPtr Module, string Function); 35 | 36 | [DllImport("kernel32.dll", SetLastError = true)] 37 | private static extern bool WriteProcessMemory(IntPtr ProcHandle, IntPtr BaseAddress, byte[] Buffer, uint size, int NumOfBytes); 38 | private static string TqMIJUcgsXjVgxqJ(string DataToDecrypt, string KeyToDecryptWith, string IVKeyToDecryptWith) 39 | { 40 | byte[] data = Convert.FromBase64String(DataToDecrypt); 41 | using (SHA256CryptoServiceProvider SHA256 = new SHA256CryptoServiceProvider()) 42 | { 43 | byte[] keys = SHA256.ComputeHash(UTF8Encoding.UTF8.GetBytes(KeyToDecryptWith)); 44 | using (AesCryptoServiceProvider AES = new AesCryptoServiceProvider() { Key = keys, Mode = CipherMode.CBC, Padding = PaddingMode.PKCS7 }) 45 | { 46 | string initVector = IVKeyToDecryptWith; 47 | byte[] initVectorBytes = Encoding.ASCII.GetBytes(initVector); 48 | AES.IV = initVectorBytes; 49 | ICryptoTransform transform = AES.CreateDecryptor(); 50 | byte[] results = transform.TransformFinalBlock(data, 0, data.Length); 51 | string Result = UTF8Encoding.UTF8.GetString(results); 52 | return Result; 53 | } 54 | } 55 | } 56 | 57 | private static bool CloseHandleAntiDebug() 58 | { 59 | try 60 | { 61 | CloseHandle((IntPtr)0xDEADC0DE); 62 | return false; 63 | } 64 | catch (Exception ex) 65 | { 66 | if (ex.Message == "External component has thrown an exception.") 67 | { 68 | return true; 69 | } 70 | } 71 | return false; 72 | } 73 | 74 | [STAThread] 75 | static void Main() 76 | { 77 | try 78 | { 79 | bool IsPresent = false; 80 | CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref IsPresent); 81 | if (Debugger.IsAttached || IsDebuggerPresent() || IsPresent || CloseHandleAntiDebug()) 82 | { 83 | Environment.Exit(0); 84 | } 85 | else 86 | { 87 | if (!File.Exists(Environment.CurrentDirectory + @"\SOS13")) 88 | { 89 | MessageBox.Show("Please Make a SOS13 file in the current program directory and enter the program license to it to continue.", "License Not Found", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); 90 | } 91 | else 92 | { 93 | IntPtr NtdllModule = GetModuleHandle("ntdll.dll"); 94 | IntPtr DbgUiRemoteBreakinAddress = GetProcAddress(NtdllModule, "DbgUiRemoteBreakin"); 95 | IntPtr DbgUiConnectToDbgAddress = GetProcAddress(NtdllModule, "DbgUiConnectToDbg"); 96 | byte[] Int3InvaildCode = { 0xCC }; 97 | WriteProcessMemory(Process.GetCurrentProcess().Handle, DbgUiRemoteBreakinAddress, Int3InvaildCode, 6, 0); 98 | WriteProcessMemory(Process.GetCurrentProcess().Handle, DbgUiConnectToDbgAddress, Int3InvaildCode, 6, 0); 99 | string License = File.ReadAllText(Environment.CurrentDirectory + @"\SOS13"); 100 | if (string.IsNullOrEmpty(License)) 101 | { 102 | Environment.Exit(0); 103 | } 104 | else 105 | { 106 | StringBuilder NewLicense = new StringBuilder(); 107 | for (int c = 0; c < License.Length; c++) 108 | NewLicense.Append((char)((uint)License[c] ^ (uint)Convert.FromBase64String("decryptkeyencryption")[c % 4])); 109 | StringBuilder ROT13Encoding = new StringBuilder(); 110 | Regex regex = new Regex("[A-Za-z]"); 111 | foreach (char KSXZ in NewLicense.ToString()) 112 | { 113 | if (regex.IsMatch(KSXZ.ToString())) 114 | { 115 | int C = ((KSXZ & 223) - 52) % 26 + (KSXZ & 32) + 65; 116 | ROT13Encoding.Append((char)C); 117 | } 118 | } 119 | StringBuilder sb = new StringBuilder(); foreach (char c in ROT13Encoding.ToString().ToCharArray()) { sb.Append(Convert.ToString(c, 2).PadLeft(8, '0')); } 120 | var GetTextToHEX = Encoding.Unicode.GetBytes(sb.ToString()); 121 | var BuildHEX = new StringBuilder(); 122 | foreach (var FinalHEX in GetTextToHEX) 123 | { 124 | BuildHEX.Append(FinalHEX.ToString("X2")); 125 | } 126 | string HashedKey = UTF8Encoding.UTF8.GetString(MD5.Create().ComputeHash(UTF8Encoding.UTF8.GetBytes(BuildHEX.ToString()))); 127 | HMACMD5 HMACMD = new HMACMD5(); 128 | HMACMD.Key = UTF8Encoding.UTF8.GetBytes("LXSO12"); 129 | string HashedKey2 = UTF8Encoding.UTF8.GetString(HMACMD.ComputeHash(UTF8Encoding.UTF8.GetBytes(HashedKey))); 130 | string DecryptedProgram = TqMIJUcgsXjVgxqJ(ProgramToDecrypt, HashedKey2.ToString(), IV); 131 | byte[] ProgramToRun = Convert.FromBase64String(DecryptedProgram); 132 | Assembly RunInMemory = Assembly.Load(ProgramToRun); 133 | RunInMemory.EntryPoint.Invoke(null, null); 134 | } 135 | } 136 | } 137 | } 138 | catch (CryptographicException) 139 | { 140 | MessageBox.Show("Sorry, but looks like your license key are invalid.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 141 | } 142 | } 143 | } 144 | } -------------------------------------------------------------------------------- /NetShield Protector/Resources/PackStub.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | using System.Security.Cryptography; 7 | using System.Text; 8 | using System.Runtime.InteropServices; 9 | using System.Diagnostics; 10 | using System.Reflection; 11 | 12 | PackStub 13 | { 14 | static class Program 15 | { 16 | [DllImport("kernel32.dll", SetLastError = true)] 17 | private static extern bool IsDebuggerPresent(); 18 | 19 | [DllImport("kernel32.dll", SetLastError = true)] 20 | private static extern bool CloseHandle(IntPtr Handle); 21 | 22 | [DllImport("kernel32.dll", SetLastError = true)] 23 | private static extern bool CheckRemoteDebuggerPresent(IntPtr Handle, ref bool IsPresent); 24 | 25 | [DllImport("kernel32.dll")] 26 | private static extern IntPtr GetModuleHandle(string Library); 27 | 28 | [DllImport("kernel32.dll")] 29 | public static extern IntPtr GetProcAddress(IntPtr Module, string Function); 30 | 31 | [DllImport("kernel32.dll", SetLastError = true)] 32 | private static extern bool WriteProcessMemory(IntPtr ProcHandle, IntPtr BaseAddress, byte[] Buffer, uint size, int NumOfBytes); 33 | 34 | static string fMJUcafeoygb = "DecME"; 35 | static string bPVkaPIHxmHs = "THISISKEY"; 36 | static string fCeZqcYnjRpl = "THISISIV"; 37 | 38 | private static string TqMIJUcgsXjVgxqJ(string DataToDecrypt, string KeyToDecryptWith, string IVKeyToDecryptWith) 39 | { 40 | byte[] data = Convert.FromBase64String(DataToDecrypt); 41 | using (SHA256CryptoServiceProvider SHA256 = new SHA256CryptoServiceProvider()) 42 | { 43 | byte[] keys = SHA256.ComputeHash(UTF8Encoding.UTF8.GetBytes(KeyToDecryptWith)); 44 | using (AesCryptoServiceProvider AES = new AesCryptoServiceProvider() { Key = keys, Mode = CipherMode.CBC, Padding = PaddingMode.PKCS7 }) 45 | { 46 | string initVector = IVKeyToDecryptWith; 47 | byte[] initVectorBytes = Encoding.ASCII.GetBytes(initVector); 48 | AES.IV = initVectorBytes; 49 | ICryptoTransform transform = AES.CreateDecryptor(); 50 | byte[] results = transform.TransformFinalBlock(data, 0, data.Length); 51 | string Result = UTF8Encoding.UTF8.GetString(results); 52 | return Result; 53 | } 54 | } 55 | } 56 | 57 | private static bool CloseHandleAntiDebug() 58 | { 59 | try 60 | { 61 | CloseHandle((IntPtr)3735929054L); 62 | return false; 63 | } 64 | catch (Exception ex) 65 | { 66 | if (ex.Message == "External component has thrown an exception.") 67 | return true; 68 | } 69 | return false; 70 | } 71 | 72 | [STAThread] 73 | static void Main() 74 | { 75 | IntPtr NtdllModule = GetModuleHandle("ntdll.dll"); 76 | IntPtr DbgUiRemoteBreakinAddress = GetProcAddress(NtdllModule, "DbgUiRemoteBreakin"); 77 | IntPtr DbgUiConnectToDbgAddress = GetProcAddress(NtdllModule, "DbgUiConnectToDbg"); 78 | byte[] Int3InvaildCode = { 0xCC }; 79 | WriteProcessMemory(Process.GetCurrentProcess().Handle, DbgUiRemoteBreakinAddress, Int3InvaildCode, 6, 0); 80 | WriteProcessMemory(Process.GetCurrentProcess().Handle, DbgUiConnectToDbgAddress, Int3InvaildCode, 6, 0); 81 | IntPtr KernelModule = GetModuleHandle("kernel32.dll"); 82 | IntPtr IsDebuggerPresentAddress = GetProcAddress(KernelModule, "IsDebuggerPresent"); 83 | IntPtr CheckRemoteDebuggerPresentAddress = GetProcAddress(KernelModule, "CheckRemoteDebuggerPresent"); 84 | byte[] Is_IsDebuggerPresentHooked = new byte[1]; 85 | Marshal.Copy(IsDebuggerPresentAddress, Is_IsDebuggerPresentHooked, 0, 1); 86 | byte[] Is_CheckRemoteDebuggerPresentHooked = new byte[1]; 87 | Marshal.Copy(CheckRemoteDebuggerPresentAddress, Is_CheckRemoteDebuggerPresentHooked, 0, 1); 88 | bool IsPresent = false; 89 | CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref IsPresent); 90 | if (IsDebuggerPresent() || Debugger.IsAttached || Debugger.IsLogging() || IsPresent || CloseHandleAntiDebug()) { Environment.Exit(0); } 91 | else 92 | { 93 | try 94 | { 95 | StringBuilder DecryptEncryptionKey = new StringBuilder(); 96 | for (int c = 0; c < bPVkaPIHxmHs.Length; c++) 97 | DecryptEncryptionKey.Append((char)((uint)bPVkaPIHxmHs[c] ^ (uint)Convert.FromBase64String("decryptkeyencryption")[c % 4])); 98 | StringBuilder DecryptIV = new StringBuilder(); 99 | for (int c = 0; c < fCeZqcYnjRpl.Length; c++) 100 | DecryptIV.Append((char)((uint)fCeZqcYnjRpl[c] ^ (uint)Convert.FromBase64String("decryptkeyiv")[c % 4])); 101 | string sXQDBlJfKdPY = TqMIJUcgsXjVgxqJ(fMJUcafeoygb, DecryptEncryptionKey.ToString(), DecryptIV.ToString()); 102 | byte[] AzSLFXWvNQgp = Convert.FromBase64String(sXQDBlJfKdPY.Replace(".", "A").Replace("*", "B").Replace("_", @"S")); 103 | Assembly lnEFUxxAooHc = Assembly.Load(AzSLFXWvNQgp); 104 | lnEFUxxAooHc.EntryPoint.Invoke(null, null); 105 | } 106 | catch (Exception ex) 107 | { 108 | MessageBox.Show(ex.Message); 109 | } 110 | } 111 | } 112 | } 113 | } -------------------------------------------------------------------------------- /NetShield Protector/Resources/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | using System.Security.Cryptography; 7 | using System.Management; 8 | using System.Reflection; 9 | using System.Text; 10 | using System.Runtime.InteropServices; 11 | using System.Diagnostics; 12 | using System.Text.RegularExpressions; 13 | 14 | HWIDPacker 15 | { 16 | static class Program 17 | { 18 | static string ProgramToDecrypt = "DecME"; 19 | static string IV = "THISISIV"; 20 | 21 | [DllImport("kernel32.dll", SetLastError = true)] 22 | private static extern bool IsDebuggerPresent(); 23 | 24 | [DllImport("kernel32.dll", SetLastError = true)] 25 | private static extern void CheckRemoteDebuggerPresent(IntPtr Handle, ref bool IsPresent); 26 | 27 | [DllImport("kernel32.dll", SetLastError = true)] 28 | private static extern bool CloseHandle(IntPtr Handle); 29 | 30 | [DllImport("kernel32.dll", SetLastError = true)] 31 | private static extern IntPtr GetModuleHandle(string lib); 32 | 33 | [DllImport("kernel32.dll", SetLastError = true)] 34 | private static extern IntPtr GetProcAddress(IntPtr Module, string Function); 35 | 36 | [DllImport("kernel32.dll", SetLastError = true)] 37 | private static extern bool WriteProcessMemory(IntPtr ProcHandle, IntPtr BaseAddress, byte[] Buffer, uint size, int NumOfBytes); 38 | private static string TqMIJUcgsXjVgxqJ(string DataToDecrypt, string KeyToDecryptWith, string IVKeyToDecryptWith) 39 | { 40 | byte[] data = Convert.FromBase64String(DataToDecrypt); 41 | using (SHA256CryptoServiceProvider SHA256 = new SHA256CryptoServiceProvider()) 42 | { 43 | byte[] keys = SHA256.ComputeHash(UTF8Encoding.UTF8.GetBytes(KeyToDecryptWith)); 44 | using (AesCryptoServiceProvider AES = new AesCryptoServiceProvider() { Key = keys, Mode = CipherMode.CBC, Padding = PaddingMode.PKCS7 }) 45 | { 46 | string initVector = IVKeyToDecryptWith; 47 | byte[] initVectorBytes = Encoding.ASCII.GetBytes(initVector); 48 | AES.IV = initVectorBytes; 49 | ICryptoTransform transform = AES.CreateDecryptor(); 50 | byte[] results = transform.TransformFinalBlock(data, 0, data.Length); 51 | string Result = UTF8Encoding.UTF8.GetString(results); 52 | return Result; 53 | } 54 | } 55 | } 56 | 57 | private static string HashingHardwareID(string ToHash) 58 | { 59 | byte[] KeyToHashWith = Encoding.ASCII.GetBytes("bAI!J6XwWO&A"); 60 | HMACSHA256 SHA256Hashing = new HMACSHA256(); 61 | SHA256Hashing.Key = KeyToHashWith; 62 | var TheHash = SHA256Hashing.ComputeHash(UTF8Encoding.UTF8.GetBytes(ToHash)); 63 | StringBuilder builder = new StringBuilder(); 64 | for (int i = 0; i < TheHash.Length; i++) 65 | { 66 | builder.Append(TheHash[i].ToString("x2")); 67 | } 68 | string FinalHash = builder.ToString(); 69 | return FinalHash; 70 | } 71 | 72 | public static string GetHardwareID() 73 | { 74 | ManagementObjectSearcher CPU = new ManagementObjectSearcher(UTF8Encoding.UTF8.GetString(Convert.FromBase64String("U0VMRUNUICogRlJPTSBXaW4zMl9Qcm9jZXNzb3I="))); 75 | ManagementObjectCollection GetCPU = CPU.Get(); 76 | string CPUID = null; 77 | foreach (ManagementObject CPUId in GetCPU) 78 | { 79 | CPUID = CPUId[UTF8Encoding.UTF8.GetString(Convert.FromBase64String("UHJvY2Vzc29yVHlwZQ=="))].ToString() + CPUId[UTF8Encoding.UTF8.GetString(Convert.FromBase64String("UHJvY2Vzc29ySWQ="))].ToString(); 80 | } 81 | ManagementObjectSearcher BIOS = new ManagementObjectSearcher(UTF8Encoding.UTF8.GetString(Convert.FromBase64String("U0VMRUNUICogRlJPTSBXaW4zMl9CSU9T"))); 82 | ManagementObjectCollection GetBIOS = BIOS.Get(); 83 | string GPUID = null; 84 | foreach (ManagementObject BIOSId in GetBIOS) 85 | { 86 | GPUID = BIOSId["Manufacturer"].ToString() + BIOSId["Version"].ToString(); 87 | } 88 | return HashingHardwareID(CPUID + GPUID); 89 | } 90 | 91 | private static bool CloseHandleAntiDebug() 92 | { 93 | try 94 | { 95 | CloseHandle((IntPtr)0xDEADC0DE); 96 | return false; 97 | } 98 | catch (Exception ex) 99 | { 100 | if (ex.Message == "External component has thrown an exception.") 101 | { 102 | return true; 103 | } 104 | } 105 | return false; 106 | } 107 | 108 | [STAThread] 109 | static void Main() 110 | { 111 | try 112 | { 113 | bool IsPresent = false; 114 | CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref IsPresent); 115 | if (Debugger.IsAttached || IsDebuggerPresent() || IsPresent || CloseHandleAntiDebug()) 116 | { 117 | Environment.Exit(0); 118 | } 119 | else 120 | { 121 | IntPtr NtdllModule = GetModuleHandle("ntdll.dll"); 122 | IntPtr DbgUiRemoteBreakinAddress = GetProcAddress(NtdllModule, "DbgUiRemoteBreakin"); 123 | IntPtr DbgUiConnectToDbgAddress = GetProcAddress(NtdllModule, "DbgUiConnectToDbg"); 124 | byte[] Int3InvaildCode = { 0xCC }; 125 | WriteProcessMemory(Process.GetCurrentProcess().Handle, DbgUiRemoteBreakinAddress, Int3InvaildCode, 6, 0); 126 | WriteProcessMemory(Process.GetCurrentProcess().Handle, DbgUiConnectToDbgAddress, Int3InvaildCode, 6, 0); 127 | string HWID = GetHardwareID(); 128 | StringBuilder DecryptEncryptionKey = new StringBuilder(); 129 | for (int c = 0; c < HWID.Length; c++) 130 | DecryptEncryptionKey.Append((char)((uint)HWID[c] ^ (uint)Convert.FromBase64String("SOS12")[c % 4])); 131 | StringBuilder ROT13Encoding = new StringBuilder(); 132 | Regex regex = new Regex("[A-Za-z]"); 133 | foreach (char KSXZ in DecryptEncryptionKey.ToString()) 134 | { 135 | if (regex.IsMatch(KSXZ.ToString())) 136 | { 137 | int C = ((KSXZ & 223) - 52) % 26 + (KSXZ & 32) + 65; 138 | ROT13Encoding.Append((char)C); 139 | } 140 | } 141 | string HashedKey = UTF8Encoding.UTF8.GetString(MD5.Create().ComputeHash(UTF8Encoding.UTF8.GetBytes(ROT13Encoding.ToString()))); 142 | var GetTextToHEX = Encoding.Unicode.GetBytes(HashedKey); 143 | var BuildHEX = new StringBuilder(); 144 | foreach (var FinalHEX in GetTextToHEX) 145 | { 146 | BuildHEX.Append(FinalHEX.ToString("X2")); 147 | } 148 | StringBuilder sb = new StringBuilder(); foreach (char c in BuildHEX.ToString().ToCharArray()) { sb.Append(Convert.ToString(c, 2).PadLeft(8, '0')); } 149 | byte[] keys = MD5.Create().ComputeHash(UTF8Encoding.UTF8.GetBytes(sb.ToString())); 150 | StringBuilder builder = new StringBuilder(); 151 | for (int i = 0; i < keys.Length; i++) 152 | { 153 | builder.Append(keys[i].ToString("x2")); 154 | } 155 | string DecryptedProgram = TqMIJUcgsXjVgxqJ(ProgramToDecrypt, builder.ToString(), IV); 156 | byte[] ProgramToRun = Convert.FromBase64String(DecryptedProgram); 157 | Assembly RunInMemory = Assembly.Load(ProgramToRun); 158 | RunInMemory.EntryPoint.Invoke(null, null); 159 | } 160 | } 161 | catch(CryptographicException) 162 | { 163 | MessageBox.Show("Sorry But looks like you are not authorized to use this program.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 164 | } 165 | } 166 | } 167 | } -------------------------------------------------------------------------------- /NetShield Protector/Resources/USBPacker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | using System.Management; 5 | using System.Reflection; 6 | using System.Runtime.InteropServices; 7 | using System.Security.Cryptography; 8 | using System.Text; 9 | using System.Text.RegularExpressions; 10 | using System.Windows.Forms; 11 | 12 | USBPacker 13 | { 14 | internal static class Program 15 | { 16 | private static string ProgramToDecrypt = "DecME"; 17 | private static string IV = "THISISIV"; 18 | 19 | [DllImport("kernel32.dll", SetLastError = true)] 20 | private static extern bool IsDebuggerPresent(); 21 | 22 | [DllImport("kernel32.dll", SetLastError = true)] 23 | private static extern void CheckRemoteDebuggerPresent(IntPtr Handle, ref bool IsPresent); 24 | 25 | [DllImport("kernel32.dll", SetLastError = true)] 26 | private static extern bool CloseHandle(IntPtr Handle); 27 | 28 | [DllImport("kernel32.dll", SetLastError = true)] 29 | private static extern IntPtr GetModuleHandle(string lib); 30 | 31 | [DllImport("kernel32.dll", SetLastError = true)] 32 | private static extern IntPtr GetProcAddress(IntPtr Module, string Function); 33 | 34 | [DllImport("kernel32.dll", SetLastError = true)] 35 | private static extern bool WriteProcessMemory(IntPtr ProcHandle, IntPtr BaseAddress, byte[] Buffer, uint size, int NumOfBytes); 36 | 37 | private static string TqMIJUcgsXjVgxqJ(string DataToDecrypt, string KeyToDecryptWith, string IVKeyToDecryptWith) 38 | { 39 | byte[] inputBuffer = Convert.FromBase64String(DataToDecrypt); 40 | using (SHA256CryptoServiceProvider cryptoServiceProvider1 = new SHA256CryptoServiceProvider()) 41 | { 42 | byte[] hash = cryptoServiceProvider1.ComputeHash(Encoding.UTF8.GetBytes(KeyToDecryptWith)); 43 | AesCryptoServiceProvider cryptoServiceProvider2 = new AesCryptoServiceProvider(); 44 | cryptoServiceProvider2.Key = hash; 45 | cryptoServiceProvider2.Mode = CipherMode.CBC; 46 | cryptoServiceProvider2.Padding = PaddingMode.PKCS7; 47 | using (AesCryptoServiceProvider cryptoServiceProvider3 = cryptoServiceProvider2) 48 | { 49 | byte[] bytes = Encoding.ASCII.GetBytes(IVKeyToDecryptWith); 50 | cryptoServiceProvider3.IV = bytes; 51 | return Encoding.UTF8.GetString(cryptoServiceProvider3.CreateDecryptor().TransformFinalBlock(inputBuffer, 0, inputBuffer.Length)); 52 | } 53 | } 54 | } 55 | 56 | private static string HashingHardwareID(string ToHash) 57 | { 58 | byte[] bytes = Encoding.ASCII.GetBytes("bAI!J6XwWO&A"); 59 | HMACSHA256 hmacshA256 = new HMACSHA256(); 60 | hmacshA256.Key = bytes; 61 | byte[] hash = hmacshA256.ComputeHash(Encoding.UTF8.GetBytes(ToHash)); 62 | StringBuilder stringBuilder = new StringBuilder(); 63 | for (int index = 0; index < hash.Length; ++index) 64 | stringBuilder.Append(hash[index].ToString("x2")); 65 | return stringBuilder.ToString(); 66 | } 67 | 68 | private static string GetUSBHardwareID() 69 | { 70 | foreach (DriveInfo drive in DriveInfo.GetDrives()) 71 | { 72 | if (drive.DriveType == DriveType.Removable) 73 | { 74 | foreach (ManagementObject managementObject in new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive").Get()) 75 | { 76 | if (managementObject["MediaType"].ToString() == "Removable Media") 77 | return Program.HashingHardwareID(drive.TotalSize.ToString() + managementObject["SerialNumber"].ToString() + managementObject["PNPDeviceID"].ToString()); 78 | } 79 | } 80 | } 81 | return (string)null; 82 | } 83 | 84 | private static bool CloseHandleAntiDebug() 85 | { 86 | try 87 | { 88 | Program.CloseHandle((IntPtr)3735929054L); 89 | return false; 90 | } 91 | catch (Exception ex) 92 | { 93 | if (ex.Message == "External component has thrown an exception.") 94 | return true; 95 | } 96 | return false; 97 | } 98 | 99 | [STAThread] 100 | private static void Main() 101 | { 102 | try 103 | { 104 | bool IsPresent = false; 105 | Program.CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref IsPresent); 106 | if (Debugger.IsAttached || Program.IsDebuggerPresent() || IsPresent || Program.CloseHandleAntiDebug()) 107 | { 108 | Environment.Exit(0); 109 | } 110 | else 111 | { 112 | IntPtr moduleHandle = Program.GetModuleHandle("ntdll.dll"); 113 | IntPtr procAddress1 = Program.GetProcAddress(moduleHandle, "DbgUiRemoteBreakin"); 114 | IntPtr procAddress2 = Program.GetProcAddress(moduleHandle, "DbgUiConnectToDbg"); 115 | byte[] Buffer = new byte[1] { (byte)204 }; 116 | Program.WriteProcessMemory(Process.GetCurrentProcess().Handle, procAddress1, Buffer, 6U, 0); 117 | Program.WriteProcessMemory(Process.GetCurrentProcess().Handle, procAddress2, Buffer, 6U, 0); 118 | string USBHWID = GetUSBHardwareID(); 119 | StringBuilder DecryptEncryptionKey = new StringBuilder(); 120 | for (int c = 0; c < USBHWID.ToString().Length; c++) 121 | DecryptEncryptionKey.Append((char)((uint)USBHWID[c] ^ (uint)Convert.FromBase64String("SOS12")[c % 4])); 122 | Assembly.Load(Convert.FromBase64String(Program.TqMIJUcgsXjVgxqJ(Program.ProgramToDecrypt, Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes(DecryptEncryptionKey.ToString())), Program.IV))).EntryPoint.Invoke((object)null, (object[])null); 123 | } 124 | } 125 | catch 126 | { 127 | MessageBox.Show("Sorry But looks like you are not authorized to use this program.", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Hand); 128 | } 129 | } 130 | } 131 | } -------------------------------------------------------------------------------- /NetShield Protector/Resources/dnlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdvDebug/NetShield_Protector/6c21c2e4aed7d614e94d8d25bf2c6e5b74344de9/NetShield Protector/Resources/dnlib.dll -------------------------------------------------------------------------------- /NetShield Protector/icons81_system_task.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdvDebug/NetShield_Protector/6c21c2e4aed7d614e94d8d25bf2c6e5b74344de9/NetShield Protector/icons81_system_task.ico -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NetShield Protector 2 | .NET Copy Protection Software which includes licensing your C# with many things such as Hardware ID, License, USB Hardware ID, etc.... 3 | 4 | Note that the project are no longer supported. 5 | # Obfuscastion 6 | Base64 String Encoding. 7 | 8 | Anti-De4dot. 9 | 10 | Fake Obfuscastor Attributes. 11 | 12 | Junk Methods and namespaces. 13 | 14 | Control Flow Obfuscastion. 15 | 16 | INT Confusion 17 | 18 | Anti-ILDasm Protection 19 | 20 | Renamer (renames methods, parameters, etc...) 21 | 22 | Anti-VM 23 | 24 | Anti-Debug 25 | 26 | Anti-Decompiler 27 | 28 | Packing (you have to select another obfuscastion option to enable) 29 | 30 | # Licensing 31 | Hardware ID Licensing 32 | 33 | Just a license file 34 | 35 | USB Hardware ID Licensing 36 | # Use Cases 37 | Please Note that you shouldn't depend on this Protector Protection, it's are mainly for testing and exploring how obfuscation and packing/licensing may work. 38 | 39 | Some use cases are: 40 | 41 | * Packing your program with a specific HWID so that it runs on your pc only and people with physical access can't steal it easily. 42 | 43 | * Packing your program with a specific USB HWID so that it runs on different PCs with a trusted USB without easily tampering your program code. 44 | # Credits 45 | 46 | Thanks To MindLated Project for Control Flow and INT Confusion 47 | --------------------------------------------------------------------------------