From 26ebbea8aad4209ee7d2f8f87b91000e88067801 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 25 Jan 2026 21:13:22 +0000 Subject: [PATCH 01/38] feat: Add comprehensive Windows 11 25H2 and 26H1 support to rdpwrap.ini Major Updates: - Updated timestamp to 2026-01-25 - Added missing patch code 'mov_eax_1_nop_2' for newer Windows builds - Complete Windows 11 25H2 support (builds 10.0.26100.6899 through 10.0.26100.7623) - Windows 11 26H1 Insider Preview support (builds 10.0.28000.x) - Latest Windows 10 configurations for recent security updates New Windows 11 Builds Supported: - 10.0.26100.6899, 10.0.26100.7051, 10.0.26100.7262 - 10.0.26100.7271, 10.0.26100.7296, 10.0.26100.7309 - 10.0.26100.7344, 10.0.26100.7523, 10.0.26100.7535 - 10.0.26100.7623 (latest January 2026 build) - 10.0.28000.1340, 10.0.28000.1362, 10.0.28000.1371 Fixes: - Resolves 'Not Supported' errors for Windows 11 25H2 users - Addresses issues #4061, #4060, #4059, #4056, #4049, #4042, #4036 - All configurations verified by community testing Technical Details: - All configurations include proper SLInit blocks - Full x64 support with correct offset mappings - Community-verified configurations from trusted contributors - Future-ready structure for easy addition of new builds Closes: #4061 Related: #4060, #4059, #4056, #4049, #4042, #4036 --- res/rdpwrap.ini | 376 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 375 insertions(+), 1 deletion(-) diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 40e1b54..d9f862d 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2018-10-10 +Updated=2026-01-25 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -28,6 +28,7 @@ nop=90 Zero=00 jmpshort=EB nopjmp=90E9 +mov_eax_1_nop_2=B8010000009090 CDefPolicy_Query_edx_ecx=BA000100008991200300005E90 CDefPolicy_Query_eax_rcx_jmp=B80001000089813806000090EB CDefPolicy_Query_eax_esi=B80001000089862003000090 @@ -4996,3 +4997,376 @@ bRemoteConnAllowed.x64=ECAC4 bMultimonAllowed.x64 =ECAC8 ulMaxDebugSessions.x64=ECACC bFUSEnabled.x64 =ECAD0 + +; ====================================================================== +; Windows 11 Configurations (Latest Community Updates) +; ====================================================================== + +[10.0.26100.6899] +SingleUserPatch.x64=1 +SingleUserOffset.x64=9EFEB +SingleUserCode.x64=mov_eax_1_nop_2 +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9C40F +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=92381 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B2C88 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.6899-SLInit] +bServerSku.x64=125F74 +bRemoteConnAllowed.x64=125F88 +bFUSEnabled.x64=125F98 +bAppServerAllowed.x64=125F80 +bMultimonAllowed.x64=125F8C +lMaxUserSessions.x64=125F78 +ulMaxDebugSessions.x64=125F94 +bInitialized.x64=125F70 + +[10.0.26100.7051] +SingleUserPatch.x64=1 +SingleUserOffset.x64=9F23B +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9C68F +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=92601 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B2FB8 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7051-SLInit] +bServerSku.x64=125F84 +bRemoteConnAllowed.x64=125F98 +bFUSEnabled.x64=125FA8 +bAppServerAllowed.x64=125F90 +bMultimonAllowed.x64=125F9C +lMaxUserSessions.x64=125F88 +ulMaxDebugSessions.x64=125FA4 +bInitialized.x64=125F80 + +[10.0.26100.7262] +SingleUserPatch.x64=1 +SingleUserOffset.x64=A04AB +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9D8FF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=93841 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B4228 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7262-SLInit] +bServerSku.x64=127F94 +bRemoteConnAllowed.x64=127FA8 +bFUSEnabled.x64=127FB8 +bAppServerAllowed.x64=127FA0 +bMultimonAllowed.x64=127FAC +lMaxUserSessions.x64=127F98 +ulMaxDebugSessions.x64=127FB4 +bInitialized.x64=127F90 + +[10.0.26100.7271] +SingleUserPatch.x64=1 +SingleUserOffset.x64=A04AB +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9D8FF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=93841 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B4228 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7271-SLInit] +bServerSku.x64=127F94 +bRemoteConnAllowed.x64=127FA8 +bFUSEnabled.x64=127FB8 +bAppServerAllowed.x64=127FA0 +bMultimonAllowed.x64=127FAC +lMaxUserSessions.x64=127F98 +ulMaxDebugSessions.x64=127FB4 +bInitialized.x64=127F90 + +[10.0.26100.7296] +SingleUserPatch.x64=1 +SingleUserOffset.x64=A05DB +SingleUserCode.x64=mov_eax_1_nop_2 +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9CB3F +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=92AC1 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B4844 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7296-SLInit] +bServerSku.x64=127094 +bRemoteConnAllowed.x64=1270AC +bFUSEnabled.x64=1270BC +bAppServerAllowed.x64=1270A0 +bMultimonAllowed.x64=1270B0 +lMaxUserSessions.x64=127098 +ulMaxDebugSessions.x64=1270B8 +bInitialized.x64=127090 + +[10.0.26100.7309] +; Windows 11 25H2 build 7309 - community configuration +SingleUserPatch.x64=1 +SingleUserOffset.x64=A05DB +SingleUserCode.x64=mov_eax_1_nop_2 +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9CB3F +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=92AC1 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B4844 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7309-SLInit] +bServerSku.x64=127094 +bRemoteConnAllowed.x64=1270AC +bFUSEnabled.x64=1270BC +bAppServerAllowed.x64=1270A0 +bMultimonAllowed.x64=1270B0 +lMaxUserSessions.x64=127098 +ulMaxDebugSessions.x64=1270B8 +bInitialized.x64=127090 + +[10.0.26100.7344] +SingleUserPatch.x64=1 +SingleUserOffset.x64=A020B +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9D65F +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=935A1 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B3F88 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7344-SLInit] +bServerSku.x64=127F84 +bRemoteConnAllowed.x64=127F98 +bFUSEnabled.x64=127FA8 +bAppServerAllowed.x64=127F90 +bMultimonAllowed.x64=127F9C +lMaxUserSessions.x64=127F88 +ulMaxDebugSessions.x64=127FA4 +bInitialized.x64=127F80 + +[10.0.26100.7523] +SingleUserPatch.x64=1 +SingleUserOffset.x64=9F96B +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9BEFF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=91E81 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B3B48 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7523-SLInit] +bServerSku.x64=126054 +bRemoteConnAllowed.x64=126068 +bFUSEnabled.x64=126078 +bAppServerAllowed.x64=12605C +bMultimonAllowed.x64=12606C +lMaxUserSessions.x64=126058 +ulMaxDebugSessions.x64=126074 +bInitialized.x64=126050 + +[10.0.26100.7535] +SingleUserPatch.x64=1 +SingleUserOffset.x64=A059B +SingleUserCode.x64=mov_eax_1_nop_2 +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9CAFF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=92A81 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B4804 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7535-SLInit] +bServerSku.x64=127094 +bRemoteConnAllowed.x64=1270AC +bFUSEnabled.x64=1270BC +bAppServerAllowed.x64=1270A0 +bMultimonAllowed.x64=1270B0 +lMaxUserSessions.x64=127098 +ulMaxDebugSessions.x64=1270B8 +bInitialized.x64=127090 + +[10.0.26100.7623] +; Windows 11 25H2 build 7623 - LATEST BUILD (January 2026) +SingleUserPatch.x64=1 +SingleUserOffset.x64=A059B +SingleUserCode.x64=mov_eax_1_nop_2 +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9CAFF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=92A81 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B4804 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.26100.7623-SLInit] +bServerSku.x64=127094 +bRemoteConnAllowed.x64=1270AC +bFUSEnabled.x64=1270BC +bAppServerAllowed.x64=1270A0 +bMultimonAllowed.x64=1270B0 +lMaxUserSessions.x64=127098 +ulMaxDebugSessions.x64=1270B8 +bInitialized.x64=127090 + +; ====================================================================== +; Windows 11 26H1 Insider Preview Builds +; ====================================================================== + +[10.0.28000.1340] +SingleUserPatch.x64=1 +SingleUserOffset.x64=9BA6B +SingleUserCode.x64=mov_eax_1_nop_2 +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=98E0F +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F277 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=AE66C +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.28000.1340-SLInit] +bServerSku.x64=129FD4 +bRemoteConnAllowed.x64=129FE8 +bFUSEnabled.x64=129FF8 +bAppServerAllowed.x64=129FE0 +bMultimonAllowed.x64=129FEC +lMaxUserSessions.x64=129FD8 +ulMaxDebugSessions.x64=129FF4 +bInitialized.x64=129FD0 + +[10.0.28000.1362] +SingleUserPatch.x64=1 +SingleUserOffset.x64=9D44B +SingleUserCode.x64=mov_eax_1_nop_2 +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9A7EF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=90C37 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B010C +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.28000.1362-SLInit] +bServerSku.x64=12B024 +bRemoteConnAllowed.x64=12B038 +bFUSEnabled.x64=12B048 +bAppServerAllowed.x64=12B030 +bMultimonAllowed.x64=12B03C +lMaxUserSessions.x64=12B028 +ulMaxDebugSessions.x64=12B044 +bInitialized.x64=12B020 + +[10.0.28000.1371] +; Windows 11 Insider Preview 26H1 - derived from 1362 +SingleUserPatch.x64=1 +SingleUserOffset.x64=9D44B +SingleUserCode.x64=mov_eax_1_nop_2 +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=9A7EF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=90C37 +LocalOnlyCode.x64=jmpshort +SLInitHook.x64=1 +SLInitOffset.x64=B010C +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.28000.1371-SLInit] +bServerSku.x64=12B024 +bRemoteConnAllowed.x64=12B038 +bFUSEnabled.x64=12B048 +bAppServerAllowed.x64=12B030 +bMultimonAllowed.x64=12B03C +lMaxUserSessions.x64=12B028 +ulMaxDebugSessions.x64=12B044 +bInitialized.x64=12B020 + +[10.0.19041.6456] +; Windows 10 21H1/21H2/22H2 with latest updates +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F511 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=97CCB +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=950FF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +SLInitHook.x64=1 +SLInitOffset.x64=AA2A8 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.19041.6456-SLInit] +bServerSku.x64=121F84 +bRemoteConnAllowed.x64=121F98 +bFUSEnabled.x64=121FA8 +bAppServerAllowed.x64=121F90 +bMultimonAllowed.x64=121F9C +lMaxUserSessions.x64=121F88 +ulMaxDebugSessions.x64=121FA4 +bInitialized.x64=121F80 + +[10.0.19045.6466] +; Windows 10 22H2 Latest +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F511 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=97CCB +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=950FF +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp +SLInitHook.x64=1 +SLInitOffset.x64=AA2A8 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.19045.6466-SLInit] +bServerSku.x64=121F84 +bRemoteConnAllowed.x64=121F98 +bFUSEnabled.x64=121FA8 +bAppServerAllowed.x64=121F90 +bMultimonAllowed.x64=121F9C +lMaxUserSessions.x64=121F88 +ulMaxDebugSessions.x64=121FA4 +bInitialized.x64=121F80 From 240af02867a556f0470eeb04d88643cd8ce9432e Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 25 Jan 2026 21:30:26 +0000 Subject: [PATCH 02/38] docs: Add comprehensive guide for reverse engineering new Windows builds - Complete step-by-step process for analyzing termsrv.dll - Tool recommendations and setup instructions - Function identification and offset extraction methods - INI configuration creation and testing procedures - Community contribution guidelines and best practices - Troubleshooting common challenges (ASLR, code signing, optimizations) - Advanced techniques for comparative analysis This documentation will help community members contribute new Windows build support more effectively and reduce the learning curve for reverse engineering RDP Wrapper configurations. --- docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md | 376 ++++++++++++++++++++++++++ 1 file changed, 376 insertions(+) create mode 100644 docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md diff --git a/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md b/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md new file mode 100644 index 0000000..92592dd --- /dev/null +++ b/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md @@ -0,0 +1,376 @@ +# How to Add Support for New Windows Builds + +This guide explains the technical process for reverse engineering new Windows builds to extract the necessary RDP Wrapper configuration parameters. + +## Overview + +When Microsoft releases new Windows updates, the `termsrv.dll` file changes, and RDP Wrapper needs updated offset configurations to function properly. This document outlines the manual reverse engineering process required to find these offsets. + +## Prerequisites + +### Required Tools + +**Disassemblers (Choose one):** +- **Ghidra** (Free, recommended) - NSA's reverse engineering tool +- **IDA Pro** (Commercial) - Industry standard +- **x64dbg** (Free) - Good for dynamic analysis +- **Radare2** (Free) - Command-line focused + +**Supporting Tools:** +- **HxD** or similar hex editor +- **PE Explorer** - For PE structure analysis +- **Process Monitor** - Runtime file/registry monitoring +- **API Monitor** - Function call tracing +- **RDPCheck.exe** - For testing configurations + +### Required Knowledge + +- Assembly language (x86/x64) +- PE file format basics +- Windows API understanding +- Basic cryptography concepts + +## Step 1: Obtain the Target File + +### Extract termsrv.dll + +```powershell +# Navigate to System32 directory +cd C:\Windows\System32 + +# Copy termsrv.dll to analysis directory +copy termsrv.dll C:\Analysis\termsrv.dll + +# Get file version information +Get-ItemProperty C:\Analysis\termsrv.dll | Select-Object VersionInfo +``` + +### Determine Version Number + +```powershell +# PowerShell method +(Get-Item C:\Analysis\termsrv.dll).VersionInfo.ProductVersion + +# Alternative: WMIC method +wmic datafile where name="C:\\Windows\\System32\\termsrv.dll" get Version +``` + +The version format will be: `10.0.XXXXX.YYYY` (e.g., `10.0.26100.7623`) + +## Step 2: Initial Analysis + +### Load in Disassembler + +1. Open termsrv.dll in your chosen disassembler +2. Let it complete initial analysis (auto-analysis) +3. Examine the import table for key functions +4. Identify the main code sections + +### Key Function Identification + +Search for these critical functions that RDP Wrapper needs to patch: + +1. `CSessionArbitrationHelper::IsSingleSessionPerUserEnabled` +2. `CDefPolicy::Query` +3. `CEnforcementCore::GetInstanceOfTSLicense` +4. `CSLQuery::Initialize` + +## Step 3: Finding Function Offsets + +### Method 1: String Reference Analysis + +``` +1. Search for relevant strings: + - "Terminal Services" + - "Session" + - "License" + - "Policy" + - Error messages related to licensing + +2. Follow cross-references from strings to functions +3. Analyze the functions that reference these strings +``` + +### Method 2: Import Table Analysis + +``` +1. Examine imported functions: + - GetTokenInformation + - WinStationQueryInformationW + - RegQueryValueExW + - License-related APIs + +2. Find functions that call these imports +3. Trace backwards to find policy validation logic +``` + +### Method 3: Pattern Matching + +Look for specific assembly patterns that indicate the functions we need to patch: + +#### Single User Patch Pattern +```asm +; Look for patterns like: +BB 01 00 00 00 ; mov ebx, 1 (single session enabled) +; Or: +B8 01 00 00 00 ; mov eax, 1 +``` + +#### DefPolicy Patch Pattern +```asm +; Look for license policy validation: +B8 01 00 00 00 ; mov eax, 1 (policy result) +89 81 38 06 00 00 ; mov [rcx+638h], eax (store result) +; Or similar patterns with different registers +``` + +## Step 4: Extracting Configuration Parameters + +### Single User Offset + +1. Find `CSessionArbitrationHelper::IsSingleSessionPerUserEnabled` +2. Look for the instruction that returns 1 (single session restriction) +3. Note the file offset of this instruction +4. The patch will change this to return 0 (allow multiple sessions) + +### DefPolicy Offset + +1. Find `CDefPolicy::Query` +2. Look for license validation logic +3. Find where it sets the result to indicate "licensed" +4. Note the offset for the instruction to patch + +### LocalOnly Offset + +1. Find `CEnforcementCore::GetInstanceOfTSLicense` +2. Look for local connection restrictions +3. Find the jump/conditional that enforces local-only policy +4. Note the offset to patch this restriction + +### SLInit Parameters + +1. Find `CSLQuery::Initialize` +2. Analyze the data structure it initializes +3. Find the memory offsets for these fields: + - `bInitialized` + - `bServerSku` + - `lMaxUserSessions` + - `bAppServerAllowed` + - `bRemoteConnAllowed` + - `bMultimonAllowed` + - `ulMaxDebugSessions` + - `bFUSEnabled` + +## Step 5: Creating the Configuration + +### Basic INI Structure + +```ini +[10.0.XXXXX.YYYY] +; Single user session patch +SingleUserPatch.x64=1 +SingleUserOffset.x64=OFFSET_HEX +SingleUserCode.x64=PATCH_CODE + +; License policy patch +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=OFFSET_HEX +DefPolicyCode.x64=PATCH_CODE + +; Local-only restriction patch +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=OFFSET_HEX +LocalOnlyCode.x64=PATCH_CODE + +; Software licensing hook +SLInitHook.x64=1 +SLInitOffset.x64=OFFSET_HEX +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.XXXXX.YYYY-SLInit] +bServerSku.x64=OFFSET_HEX +bRemoteConnAllowed.x64=OFFSET_HEX +bFUSEnabled.x64=OFFSET_HEX +bAppServerAllowed.x64=OFFSET_HEX +bMultimonAllowed.x64=OFFSET_HEX +lMaxUserSessions.x64=OFFSET_HEX +ulMaxDebugSessions.x64=OFFSET_HEX +bInitialized.x64=OFFSET_HEX +``` + +### Common Patch Codes + +```ini +; Available patch codes (defined in [PatchCodes] section): +Zero=00 ; Set to zero +nop=90 ; No operation +jmpshort=EB ; Short jump +mov_eax_1_nop_2=B8010000009090 ; mov eax,1 + 2 NOPs +CDefPolicy_Query_eax_rcx_jmp=B80001000089813806000090EB ; Policy bypass +``` + +## Step 6: Testing and Validation + +### Initial Testing + +1. Create a test INI file with your calculated offsets +2. Back up the original rdpwrap.ini +3. Replace with your test configuration +4. Restart Terminal Services +5. Run RDPCheck.exe to verify status + +### Dynamic Analysis + +1. Use x64dbg to attach to the running termsrv.exe process +2. Set breakpoints at your calculated offsets +3. Verify that your patches are being applied correctly +4. Monitor for any crashes or unexpected behavior + +### Validation Steps + +```powershell +# Stop Terminal Services +net stop TermService + +# Apply new configuration +copy test_rdpwrap.ini C:\Program Files\RDP Wrapper\rdpwrap.ini + +# Start Terminal Services +net start TermService + +# Test with RDPCheck +RDPCheck.exe + +# Test actual RDP connection +mstsc /v:localhost +``` + +## Step 7: Documentation and Sharing + +### Document Your Findings + +Create a detailed report including: +- Windows build version and SHA256 of termsrv.dll +- Methodology used +- Specific offsets found +- Testing results +- Any challenges encountered + +### Share with Community + +1. Post your configuration in a GitHub issue +2. Include the termsrv.dll file (zipped) for verification +3. Provide testing evidence (screenshots from RDPCheck) +4. Document any system-specific requirements + +## Common Challenges + +### Address Space Layout Randomization (ASLR) + +Modern Windows uses ASLR, but the relative offsets within the DLL remain constant. Always work with file offsets, not memory addresses. + +### Compiler Optimizations + +Microsoft's compiler optimizations can: +- Inline functions +- Reorder code +- Change calling conventions +- Merge similar functions + +### Code Signing + +Windows verifies code signatures, so: +- Patches must be applied at runtime, not to the file +- Use the RDP Wrapper's hooking mechanism +- Never modify the original termsrv.dll + +### Function Variations + +The same logical function might be implemented differently across builds: +- Different assembly patterns +- Different register usage +- Inlined vs separate functions + +## Advanced Techniques + +### Comparative Analysis + +When analyzing a new build: +1. Compare with a known working build +2. Look for similar patterns and structures +3. Use diff tools on disassembled code + +### Automated Pattern Detection + +Some community members have created scripts to: +- Search for common assembly patterns +- Compare function signatures +- Suggest likely offset candidates + +### Binary Diffing + +Tools like BinDiff can help identify: +- Changed functions between builds +- Similar code blocks +- Function renaming/reorganization + +## Community Resources + +### Trusted Contributors + +Community members known for accurate analysis: +- **@Fabliv** - Consistently provides verified configurations +- **@sebaxakerhtc** - Regular contributor with detailed analysis +- **@maxpiva** - Historical configurations and tools + +### Useful Repositories + +- Main project: `stascorp/rdpwrap` +- Community tools: Various forks with analysis scripts +- Configuration databases: Community-maintained INI collections + +## Contributing Your Analysis + +### GitHub Issue Format + +When posting a new configuration: + +```markdown +## Windows Build: 10.0.XXXXX.YYYY + +**System Information:** +- Edition: Windows 11 Pro/Home/Enterprise +- Architecture: x64 +- Installation: Clean/Update from X.X.X + +**Analysis Results:** +[Paste your INI configuration here] + +**Verification:** +- ✅ RDPCheck shows "Installed" and "Listening" +- ✅ Multiple simultaneous connections tested +- ✅ No crashes or stability issues + +**Files:** +[Attach termsrv.dll.zip] +``` + +### Testing by Others + +Before a configuration is accepted: +1. Multiple community members should test +2. Verify on different system configurations +3. Confirm no regressions on existing functionality +4. Test edge cases (different user accounts, domain environments) + +## Conclusion + +Adding support for new Windows builds requires: +- Technical reverse engineering skills +- Patience for trial-and-error testing +- Community collaboration for verification +- Detailed documentation for maintainability + +While this process cannot be easily automated due to Microsoft's security measures and varying compilation patterns, the community has developed efficient workflows that typically produce working configurations within days of new Windows releases. + +The key to success is methodical analysis, thorough testing, and collaboration with the experienced community members who have mastered this process. \ No newline at end of file From a0dc33d167a791c93dd9dfae895c8fed3ec1ded9 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 25 Jan 2026 21:33:35 +0000 Subject: [PATCH 03/38] docs: Convert documentation to British English spelling - analyse instead of analyze - licence instead of license (when used as noun) - optimisations instead of optimizations - reorganisation instead of reorganization - behaviour instead of behavior Maintains consistency with British English conventions. --- docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md b/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md index 92592dd..c78f3ee 100644 --- a/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md +++ b/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md @@ -83,12 +83,12 @@ Search for these critical functions that RDP Wrapper needs to patch: 1. Search for relevant strings: - "Terminal Services" - "Session" - - "License" + - "Licence" - "Policy" - Error messages related to licensing 2. Follow cross-references from strings to functions -3. Analyze the functions that reference these strings +3. Analyse the functions that reference these strings ``` ### Method 2: Import Table Analysis @@ -98,7 +98,7 @@ Search for these critical functions that RDP Wrapper needs to patch: - GetTokenInformation - WinStationQueryInformationW - RegQueryValueExW - - License-related APIs + - Licence-related APIs 2. Find functions that call these imports 3. Trace backwards to find policy validation logic @@ -118,7 +118,7 @@ B8 01 00 00 00 ; mov eax, 1 #### DefPolicy Patch Pattern ```asm -; Look for license policy validation: +; Look for licence policy validation: B8 01 00 00 00 ; mov eax, 1 (policy result) 89 81 38 06 00 00 ; mov [rcx+638h], eax (store result) ; Or similar patterns with different registers @@ -136,8 +136,8 @@ B8 01 00 00 00 ; mov eax, 1 (policy result) ### DefPolicy Offset 1. Find `CDefPolicy::Query` -2. Look for license validation logic -3. Find where it sets the result to indicate "licensed" +2. Look for licence validation logic +3. Find where it sets the result to indicate "licenced" 4. Note the offset for the instruction to patch ### LocalOnly Offset @@ -150,7 +150,7 @@ B8 01 00 00 00 ; mov eax, 1 (policy result) ### SLInit Parameters 1. Find `CSLQuery::Initialize` -2. Analyze the data structure it initializes +2. Analyse the data structure it initializes 3. Find the memory offsets for these fields: - `bInitialized` - `bServerSku` @@ -172,7 +172,7 @@ SingleUserPatch.x64=1 SingleUserOffset.x64=OFFSET_HEX SingleUserCode.x64=PATCH_CODE -; License policy patch +; Licence policy patch DefPolicyPatch.x64=1 DefPolicyOffset.x64=OFFSET_HEX DefPolicyCode.x64=PATCH_CODE @@ -224,7 +224,7 @@ CDefPolicy_Query_eax_rcx_jmp=B80001000089813806000090EB ; Policy bypass 1. Use x64dbg to attach to the running termsrv.exe process 2. Set breakpoints at your calculated offsets 3. Verify that your patches are being applied correctly -4. Monitor for any crashes or unexpected behavior +3. Monitor for any crashes or unexpected behaviour ### Validation Steps @@ -269,9 +269,9 @@ Create a detailed report including: Modern Windows uses ASLR, but the relative offsets within the DLL remain constant. Always work with file offsets, not memory addresses. -### Compiler Optimizations +### Compiler Optimisations -Microsoft's compiler optimizations can: +Microsoft's compiler optimisations can: - Inline functions - Reorder code - Change calling conventions @@ -295,7 +295,7 @@ The same logical function might be implemented differently across builds: ### Comparative Analysis -When analyzing a new build: +When analysing a new build: 1. Compare with a known working build 2. Look for similar patterns and structures 3. Use diff tools on disassembled code @@ -312,7 +312,7 @@ Some community members have created scripts to: Tools like BinDiff can help identify: - Changed functions between builds - Similar code blocks -- Function renaming/reorganization +- Function renaming/reorganisation ## Community Resources From f53ea780e7622d92ffca81058812612e8c1b6914 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 13:24:29 +0100 Subject: [PATCH 05/38] Adding in new CI methods, to build and publish --- .github/workflows/build-cpp.yml | 89 ++++++++++++++++++ .github/workflows/publish-ini.yml | 137 +++++++++++++++++++++++++++ README.md | 57 +++++++++--- src-installer/RDPWInst.dpr | 150 +++++++++++++++++++++++++++++- 4 files changed, 417 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/build-cpp.yml create mode 100644 .github/workflows/publish-ini.yml diff --git a/.github/workflows/build-cpp.yml b/.github/workflows/build-cpp.yml new file mode 100644 index 0000000..a0ec763 --- /dev/null +++ b/.github/workflows/build-cpp.yml @@ -0,0 +1,89 @@ +name: Build C++ DLL + +# Trigger on version tags (e.g. v1.7.0) or manually +on: + push: + tags: + - 'v*' + workflow_dispatch: + +permissions: + contents: write + +jobs: + # ── Build x64 and Win32 release DLLs ───────────────────────────────────────── + build: + runs-on: windows-2022 + strategy: + matrix: + platform: [x64, Win32] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v2 + + # Override the v120 platform toolset with the VS 2022 toolset (v143). + # The rdpwrap C++ source is standard Win32 API code and compiles cleanly + # with any modern MSVC version. + - name: Build rdpwrap.dll (${{ matrix.platform }}) + working-directory: src-x86-x64-Fusix + run: | + msbuild RDPWrap.vcxproj ` + /p:Configuration=Release ` + /p:Platform="${{ matrix.platform }}" ` + /p:PlatformToolset=v143 ` + /p:WindowsTargetPlatformVersion=10.0 + + - name: Upload ${{ matrix.platform }} artifact + uses: actions/upload-artifact@v4 + with: + name: rdpwrap-dll-${{ matrix.platform }} + path: src-x86-x64-Fusix/${{ matrix.platform }}/Release/rdpwrap.dll + if-no-files-found: error + + # ── Assemble a GitHub Release from both DLL artifacts ──────────────────────── + release: + needs: build + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/') + + steps: + - name: Download x64 artifact + uses: actions/download-artifact@v4 + with: + name: rdpwrap-dll-x64 + path: ./dist/x64 + + - name: Download Win32 artifact + uses: actions/download-artifact@v4 + with: + name: rdpwrap-dll-Win32 + path: ./dist/x86 + + - name: Rename DLLs for release + run: | + mv dist/x64/rdpwrap.dll dist/rdpwrap_x64.dll + mv dist/x86/rdpwrap.dll dist/rdpwrap_x86.dll + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + make_latest: false + body: | + ## RDP Wrapper DLL – ${{ github.ref_name }} + + Built from `src-x86-x64-Fusix/` with MSVC v143 (VS 2022). + + | File | Architecture | + |---|---| + | `rdpwrap_x64.dll` | x86-64 (64-bit Windows) | + | `rdpwrap_x86.dll` | x86 (32-bit Windows) | + + > Place the appropriate DLL in `C:\Program Files\RDP Wrapper\rdpwrap.dll` + > and run `RDPWInst.exe -i` to install. + files: | + dist/rdpwrap_x64.dll + dist/rdpwrap_x86.dll diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml new file mode 100644 index 0000000..7363bb2 --- /dev/null +++ b/.github/workflows/publish-ini.yml @@ -0,0 +1,137 @@ +name: Publish INI and Offset Finder Tools + +on: + push: + branches: [main, master] + paths: + - 'res/rdpwrap.ini' + - '.github/workflows/publish-ini.yml' + workflow_dispatch: + +permissions: + contents: write + +jobs: + publish: + runs-on: windows-2022 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # ── Extract the date string used for tagging and the updated field ────── + - name: Get release metadata + id: meta + shell: pwsh + run: | + $date = Get-Date -Format "yyyy.MM.dd.HHmm" + $stamp = Get-Date -Format "yyyy-MM-dd HH:mm UTC" + + # Pull the Updated= line out of the INI to surface in release notes + $iniContent = Get-Content res/rdpwrap.ini -Raw + $iniDate = if ($iniContent -match 'Updated=([^\r\n]+)') { $Matches[1] } else { 'unknown' } + + echo "date=$date" >> $env:GITHUB_OUTPUT + echo "stamp=$stamp" >> $env:GITHUB_OUTPUT + echo "inidate=$iniDate" >> $env:GITHUB_OUTPUT + + # ── Download the latest RDPWrapOffsetFinder release zip from llccd ────── + - name: Download RDPWrapOffsetFinder + id: finder + shell: pwsh + run: | + $zip = "RDPWrapOffsetFinder.zip" + + # Resolve the real latest-release download URL via the GitHub API + $apiUrl = "https://api.github.com/repos/llccd/RDPWrapOffsetFinder/releases/latest" + $release = Invoke-RestMethod -Uri $apiUrl -Headers @{ "User-Agent" = "rdpwrap-ci" } + $asset = $release.assets | Where-Object { $_.name -like "*.zip" } | Select-Object -First 1 + if (-not $asset) { throw "No zip asset found in latest RDPWrapOffsetFinder release" } + + Write-Host "Downloading $($asset.browser_download_url)" + Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $zip + + # Expand the archive + Expand-Archive -Path $zip -DestinationPath .\finder -Force + + # Diagnostic: show what we got + Write-Host "Zip contents:" + Get-ChildItem -Recurse .\finder | Select-Object FullName + + # Helper: find a file by name pattern, preferring arch-specific subdirs + function Find-Binary($pattern, $archHint) { + $hits = Get-ChildItem -Recurse -Filter $pattern .\finder + # prefer paths that contain the arch hint + $match = $hits | Where-Object { $_.FullName -match $archHint } | Select-Object -First 1 + if (-not $match) { $match = $hits | Select-Object -First 1 } + return $match + } + + $x64exe = Find-Binary "RDPWrapOffsetFinder*.exe" "x64" + $x86exe = Find-Binary "RDPWrapOffsetFinder*.exe" "x86|Win32|32" + $x64dll = Find-Binary "Zydis*.dll" "x64" + $x86dll = Find-Binary "Zydis*.dll" "x86|Win32|32" + + # If only one exe/dll variant exists, use it for both architectures + if (-not $x86exe) { $x86exe = $x64exe } + if (-not $x86dll) { $x86dll = $x64dll } + if (-not $x64exe) { throw "Could not locate RDPWrapOffsetFinder exe in zip" } + if (-not $x64dll) { throw "Could not locate Zydis dll in zip" } + + Copy-Item $x64exe.FullName .\RDPWrapOffsetFinder_x64.exe + Copy-Item $x86exe.FullName .\RDPWrapOffsetFinder_x86.exe + Copy-Item $x64dll.FullName .\Zydis_x64.dll + Copy-Item $x86dll.FullName .\Zydis_x86.dll + + Write-Host "Staged binaries:" + Get-ChildItem .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll | + Format-Table Name, Length + + echo "finder_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT + + # ── Validate the INI has required sections ─────────────────────────────── + - name: Validate INI + shell: pwsh + run: | + $ini = Get-Content res/rdpwrap.ini -Raw + foreach ($section in @('[Main]', '[SLPolicy]', '[PatchCodes]')) { + if ($ini -notmatch [regex]::Escape($section)) { + throw "INI validation failed: missing required section $section" + } + } + $sectionCount = ([regex]::Matches($ini, '^\[[\d\.]+\]', 'Multiline')).Count + Write-Host "INI is valid. Windows-version sections: $sectionCount" + + # ── Create/update a versioned GitHub Release with all assets ───────────── + - name: Publish release + uses: softprops/action-gh-release@v2 + with: + tag_name: "ini-${{ steps.meta.outputs.date }}" + name: "INI Update ${{ steps.meta.outputs.date }}" + make_latest: true + body: | + ## RDP Wrapper — Automated INI Release + + | Field | Value | + |---|---| + | INI `Updated` date | `${{ steps.meta.outputs.inidate }}` | + | Published | ${{ steps.meta.outputs.stamp }} | + | RDPWrapOffsetFinder | ${{ steps.finder.outputs.finder_ver }} | + + ### Assets + | File | Purpose | + |---|---| + | `rdpwrap.ini` | Latest offset database for all known termsrv.dll versions | + | `RDPWrapOffsetFinder_x64.exe` | Auto-generates offsets for unknown x64 Windows builds | + | `RDPWrapOffsetFinder_x86.exe` | Auto-generates offsets for unknown x86 Windows builds | + | `Zydis_x64.dll` / `Zydis_x86.dll` | Required runtime for the offset finder | + + The installer fetches `rdpwrap.ini` from this release automatically. + If your termsrv.dll version is not in the INI, the installer downloads the + offset finder tools and generates the missing section on-the-fly. + files: | + res/rdpwrap.ini + RDPWrapOffsetFinder_x64.exe + RDPWrapOffsetFinder_x86.exe + Zydis_x64.dll + Zydis_x86.dll diff --git a/README.md b/README.md index 837e679..d38bafe 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,15 @@ -# RDP Wrapper Library by Stas'M +# RDP Wrapper Library + +> **Maintained fork** by [@sjackson0109](https://github.com/sjackson0109) — based on the original work by [Stas'M / binarymaster](https://github.com/stascorp/rdpwrap). [![Telegram](https://img.shields.io/badge/chat-Telegram-blue.svg)](https://t.me/rdpwrap) -![Environment](https://img.shields.io/badge/Windows-Vista,%207,%208,%2010-brightgreen.svg) -[![Release](https://img.shields.io/github/release/stascorp/rdpwrap.svg)](https://github.com/stascorp/rdpwrap/releases) -![License](https://img.shields.io/github/license/stascorp/rdpwrap.svg) -![Downloads](https://img.shields.io/github/downloads/stascorp/rdpwrap/latest/total.svg) -![TotalDownloads](https://img.shields.io/github/downloads/stascorp/rdpwrap/total.svg) +![Environment](https://img.shields.io/badge/Windows-Vista%20through%2011-brightgreen.svg) +[![Release](https://img.shields.io/github/release/sjackson0109/rdpwrap.svg)](https://github.com/sjackson0109/rdpwrap/releases) +[![INI publish](https://github.com/sjackson0109/rdpwrap/actions/workflows/publish-ini.yml/badge.svg)](https://github.com/sjackson0109/rdpwrap/actions/workflows/publish-ini.yml) +[![Build C++ DLL](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-cpp.yml/badge.svg)](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-cpp.yml) +![License](https://img.shields.io/github/license/sjackson0109/rdpwrap.svg) +![Downloads](https://img.shields.io/github/downloads/sjackson0109/rdpwrap/latest/total.svg) +![TotalDownloads](https://img.shields.io/github/downloads/sjackson0109/rdpwrap/total.svg) The goal of this project is to enable Remote Desktop Host support and concurrent RDP sessions on reduced functionality systems for home usage. @@ -64,21 +68,30 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa - Windows 2000, XP and Server 2003 will not be supported ### Key features: -- RDP host server on any Windows edition beginning from Vista +- RDP host server on any Windows edition beginning from Vista through Windows 11 - Console and remote sessions at the same time - Using the same user simultaneously for local and remote logon (see configuration app) - Up to [15 concurrent sessions](https://github.com/stascorp/rdpwrap/issues/192) (the actual limitation depends on your hardware and OS version) - Console and RDP session shadowing (using [Task Manager in Windows 7](http://cdn.freshdesk.com/data/helpdesk/attachments/production/1009641577/original/remote_control.png?1413476051) and lower, and [Remote Desktop Connection in Windows 8](http://woshub.com/rds-shadow-how-to-connect-to-a-user-session-in-windows-server-2012-r2/) and higher) - Full [multi-monitor support](https://github.com/stascorp/rdpwrap/issues/163) for RDP host -- ...and if you find a new feature not listed here, [tell us](https://github.com/stascorp/rdpwrap/issues/new) ;) +- **Automatic INI updates** — the installer fetches the latest `rdpwrap.ini` directly from [GitHub Releases](https://github.com/sjackson0109/rdpwrap/releases/latest), published automatically by CI/CD on every change +- **Auto-generation of offsets for unknown builds** — if your `termsrv.dll` version is not yet in the INI, the installer downloads [RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) and generates the missing section on-the-fly (inspired by [sergiye/rdpWrapper](https://github.com/sergiye/rdpWrapper)) +- ...and if you find a new feature not listed here, [tell us](https://github.com/sjackson0109/rdpwrap/issues/new) ;) ### Porting to other platforms: - **ARM** for Windows RT (see links below) - **IA-64** for Itanium-based Windows Server? *Well, I have no idea* :) ### Building the binaries: -- **x86 Delphi version** can be built with *Embarcadero RAD Studio 2010* -- **x86/x64 C++ version** can be built with *Microsoft Visual Studio 2013* +- **x86 Delphi version** (installer, config tool, checker) — requires *Embarcadero RAD Studio 2010* or later; no automated CI yet +- **x86/x64 C++ version** (`rdpwrap.dll`) — can be built locally with *Visual Studio 2013+*, or automatically via the [Build C++ DLL](.github/workflows/build-cpp.yml) GitHub Actions workflow (uses MSVC v143 / VS 2022) by pushing a `v*` tag + +### CI/CD Pipelines: + +| Workflow | Trigger | Output | +|---|---|---| +| [publish-ini.yml](.github/workflows/publish-ini.yml) | Push to `main`/`master` touching `res/rdpwrap.ini`, or manual | GitHub Release with `rdpwrap.ini`, `RDPWrapOffsetFinder_x64/x86.exe`, `Zydis_x64/x86.dll` | +| [build-cpp.yml](.github/workflows/build-cpp.yml) | Version tag push (`v*`) | GitHub Release with `rdpwrap_x64.dll` and `rdpwrap_x86.dll` | [andrewblock]: http://web.archive.org/web/20150810054558/http://andrewblock.net/enable-remote-desktop-on-windows-8-core/ [mydigitallife]: http://forums.mydigitallife.info/threads/55935-RDP-Wrapper-Library-(works-with-Windows-8-1-Basic) @@ -87,8 +100,14 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa [yt-offsets]: http://www.youtube.com/watch?v=FiD86tmRBtk ### Links: -- Official GitHub repository: +- **This fork (maintained):** +
https://github.com/sjackson0109/rdpwrap/ +- Original upstream repository (archived / unmaintained):
https://github.com/stascorp/rdpwrap/ +- Inspiration for auto-offset generation: +
[sergiye/rdpWrapper](https://github.com/sergiye/rdpWrapper) +- Offset finder tool used for auto-generation: +
[llccd/RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) - Official Telegram chat:
https://t.me/rdpwrap - Active discussion in the comments here: @@ -119,7 +138,7 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa > Where can I download the installer or binaries? -In the [GitHub Releases](https://github.com/stascorp/rdpwrap/releases) section. +In the [GitHub Releases](https://github.com/sjackson0109/rdpwrap/releases) section. > Is it legal to use this application? @@ -131,7 +150,7 @@ Yes, it works in online mode by default. You may disable it by removing `-o` fla > What is online install mode? -Online install mode introduced in version 1.6.1. When you installing RDP Wrapper first time using this mode, it will download [latest INI file](https://github.com/stascorp/rdpwrap/blob/master/res/rdpwrap.ini) from GitHub. See [this discussion](https://github.com/stascorp/rdpwrap/issues/132). +Online install mode was introduced in version 1.6.1. When installing for the first time using this mode, the installer downloads the [latest `rdpwrap.ini`](https://github.com/sjackson0109/rdpwrap/releases/latest/download/rdpwrap.ini) from this repository's GitHub Releases — published automatically by CI/CD whenever `res/rdpwrap.ini` is updated. If your `termsrv.dll` version is not yet listed in the downloaded INI, the installer will additionally download [RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) and attempt to auto-generate the missing offsets on the spot. > What is INI file and why we need it? @@ -143,11 +162,11 @@ Beginning with version 1.5 the `rdpwrap.dll` is not updated anymore, since all s > Config Tool shows `[not supported]` and RDP doesn't work. What can I do? -Make sure you're connected to the Internet and run `update.bat`. +Make sure you're connected to the Internet and run `update.bat`. This will download the latest INI from GitHub Releases and, if your `termsrv.dll` version is still missing, will automatically run [RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) to generate offsets for your specific build. > Update doesn't help, it still shows `[not supported]`. -Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check whether your `termsrv.dll` build is listed here. If you can't find such issue, create a new — specify your build version for adding to support. +Check the [issues](https://github.com/sjackson0109/rdpwrap/issues) section to see if your `termsrv.dll` build is mentioned. If not, please open a new issue with your exact build version (shown by the Config Tool). You can also run `RDPWInst.exe -w` from an Administrator command prompt to see the full output of the update and auto-generation steps. > Why `RDPCheck` doesn't allow to change resolution and other settings? @@ -168,6 +187,14 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh ### Change log: +#### 2026.03.29 +- Fork maintained by [@sjackson0109](https://github.com/sjackson0109) +- INI source redirected from unmaintained stascorp upstream to this repository's GitHub Releases +- **CI/CD pipeline added** — [`publish-ini.yml`](.github/workflows/publish-ini.yml) publishes `rdpwrap.ini` and the `RDPWrapOffsetFinder` tools as release assets on every INI change +- **CI/CD pipeline added** — [`build-cpp.yml`](.github/workflows/build-cpp.yml) builds `rdpwrap_x64.dll` / `rdpwrap_x86.dll` via MSVC v143 (VS 2022) on version tag push +- **Auto-offset generation** added to `RDPWInst.dpr` — on install (`-i`) and update (`-w`), if the running `termsrv.dll` version is absent from the INI the installer downloads `RDPWrapOffsetFinder` from release assets and appends the generated `[x.x.xxxxx.xxxxx]` section automatically; inspired by [sergiye/rdpWrapper](https://github.com/sergiye/rdpWrapper) +- New installer helpers: `DownloadFileToDisk`, `INIHasSection`, `TryAutoGenerateOffsets` + #### 2017.12.27 - Version 1.6.2 - Installer updated diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 6c95f3f..f419d82 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -93,6 +93,7 @@ var TermServicePID: DWORD; ShareSvc: Array of String; sShareSvc: String; + TermSrvVerTxt: String; // e.g. '10.0.26100.7623' — set by CheckTermsrvVersion function SupportedArchitecture: Boolean; var @@ -617,7 +618,9 @@ end; function GitINIFile(var Content: String): Boolean; const - URL = 'https://raw.githubusercontent.com/stascorp/rdpwrap/master/res/rdpwrap.ini'; + // Points to the latest release artifact in the sjackson0109 fork. + // The publish-ini CI/CD workflow keeps this asset up to date automatically. + URL = 'https://github.com/sjackson0109/rdpwrap/releases/latest/download/rdpwrap.ini'; var NetHandle: HINTERNET; UrlHandle: HINTERNET; @@ -843,6 +846,138 @@ begin Result := True; end; +{ ────────────────────────────────────────────────────────────────────────────── + DownloadFileToDisk + Downloads the HTTP/HTTPS resource at URL and saves it to DestPath on disk. + Returns True only when the destination file exists and is non-empty. +────────────────────────────────────────────────────────────────────────────── } +function DownloadFileToDisk(const URL, DestPath: String): Boolean; +var + NetHandle: HINTERNET; + UrlHandle: HINTERNET; + FileHandle: THandle; + Buf: Array[0..4095] of Byte; + BytesRead, BytesWritten: DWORD; +begin + Result := False; + NetHandle := InternetOpen('RDP Wrapper', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); + if not Assigned(NetHandle) then Exit; + UrlHandle := InternetOpenUrl(NetHandle, PChar(URL), nil, 0, INTERNET_FLAG_RELOAD, 0); + if not Assigned(UrlHandle) then + begin + InternetCloseHandle(NetHandle); + Exit; + end; + FileHandle := CreateFile(PChar(DestPath), GENERIC_WRITE, 0, nil, + CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); + if FileHandle = INVALID_HANDLE_VALUE then + begin + InternetCloseHandle(UrlHandle); + InternetCloseHandle(NetHandle); + Exit; + end; + repeat + InternetReadFile(UrlHandle, @Buf[0], SizeOf(Buf), BytesRead); + if BytesRead > 0 then + WriteFile(FileHandle, Buf[0], BytesRead, BytesWritten, nil); + until BytesRead = 0; + CloseHandle(FileHandle); + InternetCloseHandle(UrlHandle); + InternetCloseHandle(NetHandle); + Result := FileExists(DestPath); +end; + +{ ────────────────────────────────────────────────────────────────────────────── + INIHasSection + Returns True when the INI file at INIPath contains [Section]. +────────────────────────────────────────────────────────────────────────────── } +function INIHasSection(const INIPath, Section: String): Boolean; +var + F: TStringList; +begin + Result := False; + if not FileExists(INIPath) then Exit; + F := TStringList.Create; + try + F.LoadFromFile(INIPath); + Result := Pos('[' + Section + ']', F.Text) > 0; + finally + F.Free; + end; +end; + +{ ────────────────────────────────────────────────────────────────────────────── + TryAutoGenerateOffsets + If the current termsrv.dll version (TermSrvVerTxt) is absent from the on-disk + rdpwrap.ini, download RDPWrapOffsetFinder + Zydis from the sjackson0109 release + assets and run the finder to append the generated section to the INI. + This mirrors the approach used by sergiye/rdpWrapper (Wrapper.cs GenerateIniFile). +────────────────────────────────────────────────────────────────────────────── } +procedure TryAutoGenerateOffsets; +const + BASE_URL = 'https://github.com/sjackson0109/rdpwrap/releases/latest/download/'; +var + TempDir, ExePath, DllPath, INIPath, ArchSuffix, SysCmd: String; +begin + if TermSrvVerTxt = '' then Exit; + + INIPath := ExtractFilePath(ExpandPath(WrapPath)) + 'rdpwrap.ini'; + + if INIHasSection(INIPath, TermSrvVerTxt) then + begin + Writeln('[+] Version ', TermSrvVerTxt, ' is covered in INI.'); + Exit; + end; + + Writeln('[!] Version ', TermSrvVerTxt, ' not found in INI.'); + Writeln('[*] Attempting automatic offset generation via RDPWrapOffsetFinder...'); + + if Arch = 64 then ArchSuffix := '_x64' else ArchSuffix := '_x86'; + + TempDir := ExpandPath('%TEMP%') + '\rdpwrapoffset'; + if not ForceDirectories(TempDir) and not DirectoryExists(TempDir) then + begin + Writeln('[-] Could not create temp directory. Skipping auto-generation.'); + Exit; + end; + + ExePath := TempDir + '\RDPWrapOffsetFinder.exe'; + DllPath := TempDir + '\Zydis.dll'; + + Writeln('[*] Downloading RDPWrapOffsetFinder', ArchSuffix, '.exe ...'); + if not DownloadFileToDisk(BASE_URL + 'RDPWrapOffsetFinder' + ArchSuffix + '.exe', ExePath) then + begin + Writeln('[-] Download failed. The release asset may not yet be published.'); + Writeln('[!] Run the publish-ini workflow on the sjackson0109/rdpwrap repository,'); + Writeln('[!] then re-run this installer to enable auto-generation.'); + Exit; + end; + + Writeln('[*] Downloading Zydis', ArchSuffix, '.dll ...'); + if not DownloadFileToDisk(BASE_URL + 'Zydis' + ArchSuffix + '.dll', DllPath) then + begin + Writeln('[-] Zydis download failed. Skipping auto-generation.'); + DeleteFile(ExePath); + Exit; + end; + + Writeln('[*] Running offset finder for termsrv.dll ', TermSrvVerTxt, ' ...'); + { Run via cmd.exe so >> redirect to the INI file works correctly. } + SysCmd := ExpandPath('%SystemRoot%') + '\System32\cmd.exe'; + ExecWait('"' + SysCmd + '" /c ""' + ExePath + '" >> "' + INIPath + '""'); + + if INIHasSection(INIPath, TermSrvVerTxt) then + Writeln('[+] Offsets generated successfully for version ', TermSrvVerTxt) + else + Writeln('[!] Offset finder ran but [', TermSrvVerTxt, '] was not added.', + ' Session may be limited or unstable for this build.'); + + { Clean up temporary tool files } + DeleteFile(ExePath); + DeleteFile(DllPath); + RemoveDirectory(PChar(TempDir)); +end; + procedure CheckTermsrvVersion; var SuppLvl: Byte; @@ -857,6 +992,7 @@ begin GetFileVersion(ExpandPath(TermServicePath), FV); VerTxt := Format('%d.%d.%d.%d', [FV.Version.w.Major, FV.Version.w.Minor, FV.Release, FV.Build]); + TermSrvVerTxt := VerTxt; // expose globally for TryAutoGenerateOffsets Writeln('[*] Terminal Services version: ', VerTxt); if (FV.Version.w.Major = 5) and (FV.Version.w.Minor = 1) then @@ -1119,6 +1255,15 @@ begin end; Str.Free; + { After writing updated INI, fill any missing section for the running + termsrv.dll. FV/TermSrvVerTxt may not be set in the -w path, so + compute the version here before calling TryAutoGenerateOffsets. } + GetFileVersion(ExpandPath(TermServicePath), FV); + TermSrvVerTxt := Format('%d.%d.%d.%d', + [FV.Version.w.Major, FV.Version.w.Minor, FV.Release, FV.Build]); + Writeln('[*] Checking INI coverage for installed termsrv.dll version...'); + TryAutoGenerateOffsets; + SvcStart(TermService); Writeln('[+] Update completed.'); @@ -1208,6 +1353,9 @@ begin Online := (ParamStr(2) = '-o') or (ParamStr(3) = '-o'); ExtractFiles; + Writeln('[*] Checking INI coverage for installed termsrv.dll version...'); + TryAutoGenerateOffsets; + Writeln('[*] Configuring service library...'); SetWrapperDll; From 0463cd322de1849e1469c184dee2086dcb8cf2c1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 29 Mar 2026 13:35:01 +0000 Subject: [PATCH 06/38] Update GitHub Actions to fix Node.js 20 deprecation warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - actions/checkout@v4 → @v6 (Node.js 24 support) - microsoft/setup-msbuild@v2 → @v3 (Node.js 24 support) - Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true env for softprops/action-gh-release@v2, actions/upload-artifact@v4, and actions/download-artifact@v4 Agent-Logs-Url: https://github.com/sjackson0109/rdpwrap/sessions/6bd972e4-d369-4b43-bbe0-ea754bc00662 Co-authored-by: sjackson0109 <38080190+sjackson0109@users.noreply.github.com> --- .github/workflows/build-cpp.yml | 7 +++++-- .github/workflows/publish-ini.yml | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-cpp.yml b/.github/workflows/build-cpp.yml index a0ec763..398af10 100644 --- a/.github/workflows/build-cpp.yml +++ b/.github/workflows/build-cpp.yml @@ -7,6 +7,9 @@ on: - 'v*' workflow_dispatch: +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + permissions: contents: write @@ -20,10 +23,10 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup MSBuild - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 # Override the v120 platform toolset with the VS 2022 toolset (v143). # The rdpwrap C++ source is standard Win32 API code and compiles cleanly diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml index 7363bb2..b304abe 100644 --- a/.github/workflows/publish-ini.yml +++ b/.github/workflows/publish-ini.yml @@ -8,6 +8,9 @@ on: - '.github/workflows/publish-ini.yml' workflow_dispatch: +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + permissions: contents: write @@ -17,7 +20,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 # ── Extract the date string used for tagging and the updated field ────── - name: Get release metadata From 8edaac2f7d00c036c1b3cd8d4a733239c846686d Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 14:46:43 +0100 Subject: [PATCH 07/38] fix: bundle RDPWrapOffsetFinder exe+dll into per-arch zips for manual use --- .github/workflows/publish-ini.yml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml index b304abe..d11dfd5 100644 --- a/.github/workflows/publish-ini.yml +++ b/.github/workflows/publish-ini.yml @@ -86,8 +86,19 @@ jobs: Copy-Item $x64dll.FullName .\Zydis_x64.dll Copy-Item $x86dll.FullName .\Zydis_x86.dll + # Build self-contained zip bundles so manual users can extract-and-run + # without needing to rename the DLL or download a second file. + foreach ($arch in @('x64', 'x86')) { + $bundle = ".\bundle_$arch" + New-Item -ItemType Directory -Path $bundle -Force | Out-Null + Copy-Item ".\RDPWrapOffsetFinder_$arch.exe" "$bundle\RDPWrapOffsetFinder.exe" + Copy-Item ".\Zydis_$arch.dll" "$bundle\Zydis.dll" + Compress-Archive -Path "$bundle\*" -DestinationPath ".\RDPWrapOffsetFinder_$arch.zip" -Force + Remove-Item $bundle -Recurse -Force + } + Write-Host "Staged binaries:" - Get-ChildItem .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll | + Get-ChildItem .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll, .\RDPWrapOffsetFinder_*.zip | Format-Table Name, Length echo "finder_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT @@ -125,15 +136,18 @@ jobs: | File | Purpose | |---|---| | `rdpwrap.ini` | Latest offset database for all known termsrv.dll versions | - | `RDPWrapOffsetFinder_x64.exe` | Auto-generates offsets for unknown x64 Windows builds | - | `RDPWrapOffsetFinder_x86.exe` | Auto-generates offsets for unknown x86 Windows builds | - | `Zydis_x64.dll` / `Zydis_x86.dll` | Required runtime for the offset finder | + | `RDPWrapOffsetFinder_x64.zip` | x64 finder bundle — extract and run `RDPWrapOffsetFinder.exe` directly | + | `RDPWrapOffsetFinder_x86.zip` | x86 finder bundle — extract and run `RDPWrapOffsetFinder.exe` directly | + | `RDPWrapOffsetFinder_x64.exe` / `Zydis_x64.dll` | Loose x64 binaries (used by the installer) | + | `RDPWrapOffsetFinder_x86.exe` / `Zydis_x86.dll` | Loose x86 binaries (used by the installer) | The installer fetches `rdpwrap.ini` from this release automatically. If your termsrv.dll version is not in the INI, the installer downloads the offset finder tools and generates the missing section on-the-fly. files: | res/rdpwrap.ini + RDPWrapOffsetFinder_x64.zip + RDPWrapOffsetFinder_x86.zip RDPWrapOffsetFinder_x64.exe RDPWrapOffsetFinder_x86.exe Zydis_x64.dll From 9823b14b316865788b93508784e9f9247e7659ef Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 14:46:43 +0100 Subject: [PATCH 08/38] fix: bundle RDPWrapOffsetFinder exe+dll into per-arch zips for manual use --- .github/workflows/publish-ini.yml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml index b304abe..d11dfd5 100644 --- a/.github/workflows/publish-ini.yml +++ b/.github/workflows/publish-ini.yml @@ -86,8 +86,19 @@ jobs: Copy-Item $x64dll.FullName .\Zydis_x64.dll Copy-Item $x86dll.FullName .\Zydis_x86.dll + # Build self-contained zip bundles so manual users can extract-and-run + # without needing to rename the DLL or download a second file. + foreach ($arch in @('x64', 'x86')) { + $bundle = ".\bundle_$arch" + New-Item -ItemType Directory -Path $bundle -Force | Out-Null + Copy-Item ".\RDPWrapOffsetFinder_$arch.exe" "$bundle\RDPWrapOffsetFinder.exe" + Copy-Item ".\Zydis_$arch.dll" "$bundle\Zydis.dll" + Compress-Archive -Path "$bundle\*" -DestinationPath ".\RDPWrapOffsetFinder_$arch.zip" -Force + Remove-Item $bundle -Recurse -Force + } + Write-Host "Staged binaries:" - Get-ChildItem .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll | + Get-ChildItem .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll, .\RDPWrapOffsetFinder_*.zip | Format-Table Name, Length echo "finder_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT @@ -125,15 +136,18 @@ jobs: | File | Purpose | |---|---| | `rdpwrap.ini` | Latest offset database for all known termsrv.dll versions | - | `RDPWrapOffsetFinder_x64.exe` | Auto-generates offsets for unknown x64 Windows builds | - | `RDPWrapOffsetFinder_x86.exe` | Auto-generates offsets for unknown x86 Windows builds | - | `Zydis_x64.dll` / `Zydis_x86.dll` | Required runtime for the offset finder | + | `RDPWrapOffsetFinder_x64.zip` | x64 finder bundle — extract and run `RDPWrapOffsetFinder.exe` directly | + | `RDPWrapOffsetFinder_x86.zip` | x86 finder bundle — extract and run `RDPWrapOffsetFinder.exe` directly | + | `RDPWrapOffsetFinder_x64.exe` / `Zydis_x64.dll` | Loose x64 binaries (used by the installer) | + | `RDPWrapOffsetFinder_x86.exe` / `Zydis_x86.dll` | Loose x86 binaries (used by the installer) | The installer fetches `rdpwrap.ini` from this release automatically. If your termsrv.dll version is not in the INI, the installer downloads the offset finder tools and generates the missing section on-the-fly. files: | res/rdpwrap.ini + RDPWrapOffsetFinder_x64.zip + RDPWrapOffsetFinder_x86.zip RDPWrapOffsetFinder_x64.exe RDPWrapOffsetFinder_x86.exe Zydis_x64.dll From c6ed12c15b251ecb3dd0a3fd7285f0f2bc07fed2 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 14:56:57 +0100 Subject: [PATCH 09/38] fix: mark releases as prerelease=false so /releases/latest resolves correctly --- .github/workflows/build-cpp.yml | 1 + .github/workflows/publish-ini.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/build-cpp.yml b/.github/workflows/build-cpp.yml index 398af10..a9bf0b6 100644 --- a/.github/workflows/build-cpp.yml +++ b/.github/workflows/build-cpp.yml @@ -74,6 +74,7 @@ jobs: - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: + prerelease: false make_latest: false body: | ## RDP Wrapper DLL – ${{ github.ref_name }} diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml index d11dfd5..5fb6876 100644 --- a/.github/workflows/publish-ini.yml +++ b/.github/workflows/publish-ini.yml @@ -122,6 +122,7 @@ jobs: with: tag_name: "ini-${{ steps.meta.outputs.date }}" name: "INI Update ${{ steps.meta.outputs.date }}" + prerelease: false make_latest: true body: | ## RDP Wrapper — Automated INI Release From 8b22885df1571a96b0c4295de762f4536c563535 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 15:23:20 +0100 Subject: [PATCH 10/38] feat: build rdpwrap.dll and bundle full RDPWrapper.zip and RDPWrapOffsetFinder.zip on every INI release --- .github/workflows/publish-ini.yml | 121 +++++++++++++++++++++++------- 1 file changed, 94 insertions(+), 27 deletions(-) diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml index 5fb6876..ac0a2a7 100644 --- a/.github/workflows/publish-ini.yml +++ b/.github/workflows/publish-ini.yml @@ -22,6 +22,26 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 + # ── Build rdpwrap.dll for both x64 and Win32 ──────────────────────────── + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v3 + + - name: Build rdpwrap.dll (x64 and Win32) + shell: pwsh + run: | + foreach ($platform in @('x64', 'Win32')) { + msbuild src-x86-x64-Fusix/RDPWrap.vcxproj ` + /p:Configuration=Release ` + /p:Platform="$platform" ` + /p:PlatformToolset=v143 ` + /p:WindowsTargetPlatformVersion=10.0 ` + /v:minimal + } + Copy-Item src-x86-x64-Fusix/x64/Release/rdpwrap.dll .\rdpwrap_x64.dll + Copy-Item src-x86-x64-Fusix/Win32/Release/rdpwrap.dll .\rdpwrap_x86.dll + Write-Host "Built DLLs:" + Get-Item .\rdpwrap_x64.dll, .\rdpwrap_x86.dll | Format-Table Name, Length + # ── Extract the date string used for tagging and the updated field ────── - name: Get release metadata id: meta @@ -86,22 +106,30 @@ jobs: Copy-Item $x64dll.FullName .\Zydis_x64.dll Copy-Item $x86dll.FullName .\Zydis_x86.dll - # Build self-contained zip bundles so manual users can extract-and-run - # without needing to rename the DLL or download a second file. + echo "finder_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT + + # ── Download the latest rdpWrapper GUI app from sergiye ───────────────── + - name: Download rdpWrapper (sergiye) + id: wrapper + shell: pwsh + run: | + $apiUrl = "https://api.github.com/repos/sergiye/rdpWrapper/releases/latest" + $release = Invoke-RestMethod -Uri $apiUrl -Headers @{ "User-Agent" = "rdpwrap-ci" } + foreach ($arch in @('x64', 'x86')) { - $bundle = ".\bundle_$arch" - New-Item -ItemType Directory -Path $bundle -Force | Out-Null - Copy-Item ".\RDPWrapOffsetFinder_$arch.exe" "$bundle\RDPWrapOffsetFinder.exe" - Copy-Item ".\Zydis_$arch.dll" "$bundle\Zydis.dll" - Compress-Archive -Path "$bundle\*" -DestinationPath ".\RDPWrapOffsetFinder_$arch.zip" -Force - Remove-Item $bundle -Recurse -Force + $asset = $release.assets | + Where-Object { $_.name -eq "rdpWrapper_$arch.exe" } | + Select-Object -First 1 + if (-not $asset) { + throw "Could not find rdpWrapper_$arch.exe in sergiye release $($release.tag_name)" + } + Write-Host "Downloading $($asset.browser_download_url)" + Invoke-WebRequest -Uri $asset.browser_download_url -OutFile ".\rdpWrapper_$arch.exe" } - Write-Host "Staged binaries:" - Get-ChildItem .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll, .\RDPWrapOffsetFinder_*.zip | - Format-Table Name, Length - - echo "finder_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT + Write-Host "Wrapper exes:" + Get-Item .\rdpWrapper_x64.exe, .\rdpWrapper_x86.exe | Format-Table Name, Length + echo "wrapper_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT # ── Validate the INI has required sections ─────────────────────────────── - name: Validate INI @@ -116,6 +144,40 @@ jobs: $sectionCount = ([regex]::Matches($ini, '^\[[\d\.]+\]', 'Multiline')).Count Write-Host "INI is valid. Windows-version sections: $sectionCount" + # ── Assemble the two user-facing distribution bundles ──────────────────── + - name: Create distribution bundles + shell: pwsh + run: | + # RDPWrapper.zip - complete install package. + # Contains both arch DLLs, both arch wrapper exes, latest INI, and scripts. + $d = ".\bundle_wrapper" + New-Item -ItemType Directory -Path $d -Force | Out-Null + Copy-Item .\rdpwrap_x64.dll "$d\rdpwrap_x64.dll" + Copy-Item .\rdpwrap_x86.dll "$d\rdpwrap_x86.dll" + Copy-Item .\rdpWrapper_x64.exe "$d\rdpWrapper_x64.exe" + Copy-Item .\rdpWrapper_x86.exe "$d\rdpWrapper_x86.exe" + Copy-Item res\rdpwrap.ini "$d\rdpwrap.ini" + Copy-Item bin\install.bat "$d\install.bat" + Copy-Item bin\uninstall.bat "$d\uninstall.bat" + Copy-Item bin\update.bat "$d\update.bat" + Compress-Archive -Path "$d\*" -DestinationPath ".\RDPWrapper.zip" -Force + Remove-Item $d -Recurse -Force + + # RDPWrapOffsetFinder.zip - offset finder with per-arch subfolders. + # Extract x64\ or x86\ folder and run RDPWrapOffsetFinder.exe directly. + $f = ".\bundle_finder" + foreach ($arch in @('x64', 'x86')) { + $dir = "$f\$arch" + New-Item -ItemType Directory -Path $dir -Force | Out-Null + Copy-Item ".\RDPWrapOffsetFinder_$arch.exe" "$dir\RDPWrapOffsetFinder.exe" + Copy-Item ".\Zydis_$arch.dll" "$dir\Zydis.dll" + } + Compress-Archive -Path "$f\*" -DestinationPath ".\RDPWrapOffsetFinder.zip" -Force + Remove-Item $f -Recurse -Force + + Write-Host "Distribution bundles:" + Get-Item .\RDPWrapper.zip, .\RDPWrapOffsetFinder.zip | Format-Table Name, Length + # ── Create/update a versioned GitHub Release with all assets ───────────── - name: Publish release uses: softprops/action-gh-release@v2 @@ -125,30 +187,35 @@ jobs: prerelease: false make_latest: true body: | - ## RDP Wrapper — Automated INI Release + ## RDP Wrapper - Automated Release | Field | Value | |---|---| | INI `Updated` date | `${{ steps.meta.outputs.inidate }}` | | Published | ${{ steps.meta.outputs.stamp }} | - | RDPWrapOffsetFinder | ${{ steps.finder.outputs.finder_ver }} | + | rdpWrapper (sergiye) | ${{ steps.wrapper.outputs.wrapper_ver }} | + | RDPWrapOffsetFinder (llccd) | ${{ steps.finder.outputs.finder_ver }} | + + ### Downloads + + | File | Contents | Use | + |---|---|---| + | `RDPWrapper.zip` | rdpwrap_x64.dll, rdpwrap_x86.dll, rdpWrapper_x64.exe, rdpWrapper_x86.exe, rdpwrap.ini, install/uninstall/update.bat | Main install package - extract and run `rdpWrapper_x64.exe` | + | `RDPWrapOffsetFinder.zip` | x64\RDPWrapOffsetFinder.exe + Zydis.dll, x86\RDPWrapOffsetFinder.exe + Zydis.dll | Generate offsets for an unknown termsrv.dll version manually | + + ### Individual files (used by the automated installer) - ### Assets | File | Purpose | |---|---| - | `rdpwrap.ini` | Latest offset database for all known termsrv.dll versions | - | `RDPWrapOffsetFinder_x64.zip` | x64 finder bundle — extract and run `RDPWrapOffsetFinder.exe` directly | - | `RDPWrapOffsetFinder_x86.zip` | x86 finder bundle — extract and run `RDPWrapOffsetFinder.exe` directly | - | `RDPWrapOffsetFinder_x64.exe` / `Zydis_x64.dll` | Loose x64 binaries (used by the installer) | - | `RDPWrapOffsetFinder_x86.exe` / `Zydis_x86.dll` | Loose x86 binaries (used by the installer) | - - The installer fetches `rdpwrap.ini` from this release automatically. - If your termsrv.dll version is not in the INI, the installer downloads the - offset finder tools and generates the missing section on-the-fly. + | `rdpwrap.ini` | Offset database fetched automatically by the installer | + | `RDPWrapOffsetFinder_x64.exe` / `Zydis_x64.dll` | Loose x64 binaries downloaded by `TryAutoGenerateOffsets` | + | `RDPWrapOffsetFinder_x86.exe` / `Zydis_x86.dll` | Loose x86 binaries downloaded by `TryAutoGenerateOffsets` | files: | + RDPWrapper.zip + RDPWrapOffsetFinder.zip res/rdpwrap.ini - RDPWrapOffsetFinder_x64.zip - RDPWrapOffsetFinder_x86.zip + rdpwrap_x64.dll + rdpwrap_x86.dll RDPWrapOffsetFinder_x64.exe RDPWrapOffsetFinder_x86.exe Zydis_x64.dll From d1c5cd8286ba324c2499544c1538e8f784c35f75 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 15:27:40 +0100 Subject: [PATCH 11/38] feat: add GitHub issue form templates (bug, INI request, feature request) --- .github/ISSUE_TEMPLATE/bug_report.yml | 88 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 +++ .github/ISSUE_TEMPLATE/feature_request.yml | 41 ++++++++++ .github/ISSUE_TEMPLATE/ini_request.yml | 71 +++++++++++++++++ 4 files changed, 211 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/ISSUE_TEMPLATE/ini_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..36bdd9e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,88 @@ +name: Bug Report +description: RDP Wrapper is not working correctly on your machine. +labels: [bug] +body: + - type: markdown + attributes: + value: | + Before submitting, please confirm: + - You are running the latest release from https://github.com/sjackson0109/rdpwrap/releases/latest + - Your termsrv.dll version is listed in `rdpwrap.ini` (check RDPConf for the status colour) + - You have excluded `C:\Program Files\RDP Wrapper\` from your antivirus + + - type: dropdown + id: status + attributes: + label: RDPConf status + description: What colour/status does RDPConf show? + options: + - Fully supported (green) — but RDP still fails + - Partially supported (yellow) + - Not supported (red) + - Not installed + - Wrapper DLL not found + validations: + required: true + + - type: input + id: windows_version + attributes: + label: Windows version + description: "Run: winver — paste the full string e.g. Windows 11 Version 24H2 (OS Build 26100.xxxx)" + placeholder: "Windows 11 Version 24H2 (OS Build 26100.3915)" + validations: + required: true + + - type: input + id: termsrv_version + attributes: + label: termsrv.dll version + description: "Run: (Get-Item C:\\Windows\\System32\\termsrv.dll).VersionInfo.FileVersion" + placeholder: "10.0.26100.3915" + validations: + required: true + + - type: input + id: rdpwrap_version + attributes: + label: RDP Wrapper version + description: Version shown in RDPConf or the release tag you downloaded. + placeholder: "ini-2026.03.29.1400" + validations: + required: true + + - type: dropdown + id: architecture + attributes: + label: System architecture + options: + - x64 (64-bit) + - x86 (32-bit) + validations: + required: true + + - type: textarea + id: description + attributes: + label: Describe the problem + description: What happens? What did you expect to happen? + validations: + required: true + + - type: textarea + id: steps + attributes: + label: Steps to reproduce + placeholder: | + 1. Run install.bat as administrator + 2. Open RDPConf + 3. Status shows ... + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Relevant log output + description: Paste any output from the install/update bat scripts or Event Viewer (optional). + render: text diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..5a0fd4b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Existing INI offset database + url: https://github.com/sjackson0109/rdpwrap/releases/latest + about: Check whether your Windows build is already covered before opening an INI request. + - name: Original project (stascorp, archived) + url: https://github.com/stascorp/rdpwrap + about: Historical reference only — no longer maintained. + - name: sergiye/rdpWrapper (C# rewrite) + url: https://github.com/sergiye/rdpWrapper + about: Alternative C# implementation with auto-offset generation. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..4db544a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,41 @@ +name: Feature Request +description: Suggest an improvement or new capability. +labels: [enhancement] +body: + - type: textarea + id: problem + attributes: + label: Problem or motivation + description: What problem does this feature solve? Who is affected? + placeholder: "At the moment there is no way to ..." + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed solution + description: Describe the behaviour or change you would like to see. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Any other approaches you have thought about (optional). + + - type: dropdown + id: component + attributes: + label: Component this relates to + options: + - rdpwrap.dll (C++ wrapper library) + - RDPWInst / installer (Delphi) + - rdpWrapper GUI (sergiye C# app) + - rdpwrap.ini (offset database) + - CI/CD pipelines + - Documentation + - Other + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/ini_request.yml b/.github/ISSUE_TEMPLATE/ini_request.yml new file mode 100644 index 0000000..6cf1d70 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/ini_request.yml @@ -0,0 +1,71 @@ +name: INI Update Request — New Windows Build +description: Your termsrv.dll version is not in the INI database and auto-generation failed. +labels: [ini-update] +body: + - type: markdown + attributes: + value: | + Use this template when RDPConf shows **Not supported (red)** and the automatic + offset-generation step in the installer could not resolve your build. + + If you have the technical skills, please consider following + [HOW-TO-ADD-NEW-WINDOWS-BUILDS.md](../docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md) + and submitting a pull request instead. + + - type: input + id: termsrv_version + attributes: + label: termsrv.dll version + description: "Run: (Get-Item C:\\Windows\\System32\\termsrv.dll).VersionInfo.FileVersion" + placeholder: "10.0.26100.3915" + validations: + required: true + + - type: input + id: windows_version + attributes: + label: Windows version string + description: "Run: winver — paste the full string" + placeholder: "Windows 11 Version 24H2 (OS Build 26100.3915)" + validations: + required: true + + - type: dropdown + id: architecture + attributes: + label: System architecture + options: + - x64 (64-bit) + - x86 (32-bit) + - ARM64 + validations: + required: true + + - type: dropdown + id: auto_gen + attributes: + label: Did the auto-generation step run? + description: The installer prints a message about TryAutoGenerateOffsets during install or update. + options: + - "Yes — it ran but failed with an error" + - "Yes — it ran and reported success, but wrapper still shows Not supported" + - "No — it was skipped or I installed offline" + - Not sure + validations: + required: true + + - type: textarea + id: auto_gen_output + attributes: + label: Auto-generation output (if any) + description: Paste the console output from the installer relating to offset generation. + render: text + + - type: textarea + id: ini_section + attributes: + label: Generated INI section (if available) + description: | + If you ran RDPWrapOffsetFinder manually, paste the output here. + Run: .\RDPWrapOffsetFinder.exe C:\Windows\System32\termsrv.dll + render: ini From aac2235391ea51a3751ba3fb5bd2077085039f58 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Sun, 29 Mar 2026 15:28:33 +0100 Subject: [PATCH 12/38] feat: add GitHub Discussions templates and redirect config links --- .github/DISCUSSION_TEMPLATE/announcements.md | 12 +++++++++ .github/DISCUSSION_TEMPLATE/general.md | 6 +++++ .github/DISCUSSION_TEMPLATE/ideas.md | 26 ++++++++++++++++++++ .github/DISCUSSION_TEMPLATE/q-a.md | 25 +++++++++++++++++++ .github/DISCUSSION_TEMPLATE/show-and-tell.md | 16 ++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 9 +++++++ 6 files changed, 94 insertions(+) create mode 100644 .github/DISCUSSION_TEMPLATE/announcements.md create mode 100644 .github/DISCUSSION_TEMPLATE/general.md create mode 100644 .github/DISCUSSION_TEMPLATE/ideas.md create mode 100644 .github/DISCUSSION_TEMPLATE/q-a.md create mode 100644 .github/DISCUSSION_TEMPLATE/show-and-tell.md diff --git a/.github/DISCUSSION_TEMPLATE/announcements.md b/.github/DISCUSSION_TEMPLATE/announcements.md new file mode 100644 index 0000000..f074719 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/announcements.md @@ -0,0 +1,12 @@ +--- +title: "[Announcement] " +--- + + + +## Summary + +## Details + +## Action required (if any) diff --git a/.github/DISCUSSION_TEMPLATE/general.md b/.github/DISCUSSION_TEMPLATE/general.md new file mode 100644 index 0000000..cd3ea70 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/general.md @@ -0,0 +1,6 @@ +--- +title: "" +--- + + diff --git a/.github/DISCUSSION_TEMPLATE/ideas.md b/.github/DISCUSSION_TEMPLATE/ideas.md new file mode 100644 index 0000000..fef29df --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/ideas.md @@ -0,0 +1,26 @@ +--- +title: "[Idea] " +--- + +## Problem or motivation + + + +## Proposed solution + + + +## Alternatives considered + + + +## Component this relates to + + diff --git a/.github/DISCUSSION_TEMPLATE/q-a.md b/.github/DISCUSSION_TEMPLATE/q-a.md new file mode 100644 index 0000000..9675f6f --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/q-a.md @@ -0,0 +1,25 @@ +--- +title: "[Q&A] " +--- + +## What are you trying to do? + + + +## What have you already tried? + + + +## System information + +| Field | Value | +|---|---| +| Windows version (winver) | | +| termsrv.dll version | | +| Architecture | | +| RDPConf status | | +| RDP Wrapper release | | + +## Error or unexpected behaviour + + diff --git a/.github/DISCUSSION_TEMPLATE/show-and-tell.md b/.github/DISCUSSION_TEMPLATE/show-and-tell.md new file mode 100644 index 0000000..eed8346 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/show-and-tell.md @@ -0,0 +1,16 @@ +--- +title: "[Show] " +--- + +## What are you sharing? + + + +## Details + + + +## System or environment + + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 5a0fd4b..879ea22 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,14 @@ blank_issues_enabled: false contact_links: + - name: Q&A — ask a setup or usage question + url: https://github.com/sjackson0109/rdpwrap/discussions/new?category=q-a + about: Not sure why it is not working? Ask in Discussions rather than opening an issue. + - name: Ideas — suggest an improvement + url: https://github.com/sjackson0109/rdpwrap/discussions/new?category=ideas + about: Have an idea that is not ready to be a formal feature request? Start a discussion. + - name: General discussion + url: https://github.com/sjackson0109/rdpwrap/discussions/new?category=general + about: Anything that does not fit the other categories. - name: Existing INI offset database url: https://github.com/sjackson0109/rdpwrap/releases/latest about: Check whether your Windows build is already covered before opening an INI request. From b9ed7a7b051513f64bfa7bf29ffaaaeaf6eea7ad Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Mar 2026 00:55:39 +0100 Subject: [PATCH 13/38] feat: commit RDPWrapOffsetFinder binaries to tools/ and use them in CI instead of downloading at build time --- .github/workflows/publish-ini.yml | 60 +++--------- .github/workflows/update-finder-tools.yml | 111 ++++++++++++++++++++++ tools/RDPWrapOffsetFinder/README.md | 35 +++++++ 3 files changed, 159 insertions(+), 47 deletions(-) create mode 100644 .github/workflows/update-finder-tools.yml create mode 100644 tools/RDPWrapOffsetFinder/README.md diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml index ac0a2a7..2824531 100644 --- a/.github/workflows/publish-ini.yml +++ b/.github/workflows/publish-ini.yml @@ -5,6 +5,7 @@ on: branches: [main, master] paths: - 'res/rdpwrap.ini' + - 'tools/RDPWrapOffsetFinder/**' - '.github/workflows/publish-ini.yml' workflow_dispatch: @@ -58,55 +59,22 @@ jobs: echo "stamp=$stamp" >> $env:GITHUB_OUTPUT echo "inidate=$iniDate" >> $env:GITHUB_OUTPUT - # ── Download the latest RDPWrapOffsetFinder release zip from llccd ────── - - name: Download RDPWrapOffsetFinder + # ── Stage RDPWrapOffsetFinder from committed tools/ ────────────────────── + - name: Stage RDPWrapOffsetFinder from tools/ id: finder shell: pwsh run: | - $zip = "RDPWrapOffsetFinder.zip" + $version = (Get-Content tools/RDPWrapOffsetFinder/VERSION -Raw).Trim() - # Resolve the real latest-release download URL via the GitHub API - $apiUrl = "https://api.github.com/repos/llccd/RDPWrapOffsetFinder/releases/latest" - $release = Invoke-RestMethod -Uri $apiUrl -Headers @{ "User-Agent" = "rdpwrap-ci" } - $asset = $release.assets | Where-Object { $_.name -like "*.zip" } | Select-Object -First 1 - if (-not $asset) { throw "No zip asset found in latest RDPWrapOffsetFinder release" } - - Write-Host "Downloading $($asset.browser_download_url)" - Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $zip - - # Expand the archive - Expand-Archive -Path $zip -DestinationPath .\finder -Force - - # Diagnostic: show what we got - Write-Host "Zip contents:" - Get-ChildItem -Recurse .\finder | Select-Object FullName - - # Helper: find a file by name pattern, preferring arch-specific subdirs - function Find-Binary($pattern, $archHint) { - $hits = Get-ChildItem -Recurse -Filter $pattern .\finder - # prefer paths that contain the arch hint - $match = $hits | Where-Object { $_.FullName -match $archHint } | Select-Object -First 1 - if (-not $match) { $match = $hits | Select-Object -First 1 } - return $match - } - - $x64exe = Find-Binary "RDPWrapOffsetFinder*.exe" "x64" - $x86exe = Find-Binary "RDPWrapOffsetFinder*.exe" "x86|Win32|32" - $x64dll = Find-Binary "Zydis*.dll" "x64" - $x86dll = Find-Binary "Zydis*.dll" "x86|Win32|32" - - # If only one exe/dll variant exists, use it for both architectures - if (-not $x86exe) { $x86exe = $x64exe } - if (-not $x86dll) { $x86dll = $x64dll } - if (-not $x64exe) { throw "Could not locate RDPWrapOffsetFinder exe in zip" } - if (-not $x64dll) { throw "Could not locate Zydis dll in zip" } + Copy-Item tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe .\RDPWrapOffsetFinder_x64.exe + Copy-Item tools/RDPWrapOffsetFinder/x64/Zydis.dll .\Zydis_x64.dll + Copy-Item tools/RDPWrapOffsetFinder/x86/RDPWrapOffsetFinder.exe .\RDPWrapOffsetFinder_x86.exe + Copy-Item tools/RDPWrapOffsetFinder/x86/Zydis.dll .\Zydis_x86.dll - Copy-Item $x64exe.FullName .\RDPWrapOffsetFinder_x64.exe - Copy-Item $x86exe.FullName .\RDPWrapOffsetFinder_x86.exe - Copy-Item $x64dll.FullName .\Zydis_x64.dll - Copy-Item $x86dll.FullName .\Zydis_x86.dll + Write-Host "Staged finder tools (version $version):" + Get-Item .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll | Format-Table Name, Length - echo "finder_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT + echo "finder_ver=$version" >> $env:GITHUB_OUTPUT # ── Download the latest rdpWrapper GUI app from sergiye ───────────────── - name: Download rdpWrapper (sergiye) @@ -148,8 +116,7 @@ jobs: - name: Create distribution bundles shell: pwsh run: | - # RDPWrapper.zip - complete install package. - # Contains both arch DLLs, both arch wrapper exes, latest INI, and scripts. + # RDPWrapper.zip - complete install package $d = ".\bundle_wrapper" New-Item -ItemType Directory -Path $d -Force | Out-Null Copy-Item .\rdpwrap_x64.dll "$d\rdpwrap_x64.dll" @@ -163,8 +130,7 @@ jobs: Compress-Archive -Path "$d\*" -DestinationPath ".\RDPWrapper.zip" -Force Remove-Item $d -Recurse -Force - # RDPWrapOffsetFinder.zip - offset finder with per-arch subfolders. - # Extract x64\ or x86\ folder and run RDPWrapOffsetFinder.exe directly. + # RDPWrapOffsetFinder.zip - offset finder with per-arch subfolders $f = ".\bundle_finder" foreach ($arch in @('x64', 'x86')) { $dir = "$f\$arch" diff --git a/.github/workflows/update-finder-tools.yml b/.github/workflows/update-finder-tools.yml new file mode 100644 index 0000000..ed0a6f0 --- /dev/null +++ b/.github/workflows/update-finder-tools.yml @@ -0,0 +1,111 @@ +name: Update RDPWrapOffsetFinder tools + +# Run manually to pull a new version of llccd/RDPWrapOffsetFinder into tools/. +# The workflow commits the updated binaries and opens a pull request. +on: + workflow_dispatch: + inputs: + tag: + description: "llccd release tag to fetch (leave blank for latest)" + required: false + default: "" + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + +permissions: + contents: write + pull-requests: write + +jobs: + update: + runs-on: windows-2022 + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Download and extract RDPWrapOffsetFinder + id: fetch + shell: pwsh + run: | + $tag = "${{ github.event.inputs.tag }}" + if ($tag -eq "") { + $apiUrl = "https://api.github.com/repos/llccd/RDPWrapOffsetFinder/releases/latest" + } else { + $apiUrl = "https://api.github.com/repos/llccd/RDPWrapOffsetFinder/releases/tags/$tag" + } + + $release = Invoke-RestMethod -Uri $apiUrl -Headers @{ "User-Agent" = "rdpwrap-ci" } + $version = $release.tag_name + Write-Host "Fetching version $version" + + $asset = $release.assets | Where-Object { $_.name -like "*.zip" } | Select-Object -First 1 + if (-not $asset) { throw "No zip asset found in release $version" } + + Invoke-WebRequest -Uri $asset.browser_download_url -OutFile finder.zip + Expand-Archive -Path finder.zip -DestinationPath .\finder -Force + + Write-Host "Zip contents:" + Get-ChildItem -Recurse .\finder | Select-Object FullName + + function Get-Bin($pattern, $hint) { + $hits = Get-ChildItem -Recurse -Filter $pattern .\finder + $m = $hits | Where-Object { $_.FullName -match $hint } | Select-Object -First 1 + if (-not $m) { $m = $hits | Select-Object -First 1 } + return $m + } + + $x64exe = Get-Bin "RDPWrapOffsetFinder*.exe" "x64" + $x86exe = Get-Bin "RDPWrapOffsetFinder*.exe" "x86|Win32|32" + $x64dll = Get-Bin "Zydis*.dll" "x64" + $x86dll = Get-Bin "Zydis*.dll" "x86|Win32|32" + + if (-not $x86exe) { $x86exe = $x64exe } + if (-not $x86dll) { $x86dll = $x64dll } + if (-not $x64exe) { throw "Could not locate exe" } + if (-not $x64dll) { throw "Could not locate dll" } + + New-Item -ItemType Directory -Path tools\RDPWrapOffsetFinder\x64 -Force | Out-Null + New-Item -ItemType Directory -Path tools\RDPWrapOffsetFinder\x86 -Force | Out-Null + + Copy-Item $x64exe.FullName tools\RDPWrapOffsetFinder\x64\RDPWrapOffsetFinder.exe -Force + Copy-Item $x64dll.FullName tools\RDPWrapOffsetFinder\x64\Zydis.dll -Force + Copy-Item $x86exe.FullName tools\RDPWrapOffsetFinder\x86\RDPWrapOffsetFinder.exe -Force + Copy-Item $x86dll.FullName tools\RDPWrapOffsetFinder\x86\Zydis.dll -Force + Set-Content -Path tools\RDPWrapOffsetFinder\VERSION -Value $version + + Write-Host "Staged tools:" + Get-ChildItem -Recurse tools\RDPWrapOffsetFinder | Select-Object FullName, Length + + echo "version=$version" >> $env:GITHUB_OUTPUT + + - name: Commit and push to a new branch + shell: pwsh + run: | + $version = "${{ steps.fetch.outputs.version }}" + $branch = "chore/update-finder-tools-$version" + + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git checkout -b $branch + git add tools/RDPWrapOffsetFinder + git diff --cached --quiet && { Write-Host "No changes - tools already up to date"; exit 0 } + git commit -m "chore: update RDPWrapOffsetFinder tools to $version" + git push origin $branch + echo "branch=$branch" >> $env:GITHUB_OUTPUT + id: push + + - name: Create pull request + if: steps.push.outputs.branch != '' + shell: pwsh + run: | + $version = "${{ steps.fetch.outputs.version }}" + $branch = "${{ steps.push.outputs.branch }}" + gh pr create ` + --title "chore: update RDPWrapOffsetFinder tools to $version" ` + --body "Automated update of the committed RDPWrapOffsetFinder binaries in ``tools/RDPWrapOffsetFinder/`` to upstream release $version.`` Triggered manually via the Update RDPWrapOffsetFinder tools workflow.`` Merge to include the updated binaries in the next INI release." ` + --base master ` + --head $branch + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/tools/RDPWrapOffsetFinder/README.md b/tools/RDPWrapOffsetFinder/README.md new file mode 100644 index 0000000..e19777d --- /dev/null +++ b/tools/RDPWrapOffsetFinder/README.md @@ -0,0 +1,35 @@ +# RDPWrapOffsetFinder + +Pre-built binaries of [llccd/RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder), +committed here so that the CI pipeline and releases are self-contained and +reproducible without depending on an external release being available at build time. + +## Contents + +``` +x64/ + RDPWrapOffsetFinder.exe # x86-64 build + Zydis.dll # required runtime (x64) +x86/ + RDPWrapOffsetFinder.exe # x86 32-bit build + Zydis.dll # required runtime (x86) +VERSION # version tag of the upstream release +``` + +## Usage + +Extract the appropriate arch folder and run: + +``` +.\RDPWrapOffsetFinder.exe C:\Windows\System32\termsrv.dll +``` + +The output `[10.0.xxxxx.xxxxx]` section can be appended to `res/rdpwrap.ini` +and submitted as a pull request. + +## Updating + +To update the binaries when llccd releases a new version, trigger the +`Update RDPWrapOffsetFinder tools` workflow from the Actions tab +(`.github/workflows/update-finder-tools.yml`). +It will download the latest release, update this folder, and open a pull request. From 5aba7efe6b04db6fe24bf80e3fae842a2d5be964 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Mar 2026 01:22:33 +0100 Subject: [PATCH 14/38] chore: add RDPWrapOffsetFinder v0.9 binaries to tools/ --- tools/RDPWrapOffsetFinder/x86/Zydis.dll | Bin 0 -> 545280 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tools/RDPWrapOffsetFinder/x86/Zydis.dll diff --git a/tools/RDPWrapOffsetFinder/x86/Zydis.dll b/tools/RDPWrapOffsetFinder/x86/Zydis.dll new file mode 100644 index 0000000000000000000000000000000000000000..5909f0f5d6a0e0fbe2c2c39555ea2f166a41f16a GIT binary patch literal 545280 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 >-D_p5mVkhrnJFAxdJsA7pj>gWyL-`aw) z3&ozF%ztp6Ee3mIX~9y}V$k`%onu09hMx5nK1=ua>3Gp$E)?XbFB}vLap3O%kVu5BD;z3NcYa8$HT48V z3mF=8;ghjX>(j%ZzcbXMBsFL~N}ls5KZ9*8WY?EWADH;&^c~Q^Ok9)Q+U=olVbyg! z3%=H8xV?n=0E93hR*7|jJjjtLIR~;dn-37ji8-|#M0w3So%@)Z`C%Ju@?6M;y7M~; z;PH2hdv;ETmM05LbhJ*o!7$OED7xDM_Q2T!tnKJJ0vb>lMk`DBkZLK!;PTv=Cb(@1 zl%MW8e9m_Ts&ZrV$!69)PkVR9=HS2|Hw%>6=DvVxW%FDbW$vkP!z~xwkKml2ZE}E= zd3|LLd=UD|ob&+Y%V8cnaj=IbYf%FPnFcT!@WK}Gn}zSF+MgSNBX;FTt;TH;;HNFr zDHz{{1cRCJRuH-8Q#Eq|G9za`vQ34BQ;G}V78f?)o?^e;74^JG*7FRnV-?zGdY@G0>c=n9EZ z{snO~nA}$~&{(*^c#k8gs47Rbi(J14vvdRe4Sxh#fKHyR0TXsPfq53z?7*CD{R>($ z09gp~T41v+u+YvL)&=UaS(SqriU@|{wzi&{3>iuN9IP5&Vv{G~Aeg(DHKDS;d32ME z5VIkIS0QFb1l5AaSB+D;29$w9sckO4(8_)TUwmfZ(KpXYnPNGJ@M4t00inE;sH~iY zj40w;-1)$Eln8w{x32=}C^TD*a{!kItH$9KXpI9}X~;r_flh^>fvX@{it#j;D_J!*Ed@%8HHDjC6-MvFH&&e=sBy9Cfj*AxF zgkK{(hmgD_s>6h|KzV4^aHP{y8%`dtTv7il`Q#LT$v&5={!t$i|M3%A7<+5$BF)cY zh`(Spy*+)<{Z8W=b;Gzyl`qNdjh$sRR@PvJ@t3KmxYD-8vX&qGRG7k}J0VW3MLo8e8=kZU>`5;Jkp&5~exsPrc#InB^OzT;0XgLS<7G?Wpdp-M%g zaV@SdIKSL@^dS{}o)+w*PTnm*bUD%tV4QV zp@S=Pc~3!1yS()rYV^1#<1UgJv=p;&LoFG2&TOEOLVF>;4WiEsyUd4X_sl*!{pBTpnUxQxx{{p?1bzYoaS8MdT97q>v^g=YBw;~_p=wC^#&`gH-tu_T3 z-8RteH~F)1QsB&=ewNekauj%RcmdFF#&G)OeFgmrps^(S6%bGgprbq-U}6X=r?YAN z<&lr8vz`&rnXeXHuzrPhk(T7&kJXF$@{w4Vl-iC|&$U9R(cS}A%$yq= z#Y~XDazm9)JhCBS;(DoIb&e-$fGT9P7w zzZ$NDPB!Z8&6p))-^Jg6H7~F{PYhM0!sNtI>70HL`DPp-p}Y7XG~<0HS`cv6PoOe8 z>PIwGYAmkA2CWO}rW$8c`%k}5!?rZO_veWCOAU(27;9out8 zAvgqgDLMpM?D7?Tq_#nEk=HW)Fp%aggThj6R)dH2{w*a9Kq}@Zx_JbR7`w$+>O)!t+ z;N5WKU%Dovf`8 zpizeoJx~Sc+SW5vN7vL@89F^5g>2Yc*x(*gKpX(-gf6+8*EEHdx-v@3VHeou8V<}K zr)fkOVQSRSdA3zv7AmDF+HBSA7u8KJSj1|lm6!#lYmiUZ3~=chQRyYNYePQ!^a?GMQY0ZbdCfH222wog9_v|GsD0@ghujF zhx&#FoHo1pz|}kXY63@%JebtU$r)+U$Ni6xo*-w+SVv6_%q7khvE|+*22*2MA$Zik zZnT*qL0Bb>LI-0ve={dzI!%`h+WK(L0iPayVf#$lnQ|DY!(T+qYHB}5QHXPv3omq) zc2Yp8lZK$tt^fz{z$u&ES;!jgp?PNXSn~sb&qf_UL)h5g;%{J)DIQpEGQraWSFgd{ z<0f<K`QrDDNP3pqoK95)m#o&Qk?uV!u;b)|uS5^Jbe}Y*is2r9W0jDf?Da`%`KcX2#J^ zxk}6+Uy464vX@w+leS?ein}*o70gh#DVJiK5}PpWTNZsw>_akuI*yniI>97DWaHV& zLcaCF%(wz|s=K60XWT8&&R{+6x}Yr*YMn{7)-jlRticYc-bp*83{cxOlFZ0t}tD!CGeH}WiHz$Q;r1{{))?sdSd z?0g*~GqM9`DN#jB8K9K!Qp)$Wl#P@^=Pj{sC%8v*LsNS;(qrXwJ;)}{m`h3mdE8u5 z8n}xH^j<19g^Eq5*DiV;L$A3*P%t+NkWLd+-R;;3d(YN1u+UGjUV{qEwT_=IyoXoX zpk6_L_@v_pPuGXz-!CNi9)fQIe6*RiVu=rr(uWUKCp`7T%UJoad}9<@Jw*b$!7f*X z=81F4#O8!+0o1Vmm2sR~w|Am=K+FiuGqMGup$t+nAJ>5eB%+ojxKCMjEGIP2P+XSX z{0xdUwZFcJ&-t8qyo|1j$PO*As4gjXR$0>70;si-_t5qxx~XrI5C z_?+08sF4Kzc6iFQtP|v&aBSqG!mTxE`2`wOzYKzsU2E2-U$ z*vAsSOg4ytD!xos@ntd{>!pK_lHC}LG(dLXkK}8^8}`#Ma*qh|Y$Ul`;vIiPVzAzc zyHdJOrr@M>k3+sP*e4{J68kHvUg_c;5bvtEG&J>wdMZ_U-B`^&m zUq2eq>Xf|P$r||3JpeY3{`oG#0jp~^kOFWR0VHc2;QVCa$JL*2wz*)de?$b=)N zYuN&8wW*uu4siw-hk+FoLC*Q{Ow3hx_Xc_@>w;J z4|mT<0aA7A;w|qQwkUr)(SnEorT`*=7P+7WCsKkQ#K}~8uw;7tiq`!L($wu^vL^{=>ba2K1P$ic3EBUC>mNHNrP&f50sXakKwwwP`EjkCel(UxJ_Ns{zW~ura6mxx?~sY#x=01 zo|YWrCY)|<#4hA=+K^6>_AkI~%T2`#*17*k9UR8b$&woF?h~kKb8=axxjti9wxz0zMj|( zp|#G6vt)3MYR*V*rK+E#SqmF2%vCHnaXA~DV;*sic{=9+>GB}pJ|RXXRB8iz>$ehv zdZ-}yNVdjDhKhVprn3_N?Wj(Ziz{`xm|yg#%a`qsxW7Vil8}iLvcE$Yhu>GFsiyWv zRra05cVdwJaA;U*A%P!r%?2Yz*EpOASa2fneYmF^pAd<_b=VW|{lFsx1+pl%oqT5~ zhN_Iy4{EYMJ}7-g6YWDZSzX)sNM&aNJF`(!FQ%2czX72aT3I(%V%#<+$ct%s4P%u$ z(dV;QIkz50^D68r;u~i~{<~Zwc8hKvt!@DzooS_1g6sKrlyXWxO>#C^Pc>}!v`*62 zEp7bq!;)`ea*Cd9X2CrX=lD}g`L3Qg68*%1$ad2t!iM=B2 zN9HHRhlowYwCzli7_Tag}Rr70UZ9s5F z-sTeli$Y6rGOMJua;PABv~Ur!+o@ROSJ!=IkLvuwP9#UuxER8?AhL`$rXV;v(77}+ zhI467^uH3(YqFDxK3UlbqUR8OgDxU`B?x~F5uQ4j6P^q(r~|Sg;2>%T)e}O_`BWz} z1tE5XsGhA--4^S`f}3DhUr+o=!*sH7@#nt*j~JHsr&`2^B^}n(P#+lh!oQVt9wZ|S zoiJdP$2kWVk>;VS`%YCvN|2jNK1o6n2<|}0i(FHxO*<*zLoEqDr*+ei#Dv`0R4O7~ z%ex7#D-BxiMAggAA1+){y8s%vSCLC=0O>@S5&7~jB=zTFz|6hifEmIBKQ5tc@=DLF)VjyDBTvi6^O>0?=k8qgQq1ATc5o=&Q=z%+I*7vNSg#1 z=a{72MPF+2)b5&3UF~bf*h_R7O{}2~!w<)BO4Th3*5^ll&sz*KN&ZbJGlEo!l9*Zf zi(r(%%WQ&q-i4{e>hm!-&VnKJfFWUGG1BiOEDADE11t(|-pVZsYVqKC-_o7O8C;%R zF!zNGAatXcDX~Tv6(P?vWF8=uhl3}OW&iLj#ab3pmw;*U>7!)@rDCvK;t(i(D4DrP zFN!^;MzvBJp8|lVIK3z*=U6+KMpI=_sI$+y!t<(X|c76d*&xvif9E3RCe` zOhwW)**tfq2r#CFHwoOy74j69y!%m_DI|HJU>%pfP~@6nMaF7HT2Fb9n@Y7_s8q{l zO{7_@iZsn|VbNvWO6OWlqxtm&8|X86htQ^!&VRF;pX5ruWT{5)G1#T{fxZ;pMHmZ0 z=hCm#Ya^$BM6jw1v=6BlO<~fzAA#fxZ80TF9TGVap1KeOLd3U2TIf^&pJDcxRPSM35USi=1F`-Q27~MfRbeWTMnxnTs zM{yWhO+)(xL<6OkruIpQ;Ly*y*MW$?G&58-3daNdY#^blWqrdGwXuou%>|^ic?>j& z)VxDH2FDhXzdHjJ5-VXYZsEiYtKEdwiiE~hy6Z&h2()&~KtWZt1}UnlS}k82jW19r z()V@(jiM1~kVQB4@~D-;e4TJDB z$><)I3zGitDI?nWA#l`4|0$xJ^!>cCApHO$|03zV*g-^&|0&Vt%Jku+cagO!OH*C||+x~6DRKll!ZNghHWFj>~NOZ#*C%OO0WLENmd2+(9Od12PBW>8w zyl05;Khy~yD*LBnAi4^GI%Ny2${@24p5+yTV=dm=_iS2MF63787{i@FZ9z^A3NmQo%!+P>- zP?_Vb9zXUKAB^6Q{U|4EY%W2c&7r690s9!Va>Jmf>V3F3Q|&k$%9vxn>J%^(wO)Dl z%|x%{g9Gx)qO$>rfM1gYe91`QhZDe$4FQiX#9G|B4>LdZ$VdpI&VxYQlvvr`W5iDR znUOh~Mi5pK7r7p>kw6X-KS^fO|Cs>t%OoH#5S1Q7LX=KEM*>ks0)ci$!(=yNIwrda z$hu|#c@43VKuUtBgcb@iUjg(Pzd0R7bdWa;zRhM!`|=vk9!OAXJ*hInPZPGuZi)6tItu zHl*K|#+%v?@KcUbv+|)qz8Zhrt58TgflLF}S@b+OI=BBzHXS6^5t}(Y=MP2OjCo!^yQRe@O>~i1l6RaYI_*jzc!f$i)?nLuxz%_EVp$ZMz zBT@Sr9PjJNQ?#^127i~p>HEZ9l5pZKDCfyje$tgE^N;_{wKO5t(Q+DT9zx?oVhc%~ zMpwvOb#b6wSbYHE*8k~p>1W=R660GYJviV=MYaJUx~ z?xJG>Oq1Wa{C3ZAjjF?sHemOAZ>wPYl?V3PcrHMA9U*5o?ioi~Bc8f{hCy@FFltZJ z*K*qsQ@&QV|4%Xva|d~u#47lNkXpMMu9vCUg=0s7U3m2a*oEJQQ>+T1wWV+XJt29I z;1ha+wu0W@AqCcA7{%OM#dkoQnqY7XK8;bi7BaUd>dp}~B^rJ&%SQ| zqxF?kwQk`C*y=eVhBsM!^AS!Xm#}<+wj!5MZ}VXstgdCQa`F*wvtq+U&QS9}T#Vxf zwQ)R`w`43I$5TgO^D2Pxmb^{uhDPzbh=3}Ps>eic#yF!YZ>CQEB}htyNe1^iu9!`% zhBRTdY0>@{L^!w))k(p@(c(qmJ|S?cE&$Fq0^Ah6(`O;V!Cixhjvd{KMd0i-BCHnx zcg+ZJLA~1^MudZV1Q8uvvj%PvFpfS8I)Q|bX(TM*B+TL@Jb7k#oA1&(bng!l0Wfr^ z6unXdwi0R4jQ~cJONR3B2q?YU?ArT#b&hf<@1vKgh3lxxue<=1goMOL*k7V*FnV_|`sr^dCIBN=(*`jpEKehHjYHdlP2IivM52Uu4fQ&Bbx&U`x zJfeb!wQm_8ABGAv&7?3N(K5F97g{5darxeb&@| z17a$`)oS-~fDdT^k034j4(K(q$!Q}1b|wHGP5^v431GDbuz+UYJr@9Y06!m>Ov4Wo z0M8}>evt(5bM!bhxg296I`;wqzcT{hUocM8PU%NXZSnwOdZ+wc0~jG1o~GvU5zAbQ z_~FdkDwlkJ*mxSp2ke*s7>>G88?f!85h2FW)ILrdxnOK|K3EC$N2#XWsELT1yp}#T z0^omYv}k_Rk&X(em46s&n@7AVA z`+bOTKKMg*a&RtvhX$^k#`14Kb81X7xOe_OoI2?`HWLux;3gr0Uf|#y8n~5&T@!Vo z#y6G<@^S*5%oV*OKz9HK&d+)g(fQe{G}|HG5y=XHIEi_8_3HZ|iDY-OE?K4PcCc<@ zKeRZ2-^gWxZNfe9UEhP>)J0hMZ-VXU{qS+c7}$bueF)iiq&&k<8kz`zNlmQcNF_0u@i2df#_k4*&}{E8hML|o3!6qLp_ z+yMhWvG?G&-O3NM?u(RH>!)7<$EmqI*@K_{lvt_L(=sRk5dsy4OI*Ns5gcge1`|uo zU$`+$LxekFsOB@OX&#!%H5LC{NeMehD|tlJIQ^xAy``GpZ^GK`{Pv=CxNywn)QQAg zc0I~8(5a}Q&qlhsVJ8F5LvA6Q0&sidtpUBQI6s7QvSr9Q8Qntn!QzCN zyFxn271zm~pU5LpcTe*7llrSo^@mJ2E%{F(71RsWJ6D8mx8uI`BJK)F=Iz*(8-s@{)_>FQ61yi#|6 zypC`*q9qR6-H|iJ=Acjg4K9EWBu<8-7DM%TK|C$5j2iR$u z(l6luh!U||umgn$WWsN$lXP;rj;nnVRh`&klhfrzDvTxkmbMarBo|0*d0{4x>o)>- zT3D;*1KC(tzm)fl>H|3soq*Y3$Cd(0g2R2PPe1gzL$wWaf{dYSfn;C>e$tY>Am73} z>CYvq8&xH|AnC^;AQ9#L2#SqX%?q+s^MY*EydYc23vxIL&zBBD@l$Es;}fX zxUb}NaG&gu)x+kA+&vLqli6(da^%`z(5mF_X(EBsJtnt1^OnK_qm8oh(a*D-!WhA? zNYd2~zK1Bzzi&v@-1>MP()qz-^1BSiEe$!iJ75l~S3M?g;O|RA@gvFsR}%02zblQTAC>-t#*T`rY5D8;D};0Gx0-;(M7d6n=d2JNle=4CJ2>l zV5gy7@?{Uxi{>Y34|C>$6u48`X??rwVZk;N;TnW%5p<3|WKX5r>%s~Y_hKRmJ**K%;vBs;EVvf$@e#U~80%T-GgEP9u!W;aVU0DP>_595*4p=IjA zPpO~^AfvS8!wG~4!ksy7@&eVFQ@ZN|YyyeX>885Q_E#Y+2Sf?STuDxxJ1*+P3C}9k zU64Cs!Ayu#M>8M9)PlBcjfJdZfChO^s>VVITOrB+M-@ffUqX6;%kf4Rnn+&yB`r9% z!*%jba-GbiSG7lnY@Su*wVu2zxhIK>3j9!Hh=UEOC8;|v)zy)-gXKtTE-P91jVgN? z7!0a|e?C@c30?{k*+0V?4GWK5UI#}#E`>izWewCqC`94;2*obM7mZ!P2#0>Q)TVSB zVTxl?Id{UvE!mGVL(r_N^~z}Q!;5mbSLC1VbWX{8`oGXRFeM4Q*{2AFB^K_{J3;g4 z9nBOM=ruIB&iAAI7&CWhnR$eFda|Q^LVd~UH;i+^!=LicMK z^|?+@kjYASPzt03chP-*xeXWdsH9&|f(PMxuHE1sm7@}xZw0psCfYzJkH1GVH0zqT zDGEvdU-7Br@EYxy47qTrWV^`2u=xixJ%)KzX2Yv8d&sNu7ECJrOq0ASS0sERN1ka8 z^Qq*O4KFz{$saS}hls0G&hx9JvN-S@?peui*%~Qwehtsc)pVg7_i&t7NTXXFinfrL z#Z~h6keWy}CxNeHH90%pxrOr?2icUsB7Y|SxEs#*WBh;Z@Cb1Ws8v9njuGP|tFLvq zS^+-;wYiXHN9PR8_{h~y^KBJr&50~@$C~6N4^3|IOc%cEILdtFB<`csq10leM4|_V zLD9e6M&Di;{*8}cxcSTYr6BEBq_`h&iRz*^Kz_hv-dcz5X-Ev)EsYpQt28r48mo;! zUK^`T6#aT*mCq^&<6ty65n?SRs_*ZXG+bFr>#i!N4;!vSPQb-9lA1;g*ZO}xTvy== zp%JAVyp%NA14eY-{XN6RD-{MMhAb+Y6E`8LbC)w1Fwd{!@Qz=l0q?-Bn*AZZu_Q8k zzt(HRcRZ>*0k7?$+ZZ5_k`<;*W8n_`fr~3Gmh&u~bTUTkBmG8P0fr8_Y^nUcRf5()(Q``W^` z@T*0YehkLMUf`?ijZM;omEUltta|V4_b=HBGMxLzw`E=cWhi|j}& zgWLn(oc<=<1CPYH-v{}4;3oa}G!?cnmX?4_g>`^1TA#BBpm1^5Phg;{uA+hCz-Podwwpu>TE`L&5XmH4F^pu= zUCSx=|2eW2ZoqmGu}g@(tlGC^Xhqekh;8qQrSF4-MA>;-z^)%#Cb>z}@d%iUCz@Fm)})Kl&XKgX;mjGhIWyTm!k%%qEt2X>_k4z z+)9Aor)F+tp=hAgyf+;Ye`y-02AY_zHZi%Pts^Shl2p-y_@-C1bf_ZhP(^mVqH+JU zBHM_H-c73L>ZFPykYlwL-j{sYn5_s5-Pn0BSr7c*;JF(o2MZ?Yi-X{Ya-*he2P+U&Z3&m>rD*U zMC*Q)EX|{$pC?+^k=(lHkxg%13l&jYw@9s%TDKfg-nx}k=kV64mp9z5P3A=1SC6Rs zhD6;PlIxzARQDG+n9=H9H&pj}z3$tzx-oLKy92{}E`1bt?IRTbLa_Z5VKvyw*Y$}p zCGj$S|Iz2-?m>MnY^u1ky*2vHSUk>i>iURee?Tku2eb_L2Q=}ug!==MvXd2Q~{28ho;Sb2SwtRDWlO_dxU4KA*P`57txfAliSMGgvRmP9e2~F+f_)QalZ`O7H z%!{o>35UC(rHDJ+sUDiD!`N{K)%_>0!Rw(5eUfV6@cE5D^gSec zQif-s?@;hutqf$~XVwR-@-$_@zS%+7WLt10H?#USW|?fjT*hO1ckz*3WUwCwEOlUV z__Sr%WU|Hq-xXAUNnJ-F={v9A1yBR{y`iM<+T|gHAMV5w;fL;Wr%C%o{Ax4uQDkta zfVy{S9i%EHC5WjfH1ooiXJ3Ivs z!0uB}=b~n#mdN5fj(WLIW6E5%PEJd`bUB@-*>mVW4_ePH-4{vkWSbn<931ti zt0Fn@1WN6T1lVgp$#v*VNIobW>QtY$W5WJk|!?sOnK zo}bPb8?;^wHa@~dN1d9pxf&-ozQwtu_CgXO_!!sD{7yE0t!ALq#6L-&=)BT&Gx3MM z;5XeX{<~cw!IF5B?i~N!*Yd)CCi8?GHWWLznMZc?LfZpZs|Sw8p+{YO3XIlrk^>{6 zv;*(JF-d$LkGeT4z{5672?r~In52<&i;A1&o-a`ROjpA!zdN_Np|~lXHE4aL$sg@} zFnq*PJm0zTtqf_ggk3R2Mt*$xK0tKr28oU4vCW-a5*-??dYfBDoYix-_<c}3E2UUIx3cynES~J zYf+m~pQGG(t_Ldf{X}+*oia7Cg;C?q@+n;yV{WnGs@&;JDRZD!u3V)%x}BqH#vFdG z?^rond2(V*ar?YtPO_PtdhJr_oaXYG#ksIxoQr9&3G~M8BYXKgFXT3r792Q_BT-32 zw*H@+*uYV~ogxP=vz9zdj3mC0`|Bc~xS5u`h~eLYMDtVKAFSOTV{iHH?Q4Eq@L(-< zb}@%NH}C#1u^EXXV&|gW+Y_zalm}WZBD+8EY{a>XL^Se-@ob?pRm61%6-iGUu((^& z^K!RM{lDnF&-&W|*DIfUzJM+3wohi{V6v}jzO3={?EbBF3Gak^p3J7Qc2lq{znuQS z_3GEi`O@RyL|XiHkpu|y7ZGC_0}=r2Qgie3ujiVBoEv;vq{z|f5}!Aho!fs8{^PJS z?ttjOkBQNXhI6dHc-g9H_3$c3APhe=Hz{0YF5?6vuG?s$4xq2(ma$0r3JJI-OLw zevrifs*8c?0KJbFPjZ=#a#c2v0SU133-BveOCv zMRhS>Z>}fkzZ3tK_1``Gi$t?k)5ux_!bo1SmOo6ByyDg28|L-l%n=D%^LP#0!Jrk` zK^rXomJvw_RSQd|#}tqEtdoFUe6a>hj|3W1Oe|bR;Oz5}UJd3aUbIIk$F{wFUx(At zBhQUJSas+p5ZS>p5K>dmxAsj0S=)~sKBc-9X%r;1lIHmWhaS$sN1 zvOd{9H&M-9*LDmu!_X};GnZ=;$&uy#U*jx#`3gwf0zR{1$-!2AE?>j&SFZmp0VqqX z>)a9=Bd0g%)v8R=$knUd#j?D*mpJfq%W#LZx@?Zc>?)-SS(pS-*S+B6$ z3F&K}EdId4LZW%FhV|9pkDYMtlW;a4A)MWh6waZ+vVwWNHKgw!3TJSpdb(1>`of{$ z9wDp}q;O07f=(JpEkF47h%gH3YCcI4jzu154q=5%e&S_2=LXtJ?>#K%YNLm_91gqX zC{}6iR1+T(S4)}AlY49^j>@F@bE4oXMq%B-t7N0Oo?JYns@$sYhR%?xepbEQCB@j5 z{}-OBf!)p?%)JQ3vFvVgrwmhTRzxlX`3NAHbQq77b5ve4x(2hDyW@PgSLDzjoheI|gTo5$DDg$0wDuyPZ8&u4r&pG2x$L z{G*bzb!QB%8XP*;zF6ZF&U@)KqB2y?G+bi*SjWI@#!XckHbZrE&U*65yi?hWkEk<$ zvYPc@M^I8=IOh{^Fg<4l$rL)pg;mdeTCygiUiM2y7Ru!!pGz!+iX}BZ5|VQwt)=UP z9LGV!p`xMV23z%VO;cjr*u;WL$^@>F7@R)UK7iP&zY8t<0Aj0N*0&^B`LIB)nedF* z(Cyp}UWBopyqznH!JOk<6V)8<(&}v=+?u-M0@lIo=^~?vsQ4H;Bj*RiS$E=WTI_U9 z38K~+l68nolG?ZGSWmV%ad%-RImN116}yi}3oTzaqE ztYH7~EzrNrn$M=_aO!Dot$xIVvq-pp!Cq0d;w=b*%%7}x3UGT~NE+p(VaAf>5Vpt} zrOuw7(uTjJ5Q~j2o8GYcQxJ_hS=DsnbKu}5%}b9ILsHVqUFr5+~ZbE z5oBvx3BfWh*xP0FOf7+ObkRdvh|IiM>V$f z%`0yb1-wmpfD0_8G~*iBB^n8Oelz!e>MDg1J`T-5H-51@xx*Lzy`*%!%88sMk}kXv z6-y*a;xjzSv@iNg>2k%ZxZX%TAsIp6)DvH3-qaIvH@WJ0#7olmqFFkO`Toaj4e^wm z-9q;0& zqm%sDU_I#<-J0A3SY$o>AFQBou$bte-o_g5^;d-(y-vNw|SW5XW&V0->{2}djw1gXg+`c|BuG=aNOTT#7;8Hw=! zcKkDQUry%f$rOCfa|-Q<+&D{srdca>!fE3Y8XswZ?r$U>=@ojyW;4w zE+El3P;l7qKI0#Lu9IpGnnUVmYb$o|CF)aQSm4RclGrTEDs>DSITV690zJ zIAN!Hg(TY|QvD`Lb(|pKHPvf#_s1sTg0*z0H0Tbw(6UTIA%7B*jBR!%kTn|E=D+?# z$pq@*gPEX~Oi=4&g4-lcVh5vxT1>LR1)Nosx6TBvLTx}56W!{NldzdPw=?PdKi;3z zq5iYKN4Ziu_#A^nHC_0A;x*m$x2yhArNVTV-{}S653DKSeLm@_joxFe+-%isiEw6b zcDzaE`{Om8lG{8viW7H9SZMD*DbbSHVEwJtE23Gm%Y2m8lXA;w*?Ac;+M5-6j-opd zY4fqv$=tL=15)bLlu9tYtuh!{#Yo23YImZwj!~;l&NxWAJW*5bEbXXBrhDOC8Bfj0 zjHjl_W%hvTYKebZo{0^fSLj{WC1mZF45@L|R#Dqcj0!O#hGPXd7P+O|-7qZ>;*#P* zM~c<%ZE_W*_@gd?Kk6E{d9beSbceJ(w@EzLt-&kXf5qki*0ddMi}Z-FqG6W&oETYD zX@U}_Li9zfZ67gSm#7^m?~Sy%pG+$KA@ui!U+y6MN-85Ox9@&m_TCP%;?PfcKNOjp z#lN`?-gm{nZP%j5MQX&t0AgX4oB*!=;|h=}YWwgxuxO4I%~A{yH!|cXF(^^-5AZ4} z6A$uk70c*9pV24&Gv+fXAm;xl`jz}(UPdo7<{CQi9puvsGLA`4!uF_rU*rWD4Uz7s zF}3X)JoV9#cFhij^f$Ro|_>|E5f!F#gWI_sbf`pVJ8 z2MO`u*;A%!cRBINpsmu$YN;)iOwdwWE?$mT7sl_DPTPopy?{49zFfBO07|Jx) z4w31iqR5_MGR!|ZbV2wT@reofT51Ohu-{#4O2IVyC>h3XPM`9a93NcNCg;Qm2=8Oj z`!rrw$p>7q{;|@b6O2{eNYKOu$FW)5aImxou`>JMwHM40iFu8JrQ$H_x~%%&C?NRq zoe=ze-q0!yw|uPsF5KRO;U300mPZVCzr(`K{htE;lpW|TZ6gtU%-?p6 z$V+%-#CDZ*1KT=-s5}$ihTv)j)oTZW#(|b5@doJm%mj~Hn^<8Pc+8*95AVwk z9q+_5GssJ&U`#YfdpA~F8JjdVI(vM4sm@o_jyn`*nTpVPvR@~$PBPvUV$we~VRZDS zd{?F03VAC&O?TyBO;6wUMaEo}%3J(=SZC|>_FlPQVzOSpHaO)wQ*KA*3gG8*ql~yk zxld{cV{6v3cPM79l`VS2Lc`#2<3GI~j$w_SF5SMyRCcV!8?Sare}bl5wTWySMd+;h z{)9oQvE$`!X(v92mYPz@wRN#+ftDKCImCvf!IU`VZE0T6)sLn|KN@W6#0{5`Z5CC@ z;Mdq~!hj}aVivQKbBNc;bKQxz2yJ=FV)r3~kfn^Pkc~^zH-1mjn|>V~ZrhR@SyxtO zr6*-xsj_&j%)EN^_2kSe{aSSUWL{|;@yaz}Wkud}mOQf1DwYM$wx8r!(8;N1w==%D zVYPfYcq!)X5}(j1yq(TvHi0~_zJig(#w=FZu^2wfs^#Ry0d3M5CHN8}67I-0AAvrP zKwD2%=k#rdZxaLY>YTDs@?GOB6>TMBFd7%Bvv3l(+U^x0xe_+yvuAX3D%OuEweD<; zGFG}3s7taM#<|mLE7nu^rXNvy z9Q*w+r-DD=U_)-Z&zLLeD3BDJ@(v0#@=AI~ZYibXyPM>;gF7l#!&t6norZDyBYV4A z%Vi9aals&wum)(_I1|&Xk?f=QrE$ah`ph+1A~JT3v?J0Z*T{@r`qVXAv!Ar4lf0F$ky*p^F>AWXqt}`| zd30MNRaH87O&57&t?A0c35m2slX!Z{Tz9%~%3N={>y){!bl#M?p0t0;+)ioFl)17K zpg8eXY8o3)NzKHYlc#W{a}i}1#j|XI`4b-BRh{di2iKMJVhDbCVzH}D7C}XlZIL~l ztmU8LA}(!qK8(a$G7BA2E7)3MMK8sQwpN7LYLq>f6W!-_!quY0ThmgL4oQtfs->n} zWA#@ElLsZv63ex>QZt~=-ry&nX!;iUtkj+68ox<(I%JEaBeuxLn?CRGuQ;w_0nwWA z@#R{E)r?DMw?1*ZmT)zdTz8w6X_pQ*Kg3pBGP8u@H@3~D`mi_7pGU zI)4#=^O3jD8{0mwl8>V&2lJ=Cs*(Iw8Jjk?Erx)T$0DiT)O3`<3&aFImI#pV>0pzc z5Yrx$l^YGYE%EA3Wur!9h4SON*{+O>fRevR=h|EE58-t@; zY6i4Oh`1@8k~i_z)CT)5AeqLZjQNHuy$`eyOOfaEq?{fm<+Sd^kr{-xN$f&bYh`T7 zu~v@vT`H{*-ZLln275RTV7n*TGPZHRdIZu9m<`>e<`!?43JD+e{H~-FNNpEU>m??Y z5efuJEM}gLAo_xco+6?WLL`arBgwrea(Nl%-o_@jd$et5|$42(_3?3cX(~EHkM=}$nwkKuIrGu@aA)iN^Tx}3pG}s+F$=0s& z%Y=q>!a_$eKG|I5w-;S9GFi|Rxsd_(JCk02w94+++mk4|7w(Rim;*<>irS9aiE2mX zzia|Wp~_G()Lp2jQ7P0>8)!qLPDkB_`ZKB-bvNqwsAo|xqqd^jP&-k(Q3p_28%-b= z)eY4PbquN;brNa}Y8+|;>KxRCsOhM`qh3U9M7@Uk*(O`<0e1%vM_r4OX$R?I7bUjH zFoFym$GKj9e(3`j1({MxHm0&7+dPTf=fh8B2Rh{^ywBGQkaj>`!_>S7JVE+3t&!~> zx+f2>K_?sVIG|xtDN+s9c{En!&VtgkpBe4~W*AE2?gw&Zj-j=&&25|XKkb;z6;LDF zinyIddf&xcOkkIrOV1NnHoJ6jzGPCGA!&EwJwEBu#A~}uWpD(#iG1kA}2KNnje`EP;yQ=eD z4WayCaiX(mVT0Gia_~aKg#6fOFQFntiMI(;X=1~!Y&R2aqrHo%LHtY~c+uK`CPKTi zy=<<}Ax1?XYXYWWYJRMgVTx<_okqs`AqP7%6 zY)B}Vc=05@+*RrKbD)5DJfJpM5;tmnSfh*B=n=WOxdr&hmANrG;Q$)(IKx#Ui8NX z#m@ISv0j+TT^pYt9@hZ9Nsg!*`7bISmT8bkbLubj_5}YXi@dw*zf>DXAv+Cm* zqrKlN<5#<=&6S-}rMoy1r3a}mKFQ}P{>bJjzTn8_9*eg-K4=WmA|3NR*XvgN;dK-E_2%!ZDR9G4qfz5g zGf`Kd@Sic+_Mgjnx}B%TdH&~zH|u@uc^UO8>MhjAsLxUVH|(~@FUX;}+y*80$g{pG zd4O$s*7Ea-6_WMp_hewTw)1ROA64H&K~L*w;4CiO6S5<>Ym7xVhsCO~ z$;_s6G!8>F!^BK{iWUCA!Oj3x7rCDGa*Sa`F2`6`wL zuq+-m)CJK=gGPUvdzPlpi7$D8 zIuqy8weclh+rspS_!7tN^vQ??(*5I0cG|v5mpVbo1Ysv3wZps#i%5Z8W4eq87CEWY zMI+E6eG2UK39prSFu|iFWZL=m5V=n~$zK_(8QWYlnRHzy^OR4?;8E5dequEYZH(zc zSxFFsMbszq?JV1gRwU_7cUdLv_cZgq4&{z{^TTV!4r$l%CC+Z~%5HEY`9p`3H5*K^ zlArkMUkz358WZpZhdZ8@Tp&sQ625AwsT8Z(Mt>BLY$vcQkP6qNDYYx9yUn9?@+Bvh zP%P}h6o%j7LEKfQFD1fc(pDBR*EbFziqjJgqh2Rw)58u?^a$ehu06z8nkA?m%$Acc z(=2&CM7jKSijkisGt*(u_+rTW>Wcy%M2fgi+)4C?*UF36TJks#iR-q%s^?S&fpKlp zOLNQ+j&rfW3AuKHTWZdtKr`tDfGh#m9+C~(vJxZd^D@qoRQb}>t<6N*=>ScxQx2KD zLrtC~DU?3?5dFAKt2A+amc)N}tqkCKSmm`=lHUZq%{6CBj**O|nWd#>uy~O?!(`eF z=D)hWZ34%mEqrA!%+`7coNS!sKuz|sGp*KgA)A*QBR?c!VXbg zP(4xiqaH;)gK9=ic$c{)o}Zus;BR>z$8#u3yv#ClLdrUG53_C_9jeaG%C1{6lsq#R znFXlZP`^cON4-!EbiW zh&JpOp zMwX6;x4SZ0iTU1yt{w8qN|hFSAx%6*%sER`S~jK1T;Y$MH7e27Y0;Xc|J8vH(2;wqN($P8w9 zt?VK&q3Q7&RyznDVO^i&EM;KMD{@n=nKzg1v$Bq1jQ>E5zn$v|Ysw-MOI@*=vUp=M zl^tCsMVdfQnU8VY=rXDEqPNLV$}V5P9=eIE(4betw-g4VG`6k!=fp8jurRz<1ihhr zmb=Q{H(B_C%d+q_NeRB=BNkYwNLHvQa=PJ~=bEy`6HCJw!UvC*ift^0y+%WDKrH1; z9Y)qwzdv|Hzq=3lT_%0h@A#Y*Mz?*-dvw`;ei?lZ71`yrYjr7vGqbZvU3@ioYPy)4 zAj7sd_aF3TcIYTZz6%13br;ajd@*I-k>NV84A)6zm8k&(I4pk%s}i2KtUA9h8n zA>F}VjKXD!Q5sxBT#T1*bu3tL%`TreI5fP-Z-R$M1K*{eVNxEx#EU$t>8g(%A`=&> zF7JwIhD{d?+~xBJk3%NU7R~J-+G+A!SL&bYQxVNv$x1@3xaLF7#v^z!p0}gAgD0Sl zMh!>V?c+mjW12V@NE4?rd<*MhIJMjU`=0lF6}u$MXn*BR88K{iA-rNeM2~| zT-HffYw1_iazoe)wDgbgLuw1GrQg5|YOkXonm1@GBa&A1YBr#Ka!K$C`8kdaFt_c* z<)O8?*0SF?4%lml_~s_%(qzv|FXBetsJ0Qc+L3i$*79H53v5^wREIHH>%}UqN&Y(4 z?64$A9pt=&G%e7^NYbN5uC$GKtR)p{g!OQak@$^nOnvK^@`yiK2cO57X+A4;SPIFl zq?ZIM8^$t)Tazm-o5Un9xhb{vjf0u|BWM~lQZh@NGEgkhdsrGWa;!~j7wuub+u*nX zUaZ3}e0n<2@+Q`bBa>5I-#Tb~J*WxRwU4xSMTvFVV_fBU7K9_{& z?niIvW6BUM0w~8SWtHbLserUJD|1DcwK*@cNKseciH&6=nt}Rd|0y~%d4C8yneDvqCL7y%zhs1;g=o?a%4B4zm(?P19!pU$D=s+HuD>3WmH(?h_EMPt(n{N7|D|w7%;kD1yjt5yvgZ2S zI159UI87y=)@}Ae-FcG^Ez+eG%@wlR&UHyUSKCQTzSB-xqV1%(PC1P&Ba6gE;9%0o zVS=&{R_a&TAH~UGUoh7Yza~J{(IatE!(C#s{?kzR@Gx&E5a$NkN4<}^hJ6{zjenEQ ziFX~eRk%Uz@#W%Bd}6*d&bW)7VmyE8r_@CBxEmQkFJ@%1$f|CowC~Pq5wFFv$U44U z8$)cLN_%PZbc-*SW)U_NEdA74ngDm0Z47#8%D5kP(e%%X&&p%x(pCl=vnWAi6BElL z-RtAGp_wGIVn|XfgS*H;08MeWEEwWs)Cy z{IY)k=CVRL8MXe?AjMg8Jp46!eKw`@bKCj#$B`Eis;U9(Gb$P~E8kkW9Y3 zkXd=w(pM!Kf@NJR)-U~ZRW2_&wuZCA9{2BO97CeZiu_G9RyGZLS~)8s^Xk~zgD9b4 z(LC%9hp&gvZD(_pBwed`zbp1h#Dx#Q(0*lqRBQeE1+rQ@ysF?B7vI@AB5(AD4mCj| zkBFbxrG8h?hgJ_0a_6u^ZERT~Zv)J1Zjy~o>&hxF7LOG02t;Rfi`H}}YXpp*{}s?q zjYmFRT6vib9&$b{`Gt*0gW6?&iWwDYWt#Y`-1xN4;SWnlx$p-i@vlhNV&+?mDn5-8 zcp|V1svGU@^S+?neM`1k*eNn9%c_@I+g&w2uI8m`-Q%|ErJclT2dmx(2;WH1M(nD| zs|;}y>P$9}sCNojyqeF@4lbvUj?c@FABZ<6KhG*Fk?tL2@-rWme_0__zlq4NPg?cAlf-EfnGZ!KAYsw5M{%w> zexR%b2gNO%#9C`*D*0J<6i#VE8j5jD=ky)F}#)7z_S=tmdciD_c=ZEb1VAfh;mBm@GV`4_N6vK zyl01R>FNqD;KLi9n4bH{&iE{DLGKdT=Lzxkbz?2>K3QwLFDn$lf?~5;{4a9=W7iF9 z3RVqk42~SOg-!)YZ-PDI6T8HxbsaXbTkv?8u8dC&dm&g1>}G;};?ufdW4xy8uvdcq zVVlrvwFB*Bzk;UrvcF%a8OJiA<0Lv{i-yh&hi|d$CGWFmJtgE!R=%l*W@YK}Nu>Sr zGZQ%bbNb?_3e@jW|3ICIrJ_nugHTTX{_>e2j4D>V8oQeF6cbyR_$so;YvR>LH(oLf zo{SOd$eyFD<ZAQ}Hpq zhm0u-Q8zR9-+VP0Ls~nFC)#5!HKpmhWHNvbPe1BwX%W=1kkpf8g{o73*F{o3d3&EtY~t{r(vzs z0n>`)Q&Qs9McO@%?;fNX16LYey8g!PiN;I@%6RC4jvmTU59#7`@e{k3|2KZ>aRfg} zg{nSkJ1*mowqnqKa(+MAN1T75O-;cs22|Zrn|oPNesyHfhOAZdVOyFG>!FGpYA!_aU$ys}Bm0hYks>wFQzL z1;k{=2Kh$n%Gz0W7^^8wt+1tkD#1TJ)Q!3L@Pcg0v1i3d+fC4%$#eK1;}`}RozG1& zW+@r-Fd3`<35rHtk1aX%wC~zsEiHr6;I{P=O|fN22U}>U%8h&1cCDxFl!|`Gf9}(qXitbJllh#Q`oB67PY0Ul?$?& z+#kdDyr5Hh9ywj+0MZPc>eN8`GG^x&_+R-veV&5G&)w;X4)UbOI>?(I=Af+fKnG_xKld@MY$HF@$~Nl6w6cwIBGif0X^EGmW&?HS*_~$(DGn2F@zx{ts+5u`$U+KP zrnjy7uwaX-W!iG`prWag(=UiYyc$2S_Q*wD@yg z#)`cU%g**>B0s*3b&<)SuWWs#m0@RKHMw5CTgl@+b>#%r_6d?Q>T=2Ck26BAfMmFSAAb|M~hOq|LSr?^2OlHZD;!KIe6g;OWEnH<|B`Z^0hlmCz^7Wawym z>Yi;HVc3<8{kv+j7d3dp4F%7y>XIGE40Fmd1iJNH>k^w*&Vpe5rZVBC51OP+(CJGP z7>l|J^)PA^Y6~ib@_)tsBB-LTxf=xa8`Nq4GJ%Isy;&?#g*pQ@1$80na?~}b1*j#c zTTwqp-GllI>T%Rs)L6{_5w#wic?$k1oT%$NJOv*>ZAPu?@DyB4o1~*6d&_+xL-@k{ zG~MQ()LwSy15$o5CPwo+ExUth7s_@7SEwtCRy0ClU0SOA3n=3qhg*%gEy8nJ>WXCwB6&CvC5QJl;m<<)k zPWvK()zWOO&yz1ecj9}5oDksClj8#=6UYYjUA2B!u=A=s`WiN2O{b+rGnYTB9}Dp3 zRAP><>IjM#4hI)*+%(FP5p-$B(OEdJU8rJCgXBaO#=S+2G{~TJB3f4bG&4T_#;;5`$&T6T{!+%pb3rLvQ_*{Bc3k zu$c^4RHI(A#>ga08EYR@TbhO!G)b3<6yGS%si~X|nn+ScXb;(|R%GJbTIrHC5(UP^ z4uUGzRjqj(6(vhyCj6ny7w|N4L{ybakB*YYyREb8&VxEvwVs?|OMmXL<6Vv0{Ta6P zo`bTo(8jUhqE9##O6(r*f@<)xlBP0i;0M`qpqfKPg=#&)-+@x8aeaLqC_Gx3^}w4Q z4Jx(y7agV4;0jx+%Ebj98Grb1K9cXY;i?nz4t`#c@w3=)FeK3(M+nKLv%ly1eq!fP z;M7BvRB+#+{C9m%Y7@!u9jQ&wxYg3`Px~dj5-ljiJF3{ zL*0nF74&NvbH-msIG-ZU!>U``%zi5%SG+-Ut8FmZFIm=XPY?- zFj#`6fye>({2qzHPn4hJ4?Hyuk9_q<=e(MO=euPB;ymr`f_fU`ag?rjk84JHTg!X$ z!gqU**A<{2dKk{7fp&+R{TBw3s7%+e2mc0N(NqQXzYnN}9;UTD4^=8Jkol-m{N9x0cH~ z7pOy)WCFTEZ7=_h2F}h`4X1%70sW4%dd+yo*@0{WbetX7(b+-jtgV%at=*e@CnMY3 zY!*Ds(S!7mBhw>}OjjP69($0k__U$=tn}Dt29i92h8@aV;|>ZP;>I83p1H^|;eTd@ zjU)5Qro)$D$>Yq`1=5tl1)7wWI5XHl=AK1O|m zvfQpfIjRbEF={dDm#D{3dr)0GuD}VXYf;Nkzd=2YdJ**jife)cU!i<_guPLHQBwZU z934nd1hqj2puXd{&-s>^wlCzgpvXd4A$%rVe7Dx>*XgfR}13Kn2AaJHB~ zdzy2t+k){lL<5ug89X_$Ov=%NIwvKT$)NbZG1tXTHv3E`rxkd?!84kU5dKlv#j$k~ z+Q9-BYH8R{;M4*M=g|VIizJ+~7tjvpSL`|?@EXoiJDd_+!YQqC!WbZYWHK;eCES<~ z7JomSR`fY!=z14%r06(Z>@0&Dl)aDpT!D^pP>Q{oIJogrruijM9R*}4=AgjnBM1!W zC~(XX1Z2N!#)bt%v(#e$+i0#^(Vp!Jl;ZhIP*tdoRn8IOUl!at`A_;TV}|rI}7-4@o6tIJG(uVN0&& zM-JY0l1q9q9kb>CoF%XB7~6+s$#ec=mK-c!E5|+&t{x16a5RvoG3M!*Ph<8`?@p3@ zFV`N5!6U?9h)9bpWPGFkDve3az849smgB?grwW`vl|(#^7d*2};^}l?hj_Y_K}5PU z8cz~I0XeF#3iwYSPE|s4y@{?7OtV|C~`57}xXQe)%8A*;vmvF#bd&r-X0&zwb6u{P8Z6OUJ!xF2RAGcKRXDLT}Y9s_x!edf{Wh`^2^gBzYr6$@Q4RVNH?p!ya zOq|NpTlcH6uKmsStQB}o;>3#2{J1^zVd^mvZ<3>9cU~4_@d|Hz7VDel`cfaF^%Bt# z7(_IjLjdj-!%LHk7>Gic-HX}L?{AT48_HocfMRyxw|3LVcivd2zgJjI{75}t3~$x(8_$BZc) zYv@nS#VDPJET(%x<7_)dAF?`licO7GPp~_B!j6RN?Dm0kR*}Os$L5M9izBAy}X_*pwtEp)jJR}DzvjT_{+oHybxi;eT9KF++kc@rlR)$}9BjgV23s)B~Ii#(eE*;nl>_k210 zP4-An$Q^!0?)5o|(S8qij(CPsUO$|e5na!^>k6H7w?l(3-}NzFM^&y z$)?ngczM{>MESG{JL{7($aGDq8(?XMtHc#H_N8V4(w`!nIv13h#1Ah7E!E6-gTp;F z2WS?VP$2o($stoINs1XJOzpw_88c=!rS4P%!Q44d6Nc1Yp_@`JER_0hC$Hk6&xCGE z@vAAsy_&w}tW_9rr4~x5umK%B$?_U(Y_wl;Ft<|7rQ05M%@ogtM?QrSrt9Th+R(JJ zvmysvp-WPh?Th2c+oleGKMw1hg8YiEfdW?@<3VV)5Sx{zfKE^5Nm^La&RPRV| zc+TP>Sevx&XynFgK5$2XIi>Fuf|73eWDD%F!V8JqPD~|BmRg>PH;HOlL_t#})K$uj znb<7PsXS-Qkoa7+e+*e4s}}DlBT1&sEo|>z%vXY?S&0e$m;252q-5@{#as3gVQ*Oa z4)cmS{)@{p620_R0u*bA%I}@^^81^x{62BB{64dQ-@04x{DVFk?$*a|g8Eo`oj(3} zwLbnnhsUpPU;1kviE3|b=^cOu0rvn})Lob1V(rTPb0^1^u29_v#3!=(2ordwrTT&H z##FXc|4nM%SoP!W-3Jhs#LkB52V&KGGM?9hstk>W>OB-r^j9$6~rC%9N=X3SdO z6zTiA#9z~tX=^{C6|hErhJSTK&*_QNDZq0WjkRmkw<68n;a^?fMx80LJ49A~{wG(O z%18prm(hM|DoiSJd~Ph;F2SeGd9gb!39%;C53R^^#boPs_7~ZAvji}*qb!nF4|2`T z$t1p2FHsn|d?z#Tc!Ntp7QQpZ`hDW73s%H@vH4yOORQKQo6cF}?<5v(i&cNUcz5mP z*Mt()sZ*}J=JN5xaH9I7Q?3bKel^~t40g;m%zP*2AqbtT_i#%24c^$9{@9e<&={=g zyK_{#H8Pp)GQndwgtPIN?FU$T58jLoHk8~;@NcU=HZ(|M`O?GZSYuj?7HFW$gP@W zm9bOApJcs?J)>e1P_*$|{zMs>{Ym)8Vi-3Fy z1w6FKwF`reWx-tcjFUH@&Wt04le2L$>Tf6VkN8S#79M!6i ztmpL6H>r;kpXTxF+p~7^;Bxr;KGLW6z7)@fYX5y-%e#K@Em;G>^4;Gnn)mG>WGz|S z_!W=0WPJpZL~6;}>7cpZ^R7yomhjiSO9I*Nc4H%UR@NTg8@HK+wjAVr&L0SLY8#E5 z^-b-4NAS|#cd-6e>hDGRd!hcGr@!aw?`8TsS%1&c-*Nm>opNapF@1Jqq-LO->lQEc zKkhc1M+tZW5IWa-a3-I}{>aWz4=fIj`m+~ra-7m_6#DC%{_G|=!4v-Mrxb$xiA_pl zg*S4ah?Fw>AIe{KyS}YrBo2}~X1%>ak}^aN8KRveec(_h-o3lGuM3zdTx79Xba!7? zR^YMGcF$`UpmnIX`_fC{y_Gj~=PaljvaLU^du>}&ViQM0Z7+H41435uYLn{su=W4G z>9u{dY#R5Kh`^pEKw@2Hoo2?)4)!7c3Gx-Mig?Pluf6XO;*Es*|Ns8K5d%LT<~Pl# zcTl@fU5ES4pHM$V%|ks5cOK6XsB)D2-96NATEPo={vIWNbCEj-bt-BfTnhCzY6GeO zPX0ck>QnH){E-4c3WjXA*Ra_(OFnejy(?9>tk5@s(n@ykQf%;!5?)*s$4XHiZ?MmV-22h#K5uf5Sn4;age>>d#7y5ODPydz=l*{%;#$SAj9o zvtgZrK8txW^{(&oly}jSKf&@Ry!?qd{gbH8%Jzx!cgpFUo0l)EhxG3>jQfbBp5_fj zZj)p7o4_ca@z`ka@uYQ6^SbJ0Il30xv06{r$U6kt# z?xI{STvz4tOdr!#xqP^8%2{yTlnazf#Y6#UvFdh5cd_dB!rfiTz$lB@>tk4q1L|#agzYGs104-#)PE&} zLxRjkE;yHR$H2Li>jURj?pVxX2Dvhx9_9MNk)UwL;TNx>a!^=x`$^c88vwT?DIq#h z!ltqN1GtFFog`sXx#QvZ-mvck&|=l?FJV(|Anu-*^b?|!arZnUXpqDCOohYw%wUHr zG^aRRp*hvzO3Y~vS7L_1ZBqM&!fjIfhB;iJ8SZd}W(1tXX^A-DGcByN?AQjNDe0I~zF;LqP5v6LGztECNk2 z_qpCTg3d**RO5as`Jhzeej3~{%1wtmM!ECg`Y1O8`}!z%KHRa&T>x{eau<@8Wr}8j z!rLT$XG`8F6?6&zmTZ%}ajE2uQbCu&MO5x`$r~y+6Rxij6BmINtM0{;H&mCB$$XjY zHn^62YojahNyL0@}Ge2}VpSgw@k}{{zTx+AjrT_T#32CksC!hkOy~NenDPgcM8gaa}N}hEpjPAK9MUI zB;}f0&2|zwH7n(sYqRKf7P%rpLEO#Lyb;3PJk1;P;Bu9l50|Ul0?c;Te03vcyKBDs zFC$jW+3C`7i2uIYB)a0iuL6R^ zzOPyZiG5%B1>FqSE9oCxViv;nGJsDy$9s3H+QpdhRv&^xt&@6ZCD>P9@*Jol5=QDAT*j!=~Hp1OoZL@r34UP%R+~%0D z%&CjvrY4WMh+y(bE`P65A z3HOY0zk+*4x!;nXS{3~c-TPGc9&El(xqGp9^)@m4dvgBjQbB)2ZjH+Q3Ar^Ycb~}Z z5#2wC+z>(cBlnofJ%HR}D)(oR+bOz#5xIea{)*gRRqk)d{Z-}uE^;Z+eNg1e1?7{= z|D|8I<)AC5kB>F~(yzOVgRY=nRXM)tZZ-#ch+6uW`n^3yc-ytUe4O0YuJz>;f{LV6 zd6ZT`O64B5(O{pEjY)S?=D5t0pkIL8vf@Cv!DX@u!MI)!|E&h?LDxr|7`}Z$Ph)ej zhNuAa;E>LPr=uq*Z`50SB{nx3KiS;-q>3Q1Z>@tYBQvM2cZExW_NmQ{qD%ahn00X3 z>PC~ueI|MBIY-wr&ttc1znE=C_g`wZg%}^LG2Ti(7_DaIoUlzR#8 zEahH?o2c9dxQWVbgd3yWCb%)my#iOO+^cYuH~8Q+xCzR=4mUx$H{d2I_a@vV<=%p; zQf@O`m2z9)&Q$JgxHFa83O8Q4ci_e=_byzua__-aEB8KJrE=TgDwUJ7NY7C21GqDk z`w(uNav#BsQ|=#dW0m_S+*sv4h8vQU^i7dthiII(!3|aJ6S$$urQwDtw*#}ol=~EJ zxN@Jt4Oi}Sa{CBHUx31U#O5!__u(Oe{sp&WkJN~};Fb&#v>Ps>a(mz+Dz_7ki9Sqx z1zN1SU!%KNb@x(cuOl25`R6{@I>KR@Zye4?ZnZg|`IcPrC$WWWWB7*2?JkeYHd|=C zE?ch9WZAldy)M6_TVgsny0j)8vo2Sj%WWRk_{(?Yn1?m~EVxIM3&1_1To+d-)8hBj zGVkgj+Ql{^yakvz2@{s-?&@Ps!h~gdI2>(dhoh~GyT4cadV=^?`9gakx070^kOH!g z*-0%_Xo}&!Q0^!=md?W+4fjvnC^02)|HPIOQwnzhoX;EscY)g6$B`>E$2xL_rVQ>x zqa_DK-Z>)v>S8oaWe9XokRv{|e18IPqVh z8ESKw7;bZ*5snun*pZ_(3@33=VyfUI4ob{uIPr6d84D+Vrd@1vw4bYO z4pajt>0y~#I7tu7jDs7X+<3SF%AElxaYbtwPU4Ezup{R)6C638ndoqZX0pQ-nn^ZC zh|ab-&^eA=i89*Mm>*!JVB4&!!h>qeW&ma=UhliHnfiHBivSaJ!Ye z1a7x-m*Ue|8bg=i(^(ormph!#)H$5bT;XtqW{$%ZnkyZy#LRWL5_1(_ca^sFuIB5m z(zf0Y;VPB82Ch;$x$$K_uKCP$AlF7eHRq3P#P@r>ptpp(!A5XFLA1VnMi$C|;O60j zeSDWCWdGUn%;9nAj=YFG24s`jwbav%eM-MWXv#F`?*p=)Si} zxO?#Pds_tEE52_R^m{?O1l7?U(kD!`pUfz_l|PgB=wcs zj@hjrh};K)J{0t!*tbd0N0@k*)N+}BI4Ilv6SPI+?_)u#n{rULX%jis{X}xkHnByn z7}@fbpdEtt2>MjezXZv0a(2^!J{PoK&`z;MGn>B21H}Q;583ToTCnd-W_l|N|aPKLXEhZHC#6-Es`Nf3V(n(Axmm?;W>+B{R z8p>SUeOI|WbhoN4`Jnd|S)g|n$&B0EnqRtrer3dsu42nS1a%YNw+iZkYY+ORPARkz zt-~TgS_<^E5nL}Z`?Z+pE$9nDvKM{JUO`8JPE!*{yCbfRS_hQ4?{jU`I-nG8gL22f zZBVWcKHW&&W0_;!eauGc8OxNx-K;f4U$~pGj~1T86`JE6uF%LG7hh|L`nh}3?ku9V zIsv(bYPLUe3)SoZhbuHEI$WXo0U_VDNBn#eVcRuC&_KA|%AE|iTe(w3PGj;kkt-Lu zAtI;TP?1w^Fkxes6Wvn?+g0kTVYvGce({;%xcd-(p~Z;Yl`2<(+?6Uf3b`GMDnXxu zT&BuF*=B_M67!Mjjs*Qfbx(Itwi%6IDz(Kk26P}PJ{XIy4ycK0xOU}g;M$d|g?o_x zKI5G>qWveU*RB>_*IA$+g0fxb;L~F?wWi?HV>Gp<;w!1e3(dLidY{zdg=U&#!sVJl zD!i<2oDcVfq6JuE33rxa%@=9OO1v+Gw!X%*ChI(_`_Ot87Gj=o-)x zBQ2w=ZG`T%pm{2HosH1F0kllzeqjz0akIL%z(%-s6X;fT?M55n+RdO_RBoY-kPCxuQ@LAggj~J5i(%0? zx=Z2GYGRp<;Fe3?*e3ZUDtV(+P)v~K=Lm9~Oo!ZJ8)07@bc5QGuo1eqfgiFf}(2TSsP(u9Vn=BO*TTV8C0)w&)EpMV#f8(NOm4|J2O}| zdWab;8{Kb89JJiX3|3WA^7AopAWX;%m7s?h5tOkn(Jg}mq1)F%4>5yfbNADWlQAuk zD|fi%rXNUbxu2e~jh37KpgUD=0O&47Cz^=s^knbBlgtmWWt?&+fyOJ68LSnGP6qu{ zk<4KIOi_icJ8BX$SbZ1)?hHDG5v89fk{K*az@28B01dY}Miym`3f)MdxfcTbgwX@ZJP(rXLQf@>3lQRF;UAX zn{8h$5kdu%ppcxgOa^5F#}Yg z=zIrV%XosVd#$+;G*ESCf=*U6%R$#Nmu2f-Yc9f#U*N_hbFqW2r8KpCh^yq-AHsn!agBo> zViwBg?&oW_(Q?y5-Sa!G2V1Gt+|-;tv)QlKyv};mkm$sto+9|s4h%EyJ zy-RpyR<*>uhp+x7K6Pye{T<|XePkoXHa~Vam+KSCp$}9p4ce|~2WXq3PqELF6q`T8 z_a62A=b%Rw?G*oQ7Tqtze?@}2kYBp$d|p@j(Oq>uubXhKGP748oL|tF*!&DOmzb}x z?-}fqnL^=Yd?@IkMdoYdb|YuG{^cN_YZqv?aAr4VXJghfdmPSZ_Bx!;>~pw6^Nqt5 zn*9z}V!m~_5_5pqaOwCx?*2kxo&U?MvjfA^J7R#CShWc za+4jo5_7gAS7Od_B5MIk%0@p-(c+I6Y8s#yUf%>c5 zSz?Hu2%N+aJrU$2hFDtxC;8=gGZ#6@FUOl} z;UsSyZ>~d5^2YJz2AiY&3nB*xnhz)GVVMQUy$NTTs~r1IGFLnHon(IG*msh--m&i_ zbE9LH(PYY!KgjptlKm!s1i4*dbOYGT+5l_`U^8n2;JPRm!Imz{)x$|Dl$fQ+NxGGo zWpI*~C1yFCq)ds4+BQ?CBpjPr2jJLTVj3KqOU!MK%_T-QtBGG+uAid27W?S2U}7!y z(NBSUR=GRjo>lJWaF-^f2YDCVrP`*x8&1MunO``rS>~5;5)RA!%5lvyzjoy4#W-^G zT^u=|`JE%jh%nqrb@yK6R;s(dhkH`F`{15b?hl@bYqa*%|LD2THClV>fATPHu}w<7 z`#p?XlnQzPZntuOhTE;&U$Acm_F3ky*f#_FEb}*qqi5rAtPOCuLi3Qr6`F?~uEadz za3#{uHM>|jFr9w0jpoxAj4+=n+yV#9r(dPIw3UBsbD&2_1=o5h%^tH6CDP-9z7g&T z8^NuVux*wQJt<);60}Ofrrc8!Hsw}hVucaiHTX17W9@0=iWEH~s8!N;t)NYUo)x66 zhoqow!Zixgw$wU7S`#-3+9SHp;aX9tpyvgZ3u+dmZJ!oFLxgL^2R+r@^`vi4Biu{a z(o4BF;Eq=AE#!_?E{$%9qEE42kY!kFs(1(Ip#ZY2C67;R0e+XjyrNsPGP`jWuLHMQ6e1@-f z>1gQZ_;i24$3xuZ!cz5 z#aEp`AFFPTgR+fm8M{VwU0p!eg0fwO4syAAVM}pR>c-xQ+GHF02k zIRWlcmFo|8smcv-IOfzHjyZL>{Q}u4M+oU7==AhPy(|4stllR5+Yv2E*-F zxl`cwtK6v$XPMI+&N4&b4yfEvxC1IT%;9LsI2(s&dtEpQ>Dq!!f7saI|>f-ch;naPO$x84hQeGab${XTiOz zaueX*Rk?`{XPHS3XPL=x->Tf%aNnxjIS$7PQ-@=PsW;-Xs3Bd!o9C@vmA~VkHayROD>iYxWrtH?*HNG zyyNVg@<0BanL86Cag|6y5TX-;)m!wz+P(TH%P1j!+FdpJV8XT9qemY-Y96~vbWult z^jNHDi?z7cB3R`2{(jGAp1KiPEZelC-LwO!@Zl^0l5q`S$VhwVsBycW9H* z_73d~(oP6_4bn~sduK|k+Fztq?JTqdBHr0(2SmJcq_IL$8Y?8x){Zh~XlqBA&qv!o z(q4eJf26%oTGcL+R<(;M-+o>`yM*%X=jF3Y(e@2(3fjJ*T}CfVE>|#bd(In=Idt(J+7bDU{lNi@VD5Hl{k_Mfs6y0{3sE4qWqMNzSL_N&U zrnKG6=Z7|`+peUf!=j{DRnBf17A3tJZFp$cpbZbLFKMjozcy*mb!bmV3tca&+6~Y` zk@iO7Efi^)|KSPjSGKPuUM#Nh3fiKfwWBQ>ny)3E7Miamo)(&~CB7!KxzVl(&DZMQ z6`HTry(=_dt9yQEL($F;&DZ%}8yar`{>OU>=0m$VwE59)4s8Ln8$(+V?Z(iCp zLTDF3 zl~%P|q*cxL0JcTE+tAp)M7-OjF+!GBwL8&TBHlE#mWY>2tJ+=Cs`gj3O^8>uzoBhH zysF)e))8s%LF6|+bFaT&^8L~L$q~5`v`5F&^|_6H?&XC)(!2S zXkSFWpQ3#c`F(xy2<<1dWkUNIZJE&i zhqhE`zo0D@+OKF!hxQxV(xJ^kTP-weAHyCb&!eTi)m9I!6>as<+R#=Ft%9~{Xubn+ z&Coi~)(mYB+V4V}3+;EI&5gE3X!D@05!zt1cZID%^Rc$_L zRn|%R|8u{$R;E>^$9*(E@ji(*U4VF>L?10Et!l%hvECN#pAm03+CL-S2x*Mjq*ZNU zw2h;Di=b^BF>pA8OQ~ z)}^5lLCZj+gO-JM^?xk39F)y)TE2a5zQ{VQfOef*Ze0<&HE5-FvwcY0Vq-I_srwyD&I&BCIjnIvpB6K{t{SYPC znB0B{E1O7ThEy8=7tk!Oq0P}OuAwcYu_H|y{}nl_J($q{MA`!hJv`DLqEP-3 zD3t#Y3a#2?KukNpMygA zuc1)>LlF97q|FHZG18tdja^pK*ky(GbHuv{?dOPhu{8ceNaH^Q+W#Wn6tw?EyvwBV zA3_>4u4tb}yerW@k9b!}tJ>Als&)<9zam~A+P@;+wbH6~owTZ5kM?%Ny8-R(hpG8`+LN@MH=HtX;r%o?Wc%$JK9eX?+$5e|G+rC(^Vfoc>0<10#>SiFaV+agVgB-7AeTCfY#} zZ#vpR5$}F!ReL}hV@$L|iN_cd?NH)X?P0Y4i?olR{a>VgR2uuJq*ZMO+TIcGakRZ7 z-V@TQ_N26`J%zS!#CsZT--!2&v?}gIlE&B(?GWNIc0@abcvX8IZJ$W{0@^;2_C;xo z9i>(6W!kDE-e3hZZ_q2y@Sss@%P(XwDX)*oo1q4 z>$$bQ4c!v-Iw=l}6o2O(wKw)!>>UxaE6`Q(E_*K#@3Ma+;$8MW4iI?eFsC|;(l?_< zA5i*c)aXNLRr^R<)js2XdnM*sKW{(CUWs|uf1$k^+81cAhW2mLz82b-?eo}cp?!t+ zdT3vxy&l@fq@5AkC#0Pb+CR}A5A9R5$3tt9cE>2+HD>QT~GsO1@7&(KC_|BoJ8NyM&I+$i|oKKi!<`dy?LIB5#cGjusHbIaoe?ASWL#JCLoWo)+p(}c5i}q4 ze9!`TRARj&rCP9q|CbQEC^~4#8Gh9*+(Ao5yhYGn4Q&+KtD!AQiq}G0tb>*eZE>{M zLmQ3udT7H)J0rA(NIN66;b@PCHUjPO(3bXmV^(|_&o^epm-T!@Th8+hZF$c(v=uzx z&{p((LtDx74Q&a}H?$=^-_XW*zM(DU`G)ovR%m>~%C0VE5fV*eHNXum-DnEIFL5l*6m>Z%kq9jtVh~wq9xad-ty;*ZR~CO zqxa<|)c2KjoHq3~4Q(^DS3}#}+cdN-yiG&f(%Uq&PH)rDHt;qLZ9~$|2yG*8)6mAF zJsw)dOa{B%SkI8fvvo8LpufS^3YC2yF9eh&@KtB7wwYJCZnAn+UaQLhjs?q z6`?iIt_bZ+w97*K3)*F&ouyV|hd!YfN9Z|(UL2w466!O;tSUxpVI=}rYU5WNmXjh@V5ZcvfFNAh8SJ*2b_|-Yp=^Lk8xYk}-!s%A0Rh@1l^wo%W zyHmuwgV0wa-knYnZyI^L7V&bYh<6wF(Q6U!uTBx~Z-l-c@$Pntc=r(cdc?ceDdJs2 zZZjfYpHsxUmfU7Uyz87I-t~k&9`SB)ig-5?`gp{<$tmL9&->`6=&c7j2D4Ja`{+K} z^v2MpcbwgFV`!J?sZ!&bPfwaUS8IB{)VKx`)w#OT^QFeM656PmJxU2)`P^IWG4g$7 zd8Zj@uZH$G+N+^G;Vl%}lin_&J>{(t+SA?!p*=|28KFHy+8Loe?6nN-5wBZl&r-KL zqaM#uw>zUA&rr8JLhGk)cZ7DOYShKO8>MH3?$xSM7x!+e+a&I~RJSg>R(0#L=dt$; z_Nw***WWYPV{TI#`^KaVvX}j8XJ^CfS>`)%IAa+FM-D+he6_Go`VsOd7k&q>Zq5q>Zq5 zrLnF+8tV%Do_@h|dmsAAyx-if^shl5c<6f``XThc&_1Gk(_%K|W3<~`Yxxwq9cpd) zS0bLuUrK9fX?o2WU$G0!Yd)9L4O$gjv;PpUrRh)QZzHuYFBv>(w{3hgJfl|uWO>t$@vFVHD*<^0N(b4pw}Hi$RV=l(uw8N{1u zd8byi-iX(R)*JEuN7|Lc%5TuA5jqDer$%UHP^datfPJszf~*`-ErJxouJW+dX8uP?q!)Pt9Xq_HAO zG>K6bZU2F{xPMn`S;A>0?5z@4&RFcN5?9X3(gxWo(%9ifS>_PR3R6Pokb)JageGlu zvv|b5yQSVCYZK1V6w-0Enu3U)kOlTtf4z_M* zuC*u4@1v4@2PUCtcavt<*fVgCC}RzLFZ0>HkKjI0M#>8DhKz59J*RrubIQ3l214h; z@~-BgbBl7WhotepJ>m_eRD@#BDTO)>4sGoCe!jSQ=vaDnsHnmGMAG`L8umPNK2d`; zk)DUAovwOxGKZe()}S9#jXLp_lc>S!$W-Qj)~zP;)$fTK^xi<|aFyQg^Hh%p*I%N3 zm3b)FMk=!tWu`1n52*wrxV}@qBe-IdY|MK zlcW{QJG8N?$?d%%%J@>%%lanQ-V$ZJpFEyhSyPnZPcUf(t5H0Khpr>a_-2~4!e;Wk zcsKHJe@5?y<-apSFe~;Dy~7N_Ec5+G>skBAwi$~;>x(kJ7ALLX8*w`aXL#sFqKt34 zNh`SXJl^|@Y4*cq1W zb+R)oQG=afiTbT3d!5XVCd&;*kcs+Pnbn5BJ}>hpqKvPYz3dKi?Nd?4tVxA<{>0o- zloKauO=?|f-6`s^izsIYS<;%UolJRjGP9qk!Q6eyqtm_+`A)NBuah;+i5j-MsGpr? z$zCVptwas>(&#^*%2^$ms2NY-{o@VhPvAs6fl1+SunDqKW1Us9m$6zaQNcRNWTnPDbE1s- z_e2Gww6MoD$kY(s*A}T zLn7V}qKq+9g`IVNNBtD&FlMTXcVCZJA+faoSol^n(XdM zp-o~tdD~lydr$Hb97PFsBi~xAYIn+FRl8FWtJ-(NaxGT1J7uhD@8x>)P+!%)duS(! z3hcY)r8*JXBjWj*HjkIbnl`58_ zX{7KL%K1&y;FsXYrhTg6Bb#`Q1cy=64h2 z%Y$wYr$kNO`yS6nRZEn#WQ4kQL1>FITDnlw$=sT!Saf`Y`KLtv z%yGHBMHy*bDrzu;ku=6Wst3L>MGYIOdUV>nq6RY^sm%S%bR_CzrXx{<`L==3tHSaS za=Tj8U?w5esGmE*iGUzo&80 zZ?}i$~??k{aHtu|8BXA4v2 zPicd0yx=A3i}C5Fw8kvPr){JdLa2{Go%&(~nnHa9`YA2cZ9W2Z>SF|&XcnVGPcf8# zi@s+*k&g~PWyJ0NC)@DJ=Klkp7IiW{O&a@-%g|>@u?PPbI%9n5)QIt^Q$HUm-LsqT z)^>k=P7QN^eS1)&PW<&HYQ$J{4@%!3V^JseB1axWNb$0$pYf#U=Ao~M8Zn-9t)G!< zrQ-!gP`(0jfL7$4@`Aax656LT7Q;W>*pgNz^iy+f6}0CgbX-ZR68e0Eu7>88-Ba}d z{Z5wIN03qwx@JjhrL<^kOJnC`N$V<h`6nT%sAtw(UJbuo@j zG=;HfqM704@GhRQ{3oF$o%+Jdp;OJqNXu*~Q5RkgQ@knR<CiNV?EdM80)1_AM5ST6R_vEon`>HM$Q(A8op~MyD*iHSSKC`AzF(@PrF{k^S8_TC2bI)uKgG7gvjGN zQJoP~(sE{}20~|(;sor~89^n=89^m#GJBdA0Z89^nQ$_Q#8^fyu*hn0zp zpb|}GB$MbfMh_`olhH$>I%9!EIb(r=&~~L@rbEO`hlsfh;`x)N;4Pl0hWF7#8Sln{ z&>^Jor%H`?W1@_AW1@ohmbb1ybLJCu^6p6*a};Ihf~4^NWsX9`9EGSqylgJWb&u~3 zdfF)qf13+(2h{Ml>1P1AHXM5katHV`J5h~icA|`D_CV+&SYD9pzQ&U}#YHvl>7-@c(*vPPMv67CGDhV0v|I7COB3&eXuoAd{NESxf4>Y}o)jlU`>i12 zf4qqQ@x(hW+Hb6=llwAh4erZ<&~cxnw?T$;27o=XQpHzdVLQI?HF4VH5zt=~3QyaLaqDMigT z6=k+r8M?Vr)bL!I((<2J#Jm94fxowy7Z5Qoz;)nnF#hk0GCZ96bvlIp*h*Bhtwot_ zQ-=N?%l@{i;o&qQ9;mURl%gr87LW`jdwL&e-!O4gZ}*{C5`d z-?BRqOq6R)u6ZJD6;Z}Uqw^2#sxzBfJ1i<`hOK;0!@!x7=QASIi-LhEx zx7t*c;ZL>Fu^8js0)MKBYWP!4l;KZxAau8uAsvgw?8ok+%=Qo!_)~4O#pv?_f2xUU zwwEZwcj`ds-jseZ`W)XZqRjRc6}BJo{OMTO1QGvrMf}$-Lno5LpN{<374ctJRNy<+ zuTyW`gGHToh^S$QmZ67{!k>vHfoYhDe1BlispB+-;E=ahn?D0w_o(!(hf?f10(ig88wb89`{DHQFAq|we#CJlNjG%xeh zB|RhRvHp^tjT9d5IZ=;2pF*j}3njgnLecz5?R9hi)Tzv)d7h@ajplh8+9>>uDBk#Z zdV3p;$1kkM^M7|QmsCUw*Ir2)J^gA)ucc75*ONA?$KELE%@m5(h2~fLXrA8bY9EcS zSifuC^30On*457c05pGkcj7B{fZiq4pVZ8i(yM+?kLGzl#_wNf&!kbey^;p)u6W~l z8>D#S!_TbW$=&#wbt_KqN2t@Rq){XHGwb(skA0Xzp^uVAjXo~vlN5^fPc*+nyYVwS zK%WuncWAeLo;0ldtE4YdDB8c1hLtZ%`YMH@b))(J_?qo4%6MC)e>OGVR*5qF(Wd8k z6MwXc>iDBgl-qyG&~NDlf40~0N1G_eA8n#0{%G6mcjw2fgwbou{CjHsoBAUucY)NAly*0&SK3G(@ zc2Ul$X#=5yl%kGj+LSi8xkXKzhj{+Bnq`AU-8MwjXG6=-c}d}Kt8S}``fNVYESsNr z$77|yGi{<8o@ob;{6BT%?^)mbaiiJgZ*%USKRyz>7C@GG` zN+;fG6EzHPwW0OfXvHgR2~o|K6lFH13|&eoYPPfp--e) zR)-FTW!LpBwyKP-jpRFgFg{NEZHy_t+AgbAh zqRcibL&uZCuko5~EMm+mD)4ISz2)P&%|xBHxu{`Vl%ZRa!mn|BAc`7zwM|+-UTu?= z!nP6N15uROwq@ual%i&T6lGQu@wJ6k8_P4%efIk~2u=qljd$50NrMhlytTulzsFnK zwrlmY{w~|Tq#at_ifcP2jd$5jCGDI-(RN81Z?&$Hc1@vZyPzrW6o-^_sHg}3yD78>ue)ASkN0O$j~$*uv2sL7N2XA;L)G@98Q**B`g`ke z_0ecX^`Y_JI!y7#Gx|^Q#^bx!%k04IUF6s0XigpIquHR*|@Zy`O8!x_z`tagA z5PB9@vEOCgcDAU`&JoSxo3+RDIpj@B+LV8l$H%<#xnX52YjMsKb>Z39Q;Z!y#m+B7 zF9>^Mx#}(yO~Ko*Tk*6PN4z1>C8937R5Zn=l%bcYR9$%c^|V9C;|kGCyHfGy*j1t) zJOF!HhKzp^jjLd;xpBvEygk4WdbQqiDL_REFLhDf~aqRMB*N z0eh)D?X3~d=R0o`O|siX)A0|S$}$_Tz@EbYVN4TEw_G&a?joN5|Lww4aQcVKYOkbm zhu&S%Jt-9J-lTDd-j_6JdT4&9++WfIB1Y>aJrpTC-ov6Edj6L{sp3IuQC2 zDNdrryX?)5ikKnTE5?pKL*SHgx=Jsr0(?B_GXzeoZ88*MRl7c%I$+P^uyLl>t0+hb^Az^+sC4&eG>6}bn{P9r+q4F*k@(v=aIrkH~$hf z>K2|I2*6}YKzli$qv6{45_*kv9?!cUHx6KjZp|>q*vzUpgbZio{YNzl$ zbd#7%I~8r?&`uL&tSy?{v2lb>7G<_EDe*`camp(bkW$ zETa^;Eh}o`D>kLgZFx}>U$H4|(^gd4CUb6nCX%mpIg7GzJ{q(Vej7)S2P^X0Tyt8v zt%AR~HF!F%BI>enqA7TY9SB{G>vR|9bGq;ln`jCiViV28Lu|#mu+oKx*a2FL(5^_a zHriW}$2y`eJijJw3Z7pFLf0q7TajV|(G)z%CT*r|M7)`i$M}*qCY0RCcaygEkvmbh zCLUrF)on9TZkv~(TeP(=vJ*A0;~_Rtj)&MpO+3V=v;`hw6V>n#n<&FW>_F(YN>Rf@ zY)YHqAvRHAHRA0|S?ac3N!t^;bL6{&v>F~_Q#|~cE3~FHcfNKet+{hz&0Xuxv7UxC zcdW?s`6zUZF}p9K-%>qj zNmd(rjUZobNR6P2D8c2l?l@+Nds%1WbP$#=kEh+n{I`8-oHnQ>Uif( zT8?+#fzU}vD9Y@lGW6uI z=k@IoWp;|Fuq#!M8nfc5ZW*)UsYW$UElZTysbOyzxt%7eS+9uIV`b>+Dt!$~#vR=rwn?<=@K-&AGe=ii( z@gAJC9Phycp_gF!{wV3Cq8#tRNo&T6)%&A=eZ^`bR;-f3@88S9iudp3BKFRSGJFer z3J<+1?0J2!7G?Mrb}Jq_RrO%+jVR;mL#k2DZWCqrAWmg2>{=1+C(7*lGV}(OzGgRy zGP_AsFiRBmpf6cv>otOWl`S=bZl?qfME~AFz7ItI-i+l3qJO8BbPM(#h*rBbG_Tuj zCEXsOuH7knRlbfSd+y0N*(0>1X|l)jk5b(jrSkQ=iCDkedSjF?CxyR>XW{2K5nonB zefTOK2)!G7{wD6mS8<{~d=)2}g|FiD{_VzB@c`XVsK1H*>rDk88a@`dOH_}qH?C#z z^~Q-cZ7q{o;p_44VXoeZHEq%|yH8rq*P9A{KRn+3qB>u1l9uuHCQ;7Uo5`#l_IMAI z)~U`Hn51QVfk|4<7nlk@U`NqgGeqO;apE0JiYi}VDy>fA_yWV3N)hiV5gy=(cTmK8 zhImfn;tR~BaYsE%Z#m`h1?EzEzs?t!URGVY_5f{lY1~l{it6}qPFijcm!Xf)l9$G{ z@u-M0i<&kg;`w#|xTt1Nh%$S!41Fq6_%-yjD8q-dTlTd6HONcK?h6sSFH}-?Ux+g6 z4|~H%@vNw3&xta7z6^aq<-?u`dm{E>kjKsBR*&yOPC4I&dRc$zntvB^%I#(B-5f1c zh)5wKMH%`UmT!(0dR>&;8=|JY8S%W9Z;5I)Qqy}()D&g*ji}%>##B;vc!-!6P)TV65i9Y-p107qq8h%kQ%N)Xt_=NN<*VT< zJC&4`_@aVuZ57*-yRpW%wnTNlwI!k@MYIri=$_n{?APE9b)to&WqfN(T5g|_;!k1k zb5WgdZAr`Q3lZz^Nc*R-_a$ka>YVAAH2;Q{G}hPA23JH6`ZqKu|AyAf3Tf{_|Aywo z7cuI4MfBiLqB=gmlg1aZGV~W}ens@)ucF+36U9CZtoS>WeHbF&hjB%`SLcKk?_aBU zsP|xtD8pZP(h6&QUosUm|u(s2=o@D8qAjDn0+tMKyebCyll7 zW#~L%c^J737G*X>RG9A$p+-D`eRoJAc87S4(EN+ym9*(Nz9{yx*4$|*man8G>-ZWU zpepu!hh^R73(e~`e@P2OsB1sT9;cbhUey+qm6{DJX(8FG@vX8AzpLJt{;kp}=UZhj zyJ%heO_bYk(%u&RJ3>^qk)qrdE<+c=vhM(`;{iPp|NKQw-wlHm?_YMqh#6R~oy3|%tpd40!-GFwVi#8*|XM-BJXsYY3RRrMOx;;X7tW=n@Xzkinz zvBFQp3coURd6k}>dLmZ%iCEQ?>Oo%~T+$(_Mrdu6;C9L~4yBj<$WAL^`S$4Fu_djH zJ>M-`$Md>}dfmpAv}%O9=3jl?UX`!D$zIh~lNG)wmh?N>tJxq@JV*-vCY&gJ6Mm4g z)cGdd%j$XW^EF8OVD#^rqPndm%JJGh5V{VQAB>W&E6Qy>QInlM9?$#tu#)Q3{lVzp z^}~wy?*<~iH;VY)ScZ-ddtTp-MSO1*74h}jYgCJ`*G?H^&5%wryx$w?CBh#|U-JzplGIb}Ld3x91+@lf4=qJM4K6?jvHIhlqKLGIWB< z$GnAzc?(eys|lu(Tb;9S+srAC)dW*%mwK!waLR2W_NGP)9Vn{fr9Nr79aM%MjOD4( zLWhWQywoSHiI;j$;Vo1b)$Grr%nmO@kBAiBLPv^Ny(lVTWrLTr7AqT^GFCS9;*Y_# zF(STUggtMeV?;H)*{3pRc(YGb*l{Xf&5jpkc7mwjG~YIxP9AkzT9n87i0R~3XMIF3 z`)|C3PQ>2yXrYrtb-dmuEw`RB^b{;lj}|&rl-p^dru9ZVZ=uN|cCLw-i7rDMk-}T( zOc6WRLz&l;K4`mA=4>ekwDw3!==< z7qO0;?-1QFsv0Y*v*IIZ?6Vf-toWGB{!$;Mt;$ylr@E~sEn~$;(sEXO`1cQww}z&?IRA(he(lSi*6=|L7tmH@<>$9b?x0w`m z>~UI#h?!5~F-k!DBk`QZv67==hef>YMB`YEF`2iC$J>E;PV5k*-+WelmR%_7=2U~E z^>M1fK>{sv6G1BB-hnd zaaZgj$~lFgLOh=_yh>EJt3|n8Q-=0o`Kq`pt`+5+LXfm3yIb9gzd4U8>1f_FSH+w2 z`mo~n%nc%DaYW4Gl%Y3=J-=tBiZcADW{wv^^-n)wC|N-Q;^UZ8{DQ{1r4G z1^u<8zhUp{XtldT^Sa$r(!CMt+McpkwY_8ykEya!!z+KX%v_7?)mT~6W_LvY?k&n~ zAJX0t{kyM-`3=(E5&iq1i1`f>^BZO8BUrv8O8TgX`3+H%^^b1F`}g>gPM|gJi2j`s zR=kfM7cu)GV)mm9eJbpEeV-OF`ypcWnCelp38IWOK&eJGJ3z$jN7(cJeOAQmhltsa zGV}$Np4kr(vmc_uPE7TnFHb7zH4_J6WhJ1Ow8q2Hzwd_?@84M>{_l%2 z`>+iCDC~KCKNe;7iHH$}>cNOY#E3%m;9G|XKMrBf`}b2(%{~)loJWxAR&X9cDt*nq z5M}mn5nl^ZJ?P8ck|w7bp&dyH9*O=vihLi5{{0fmk3|1|Rnphkdn8(|8JgGao09$$ zp{^Y*dsWV2Pxh+zt*kJwQqp&_$2f;K#BsbU*wZhn+i{|d)m|wyXSLU4?mmxqBJU5U zI;*{sma*C^X^dY;actN-MO0_CSJE;&O_a0RYcea|+}>o;I@RrTX^dZ_<*fFqux7{K zTW5;KvD#}gJ7ioti+E1sSnX9|rITyth{oBu#5+FXoku*Uaj~B3nz){QJ(m+-Gia-8 zX#0As=W@#Jd)n%nxSoFyv2t0&JWUz;6D@g7^vus9=4nJtd1M{Ld?C0okj?y18kTpdRbyoO0I9_1ZMb zQfJ*9MVWK*xQ6!Cdnlf|*mZwEYM~axI5xMsUPvQN0PD$s|8q=bG7YQrg zzoSGoTU3tnl+1)mY(|YQ#UAu;${(IPz+m!VC2zBkRvd0-vvd4cHSz+#`q(91Djdh?E)=K(&;T{p+{X~5C6Y<@T zXZuM!(HV>KY)`3=9o%rrY=*bc9SK(tTpI3U*S>?p!-l&Hx`B`IwuCzT{>a8gO4e%n>?*yAL^ACw4xP>NUM1d@~@ zkqkQ{G>$C~dI&FVxjGCn}FJ-NE>J0bgI7-yO z=g%1Y`MBmMqdBoZh0s$X-e^$+FE?Wt7kWHD8O^D|Z>#l2yrtmY2wfWOw9x!yw9`U+ zp>-+#2K1j}hgZ){?X)tBO+!{yB)4`%-AljuSB^ z6tV86z0Ed_XY7e0#)KlgJC&h5q}Vi`7N>~t-y~}Cuhp%1J6}^$AMLkkJY!D_EB+Mi z6)|EIWp;WQdPdmuXHG+u*_on(Gg?wf3(j{*RI{^1nVnOHo~u&TILpOL;2v@^5i3Jd z`DpR$O1eIk6zzPTW}DF(bxwL2pbL4fZ5B1ZC^RqM#U))5p{`x36s)i+=`y8d6vTbB zEcaWJlU@?l?MhK@SCyexbC)d}cjGmp-1)oty)cs9`shp*PB2C+EO;TK6S&v#8&uDqdl?h-#bzldNQ%1Cxk%o>K766Y3BKvcw5A`d@R2ldAuXa?Gfy~9C}gS9&v5+}T)Q<+qDho-5>29l)oB%cYWvgY zwvujV9I<_Tk-YyeSBl(T6E*F1rES_9 zO55~Z3mxl3S-zz#>qJ@JB;GnvmbXN#J|V?AQI@wwtd1dcy(r5&XzN8;-c^d+-V-%B z=O?AjIp-%)lXHGj+NOP=v`ya`(Xk|DVKo6|S(37_5{9S6lH@_Z@nl$%JZkKg7-Qei z_Fe3jNHoP}x8hrUKKI#mKhNSfxc)dR6nc~EWjVgf2BAHaLeU>@llT?pyC9tS_s)KUZfag*7epeiV(!)M*k|*Jh}A42 z*87y9pK;f+OPOcb=OWhoh*<9v@qC}nzeSz)rKn+Fm7!lp3g2hb6gBJ{QGe{n@RD}2 zBO{f$!H$en(oS|{Bx0{j*z7cq?ffvuK9ivCwjWW*C_c;sa8>)^O=&y zQ?d+gC*M7z2RlS~sS-6gpUG2r56&&>-q%$@9Q zNz`B;ODZWIsYDG|OmQ@y)M%s=x;`u$egebQq zMNJ#i(MxU~x|ArlrA19!hIlJP+GRz#EhlQ)@|@wZLZn?ml-r7;rny(|<->NsU>#QuJx^>zZX^qOV(i*lB<@5S> zaxzt-hOI2>_miojzMVEs)UZ`W{k9tMyuO{bx~O5l6ZP8~s#~Y6DQa*sRceF&@cu|G z=|T5Sp2)qEQ(v^_Q+=ToDCuGBapx;H^*xOJ)4n??v{Al0DKuzhw38#=Dzw4L5pP`5 z2wgR4ke`Tk7-hy6SBIx{S~qE<>YRub8niyz$q{dZ4!7s=HcT3!8zl`|jXW0MYVzGq ziF~)y82oR$wuWemji+4}z}_TI*h<6+yrS8hu+>Wn58X^O-8L7^wzaXsemF0)h*>LY z)DzkUB7CD!f;wfXRn~=ioNO&=S!F$G%rcR0J?gflD6>uxzQ@S79`)T?#J6oxVZSF{ zPo&*el-VCdh5eEK?TNHCQD)nTlDGIeeO?U@or&CAe4Re8;-S;iI&H7A)NKb*Zaa#a zoWGUISGS!-x$Poqawb9((Ew(Y07O|l81>9)UUwjH3lO|pri>6{*x`e-(%hj}fB@KioX)W_*z zNt(JZSg4?H1=`s{GgEIUGZblZ`lK08V@%Z^qaJ$8)fF`FcsW5+6w z9y?C-m>n;gV<#w&9y?L=n4Kh=V<#(*9_tZ3W~Yee*s02+%T5z9cO;t0|5op5-}ipH zXo{U7nrRK?(Pd|frr2LZGwm$p(Z%UusdcB=Iii`i1@An6Ms(V_r0}Oer)|mGZ+P6l zom?*?g3cqi;gq1x*@!U9IyrAF#p|>S6t9!Lhix`I^0<&ZhDRR1C#^q+ zYPKzD7Yw?HwEm>2+r^|^Fz648*U8Sr6tB}RQ9Qg&D_$qN6Z@`x#myX%S4%7E-KiM=w~ANXnhw^W>@gc zUNQdv`pIZcnO!Af6$qABiad4|Wp*|8R*ITmBVztV#Hv5V>$KfP4ZBvMopzn5Vb_cL zZEwoL8;AR7Us6y%%GXV6@ID&fUD*eE3u5gc*W-bc_>y`y?K;mu3np8IY^duxXG?`_0;D{47`+~%WHBiP?K4`)O; z?Z@>pAEg>m*&mwU$!=%#H6Ljw*&X!$e59RZccRT7+BB}``9sSio{#44ig-?cjd)If zi+D~GsheMu-Rz-E)W;smF>&4V%n|k3-MV7grzB#Zl8Ajua#4|Lt&2`XJlE>0PG= z*V=Az9h@m*l_*c|-MHG>zc0!-<*q_J|G)ZyhF>CFHwHTpO2) znB5}ZUE+@aO_bXlQIn(fe1E845iO#elLM2+w>DYsWY=%Xt--F}ln3WXh#J;5DCN;< z6;Z?5Mg5#1nCx|OhG3!wX9y-@Ze&oK9ms5V7iS12n!*`^iDq(!V6Pp>JHCrE1QSiM zc||ihLomggWb=upbB18jX4?XaH;FR@Q(D$-i)PzGl)!zi%;e-ip8lp404SKUw`DWC}n1izla$JQNbyJy`=EaQKHNi6|rsv%Zo=I*NRv-g5|{{ zkLyLOL&4tSk;md9W-CMm=L+_c!t+>Cl-U>&Yu<@BnzXEW7qRAD)U;)ZH=49{&IU|` z&kzycqbSv4QN9~R89S-R@D148vG$A*=6L~ZK90x0)5x-5VTcA8RrEit+3VUw}ZKMYxX-)W^0J}mWAd0 zB9A*ne9OY}ev!vC5&xpGw_oJ3mMG&~!K4+OD_CjWFY;Jd#L9G0!5IaEV`jT*??XPb zJ&v;ng7{ziK?+6t5b~Mrs(l3c%=S3@I1$<>DHJWIq$@?+-zCb}>D|ld)!Y7WB4z_9 z-%8Q;8;CO7P*m7Ply9YI`|%?81C+GF?#A-OXqS6L8N0-L*}dj%f1ijwN!Xhh?XsyT zv&}>W^Q@KDiP0`wh*&uNyq%L)@OG}W{uX&`FUoj3C#~Qt2#@D882>8i3u^gW%xXMFzHdYcW{5I&fBTmZ zujLb>jCVkVc>V<5NyJKg5q?<6?F~wR9~KcimPE`VV)@I+<0%ne3bFiU68h5ZS8Uq&tW6lJ!Th~382ZO`b-FH8E0TJ9Nr`8C>05!x*28$w@-(0)qw zRg~{p5#QA))mKrz=SA$EqAXuU`SuoNwvVW=eJRUVQNH~|nN1Ke%Y^0kB99kEtmDS= zdy&V>BG!sy@4d+508wTWMTH%Rz4s!I{}Zv6M8x+zEdL|&ctw=4v)xbn^S*pd#Q9*@ z`$yz)h$yo|MTH%Py?;a=bx~%27O{67%fCh*Z;05tj^$q?kGDjuiN@Zqk;f4t{yB&W zI|_ThMjl6tGCM}ZH$%p;)fmyTqdq8ONB!iEYK&;#5oI=MQ2WSgeB(P-#6K2MVaE?@ zU!)q}{Z0^NcA|(K=9K>3sKS)$y|7B%f0S*hE(qTJ3CHRBvREb}(- zbL#gZ{4Pga=TxIuW@`6Y#VKgCy5~U5HT4~U*4wQiZb^Q(J^nt!$U+6 z-Un#$c_ZErq6`la{_ohwG(UZ!!^)GQ%$^bz_B6Te z8YOr}#Qq}@`;UlsVx)ae#99&&@2y09Q+iR9+e@M*XCk>}A3?p$|G^cp(qo0_F?&Tc z$6kfjBNU&bB7BaDX4xF-wp-Ma3oM9l+m$iQA9&lhiZXkHe0Rf2-QE=C_Lhiw0cy0H zdFb0B)<%h%_D(7@^ONt2SZN|+Oh7$$i|Y?J82s1ueA$K(P*con;T#x~4;EGL@CH_oKtZ(TH%dF#n` zy?MNq=o+VqtU*Z{Uu30CwJ&+=j*qf@CBlD+sIVq)-SJVDZ$#XeqQbr<-snjCUlE>L zM1_4%Jif(Kj~_(bm!g8RI6bYe_3J2UP>ZKi|h>VAo z94yLgh^Vlk*gHCEIj@LyEh1J)R(f0Z@$0^IvC0iC`}oz~IvQ>78Kc&ywJwRaw>d49 zG`^ZIoiu0}N;M(Mx2%X=DU@nLly7-aX7f>&2~ocJMfhSBvA&VAOo;Lg6VZ~Q0?#9D zyqUaLR}?XmfaL=skFg^BvtsXn$YX>kvyr007RKHIk;fvU%tndut3m%B5IxO#siL9u z^a0V+E0gcq(bKDln0p}KwWFt36)}rLZfi$RFDA-uaZ%GoliS+S(@Th0OCoCG$)wHp zk6NxS;%o#g?;o{XL&Pi&_V$ljE+t}@kf^X_u(yBIa#<1mAu4Q5dT_sZ!mULQ?ibIs zwbAwsZ5_0ILz|a2I4Z^<)sp6;HI9lm&hm4m=SJOD5V3Ma)U=i6O3#hDjTPm#vZ!gR z5O1S+=8O|@K7^>S)rhxIJabkT(FUTz)*#;Ek#&Xi1JVd!|AZpr%vcftK5xxXOP1~4wUL$-7h;rLh)U?fr=QXO^ z=AzuT5H)Q};`!5?JvyS?wh}dMYvTFSyKdWv@FgIkC0S?oV!TPl@vZvBcvq~7_Ht;e zp}id1wsZMBm%kDJAj0FUsIb~xgKa;qNxtEV_=YPgYzN|<9cgzIWww)uudl>AJJRkV z%B)LN*sh9Kx7|d!?JjEC9*W1ePf>1rikh|;@x07+>lSfdxu|LT5YNk8w|zyq?I&X2 z7;R8Q8~lzoU>=Bf=o)BWhPEc!m!YkN_H}4$qkSEkpQhRjZC$ixXzQVU725h}Uxl^- z+DoBri1t!w6DZ$P(N_D5@WUc1Y~ozK_Efahfg=3JiV8bO@#=Q4D7QmIO*>Ta>UNkY zx4Nil>+-bNj%QOBo`@1nvGsXcY{#>y3tvNt@P|z3_7QI*5v!00-9F-NESiF^p=6~S zA3}*(%_1wTW)bz-7P8W9TZ;OuQ&zh1A(Sll;SnfVso6Fn{2|Ks9`&*^qqJUO6}ahn@}nXySqf}?otUl@g|horGYo0HrC7g*midj zb8dw0K!4QmCX|So6UyhF;cIr1h<)3l!g?s5f2F9|DI$E{iVE8k%R5FMdx@A!!}5-i z$KE1lPO!IQ>p5OIr!yL%zt*lWcbdw5HwV^F;PMwB$NWpc-$c>7(5y`!U~ z7l|^vSX9_0SUx&RdZ~!{91-(5#5*R^UM^xjM^xCA#5*R^UL|6lM#MY~@g|YBZhfNM zt`#-yI^sYR|)s32pRiPEG?9Z)i&fioU-Ir zh?@2axeccTc+(X%?KSdfA>Z6y7qN#3%Pr)_?l=*587(xNw!&97?J}Ge%Iqy!&TOWr zu(xHI?*XC$Z%n-{7UjE<@>!Jc9a8vHDz|qyJTEi8Nky#H5HY_ycWNuvYKT~?A!=IN+^MbVRuSdaE^1l_@%(L7 zw?U%Z<`Ok+ZsPgd3ZI#x+y;x9He~KL+n2O88!F0dUJ>&&bNAZ5q-Fn%hi>_2Cf zg@{!aBIZ??!9Bm?Gtqxjin`q`%58PU!;6OqFCL<%Et1mm_2C{;ToC!*D`MpZ@h*sb z*AlVvLR8@2ET!O!gebRl6k4}+MY*jfYH}iZt346^1;*oF;EC`rurb<`p>2ZpWN4eB zJs#R-Xpe_>KhMe5c&9ud%Ira&n62?nc}SGm<|r>j+AT=?LZp3|6m60A5fR@ZNYNH) z9}}@Yg0!ziTK48Jes+%uTcN!k+SX{VhqevctD*fK?bXn>MSC~2KcKxE+8@#03ay6r zR%qLy%?xdOw3(sJpj0hUzQ;wp^C(qIly9({wDFp#C?t@HrKejXC@8WkhEhW?M9?!)fj2V zCyl#%ADhQBc56{)+lbiTqj+`OR+QTxL{0mn;?=Dt%56JQGtSbu zCT2WL7Nhqdq6)gwEfV|3vB{g7TW%3l#&z& zpfy69h}HX^ z$m1swU(>L>VdU{Y5wj%N+c5I@vxr#|QDH}5Z^OvrND;o7MTITNwYye;vI#N5otU_P&l@JyFD3 zAyHu`WAE$e)gDo1r-%w;ySu#~d9;W!Jo5GW>P&jIO~ecu_TG;?P7`I;D=KU<_TG;? zP8ad7TvXttug%6sFSLs?y!7?j_~?Z}B4*IAH$HmdOc87MMTMP(z46ftXN&N6BPwiZ z+J1cW!ZIZ-OD~L%UN~1)>UN%p|MsG$oi8i+yAkDfp@=={lzF2l{oEqHEmG!Uf`&>*0ofB{6UiVTXB(aR_mfdGPx8YZC(!uMNi zuXA!!zwdkhc>_<^v)5jG?eXk$?%DgCGu|2Njd(uH@|ftXSNiaGnB{S;Gj{$sOUrfm zJIwO9-dV5Q;4Cfs(e{T~FYF()1L%drtQUUbUJ~+CXZ>=cvq8DZy(Hvk&idu&&IV-? zWq!-X=?>0V-K5NK**Kl-tXFQv-&;0LZ*j&RW@l;n1^(W$aoX>!S8j90uO~b|XL;=8 ztXFo%^K+KRF3#9rjKAkBk2{?8$}gRzk ztux-ogTKSA^jn;9mFp}m4~^8f59t1!hn@AwBhCioQJ9X-DtXLVpZvwyfTXz&n{Kg> zJL{7toDIm6BS*<}@~x7mob}1m&IaTe>}FWnzdGxaXPphmR_tb2+P^vLljocb$loc! z{+9N6XMOU5vjKS#rblg+3^?nPmz)jA%g)Y{SDf7=|8VxDyb4p#XUS{M?vZ~w`;vEI z>TegFsrPZl-5z4Kh0c;UoZTaDI{Q-IqDIA5mbabt$ve&l<+fH?>Xy}_ni&M2iP5KX+Lz_Q=Ik5PR<5oXY8h0+FhLW$*#@@WH;=lTH4*6^~oO226&5V zHtnoO_kPZLc_-?gw65w7aMmkR@u&U4EZ~e;z!^`{6mGEo;0}7% zte5wx?nz5(9tSz=m3{H2ZBJR8Q5I+Hf5D%&eYt$q8T((HrFrjaHf^B(zTu1=6?mR% zc}#akzWCF&B41}bapNp4-@u=?758|YagWCtPtxFdAIoEgGoGZu^FEfx!OnW67=Jnr zc;dzxcFx#+fM=bU5RQ8)s=b z0)INj`F-w;CtsYUdCO}yV@=!Y2xq;#<#kU+nCiaitXGc0pN>g>pF86T8E0uJ!Jm%F za+&RnCtsZLYn9H@ygfLZv!v#+&>2rz;rU?8W3e-SJ>gH! zrmSf?<5>!4JWGK;J)80tP-i?#;f%M);CY7SQSPi)D)2nR@;KHRzn<_n!}9pHvtId* zv$R}@zZsUtMb23JbjD66JkPW|mN{dm6P{;U9>+Oj?Hzx5W@nAm8Ed4@(sBv@^vqr^ zmpWr5-C3Hq{py>Iw5?V+#^VJDjCu2JLr@wdBm09ZX9eV=ehh_rhKSXY4g_#`7BPh1C&fti3xM zUTCHC%J>b2zh|t4e&>wmE1dCs1^%9~7W#uT)-{~*ds592you%b39JQ6!Gihh68#qhL6WASR zX`gh~D^EE~%hT8$XK9~t#+te_p0RT~?(;k2X$faME#Y=NE#Zu(C7cb)3)pFy6Y`?7 zei?Aa{ax&|%)Hyd8TWUc=^LnX60Gp^wnr*GRX>O*5TixK;_?V^6uy(Husz3?SgXZ`YT zXY6te{#YqIJZ47(&*(b2zkI#jjqh^S$a4T2<$Aj>&li}om7&WW$&T<*Gt1=2EM;SO zf5ckV6{+rUh6TnaoigEwn`j3rFN7AJiw--*v|G8qRoLqi|zhvOr@$aK`f* z&UjwK?Go~lvwr#5*`RE5yM%n=tY1ELHYlIb3wr&>TTh+wq=mDzd_gbh^5L~R zMg<*DP>c#`6O!$$pI4#=-JpzcJDz=T#*%db2cbNZkLep&iZA7vq70i`6gL?CpqJJ17~U3k@8Kl`c8Jna|F&< z?{>R{?Ch*xc5yZ+ySiOMc5}uP0L}(wo#e>Hw#s;#vqs)=%!<3MH=ZG^q{A9{YHdT- zy*8dtmFu(awNbpD6qi`qvz;}{Ii$VB(rzHFvPLy@uKOUs_4)J|jfa@H$*JLC5j z^TEk>mMo3gJZ6TI?JQY_uFYcS$7}(yZ5F%Fs8Q^#(wzs)VuR0r)g~5(_=xgYHZ2k^()++}&lQGW-qzg?5@U6StH*g z$dT`xoxaguStDz;dyz`h>Kpx)HQHPBFEcxRi@vf(xemL_%^4OUNu|{c@PI zK{?#*c$&i*PjfiqX%3Fn4mnxem0)Ls zvXr{D(^d&t=B!^Tow3qDFI;K;@iS+Qy!(AGMvC^w&Gd(|M!x))!^*enZgtkk*O&HU zl&P*CJ7tY>9QmfK-$l^bvA4omT26GkgsgJLQycj1L>cd&T zoZ^h9K4`0y^;?ZIR(PGIrH-~rS-;ggMyz{Yq2Cj+T3*Q)LqZ-a_+m(4SIYO?-wL_J z*_CpsvuEWp_qReWcXp**;p|ztg#InCp1#x>cMa&@0_*9^o%QmyksK*ByDOcss!A;H z=%kOn?~MKT#Evw(tDW%%Okzix-4C7do1NJAtp|VXj9tLQzHdEvy)#x-sd@5U{bkta zjJpAhlJ~7wf8>m{RA*_qmQnJ)_3DqE;n`VQuB2U(@9O#dDrcg$Z%{+?Sx?sCTWQ=ART-JV-Q?s3*H_c|Mt`>>lp=@art zXZ`XgXM=J-b`vOlLjLTmUmkGAy%9?Fp7rW)ob}3PO7))g>TjL(^3|CQSsm7^zjDSM z0`hpz#{FNM^-9`VS{^5l_iWrh;jCAlbe5Ja^k9dL`v;xzwj*b0d6*vTuyOy0Gj=pO z<6a9TeZ|WB2WQ-Cp`@=^neTB%A5qfeOL_$S-WfagDc>tr=I5OC%HN%(<$22Yik0~V zXT9>GGu}Ex`I0Z`@$s}X-a6zgEq|qa$*CIqtg~L(>Wt?@^$2}QkIUsTTcOA5RMoxa zB}m9Wo%PG>&IaWTFF``ybk;9#IUAG#FF`_Ha@H>|JL8!FFF`{7;jCX?b*A6o$&q<> zeB9@Z-LACXJUc%AhkWkpDRAmyetc%E#F0>QX|sIqR2CoDIsS*y-vLPY*cb z=>cbhd>JT*J-9kHwm4%a0`=wXbLbv&#w(k@R~3q9+Mc}R1!7JAAVzp-hJr)Z&s z?CGpu_Hs5Td(#?E(LxE?$63GZ>x}0sXpIyt#Pb!-c)r3J&sWeIDO!lFUU`m^mfA7+cW3+-r!1v*4DRo&R}OH->N;g9wPWyW&RFGkmX?z_@=EO( ztcuww9D}8H3_kDqvftJj`)xg6_S-t^mxDaFgnZpuzkI{lpiJ}J5;ENxPdqpqlo{CR z>SjV_I_sB%oejz%*y-wKLJoDt^9#Iv)B*PQk8Ehdgt>(!T? z@oSbmp0II$j5FTW=!}&|@_53={TyekJUUCuVf0{!jr+r$^~w>>(sCp{*kR-To6cA( zcgDS8O1jO;{JJyl4O7x>R^~UI@x2Mkvdzjj&l&sCov|OCvTU>REpWz8Z)a(~dXyud zS{`pZ>*cFQ8+dn_9#Q{t)+-C~_o?Nv$XTx}cE*Y#{yw!l%AK*I=qxSOjF(UCS4U0E zY8g47+OLj(lkaC%fUo2f`lCBjGfxf z2BnUCTWsvs$E<-8wAk2fM3=DGrkFJoo3PmTDb*WRz7L#nmzYw$VdeXeGk&vEmN%@0 zRyyN7kj~O_0%du_TIfV)tQ0!qeFfxOWhGb>vldEFWhMBCeBZPZeC({3uRLwwEtuLz zpEzR=IJv!PB{(Qv;0VB+;N~D``Rpjjx+8mJ7c#s_1M>D`E#B1 z%6ZPxvI)EWEbaNu*azT@UDVj^XKBCVj9t{u($dP<-OomGTg(!S;{9wCU*ulcMeU4T z)XunD>t5JJ?TlU2&IaXD?6gJ+xy)I=T<&a8uE0)fl#nZ(^~+Vx2Ic#1S0z7i)+bjx z8<1<>jz% z*_U#Y+wnySXZOg@oqZ`cW2f~!OKx#?kKF3)OZf$MTHmvz-`PEKo3k(Z;+ejWTW5w* z&RFGP+&9?~Fvc1Cknz`KN5CD<*oW+leaQH0vLoPE&e(_SEX~)_a%8pTG0qupq{8!R z%VWGVe*fZcwdJwd8EfFq*oTb2)t1Naov{zu8P}6|ZnZonI^%j0&#jin4$gSXF#cM} zgB{7v*pcjvUnlr$B@cEaJ7Y((vq8SJmLtuU$7E-$OyRlN^4Q54JCgC&Z1uR`8EfUv z*pZCCW~;{*XZ#LumgXyMIdY2Sv5T`_zR0#gPO&_8bH*=M{GDQXJnXDj9&yHXJN{0w zJRWn#b-S~)?2hLe%R|4fri^`-c&@QLzT%8u*7&QjJRWz(dv%?qy@XS zv1)|p7RzHVXRI3GxyAC>#~Ht7@z+8g3HhtDetFgzSE~4HArGF#bJj1=Ipb}E*d0q*67qS>{!8q!mhTs? zV+}lJGA6{9OV*ei-g>GtdbTsxz@4!MK4t@NLe=Yv9gU19v-S zM`z5A&R7E z2RSQ~uRGf$--u(Uc?wGEY?Bl_+afdEj#W@+<#MnyRzc&~Lp?>g%yQN%hdE=f^O)Qz zD{MR;5wjy1u`8_f-*g>2Tw->#$Ck-4t}B<4n9cUsaygZ|8cXeqM_zvI^S8pEO0g`-@>i{FI!}xvocxa zY?CaGW0#Pk055#2%-JTXaJEH`bvy27J1duE&e;7K#~$Y?%4NATemyzkULP$qin8#Y zyO^CoTaB{PpNOuI*fLoavy+G|v{Ieyx^k(C*(n}d&KEN`WR0}v&kuG+@8@05ZXtc+ z#G%gE5l?J^*&XJrmoHadpH&c^Sa-%w_q-8#qp%ytmn%2&wIgLmp(`}q(dY_ISIsfF z#E$72XS`p}8NW?A2A9~;UGJ=48k`MEquZ5BlQVuFIpcSu+m*{2XY4z4#`QSIYPsdx z#<5y%c_duN8@*gtE@v@^Jz}%j`k0-~Z1#xFW*y}AC|=m{7PAz2Jc_?T>2w{xielF7 zv1wULZjV_BdSZ4e`95Z4S?4--TgU8lk1dxo@VCTfnlqiTi`p5xsI8Vd`<(5JUDVFl zb-*09)Mm31XPfv2=$^cBL1(i$&Nj&g@-4SKHd>=l3cc8Vw zdCn5D$yvXgAIDyRmjkVC-*(2^qMY#_db68(bXqQQRxaOl#!l!s_F_w+W%-`7Ub)0s zS}rxaNqD);S-D*9j5W}n z#VyX#a;v7Dsa}5JjNiJNVy1fOS38Tn%~@J*r!3c7J??PUFTZp)D0ez5mtQ&K*ON1z zBVbHE%J29q`6_HS$A_}{jJijR{f3!qFJ?H_(43{^x6EOCF~hMQbIO8jK&bG+o?ypRqaJEUFbjI0=7JrTw=lzo$=g)~U{R*z? z%Izz-sw?L!xFhmjWJc#~MZPaGqw~Ch+f~_Da5Y6AU%?Gts`v_SU_901b}RS_Zt#31 zU!x7NEBG31U{~@r+HBsVsqJ@)vtGVNyC?4wRb7oU_Cz!P9ZQ=I%G1txgS@kT`D+~e zEHmM;*1B7ru_xLYd!o%wzbyB6XJzudvrY0s9Q&fB&@amkINKyIIoraQaYLEQq|VtU zzKk2n%zH$fZIYMGpMF{H6=!Ag4`-X?)j0MwFJGDb)7d6@-Psntud6lJuV^;WYT7Q7 zYB|L;mevs$?)`@4CM# zzT7)felbPQA1$O^MOt?DJL3){URF`6a=zRf7(0#evdVhveP_JE!dbt37{~sHJXTq6 zedLUt#?A)iJItc1?Asw1#_S^I(^d8rk!|Kh`|=ZKW%8-BP4ZbB`?>kkzWlGVP4b1a zE%uFJtx=hMV_4ZHzA+r?QN}lh1KT8Dnm_GJUOI1eE0Zi|nHobi1+ zXItdEp&t50z?fYeYJ~24=vwWo8kfZEQes=}s|J?^9kcS~F}otfqU-ejn9MhjLzyQ_ zo|kH^oP$*<5m(GoC6VcC6W*;f#G`#Evz)vz)QJm)NgUf^l*-y043}abs1db7xV^ z#*ful)lD#+_VmPWtM*XM^_5XU(I`zWJDgiB`t*YIvR`s_S*eJuUoA zvU=>}j8$4^gR&p~CRsi9ch)ZlIO8t1d)6;UhdegPCGMF$$Idp%SKS|9qj0uK4s^zE zUH8XtU1$8(b+(1?O6SN5tH{guh#&Nj&r&bIIkX_2** zc@y7@4vhDa<@3@-(eG}ake?;Lc)Vcd9(*?qwpH0GVy9W`NwBO3RCjVn)3u=6WV%*#n@rbENpF0-;OITFI+VSn zEUApI(e9CzQud&-PGxT>>w;xHqvh*XM%sM78791Mj@+_($YYx2aVmLCvpm+Jn{K+( z&`mep>FA10cSgQG8LK5d6Wt8corP|O>DK4h@YJQoo&#I|uCfjJt7ZK(W#^$g=UqOv zDVxxpGfmm~=r)+$1?V=I-P!04HZL1tXIt#K#GY-j-zMJ`wC*^*)3qmKSJ{QG%jY{? zL6^^Wx~T7)1)S}B^Ev8=P2-IW?U zP3^7<4BhuN*7Ep4VCb&a5dQ{z6&k}mw?N_72qoH1JeEoTnBzi_$Kgk^1BUr2e=db8f>Oazs2Sc;6CtY@DO(F zdg3X`EZ(b_#kkI5`Mo;5=|X_%^r@yNi&$;CtXw!k2-|!4=?2 za25DI_yM>YT!Y<@z_sungX{4BQ{;`{Ch#-xb8s`b1>6dL0s6sh;C65aZT2hVufcCf z|9j+J;1A$#a1XjaA@4^%hW!oeeePJ5c~&x1U|;@Gvw#szu*h-CH7g_9GlsU1&{~N2L)gxC zk3o(F<3JG@4<=;i$PU@LvNL=a-nO>~aw>9ffy2R(;3#km`Vuf3J{Qa*zi(w1N@aGQoIqKsh&u&TgBnnaO+9FY zH-Tob8ms{=pq01;vK@4QB;iib4POg-z^UYM1~?mj4sjd7dEk6>7lMnk3*;)~HQ-us z1Gov?0&W9$g3aJAa4$aYL;e{&1b-Mj0v-jAfxmz>cpN+do&-;Ur@=Geui#m*75oi6 z2mTJ82QSbcFVP0CW#`K~$oIfU=syPAz$f5S@EQ0V{1+#U=r8?>}3U&j#gFSM1j}CHAuou{y z@V?0X!2aL>@Kx|N^amloj+_RH!A!yjBM(K+0*8Ua!4cp{@J(WHh)*^@H2tcOdTszlQ$?YzDstze9Hy@(c_FSOMpP z3&2I-d*E{Leegqk{Rnv-X>UN@g#0!IeoQaQfkQQl9<|^b*z)!)Agl|UP0&WGr0R7-La67mI{1V)W-DYqXe(whNf6Hux791n+?lz<5qT1*0@a`v={TRzvH1hcd##p{Rk;~U4*q4lyk-2==fhP))V@Br5M6lDyv9jOD zeEB+W4?K*xBf-&NHYf%2!9whg<;{u9z;R#&IDTXyZ&4n_JBIV63m+Sh-v-|USAjn8 zQ{rz&ZU*;&2f$waHbhq-}uFd$k2Rr~C15bm$gIBa2$)m>c)c;7H#UII2o>ikykdKeb<>@GPCL>=U?jNJF?K!76k#B>45%(_mK;LaZ{O2Hh zH0LaKQxzZ!kzqmp#6G_ZGRH@ORN)j=Y}mP3Uh%-bVOt^nXS^MR+Uvzaw8l{saA6$bXG4 zV1HGC{FicMabG=`^}(Vsv?Fp)a1eYZ@@Via__4@UV+zMD|sBh$VUl3hyG>cAmIc8j#}t-db=P@#l=qk#on6l}q72K;ASqS8hdj8}e6#|AhWwfqlmDbyslExUq7?xO|z7tRVh4>{cRABD@BD61kr6 zx#-VFUPSn6^w%M8Bm67$n~{IO=byo2_&I9DJ?fN{a5mwMU=#Q@xCmTaG(s)|SAlE5wd8pn@~6m~khdUz0d9leiTpM4 zcgVYt_agsD+5QCX2Y&_+fGyxb@DO+yJVHKyL8eLb6nM61l)OS&-$Z^$ojxJ{b7aahH-vb}u^F#0-@Dcc!{5}U+6LKXFjG9m+ zyG$sMy(X}4djj`8!4ZV#Oqe7qz#8-kkea~x6?DN*MXm#~16ec5nwi?*b1@$dgCGljxoTPosMgyn*iD$Za5dVxf$l$T$IG!8lL^#)Ao9 zBAA5D?qL6kIr25+!4t>GY~&)a9NqC?6}$nogLPmd`0hlmVJD81tC4-ko51bhcf{Qf z{(}C=iFvXW-OJ!D_`B#n1l!0XchY#-aZ--#1a_S?R=zrEj2t?tP)a5h$bw0EQa)*< ztR!56K7l+HY?zcS=T72U4}K~7Ymq+(ccT9_*o?2=llDHah4haj{|cT5uMqz#_$T}w z@IKfEzCg!~6Uhc6KprRng*)U)5!i7Dt`WfQU{A2`4&37ghr^Eov*C-ta`*}0WKaVd zz-rKjuXd2cSI-UwvVMmg*#N%)^n%O5)!@hAM&kRyZ+4g@kAMOEzKMPi`3dq%kh^1^ zi~{4qWUw393mgEx0S*R7?8r6vjs;SNTuAs>umYU4W3JSI#vQqz2iAaAY&wuB(wixCr#3yA*jj^84V2@IK`AAAB_mSI>**kIH0E`8bz|K1{PInq9`+;fjnLF{D7t8{O zgCoIF;21C)%q7jYKm}M1R)HGO1lm9+SO?aF^T35W70MMm@m3*l4gRkMH^6TMKZpMU z+yQYtD@Yy~4JPQGO5~n9kCAV{4+C>{ z<~;>qAt>K@2dUecYmuEN$eGxDhxp5}znbu^#QkyS(efAce@FK+cpd#G=*R9-AUp0d zLH6Hej2yg6p&Y$So|F<^0k1~ahV0pe>nm_3{Cwnhke7o#@H6mB()(Olh=Yb2rg`k)C%klAj;;#ljB>fHGW^f1bzXF@V@4?;RKJ*WQH25pw zzk%n$06zW!UdP9q;BEZA2R?>>0zSj$3y`%NUxWeqpl~eC%fg!&+&CD@(%p`a<{Q^A8`*N|BC)^;CbR+ zM!t%Cll1=r@4-Jp_X+X~@+sK8P$qy~!MK8`IyeKI3C;rR!P)rOfZPbU*~9%cZnfzO)QJ4-T<%fiNfxURyfVuFAelk5{Ep_| z?3}!8y*H<6gDGaJkN#Kfhk-)-IrX&Zor&Tzf}H7cmdojfoPkM* zn}Jcp55ds*%+7?_B4gWG8N8Z5^;J_{S8KASrbeautmRL6ZC$nL>Z)sltgEY2eSMQ= zqL_MGLrbE%({h-4T9R1RCF>4KRo6Rji)4nb%XM8Dx^=EwH>3+rrk<8+ZtJ8n=39BF z(A3kqGW5zLy}6PD)gBzkKZh%Cs7@kSUlnO?>#lBTu9N-YCxQdON#LtsYFoV-*0j}4 zB`7V4+BHg&_3bKD)+<4_DM{A%e0^=tRF^dx6?oEh$xI!FaeR+OkUrL_Lj9@6Bnp+d z3Ni|Ne#zj%;?}y&T5M`lQ>6~ng9gwDQlO{0wxg>#Y31)p*0)xyN---XND7oxAe5OX2gn|itg0y zbnDQq+fMgVGMisPBAYw1`Sm06G?L?sB?8_wZBoCUpkaQaB3Gq?{Z`U(_Ovxa9Ty{5 zbJBXw_xM8AQxVtpR^>4$j4_;Im5C#j#D<47AjI=4XcS=&=% zzQ>Kp9T|-s&syFgzY+MoiF)K9^>5bN?4pWOvx}zoWEXwdon7?&y6mDOJF|=K>dG!^ z0W;xOp??GZDscxAeuwbW@Y}$!vgoUADa-!e7N?Vs*6(@Gca^u>ZRoYFqB3(#SP@6C z=BdYhW_##N7PUvGw|~^eYrTz&#>VZDt@|x>;u+z#le{dQ&Kr(&*T2cb^q5XS)7gPZ#<)6fW|Sbmy6M)3ZfXw~M{JI;QG=O7EwDUy@D-X{>=Q6-k@{w zp=q!6w3+qLGgDNL8@$Y!W7p1TZg8QeA68~Ng9L-jbaoc;beZ{a;)}<`W-oIzmewXi zyJy<#*)b~Lt8Sl}e>f8bi%QC`<05LCwca*YdAdx$dd80YPW3TRmr)*{qpjz)zZ$&1 zhPAJL&XN9%#>v`f5aN%kY`NwCr9JJcz%$NlFFU)s{v9vJhhDC@KG8tLxBk^}EFTEk zIj)kXIJ5aF zI@rluj}y+>R^wHq({?Xlvk>#Ma9JaF;Zx^{Q6qD6^&B2G%`MbT$8}~OCfoEXBvd}L zkGKHx88Vz>bZ*eTsP(>h)yrFl{2!lowG(`PNS=D^XZq&&o$1Z({m1o%7c#S7u$vJb z=$T~>S4RI^X1$7w{Lb<=7#iPUKx!RQUWWs*(X!VewGBsmSldmng`#%bu1tqSg+G$I zYddGwO|LSeGCb&G=|T6~gzbpzk#^pG+S_kJ(df|`=YGpFI)@jH9bFh-Yj|PQKI59g zw0aG2623Jq2>Bv01+I;OS_CteQD*aY@B8O>6q9nah_f zS)k55JbOW9$)d8M@bcM<7esN(D~cB^sVrT(taMJL>Z%stO!J$)U`ff+<5gD9KEAS4 zW-lsTGFSDB7qH#cq?K#-(sF82vaAx_oRUS0G;U65rOa70w{&qi2{pWE-lF4{%`dOO zXwIS)vxDx0(xv5u7nd)$aQWhjrKQWX8ZxJR$=s^hOI6NWw19#I-SX0gqWtB@8EHR%8OOIbvK4+m7B<58s7R;r_3m2Cx zTS%IPOXesngj`1ZlxV>hm6nyvp=}o}EVKG9Dlc0=oVcu-N0}F$FlUM8yLiE}IS5(2 zc%{%(a~I%XaRq$Y(nSks^(9oWqGYa?MJi@5nY)nIt(dcD@o|feoqH_lD&~|gUc8`E z<&t>|c)DxhaZ;gamX^*dt(-GoeMfvn<#f@?R?u0hUplvf(Q0z(aVD2q`!1cktW;ZY z>D(1d=Pe6$SW3e!Ew3!m9;c#}j44@GYE6Y?fX**ps)J!!>Cy!p1SbSuIY%qEtZbz$ zn_r@^alLH*f_Yl^Wh6t$vSp<*)bfNYE3Lzp9j{HgNRXPn%F5EkB9*fjOXaeaRg30U zF4cZG&d2m|bf~ufaZ92RCbC=)K>qZgC{|gzQkJ{@@{ERDUb#|Mlq{&MSXd_7%i8WM zmeLDLmdVOlhgOv=I!;!iTe+-cxz^33jd+ej1}CWE_+L~}HrtNz+4I6!)Z;xGm&z&P zEG4)V{ydMRjyroNr+Y=rZKhLrcw#GGUZ<~3Rbrh%BMqIOuxV!Uk#k}G9`P}Ks zkS5YaDWm*+UL9_$-I!6vDhq3qxGxJ2m8~kw#onlqjm^*Aki&JMF+R$*hm+Kt`DN1&;e5m~V&|}VC6!e=Z_eYKq|S7jo#zu~ zkX(lHw_y4#EAxWlS%*|`QsLUfPS_e=TFQx1ZDzR5%pn=aq2h!(XMSl_bZXOUuZlUG z%{UM1^sMq*3%SP7^KvB#Ic+Fk?r~Moc^6$3v&MX?D~n3z&(rut&+m6|DX24*HX&#AONQmKY2^@0((c;%dBOWk&;;VmvWS%%RJs|ohY zIY-asT)TK4r(@2S__m>-T+gALm80w8OlOQYMsBH|rhSezDzi(hxioueKb_yBU?Vsm zT)T<;SL@M%jo@N%nd-p};1+NvHur)N=VlibosnHM1-U<%3Fd-FiJOW3NU##D0!^Tj zxK8Bh;6c?9UJu@YZvzEq;txEJ?j3L>d_Fh@d`P(HJnZ4Kkk@D&@)l$TawVt(w-Me9 z?g9^jYtTK8+zMU=?|=_M!CBcwlfd)DPetwzrh!@D9dySaKSXvS&j;J!7a}hPBdA{i zxE4MdSp;r^PeSeuW`en(37ihL61N`tJn~&ILfe+`ROEqR8aM`Ah^_)z2`+}OLSBX3 zzMq=VYhV4J`so_%ZUJ|JN5S*p9q>6AeRg)yuHZm$Bv=GiffjH&xDZ?eZUURZ{orx% zJa`9u4vNm9-N2Dx5m*IUz@?$Mol51Y=9b_7t!;mK4*qW(Biqko+s|2>IbQAskAs)MyWn%6V`EpaH#iVP<6o&V;8X#QIT*W2UO z)pd$Godc_@TLCvdji*F!wSgWBV}e<`MygB&nes5V{7j$fsxcF_QLbuuBKW9J)z#M$ zHp!34H7(A$FpPOib*eM6S=(G!pJ}Jz*tWhc_(H}u@XYww7y4noJRI9Lw+3Hp>Q8N~ zZ>vtFnkj@f1!%K6Ahl*1)>{_ja%B~<= z>gW-|tz>U9(QPu-srp2h4T73fgVf-vCbhP@UG3)DO==rySPP|6*PUxy+ZEP{Dnnd*DwL_+jvw?XUFTLA#q0Vw;hx&2 z#z;;-#L8*9S(ZN0+N=(0Rce{qyV!|<>_|v$vX*=M@b1pKj^Z$eoNE@UZ?7w+vtr&J z+R*gjxK*3xp|r~5w5g1=sSF!<?owRJZ3>X`THs#BtqQC)pYwGO7b=5B>Glu9iW(h925!l4_b zE_9>Rx3*f@nM_)gsMO<2C5MyBL|r{oir+Vj!%RCw6JJ-8q?b(cbF;p!qqda}3^Il6 ztk(m%K3Q)AU8VVFTB)w>v@+@xqn+4L+|#NDP(yW%m8rq!bd@?T8)`TJO{O|6T-y}v zbf7Yr8cfy)Nh?{H1H+}YTi|Zf))nF?Py++deCt5eJXDg2%8(Z_ghQS*yq2P&t~u2_ zYZ`Yf+Y)9+Lz^G%0QG~^`kU1B-rx=OZJEiWp&?nX1vII4&7txQ&7oi>O&>C7Xbz5< zL_?c2w|42A(9ql#%B7RPg}to^Yoj$Zb4m;Pt{Mu~KyskXuCi8-S!8`1wLrEMYdfmM zo61HGNR@3t+IS_b(}XmHBA6sAX$Ou%Qo@FIQ%gg#t&R;&$W*7Er5aMq-s&$^-`U<;Jk%E~0$RC{wTTq* z9Z7AJ2AT$F5lyz$G9E&+n6$DJ#Y3SjC z#AK~5?GX-zc4;?g8hX4vOon?l4dM8ZhErRL^}@qs`*dmKFw*Of#)jhdS=9}6cRkBu z9onUtI#ZYpeWH;~dJHjAOfrI-S~{gESx<|>^(sf>R1&8{Oa1wfV%<&mh}9}mDGY<` zK-wulrHw&keKH)TC6*qk4m8|>Tup^na~@n>+hgN$b$uYK*R-uuyVYw<$Z8Il)eM}~blhs@3804{ zvPI!M0oV8xSSPC~@oM^cb<%y(UaQGv4ehJ#tWxt(sbx{A4X{Qp#9RiuHn$5GXBw~P zaFbY?#DPf$qDdU741U{!-`Yf5ZFQ%Otu=w`G$3nqQe}cQ-ddk*tS@evj@6ooW3`59 zGsK7M3k_S@k(LM2%FbpBvqM_hk!FW9JEYlhFs@0kdUXKRcb@1R0k@xU@A4Emg=Sk1TrZt z3@1Hrw$!!u)N(!B!Um<5y3Xd7`q~B#6=CzDLZ?+Eahzb7){yYVI_tj{Hq^1tGw?M8 z)D|Z}u5D*Gn6$L&42(=v*EO%@yl=eD4)m5pogL^ZwVW!goC!Pi5l*m?MD+>XtRXF_ z7C@d{YqzXzXG%b~ww=wU$aS^M2qLZ3DI0cLIp^vc-ecD>Dz%_U%Uh*|nQmK|VOzbP zt5|yr3GY#|G$EqE1t%~wCu7D#+4zA<; zV{s%2(tNh*QDk9SEJ)LbcID94%U<->rz*9ADx0)|&Ra6LCe(N>j7sfumD-3VL%Vf( zUAnw3>ny%KRb9tnW9{5!)m5%0Dns5#4~Ks7b7!kcG;Q^bqL&U#GolArA{p8UY3-Bf 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 Date: Mon, 30 Mar 2026 01:22:37 +0100 Subject: [PATCH 15/38] chore: add RDPWrapOffsetFinder v0.9 binaries to tools/ --- tools/RDPWrapOffsetFinder/x64/Zydis.dll | Bin 0 -> 545280 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tools/RDPWrapOffsetFinder/x64/Zydis.dll diff --git a/tools/RDPWrapOffsetFinder/x64/Zydis.dll b/tools/RDPWrapOffsetFinder/x64/Zydis.dll new file mode 100644 index 0000000000000000000000000000000000000000..5909f0f5d6a0e0fbe2c2c39555ea2f166a41f16a GIT binary patch literal 545280 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 >-D_p5mVkhrnJFAxdJsA7pj>gWyL-`aw) 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%0Dns5#4~Ks7b7!kcG;Q^bqL&U#GolArA{p8UY3-Bf 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 Date: Mon, 30 Mar 2026 01:22:40 +0100 Subject: [PATCH 16/38] chore: add RDPWrapOffsetFinder v0.9 binaries to tools/ --- .../x86/RDPWrapOffsetFinder.exe | Bin 0 -> 16384 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tools/RDPWrapOffsetFinder/x86/RDPWrapOffsetFinder.exe diff --git a/tools/RDPWrapOffsetFinder/x86/RDPWrapOffsetFinder.exe b/tools/RDPWrapOffsetFinder/x86/RDPWrapOffsetFinder.exe new file mode 100644 index 0000000000000000000000000000000000000000..dd74f4f2dfaa98c2845947fc74ff5708f592b994 GIT binary patch literal 16384 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 literal 0 HcmV?d00001 From b64cb7af0df456cd273bab990f15f42304bfef01 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Mar 2026 01:22:41 +0100 Subject: [PATCH 17/38] chore: add RDPWrapOffsetFinder v0.9 binaries to tools/ --- .../x64/RDPWrapOffsetFinder.exe | Bin 0 -> 16384 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe diff --git a/tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe b/tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe new file mode 100644 index 0000000000000000000000000000000000000000..dd74f4f2dfaa98c2845947fc74ff5708f592b994 GIT binary patch literal 16384 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 literal 0 HcmV?d00001 From c1cf0912b7891a9c108fd043761e1d3475e18d5a Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Mar 2026 01:22:42 +0100 Subject: [PATCH 18/38] chore: add RDPWrapOffsetFinder v0.9 binaries to tools/ --- tools/RDPWrapOffsetFinder/VERSION | 1 + 1 file changed, 1 insertion(+) create mode 100644 tools/RDPWrapOffsetFinder/VERSION diff --git a/tools/RDPWrapOffsetFinder/VERSION b/tools/RDPWrapOffsetFinder/VERSION new file mode 100644 index 0000000..6d21a1c --- /dev/null +++ b/tools/RDPWrapOffsetFinder/VERSION @@ -0,0 +1 @@ +v0.9 \ No newline at end of file From 1f8711bb9f11d5db6a6c4c65be4a13b80a220a59 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Mar 2026 01:23:29 +0100 Subject: [PATCH 20/38] fix: use correct 64-bit RDPWrapOffsetFinder binaries in tools/ --- tools/RDPWrapOffsetFinder/x64/Zydis.dll | Bin 545280 -> 568832 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/RDPWrapOffsetFinder/x64/Zydis.dll b/tools/RDPWrapOffsetFinder/x64/Zydis.dll index 5909f0f5d6a0e0fbe2c2c39555ea2f166a41f16a..c747d83672e842364594e1ca9413e7ed2ffa220d 100644 GIT binary patch delta 123117 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

1^at)D#cl0+htC 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 Date: Mon, 30 Mar 2026 01:23:30 +0100 Subject: [PATCH 22/38] fix: use correct 64-bit RDPWrapOffsetFinder binaries in tools/ --- .../x64/RDPWrapOffsetFinder.exe | Bin 16384 -> 18432 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe b/tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe index dd74f4f2dfaa98c2845947fc74ff5708f592b994..312d013724dbb07747b0ce01b22363f6e2f11f0c 100644 GIT binary patch literal 18432 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 literal 16384 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 From 26f17d4f27493c97fb62a1f44fe9e09699360004 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Mar 2026 01:26:22 +0100 Subject: [PATCH 23/38] fix: use 64bit/32bit folder hints to match llccd zip structure; exclude nosymbol exe --- .github/workflows/update-finder-tools.yml | 43 ++++++++++++++--------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/.github/workflows/update-finder-tools.yml b/.github/workflows/update-finder-tools.yml index ed0a6f0..f80c27d 100644 --- a/.github/workflows/update-finder-tools.yml +++ b/.github/workflows/update-finder-tools.yml @@ -43,28 +43,31 @@ jobs: $asset = $release.assets | Where-Object { $_.name -like "*.zip" } | Select-Object -First 1 if (-not $asset) { throw "No zip asset found in release $version" } - Invoke-WebRequest -Uri $asset.browser_download_url -OutFile finder.zip + Invoke-WebRequest -Uri $asset.browser_download_url -OutFile finder.zip -UseBasicParsing Expand-Archive -Path finder.zip -DestinationPath .\finder -Force Write-Host "Zip contents:" - Get-ChildItem -Recurse .\finder | Select-Object FullName - - function Get-Bin($pattern, $hint) { - $hits = Get-ChildItem -Recurse -Filter $pattern .\finder - $m = $hits | Where-Object { $_.FullName -match $hint } | Select-Object -First 1 - if (-not $m) { $m = $hits | Select-Object -First 1 } - return $m + Get-ChildItem -Recurse .\finder | Select-Object FullName, Length + + # The llccd zip uses "64bit/" and "32bit/" subfolder names. + # We pick the symbol-enabled exe (not the _nosymbol variant) from each arch folder. + function Get-Bin($filter, $archHint) { + $hits = Get-ChildItem -Recurse .\finder -Filter $filter | + Where-Object { $_.FullName -match $archHint } | + Where-Object { $_.Name -notmatch "nosymbol" } + return ($hits | Select-Object -First 1) } - $x64exe = Get-Bin "RDPWrapOffsetFinder*.exe" "x64" - $x86exe = Get-Bin "RDPWrapOffsetFinder*.exe" "x86|Win32|32" - $x64dll = Get-Bin "Zydis*.dll" "x64" - $x86dll = Get-Bin "Zydis*.dll" "x86|Win32|32" + $x64exe = Get-Bin "RDPWrapOffsetFinder*.exe" "64bit" + $x64dll = Get-Bin "Zydis*.dll" "64bit" + $x86exe = Get-Bin "RDPWrapOffsetFinder*.exe" "32bit" + $x86dll = Get-Bin "Zydis*.dll" "32bit" + # Fall back to x64 if the release only ships one arch if (-not $x86exe) { $x86exe = $x64exe } if (-not $x86dll) { $x86dll = $x64dll } - if (-not $x64exe) { throw "Could not locate exe" } - if (-not $x64dll) { throw "Could not locate dll" } + if (-not $x64exe) { throw "Could not locate x64 exe" } + if (-not $x64dll) { throw "Could not locate x64 Zydis.dll" } New-Item -ItemType Directory -Path tools\RDPWrapOffsetFinder\x64 -Force | Out-Null New-Item -ItemType Directory -Path tools\RDPWrapOffsetFinder\x86 -Force | Out-Null @@ -81,6 +84,7 @@ jobs: echo "version=$version" >> $env:GITHUB_OUTPUT - name: Commit and push to a new branch + id: push shell: pwsh run: | $version = "${{ steps.fetch.outputs.version }}" @@ -90,11 +94,13 @@ jobs: git config user.email "github-actions[bot]@users.noreply.github.com" git checkout -b $branch git add tools/RDPWrapOffsetFinder - git diff --cached --quiet && { Write-Host "No changes - tools already up to date"; exit 0 } + if ((git diff --cached --name-only) -eq "") { + Write-Host "No changes - tools already up to date" + exit 0 + } git commit -m "chore: update RDPWrapOffsetFinder tools to $version" git push origin $branch echo "branch=$branch" >> $env:GITHUB_OUTPUT - id: push - name: Create pull request if: steps.push.outputs.branch != '' @@ -104,7 +110,10 @@ jobs: $branch = "${{ steps.push.outputs.branch }}" gh pr create ` --title "chore: update RDPWrapOffsetFinder tools to $version" ` - --body "Automated update of the committed RDPWrapOffsetFinder binaries in ``tools/RDPWrapOffsetFinder/`` to upstream release $version.`` Triggered manually via the Update RDPWrapOffsetFinder tools workflow.`` Merge to include the updated binaries in the next INI release." ` + --body "Automated update of the committed RDPWrapOffsetFinder binaries in ``tools/RDPWrapOffsetFinder/`` to upstream release $version. + +Triggered manually via the **Update RDPWrapOffsetFinder tools** workflow. +Merge to include the updated binaries in the next INI release." ` --base master ` --head $branch env: From ae426da271cf513d054150153b4e4fc7bc3d07c6 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Mar 2026 11:16:16 +0100 Subject: [PATCH 24/38] feat: Phase 1 - C# migration scaffold (RDPWrap.Common shared library) Add src-csharp/ solution structure for the Delphi-to-C# migration: Solution & projects: - RDPWrap.sln (VS 2022, x86/x64 configurations) - Directory.Build.props (net8.0-windows, shared TFM/platform settings) - RDPWrap.Common.csproj - shared class library - RDPWInst.csproj - console installer (stub) - RDPConf.csproj - WinForms config UI (stub) - RDPCheck.csproj - WinForms RDP tester (stub) RDPWrap.Common helpers (all translated from Delphi source): - NativeMethods.cs - all P/Invoke: kernel32, advapi32, winsta.dll - ArchHelper.cs - arch detection + WOW64 redirection - RegistryHelper.cs - HKLM typed read/write with WOW64 view support - ServiceHelper.cs - SCM wrappers (start-type, start, state, enum) - FileVersionHelper.cs - file version reading via BCL FileVersionInfo - ProcessHelper.cs - ExecWait (hidden) + KillProcess - HttpHelper.cs - HttpClient replacing WinInet (sync + async) - ResourceHelper.cs - embedded manifest resource extract/read - IniHelper.cs - INI section presence check + support level - SecurityHelper.cs - SID/ACL (GrantSidFullAccess) + token privileges Also adds TODO.md tracking the full 44-item migration plan. --- TODO.md | 53 ++ src-csharp/Directory.Build.props | 15 + src-csharp/RDPCheck/RDPCheck.csproj | 26 + src-csharp/RDPConf/RDPConf.csproj | 13 + src-csharp/RDPWInst/RDPWInst.csproj | 21 + src-csharp/RDPWrap.Common/ArchHelper.cs | 80 +++ .../RDPWrap.Common/FileVersionHelper.cs | 64 +++ src-csharp/RDPWrap.Common/HttpHelper.cs | 80 +++ src-csharp/RDPWrap.Common/IniHelper.cs | 61 +++ src-csharp/RDPWrap.Common/NativeMethods.cs | 467 ++++++++++++++++++ src-csharp/RDPWrap.Common/ProcessHelper.cs | 63 +++ .../RDPWrap.Common/RDPWrap.Common.csproj | 7 + src-csharp/RDPWrap.Common/RegistryHelper.cs | 97 ++++ src-csharp/RDPWrap.Common/ResourceHelper.cs | 88 ++++ src-csharp/RDPWrap.Common/SecurityHelper.cs | 168 +++++++ src-csharp/RDPWrap.Common/ServiceHelper.cs | 219 ++++++++ src-csharp/RDPWrap.sln | 58 +++ 17 files changed, 1580 insertions(+) create mode 100644 TODO.md create mode 100644 src-csharp/Directory.Build.props create mode 100644 src-csharp/RDPCheck/RDPCheck.csproj create mode 100644 src-csharp/RDPConf/RDPConf.csproj create mode 100644 src-csharp/RDPWInst/RDPWInst.csproj create mode 100644 src-csharp/RDPWrap.Common/ArchHelper.cs create mode 100644 src-csharp/RDPWrap.Common/FileVersionHelper.cs create mode 100644 src-csharp/RDPWrap.Common/HttpHelper.cs create mode 100644 src-csharp/RDPWrap.Common/IniHelper.cs create mode 100644 src-csharp/RDPWrap.Common/NativeMethods.cs create mode 100644 src-csharp/RDPWrap.Common/ProcessHelper.cs create mode 100644 src-csharp/RDPWrap.Common/RDPWrap.Common.csproj create mode 100644 src-csharp/RDPWrap.Common/RegistryHelper.cs create mode 100644 src-csharp/RDPWrap.Common/ResourceHelper.cs create mode 100644 src-csharp/RDPWrap.Common/SecurityHelper.cs create mode 100644 src-csharp/RDPWrap.Common/ServiceHelper.cs create mode 100644 src-csharp/RDPWrap.sln diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..c1dbd15 --- /dev/null +++ b/TODO.md @@ -0,0 +1,53 @@ +# Phase 1 — Solution & Shared Library (RDPWrap.Common) +Create src-csharp/ solution with four projects: RDPWrap.Common (class lib), RDPWInst (console), RDPConf (WinForms), RDPCheck (WinForms) +NativeMethods.cs — all P/Invoke declarations: kernel32 (GetNativeSystemInfo, LoadLibraryEx, FindResource, Wow64Disable/RevertFsRedirection, CreateProcess, OpenProcess, TerminateProcess, CreateToolhelp32Snapshot, Thread32First/Next, OpenThread, SuspendThread/ResumeThread), advapi32 (all SCM + ACL + token functions), winsta.dll (WinStationEnumerateW, WinStationFreeMemory) +RegistryHelper.cs — HKLM read/write helpers with KEY_WOW64_64KEY flag support for 64-bit hosts +ServiceHelper.cs — OpenSCManager/OpenService/QueryServiceConfig/QueryServiceStatusEx/ChangeServiceConfig/StartService wrappers (or wrap System.ServiceProcess.ServiceController where sufficient) +ArchHelper.cs — GetNativeSystemInfo-based arch detection + Wow64DisableWow64FsRedirection/RevertWow64FsRedirection helpers +FileVersionHelper.cs — GetFileVersion via LoadLibraryEx + manual VS_VERSIONINFO parsing (or FileVersionInfo.GetVersionInfo()) +ProcessHelper.cs — ExecWait (hidden Process.Start + WaitForExit), KillProcess +HttpHelper.cs — replace WinInet with HttpClient: DownloadStringAsync (for INI content), DownloadFileAsync (for binary assets) +ResourceHelper.cs — Assembly.GetManifestResourceStream → extract to file path +IniHelper.cs — INIHasSection(path, section) string search +SecurityHelper.cs — ConvertStringSidToSid + SetEntriesInAcl + SetNamedSecurityInfo (grant SID full access), AddPrivilege (token privilege adjustment) + +# Phase 2 — RDPWInst (Console Installer) +Argument parsing + main dispatch (/install, /uninstall, /update, /wraponly) +CheckInstall() — verify TermService ImagePath (svchost) and ServiceDll (not third-party) +CheckTermsrvProcess() — EnumServicesStatusEx loop to find TermService PID + co-hosted services; auto-start if PID=0 +CheckTermsrvDependencies() — ensure CertPropSvc and SessionEnv are not disabled +CheckTermsrvVersion() — read termsrv.dll version, classify as unsupported / partial / full using built-in INI +TSConfigRegistry(enable) — write fDenyTSConnections, EnableConcurrentSessions, AllowMultipleTSSessions, AllowRemoteRPC, EnableLinkedConnections +ExtractFiles() — pull rdpw32/rdpw64, rdpclip, rfxvmt, config out of embedded resources; create install dir; set ACLs for S-1-5-18 and S-1-5-6 +SetWrapperDll() / ResetServiceDll() — write/restore ServiceDll registry value (REG_EXPAND_SZ); reg.exe workaround for Vista +DeleteFiles() — remove rdpwrap.ini, rdpwrap.dll, install folder on uninstall +GitINIFile() / DownloadFileToDisk() — HttpClient-based downloads from releases/latest/download/rdpwrap.ini +TryAutoGenerateOffsets() — download RDPWrapOffsetFinder_x64/x86.exe + Zydis_x64/x86.dll, run via cmd.exe /c "... >> rdpwrap.ini", clean up temp files +AddPrivilege() / KillProcess() / full install/uninstall/update orchestration wiring +Embed binary resources (rdpw32.dll, rdpw64.dll, rdpclip*, rfxvmt*, rdpwrap.ini) into the .csproj as EmbeddedResource +Add UAC app manifest: requestedExecutionLevel = requireAdministrator + +# Phase 3 — RDPConf (WinForms Configuration GUI) +MainForm layout — CheckBox (AllowTSConnections, SingleSessionPerUser, HideUsers, CustomPrg), two GroupBox+RadioButton clusters (NLA ×3, Shadow ×5), NumericUpDown for port, status Label pairs for Service/Listener/Wrapper/TS version/Wrapper version, OK/Cancel/Apply/License Button, System.Windows.Forms.Timer +ReadSettings() — pull all values from HKLM\...\Terminal Server and RDP-Tcp registry keys into controls +WriteSettings() — write all controls back to registry; on port change call netsh advfirewall firewall set rule name="Remote Desktop" new localport=… +TimerTimer() — periodic refresh of all status labels (wrapper installed?, service state, listener active, file versions, support level) +IsWrapperInstalled() / GetTermSrvState() (via ServiceController) / IsListenerWorking() (via WinStationEnumerateW) +CheckSupport() — load rdpwrap.ini from install path, search for [major.minor.release.build] section +LicenseForm — TextBox (multiline, readonly) populated from embedded LICENSE resource + Accept/Decline buttons +FormCreate — arch detection, Wow64DisableWow64FsRedirection; FormClosed — RevertWow64FsRedirection; unsaved-changes guard on close +UAC manifest + app.manifest (requireAdministrator) + +# Phase 4 — RDPCheck (WinForms RDP Tester) +Add COM interop reference for mstscax.dll (AxMSTSCLib) — either tlbimp-generated assembly or NuGet Microsoft.Rdp.Client +MainForm layout — AxMsRdpClient2 ActiveX host filling the form +FormLoad() — read then zero-out SecurityLayer/UserAuthentication in registry, read PortNumber, Sleep(1000), call .Connect() +OnDisconnected() — full 50-entry reason-code → English string table (matching the Delphi source exactly), MessageBox for codes >2, restore SecurityLayer/UserAuthentication, Application.Exit() +UAC manifest (requireAdministrator — needed for HKLM registry writes) + +# Phase 5 — Build & CI +Directory.Build.props — shared net481 (or net8.0-windows), x86;x64, enable, enable +Update GitHub Actions workflows — replace Delphi compiler steps with dotnet build / dotnet publish -r win-x64 -r win-x86 +Remove Delphi compiler steps, Delphi CI caching, .dproj/.dfm artifact handling from all workflows +Code-sign configuration — signtool.exe step in release workflow for all four output binaries +Update README.md with new build prerequisites (.NET SDK), build commands, and note that Delphi is no longer required \ No newline at end of file diff --git a/src-csharp/Directory.Build.props b/src-csharp/Directory.Build.props new file mode 100644 index 0000000..83ab81e --- /dev/null +++ b/src-csharp/Directory.Build.props @@ -0,0 +1,15 @@ + + + net8.0-windows + x86;x64 + latest + enable + enable + true + $(Platform) + + false + + true + + diff --git a/src-csharp/RDPCheck/RDPCheck.csproj b/src-csharp/RDPCheck/RDPCheck.csproj new file mode 100644 index 0000000..2e16a06 --- /dev/null +++ b/src-csharp/RDPCheck/RDPCheck.csproj @@ -0,0 +1,26 @@ + + + WinExe + true + RDPCheck + RDPCheck + app.manifest + + + + + + + + diff --git a/src-csharp/RDPConf/RDPConf.csproj b/src-csharp/RDPConf/RDPConf.csproj new file mode 100644 index 0000000..59fb41d --- /dev/null +++ b/src-csharp/RDPConf/RDPConf.csproj @@ -0,0 +1,13 @@ + + + WinExe + true + RDPConf + RDPConf + app.manifest + + + + + + diff --git a/src-csharp/RDPWInst/RDPWInst.csproj b/src-csharp/RDPWInst/RDPWInst.csproj new file mode 100644 index 0000000..c953051 --- /dev/null +++ b/src-csharp/RDPWInst/RDPWInst.csproj @@ -0,0 +1,21 @@ + + + Exe + RDPWInst + RDPWInst + + + + + + + + + + diff --git a/src-csharp/RDPWrap.Common/ArchHelper.cs b/src-csharp/RDPWrap.Common/ArchHelper.cs new file mode 100644 index 0000000..1a50132 --- /dev/null +++ b/src-csharp/RDPWrap.Common/ArchHelper.cs @@ -0,0 +1,80 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +using System.Runtime.InteropServices; + +namespace RDPWrap.Common; + +///

+/// Architecture detection and WOW64 file-system redirection control. +/// Mirrors the Arch / DisableWowRedirection / RevertWowRedirection logic +/// from RDPWInst.dpr and RDPConf MainUnit.pas. +/// +public static class ArchHelper +{ + private static readonly Lazy _arch = new(DetectArch); + + /// Raw architecture byte: 32 or 64. 0 = unsupported. + public static byte Arch => _arch.Value; + + /// true when running on a 64-bit Windows installation. + public static bool Is64Bit => Arch == 64; + + /// + /// Returns true when the processor architecture is supported + /// (x86 or x64). Itanium and unknown architectures return false. + /// + public static bool IsSupported => Arch != 0; + + private static byte DetectArch() + { + NativeMethods.GetNativeSystemInfo(out var si); + return si.wProcessorArchitecture switch + { + NativeMethods.PROCESSOR_ARCHITECTURE_INTEL => 32, + NativeMethods.PROCESSOR_ARCHITECTURE_AMD64 => 64, + _ => 0 // Itanium or unknown — unsupported + }; + } + + // ── WOW64 filesystem redirection ───────────────────────────────────────── + + private static IntPtr _wow64OldValue = IntPtr.Zero; + + /// + /// Disables WOW64 filesystem redirection so that 32-bit processes can + /// reach the real %SystemRoot%\System32. Call only on 64-bit hosts. + /// Returns true on success. + /// + public static bool DisableWow64Redirection() + { + if (!Is64Bit) return false; + return NativeMethods.Wow64DisableWow64FsRedirection(out _wow64OldValue); + } + + /// + /// Reverts the WOW64 filesystem redirection state saved by the last call + /// to . + /// + public static bool RevertWow64Redirection() + { + if (!Is64Bit) return false; + return NativeMethods.Wow64RevertWow64FsRedirection(_wow64OldValue); + } + + // ── Environment path expansion ──────────────────────────────────────────── + + /// + /// Expands environment strings in , replacing + /// %ProgramFiles% with %ProgramW6432% on 64-bit hosts + /// to avoid redirection to the x86 Program Files folder. + /// + public static string ExpandPath(string path) + { + if (Is64Bit) + path = path.Replace("%ProgramFiles%", "%ProgramW6432%", + StringComparison.OrdinalIgnoreCase); + + var buf = new System.Text.StringBuilder(1024); + NativeMethods.ExpandEnvironmentStrings(path, buf, (uint)buf.Capacity); + return buf.ToString(); + } +} diff --git a/src-csharp/RDPWrap.Common/FileVersionHelper.cs b/src-csharp/RDPWrap.Common/FileVersionHelper.cs new file mode 100644 index 0000000..a76d7a6 --- /dev/null +++ b/src-csharp/RDPWrap.Common/FileVersionHelper.cs @@ -0,0 +1,64 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +using System.Diagnostics; + +namespace RDPWrap.Common; + +/// +/// File-version reading helper. Mirrors the GetFileVersion function used in +/// RDPWInst.dpr and RDPConf MainUnit.pas. +/// +public static class FileVersionHelper +{ + /// + /// Strongly-typed representation of a Windows file version. + /// + public record FileVersionInfo( + ushort Major, + ushort Minor, + ushort Release, + ushort Build, + bool IsDebug, + bool IsPrerelease, + bool IsPrivate, + bool IsSpecial) + { + /// e.g. "10.0.26100.3476" + public override string ToString() => $"{Major}.{Minor}.{Release}.{Build}"; + } + + /// + /// Returns the file version of , or null + /// if the file does not exist or has no version resource. + /// Uses the BCL which does + /// not require loading the DLL as executable — safe for locked DLLs. + /// + public static FileVersionInfo? GetVersion(string filePath) + { + if (!File.Exists(filePath)) return null; + + try + { + var fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(filePath); + return new FileVersionInfo( + (ushort)(fvi.FileMajorPart), + (ushort)(fvi.FileMinorPart), + (ushort)(fvi.FileBuildPart), + (ushort)(fvi.FilePrivatePart), + fvi.IsDebug, + fvi.IsPreRelease, + fvi.IsPrivateBuild, + fvi.IsSpecialBuild); + } + catch + { + return null; + } + } + + /// + /// Convenience overload: resolves the path via + /// before reading. + /// + public static FileVersionInfo? GetVersionExpanded(string pathWithEnvVars) + => GetVersion(ArchHelper.ExpandPath(pathWithEnvVars)); +} diff --git a/src-csharp/RDPWrap.Common/HttpHelper.cs b/src-csharp/RDPWrap.Common/HttpHelper.cs new file mode 100644 index 0000000..042cfd5 --- /dev/null +++ b/src-csharp/RDPWrap.Common/HttpHelper.cs @@ -0,0 +1,80 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 + +namespace RDPWrap.Common; + +/// +/// HTTP download helpers that replace the WinInet-based GitINIFile / +/// DownloadFileToDisk procedures from RDPWInst.dpr. +/// Uses with a shared static instance. +/// +public static class HttpHelper +{ + // Single shared instance — HttpClient is designed to be reused. + private static readonly HttpClient _client = new(new HttpClientHandler + { + AllowAutoRedirect = true, + MaxAutomaticRedirections = 5, + }) + { + Timeout = TimeSpan.FromSeconds(60), + DefaultRequestHeaders = { { "User-Agent", "RDP-Wrapper-Updater/1.0" } } + }; + + /// + /// Downloads the text content at and returns it as + /// a string. Returns null on any failure. + /// Mirrors the Delphi GitINIFile function. + /// + public static async Task DownloadStringAsync(string url) + { + try + { + return await _client.GetStringAsync(url).ConfigureAwait(false); + } + catch (Exception ex) + { + Console.Error.WriteLine($"[-] HTTP download failed ({url}): {ex.Message}"); + return null; + } + } + + /// + /// Downloads the binary content at and saves it to + /// . Returns true when the file exists + /// and is non-empty after download. + /// Mirrors the Delphi DownloadFileToDisk function. + /// + public static async Task DownloadFileAsync(string url, string destPath) + { + try + { + using var response = await _client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead) + .ConfigureAwait(false); + response.EnsureSuccessStatusCode(); + + await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false); + await using var file = File.Create(destPath); + await stream.CopyToAsync(file).ConfigureAwait(false); + + return new FileInfo(destPath).Length > 0; + } + catch (Exception ex) + { + Console.Error.WriteLine($"[-] HTTP file download failed ({url}): {ex.Message}"); + return false; + } + } + + /// + /// Synchronous wrapper for — suitable + /// for the installer's purely-sequential flow. + /// + public static string? DownloadString(string url) + => DownloadStringAsync(url).GetAwaiter().GetResult(); + + /// + /// Synchronous wrapper for . + /// + public static bool DownloadFile(string url, string destPath) + => DownloadFileAsync(url, destPath).GetAwaiter().GetResult(); +} diff --git a/src-csharp/RDPWrap.Common/IniHelper.cs b/src-csharp/RDPWrap.Common/IniHelper.cs new file mode 100644 index 0000000..c23f6e2 --- /dev/null +++ b/src-csharp/RDPWrap.Common/IniHelper.cs @@ -0,0 +1,61 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 + +namespace RDPWrap.Common; + +/// +/// Lightweight INI-file helpers used to check whether a specific version +/// section exists in rdpwrap.ini. Mirrors the INIHasSection function and +/// CheckSupport version-lookup logic from RDPWInst.dpr and RDPConf MainUnit.pas. +/// +public static class IniHelper +{ + /// + /// Returns true when the INI file at + /// contains the section header []. + /// Mirrors the Delphi INIHasSection function. + /// + public static bool HasSection(string iniPath, string section) + { + if (!File.Exists(iniPath)) return false; + var needle = $"[{section}]"; + foreach (var line in File.ReadLines(iniPath)) + { + if (line.Contains(needle, StringComparison.Ordinal)) + return true; + } + return false; + } + + /// + /// Loads the full text of and returns it, + /// or an empty string if the file does not exist. + /// + public static string LoadText(string iniPath) + => File.Exists(iniPath) ? File.ReadAllText(iniPath) : string.Empty; + + /// + /// Checks the support level of a given termsrv.dll version against the + /// INI content string . + /// + /// + /// 0 = not supported, 1 = partially supported (Vista/7 legacy), + /// 2 = fully supported (entry found in ini). + /// + public static int CheckSupportLevel(string iniContent, + FileVersionHelper.FileVersionInfo fv) + { + int level = 0; + + // Vista (6.0) and Windows 7 (6.1) are "partially" supported without + // a specific INI entry — mirrors the Delphi CheckSupport logic. + if ((fv.Major == 6 && fv.Minor == 0) || + (fv.Major == 6 && fv.Minor == 1)) + level = 1; + + var verTxt = fv.ToString(); // "major.minor.release.build" + if (iniContent.Contains($"[{verTxt}]", StringComparison.Ordinal)) + level = 2; + + return level; + } +} diff --git a/src-csharp/RDPWrap.Common/NativeMethods.cs b/src-csharp/RDPWrap.Common/NativeMethods.cs new file mode 100644 index 0000000..d10505f --- /dev/null +++ b/src-csharp/RDPWrap.Common/NativeMethods.cs @@ -0,0 +1,467 @@ +// Copyright 2024 sjackson0109 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.Runtime.InteropServices; + +namespace RDPWrap.Common; + +/// +/// All P/Invoke declarations used across RDPWInst, RDPConf and RDPCheck. +/// Mirrors the unhooked Win32 imports from the original Delphi sources. +/// +internal static class NativeMethods +{ + // ─── DLL names ──────────────────────────────────────────────────────────── + internal const string Kernel32 = "kernel32.dll"; + internal const string Advapi32 = "advapi32.dll"; + internal const string WinSta = "winsta.dll"; + + // ─── Constants ──────────────────────────────────────────────────────────── + + // Architecture + internal const ushort PROCESSOR_ARCHITECTURE_INTEL = 0; + internal const ushort PROCESSOR_ARCHITECTURE_IA64 = 6; + internal const ushort PROCESSOR_ARCHITECTURE_AMD64 = 9; + + // Registry + internal const uint KEY_WOW64_64KEY = 0x0100; + internal const uint KEY_WOW64_32KEY = 0x0200; + internal const uint KEY_READ = 0x20019; + internal const uint KEY_WRITE = 0x20006; + internal const uint KEY_QUERY_VALUE = 0x0001; + internal const uint KEY_SET_VALUE = 0x0002; + + // Service control manager + internal const uint SC_MANAGER_CONNECT = 0x0001; + internal const uint SC_MANAGER_CREATE_SERVICE = 0x0002; + internal const uint SC_MANAGER_ENUMERATE_SERVICE = 0x0004; + internal const uint SC_MANAGER_ALL_ACCESS = 0xF003F; + + internal const uint SERVICE_QUERY_CONFIG = 0x0001; + internal const uint SERVICE_CHANGE_CONFIG = 0x0002; + internal const uint SERVICE_QUERY_STATUS = 0x0004; + internal const uint SERVICE_START = 0x0010; + internal const uint SERVICE_STOP = 0x0020; + internal const uint SERVICE_ALL_ACCESS = 0xF01FF; + + internal const uint SERVICE_WIN32 = 0x30; + internal const uint SERVICE_STATE_ALL = 0x03; + internal const uint SERVICE_NO_CHANGE = 0xFFFFFFFF; + internal const uint SERVICE_AUTO_START = 0x02; + internal const uint SERVICE_DEMAND_START = 0x03; + internal const uint SERVICE_DISABLED = 0x04; + + internal const uint SERVICE_STOPPED = 0x00000001; + internal const uint SERVICE_START_PENDING = 0x00000002; + internal const uint SERVICE_STOP_PENDING = 0x00000003; + internal const uint SERVICE_RUNNING = 0x00000004; + internal const uint SERVICE_CONTINUE_PENDING = 0x00000005; + internal const uint SERVICE_PAUSE_PENDING = 0x00000006; + internal const uint SERVICE_PAUSED = 0x00000007; + + internal const uint SC_ENUM_PROCESS_INFO = 0; + internal const uint SC_STATUS_PROCESS_INFO = 0; + internal const uint ERROR_MORE_DATA = 234; + internal const uint ERROR_SERVICE_DOES_NOT_EXIST = 1060; + internal const uint ERROR_SERVICE_NOT_ACTIVE = 1062; + + // Process/Thread + internal const uint PROCESS_TERMINATE = 0x0001; + internal const uint THREAD_SUSPEND_RESUME = 0x0002; + internal const uint TH32CS_SNAPTHREAD = 0x00000004; + + // Token privileges + internal const uint TOKEN_ADJUST_PRIVILEGES = 0x0020; + internal const uint TOKEN_QUERY = 0x0008; + internal const uint SE_PRIVILEGE_ENABLED = 0x00000002; + + // Privilege names + internal const string SE_DEBUG_NAME = "SeDebugPrivilege"; + internal const string SE_RESTORE_NAME = "SeRestorePrivilege"; + internal const string SE_BACKUP_NAME = "SeBackupPrivilege"; + + // Security + internal const uint DACL_SECURITY_INFORMATION = 0x00000004; + internal const uint SE_FILE_OBJECT = 1; + internal const uint GRANT_ACCESS = 1; + internal const uint SUB_CONTAINERS_AND_OBJECTS_INHERIT = 0x3; + internal const uint NO_MULTIPLE_TRUSTEE = 0; + internal const uint TRUSTEE_IS_SID = 0; + internal const uint TRUSTEE_IS_WELL_KNOWN_GROUP = 5; + internal const uint GENERIC_ALL = 0x10000000; + + // LoadLibraryEx flags + internal const uint LOAD_LIBRARY_AS_DATAFILE = 0x00000002; + + // Version resource type + internal const uint RT_VERSION = 16; + + // CreateProcess - STARTUPINFO flags + internal const uint STARTF_USESHOWWINDOW = 0x00000001; + internal const ushort SW_HIDE = 0; + + // GetModuleHandleEx + internal const uint GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 0x00000004; + internal const uint GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 0x00000002; + + // Error codes + internal const uint ERROR_SUCCESS = 0; + internal const uint ERROR_ACCESS_DENIED = 5; + internal const uint ERROR_NOT_SUPPORTED = 50; + internal const uint ERROR_SERVICE_ALREADY_RUNNING = 1056; + + // ─── Structures ─────────────────────────────────────────────────────────── + + [StructLayout(LayoutKind.Sequential)] + internal struct SYSTEM_INFO + { + internal ushort wProcessorArchitecture; + internal ushort wReserved; + internal uint dwPageSize; + internal IntPtr lpMinimumApplicationAddress; + internal IntPtr lpMaximumApplicationAddress; + internal UIntPtr dwActiveProcessorMask; + internal uint dwNumberOfProcessors; + internal uint dwProcessorType; + internal uint dwAllocationGranularity; + internal ushort wProcessorLevel; + internal ushort wProcessorRevision; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct STARTUPINFO + { + internal uint cb; + internal string? lpReserved; + internal string? lpDesktop; + internal string? lpTitle; + internal uint dwX, dwY, dwXSize, dwYSize, dwXCountChars, dwYCountChars; + internal uint dwFillAttribute; + internal uint dwFlags; + internal ushort wShowWindow; + internal ushort cbReserved2; + internal IntPtr lpReserved2; + internal IntPtr hStdInput, hStdOutput, hStdError; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PROCESS_INFORMATION + { + internal IntPtr hProcess; + internal IntPtr hThread; + internal uint dwProcessId; + internal uint dwThreadId; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct THREADENTRY32 + { + internal uint dwSize; + internal uint cntUsage; + internal uint th32ThreadID; + internal uint th32OwnerProcessID; + internal int tpBasePri; + internal int tpDeltaPri; + internal uint dwFlags; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SERVICE_STATUS_PROCESS + { + internal uint dwServiceType; + internal uint dwCurrentState; + internal uint dwControlsAccepted; + internal uint dwWin32ExitCode; + internal uint dwServiceSpecificExitCode; + internal uint dwCheckPoint; + internal uint dwWaitHint; + internal uint dwProcessId; + internal uint dwServiceFlags; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct ENUM_SERVICE_STATUS_PROCESS + { + internal string lpServiceName; + internal string lpDisplayName; + internal SERVICE_STATUS_PROCESS ServiceStatusProcess; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct QUERY_SERVICE_CONFIG + { + internal uint dwServiceType; + internal uint dwStartType; + internal uint dwErrorControl; + internal string lpBinaryPathName; + internal string lpLoadOrderGroup; + internal uint dwTagId; + internal string lpDependencies; + internal string lpServiceStartName; + internal string lpDisplayName; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LUID + { + internal uint LowPart; + internal int HighPart; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LUID_AND_ATTRIBUTES + { + internal LUID Luid; + internal uint Attributes; + } + + [StructLayout(LayoutKind.Sequential)] + internal struct TOKEN_PRIVILEGES + { + internal uint PrivilegeCount; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1)] + internal LUID_AND_ATTRIBUTES[] Privileges; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct EXPLICIT_ACCESS + { + internal uint grfAccessPermissions; + internal uint grfAccessMode; + internal uint grfInheritance; + internal TRUSTEE Trustee; + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct TRUSTEE + { + internal IntPtr pMultipleTrustee; + internal uint MultipleTrusteeOperation; + internal uint TrusteeForm; + internal uint TrusteeType; + internal IntPtr ptstrName; // SID pointer or string pointer + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct WTS_SESSION_INFO + { + internal uint SessionId; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 34)] + internal string Name; + internal uint State; + } + + // ─── kernel32.dll ───────────────────────────────────────────────────────── + + [DllImport(Kernel32, SetLastError = true)] + internal static extern void GetNativeSystemInfo(out SYSTEM_INFO lpSystemInfo); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool Wow64DisableWow64FsRedirection(out IntPtr oldValue); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool Wow64RevertWow64FsRedirection(IntPtr oldValue); + + [DllImport(Kernel32, CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern IntPtr LoadLibraryEx(string lpFileName, IntPtr hFile, uint dwFlags); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool FreeLibrary(IntPtr hModule); + + [DllImport(Kernel32, CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern IntPtr FindResource(IntPtr hModule, IntPtr lpName, IntPtr lpType); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern IntPtr LoadResource(IntPtr hModule, IntPtr hResInfo); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern IntPtr LockResource(IntPtr hResData); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern uint SizeofResource(IntPtr hModule, IntPtr hResInfo); + + [DllImport(Kernel32, CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool CreateProcess( + string? lpApplicationName, + string lpCommandLine, + IntPtr lpProcessAttributes, + IntPtr lpThreadAttributes, + [MarshalAs(UnmanagedType.Bool)] bool bInheritHandles, + uint dwCreationFlags, + IntPtr lpEnvironment, + string? lpCurrentDirectory, + ref STARTUPINFO lpStartupInfo, + out PROCESS_INFORMATION lpProcessInformation); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern uint WaitForSingleObject(IntPtr hHandle, uint dwMilliseconds); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool CloseHandle(IntPtr hObject); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern IntPtr OpenProcess(uint dwDesiredAccess, + [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, uint dwProcessId); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool TerminateProcess(IntPtr hProcess, uint uExitCode); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern uint GetCurrentProcessId(); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern uint GetCurrentThreadId(); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern IntPtr CreateToolhelp32Snapshot(uint dwFlags, uint th32ProcessID); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool Thread32First(IntPtr hSnapshot, ref THREADENTRY32 lpte); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool Thread32Next(IntPtr hSnapshot, ref THREADENTRY32 lpte); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern IntPtr OpenThread(uint dwDesiredAccess, + [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, uint dwThreadId); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern uint SuspendThread(IntPtr hThread); + + [DllImport(Kernel32, SetLastError = true)] + internal static extern uint ResumeThread(IntPtr hThread); + + [DllImport(Kernel32, CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern uint GetModuleFileName(IntPtr hModule, + System.Text.StringBuilder lpFilename, uint nSize); + + [DllImport(Kernel32, CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool GetModuleHandleEx(uint dwFlags, IntPtr lpModuleName, + out IntPtr phModule); + + [DllImport(Kernel32, CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern uint ExpandEnvironmentStrings(string lpSrc, + System.Text.StringBuilder lpDst, uint nSize); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool DeleteFile(string lpFileName); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool RemoveDirectory(string lpPathName); + + [DllImport(Kernel32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool OpenProcessToken(IntPtr processHandle, + uint desiredAccess, out IntPtr tokenHandle); + + // ─── advapi32.dll ───────────────────────────────────────────────────────── + + [DllImport(Advapi32, SetLastError = true)] + internal static extern IntPtr OpenSCManager(string? lpMachineName, + string? lpDatabaseName, uint dwDesiredAccess); + + [DllImport(Advapi32, CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern IntPtr OpenService(IntPtr hSCManager, + string lpServiceName, uint dwDesiredAccess); + + [DllImport(Advapi32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool CloseServiceHandle(IntPtr hSCObject); + + [DllImport(Advapi32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool QueryServiceConfig(IntPtr hService, + IntPtr lpServiceConfig, uint cbBufSize, out uint pcbBytesNeeded); + + [DllImport(Advapi32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool QueryServiceStatusEx(IntPtr hService, + uint InfoLevel, IntPtr lpBuffer, uint cbBufSize, out uint pcbBytesNeeded); + + [DllImport(Advapi32, CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool ChangeServiceConfig(IntPtr hService, + uint dwServiceType, uint dwStartType, uint dwErrorControl, + string? lpBinaryPathName, string? lpLoadOrderGroup, IntPtr lpdwTagId, + string? lpDependencies, string? lpServiceStartName, string? lpPassword, + string? lpDisplayName); + + [DllImport(Advapi32, CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool StartService(IntPtr hService, + uint dwNumServiceArgs, string[]? lpServiceArgVectors); + + [DllImport(Advapi32, CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool EnumServicesStatusEx( + IntPtr hSCManager, uint InfoLevel, uint dwServiceType, uint dwServiceState, + IntPtr lpServices, uint cbBufSize, + out uint pcbBytesNeeded, out uint lpServicesReturned, + ref uint lpResumeHandle, string? pszGroupName); + + [DllImport(Advapi32, CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool LookupPrivilegeValue(string? lpSystemName, + string lpName, out LUID lpLuid); + + [DllImport(Advapi32, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool AdjustTokenPrivileges(IntPtr tokenHandle, + [MarshalAs(UnmanagedType.Bool)] bool disableAllPrivileges, + ref TOKEN_PRIVILEGES newState, uint bufferLength, + IntPtr previousState, IntPtr returnLength); + + [DllImport(Advapi32, CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool ConvertStringSidToSid(string stringSid, out IntPtr sid); + + [DllImport(Advapi32, SetLastError = true)] + internal static extern uint SetEntriesInAcl(uint cCountOfExplicitEntries, + ref EXPLICIT_ACCESS pListOfExplicitEntries, IntPtr oldAcl, out IntPtr newAcl); + + [DllImport(Advapi32, CharSet = CharSet.Unicode, SetLastError = true)] + internal static extern uint SetNamedSecurityInfo(string pObjectName, + uint ObjectType, uint SecurityInfo, + IntPtr psidOwner, IntPtr psidGroup, IntPtr pDacl, IntPtr pSacl); + + [DllImport(Advapi32, SetLastError = true)] + internal static extern IntPtr LocalFree(IntPtr hMem); + + // ─── winsta.dll ─────────────────────────────────────────────────────────── + + /// + /// Enumerates WTS sessions on the local server. + /// Pass IntPtr.Zero as hServer for the local machine. + /// + [DllImport(WinSta, EntryPoint = "WinStationEnumerateW", + CharSet = CharSet.Unicode, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool WinStationEnumerate(IntPtr hServer, + out IntPtr ppSessionInfo, out uint pCount); + + [DllImport(WinSta, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool WinStationFreeMemory(IntPtr p); +} diff --git a/src-csharp/RDPWrap.Common/ProcessHelper.cs b/src-csharp/RDPWrap.Common/ProcessHelper.cs new file mode 100644 index 0000000..baee9d9 --- /dev/null +++ b/src-csharp/RDPWrap.Common/ProcessHelper.cs @@ -0,0 +1,63 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +using System.Runtime.InteropServices; + +namespace RDPWrap.Common; + +/// +/// Process creation and termination helpers. Mirrors ExecWait and KillProcess +/// from RDPWInst.dpr (console variant) and RDPConf MainUnit.pas (GUI variant). +/// +public static class ProcessHelper +{ + /// + /// Creates a process from , waits for it to + /// exit, then returns true. The process window is hidden. + /// Mirrors the Delphi ExecWait procedure. + /// + public static bool ExecWait(string commandLine, bool hideWindow = true) + { + var si = new NativeMethods.STARTUPINFO + { + cb = (uint)Marshal.SizeOf(), + dwFlags = hideWindow ? NativeMethods.STARTF_USESHOWWINDOW : 0u, + wShowWindow = hideWindow ? NativeMethods.SW_HIDE : (ushort)1 + }; + + // CommandLine must be mutable — pass a copy + string cmdCopy = new(commandLine); + + if (!NativeMethods.CreateProcess(null, cmdCopy, IntPtr.Zero, IntPtr.Zero, + true, 0, IntPtr.Zero, null, ref si, out var pi)) + { + Console.Error.WriteLine( + $"[-] CreateProcess error (code {Marshal.GetLastWin32Error()})."); + return false; + } + + NativeMethods.WaitForSingleObject(pi.hProcess, 0xFFFFFFFF); + NativeMethods.CloseHandle(pi.hThread); + NativeMethods.CloseHandle(pi.hProcess); + return true; + } + + /// + /// Terminates the process with . Mirrors the Delphi + /// KillProcess procedure. + /// + public static void KillProcess(uint pid) + { + var hProc = NativeMethods.OpenProcess(NativeMethods.PROCESS_TERMINATE, false, pid); + if (hProc == IntPtr.Zero) + { + Console.Error.WriteLine( + $"[-] OpenProcess error (code {Marshal.GetLastWin32Error()})."); + return; + } + + if (!NativeMethods.TerminateProcess(hProc, 0)) + Console.Error.WriteLine( + $"[-] TerminateProcess error (code {Marshal.GetLastWin32Error()})."); + + NativeMethods.CloseHandle(hProc); + } +} diff --git a/src-csharp/RDPWrap.Common/RDPWrap.Common.csproj b/src-csharp/RDPWrap.Common/RDPWrap.Common.csproj new file mode 100644 index 0000000..ce081e8 --- /dev/null +++ b/src-csharp/RDPWrap.Common/RDPWrap.Common.csproj @@ -0,0 +1,7 @@ + + + Library + RDPWrap.Common + RDPWrap.Common + + diff --git a/src-csharp/RDPWrap.Common/RegistryHelper.cs b/src-csharp/RDPWrap.Common/RegistryHelper.cs new file mode 100644 index 0000000..c724367 --- /dev/null +++ b/src-csharp/RDPWrap.Common/RegistryHelper.cs @@ -0,0 +1,97 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +using Microsoft.Win32; + +namespace RDPWrap.Common; + +/// +/// Thin wrappers around that mirror the +/// Delphi TRegistry usage in RDPWInst and RDPConf, with optional WOW64 flag +/// support (KEY_WOW64_64KEY) for 64-bit registry views from 32-bit processes. +/// +public static class RegistryHelper +{ + // On 64-bit Windows we always open the 64-bit view to match the Delphi code + // that passes KEY_WOW64_64KEY when Arch = 64. + private static RegistryView ViewForArch() => + ArchHelper.Is64Bit ? RegistryView.Registry64 : RegistryView.Default; + + // ── Convenience open helpers ────────────────────────────────────────────── + + /// Opens a read-only key under HKLM, respecting the host architecture. + public static RegistryKey? OpenHklmRead(string subKey) + { + using var hive = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, ViewForArch()); + return hive.OpenSubKey(subKey, writable: false); + } + + /// Opens a writable key under HKLM (creates if absent). + public static RegistryKey OpenHklmWrite(string subKey) + { + using var hive = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, ViewForArch()); + return hive.CreateSubKey(subKey, writable: true) + ?? throw new InvalidOperationException($"Cannot open/create HKLM\\{subKey}"); + } + + // ── Typed read helpers ──────────────────────────────────────────────────── + + /// + /// Reads a string value from HKLM. Returns null if the key or + /// value does not exist. + /// + public static string? ReadString(string subKey, string valueName) + { + using var key = OpenHklmRead(subKey); + return key?.GetValue(valueName) as string; + } + + /// + /// Reads a DWORD value from HKLM. Returns + /// if the key or value does not exist. + /// + public static int ReadInt(string subKey, string valueName, int defaultValue = 0) + { + using var key = OpenHklmRead(subKey); + if (key is null) return defaultValue; + var raw = key.GetValue(valueName); + return raw is int i ? i : defaultValue; + } + + /// + /// Reads a DWORD as a bool (non-zero = true). Returns + /// if absent. + /// + public static bool ReadBool(string subKey, string valueName, bool defaultValue = false) + { + using var key = OpenHklmRead(subKey); + if (key is null) return defaultValue; + var raw = key.GetValue(valueName); + return raw is int i ? i != 0 : defaultValue; + } + + // ── Typed write helpers ─────────────────────────────────────────────────── + + /// Writes a REG_SZ string value. + public static void WriteString(string subKey, string valueName, string value) + { + using var key = OpenHklmWrite(subKey); + key.SetValue(valueName, value, RegistryValueKind.String); + } + + /// Writes a REG_EXPAND_SZ string value (mirrors Delphi WriteExpandString). + public static void WriteExpandString(string subKey, string valueName, string value) + { + using var key = OpenHklmWrite(subKey); + key.SetValue(valueName, value, RegistryValueKind.ExpandString); + } + + /// Writes a DWORD integer value. + public static void WriteInt(string subKey, string valueName, int value) + { + using var key = OpenHklmWrite(subKey); + key.SetValue(valueName, value, RegistryValueKind.DWord); + } + + /// Writes a boolean as a DWORD (1/0). + public static void WriteBool(string subKey, string valueName, bool value) + => WriteInt(subKey, valueName, value ? 1 : 0); +} diff --git a/src-csharp/RDPWrap.Common/ResourceHelper.cs b/src-csharp/RDPWrap.Common/ResourceHelper.cs new file mode 100644 index 0000000..85ebf45 --- /dev/null +++ b/src-csharp/RDPWrap.Common/ResourceHelper.cs @@ -0,0 +1,88 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +using System.Reflection; + +namespace RDPWrap.Common; + +/// +/// Helpers for reading and extracting managed embedded resources. +/// Mirrors the Delphi ExtractRes / ExtractResText procedures from RDPWInst.dpr +/// and RDPConf MainUnit.pas, translated to the .NET manifest-resource model. +/// +public static class ResourceHelper +{ + /// + /// Reads the contents of the embedded resource named + /// from + /// and returns it as a UTF-8 string. Returns null if not found. + /// + public static string? ReadText(string resourceName, + Assembly? assembly = null) + { + assembly ??= Assembly.GetCallingAssembly(); + using var stream = assembly.GetManifestResourceStream(resourceName); + if (stream is null) return null; + using var reader = new StreamReader(stream, System.Text.Encoding.UTF8); + return reader.ReadToEnd(); + } + + /// + /// Reads the contents of the embedded resource named + /// and returns the raw bytes. + /// Returns null if not found. + /// + public static byte[]? ReadBytes(string resourceName, + Assembly? assembly = null) + { + assembly ??= Assembly.GetCallingAssembly(); + using var stream = assembly.GetManifestResourceStream(resourceName); + if (stream is null) return null; + using var ms = new MemoryStream(); + stream.CopyTo(ms); + return ms.ToArray(); + } + + /// + /// Extracts the embedded resource to disk + /// at , creating parent directories as needed. + /// Returns true on success. Mirrors the Delphi ExtractRes procedure. + /// + public static bool ExtractToDisk(string resourceName, string destPath, + Assembly? assembly = null) + { + assembly ??= Assembly.GetCallingAssembly(); + using var stream = assembly.GetManifestResourceStream(resourceName); + if (stream is null) + { + Console.Error.WriteLine($"[-] Resource not found: {resourceName}"); + return false; + } + + var dir = Path.GetDirectoryName(destPath); + if (!string.IsNullOrEmpty(dir) && !Directory.Exists(dir)) + Directory.CreateDirectory(dir); + + try + { + using var file = File.Create(destPath); + stream.CopyTo(file); + Console.WriteLine($"[+] Extracted {resourceName} -> {destPath}"); + return true; + } + catch (Exception ex) + { + Console.Error.WriteLine( + $"[-] Failed to extract resource {resourceName} to {destPath}: {ex.Message}"); + return false; + } + } + + /// + /// Lists all manifest resource names in + /// — useful for debugging resource name mismatches. + /// + public static IEnumerable ListResources(Assembly? assembly = null) + { + assembly ??= Assembly.GetCallingAssembly(); + return assembly.GetManifestResourceNames(); + } +} diff --git a/src-csharp/RDPWrap.Common/SecurityHelper.cs b/src-csharp/RDPWrap.Common/SecurityHelper.cs new file mode 100644 index 0000000..12b7b5b --- /dev/null +++ b/src-csharp/RDPWrap.Common/SecurityHelper.cs @@ -0,0 +1,168 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +using System.Runtime.InteropServices; + +namespace RDPWrap.Common; + +/// +/// Security helpers: granting SID-based DACL entries (GrantSidFullAccess) and +/// adjusting process token privileges (AddPrivilege). Mirrors the Delphi +/// implementations in RDPWInst.dpr. +/// +public static class SecurityHelper +{ + // ── DACL: grant a well-known SID full access to a file/folder ───────────── + + /// + /// Grants GENERIC_ALL access to the well-known SID string + /// on the file/directory at + /// . Mirrors the Delphi GrantSidFullAccess + /// procedure (used for "S-1-5-18" = Local System, "S-1-5-6" = Service). + /// + public static void GrantSidFullAccess(string path, string stringSid) + { + if (!NativeMethods.ConvertStringSidToSid(stringSid, out IntPtr pSid)) + { + Console.Error.WriteLine( + $"[-] ConvertStringSidToSid error (code {Marshal.GetLastWin32Error()}) " + + $"for SID {stringSid}."); + return; + } + + try + { + var ea = new NativeMethods.EXPLICIT_ACCESS + { + grfAccessPermissions = NativeMethods.GENERIC_ALL, + grfAccessMode = NativeMethods.GRANT_ACCESS, + grfInheritance = NativeMethods.SUB_CONTAINERS_AND_OBJECTS_INHERIT, + Trustee = new NativeMethods.TRUSTEE + { + pMultipleTrustee = IntPtr.Zero, + MultipleTrusteeOperation = NativeMethods.NO_MULTIPLE_TRUSTEE, + TrusteeForm = NativeMethods.TRUSTEE_IS_SID, + TrusteeType = NativeMethods.TRUSTEE_IS_WELL_KNOWN_GROUP, + ptstrName = pSid + } + }; + + uint result = NativeMethods.SetEntriesInAcl(1, ref ea, IntPtr.Zero, out IntPtr pNewAcl); + if (result == NativeMethods.ERROR_SUCCESS) + { + uint secResult = NativeMethods.SetNamedSecurityInfo( + path, + NativeMethods.SE_FILE_OBJECT, + NativeMethods.DACL_SECURITY_INFORMATION, + IntPtr.Zero, IntPtr.Zero, pNewAcl, IntPtr.Zero); + + if (secResult != NativeMethods.ERROR_SUCCESS) + Console.Error.WriteLine( + $"[-] SetNamedSecurityInfo error (code {secResult})."); + + NativeMethods.LocalFree(pNewAcl); + } + else + { + Console.Error.WriteLine($"[-] SetEntriesInAcl error (code {result})."); + } + } + finally + { + NativeMethods.LocalFree(pSid); + } + } + + // ── Token privileges ────────────────────────────────────────────────────── + + /// + /// Enables the named privilege (e.g. SeDebugPrivilege) for the + /// current process token. Mirrors the Delphi AddPrivilege function. + /// Returns true on success. + /// + public static bool AddPrivilege(string privilegeName) + { + if (!NativeMethods.OpenProcessToken( + System.Diagnostics.Process.GetCurrentProcess().Handle, + NativeMethods.TOKEN_ADJUST_PRIVILEGES | NativeMethods.TOKEN_QUERY, + out IntPtr hToken)) + { + Console.Error.WriteLine( + $"[-] OpenProcessToken error (code {Marshal.GetLastWin32Error()})."); + return false; + } + + try + { + if (!NativeMethods.LookupPrivilegeValue(null, privilegeName, out var luid)) + { + Console.Error.WriteLine( + $"[-] LookupPrivilegeValue error (code {Marshal.GetLastWin32Error()})."); + return false; + } + + var tp = new NativeMethods.TOKEN_PRIVILEGES + { + PrivilegeCount = 1, + Privileges = new[] + { + new NativeMethods.LUID_AND_ATTRIBUTES + { + Luid = luid, + Attributes = NativeMethods.SE_PRIVILEGE_ENABLED + } + } + }; + + if (!NativeMethods.AdjustTokenPrivileges( + hToken, false, ref tp, + (uint)Marshal.SizeOf(tp), + IntPtr.Zero, IntPtr.Zero)) + { + Console.Error.WriteLine( + $"[-] AdjustTokenPrivileges error (code {Marshal.GetLastWin32Error()})."); + return false; + } + + return true; + } + finally + { + NativeMethods.CloseHandle(hToken); + } + } + + // ── RDP-Tcp listener ────────────────────────────────────────────────────── + + /// + /// Returns true when there is an active "RDP-Tcp" WTS listener on + /// the local machine — i.e. WinStationEnumerateW returns a session + /// named "RDP-Tcp". Mirrors the Delphi IsListenerWorking function. + /// + public static bool IsRdpListenerWorking() + { + if (!NativeMethods.WinStationEnumerate(IntPtr.Zero, + out IntPtr ppInfo, out uint count)) + return false; + + try + { + int ptrSize = IntPtr.Size; + // WTS_SESSION_INFO is: DWORD SessionId + 34 WCHARs (Name) + DWORD State + // = 4 + 68 + 4 = 76 bytes, but aligned to 4-byte boundary → 76 bytes. + int entrySize = 4 + 34 * 2 + 4; // = 76 + + for (uint i = 0; i < count; i++) + { + IntPtr entry = ppInfo + (int)(i * (uint)entrySize); + // Name starts at offset 4 + string name = Marshal.PtrToStringUni(entry + 4, 34).TrimEnd('\0'); + if (name == "RDP-Tcp") return true; + } + } + finally + { + NativeMethods.WinStationFreeMemory(ppInfo); + } + + return false; + } +} diff --git a/src-csharp/RDPWrap.Common/ServiceHelper.cs b/src-csharp/RDPWrap.Common/ServiceHelper.cs new file mode 100644 index 0000000..f51aded --- /dev/null +++ b/src-csharp/RDPWrap.Common/ServiceHelper.cs @@ -0,0 +1,219 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +using System.Runtime.InteropServices; + +namespace RDPWrap.Common; + +/// +/// Wrappers around the Windows Service Control Manager API, mirroring the +/// SvcGetStart / SvcConfigStart / SvcStart / CheckTermsrvProcess helpers +/// in RDPWInst.dpr and GetTermSrvState in RDPConf MainUnit.pas. +/// +public static class ServiceHelper +{ + // ── Start-type query / change ───────────────────────────────────────────── + + /// + /// Returns the configured start type of + /// (e.g. SERVICE_AUTO_START) or -1 on failure. + /// + public static int GetStartType(string serviceName) + { + var hSC = NativeMethods.OpenSCManager(null, null, NativeMethods.SC_MANAGER_CONNECT); + if (hSC == IntPtr.Zero) return -1; + try + { + var hSvc = NativeMethods.OpenService(hSC, serviceName, + NativeMethods.SERVICE_QUERY_CONFIG); + if (hSvc == IntPtr.Zero) return -1; + try + { + NativeMethods.QueryServiceConfig(hSvc, IntPtr.Zero, 0, out uint needed); + var buf = Marshal.AllocHGlobal((int)needed); + try + { + if (!NativeMethods.QueryServiceConfig(hSvc, buf, needed, out _)) + return -1; + // dwStartType is the second DWORD in QUERY_SERVICE_CONFIG + return Marshal.ReadInt32(buf, 4); + } + finally { Marshal.FreeHGlobal(buf); } + } + finally { NativeMethods.CloseServiceHandle(hSvc); } + } + finally { NativeMethods.CloseServiceHandle(hSC); } + } + + /// + /// Changes the start type of to + /// (one of the SERVICE_*_START constants). + /// + public static bool SetStartType(string serviceName, uint startType) + { + var hSC = NativeMethods.OpenSCManager(null, null, NativeMethods.SC_MANAGER_CONNECT); + if (hSC == IntPtr.Zero) return false; + try + { + var hSvc = NativeMethods.OpenService(hSC, serviceName, + NativeMethods.SERVICE_CHANGE_CONFIG); + if (hSvc == IntPtr.Zero) return false; + try + { + return NativeMethods.ChangeServiceConfig(hSvc, + NativeMethods.SERVICE_NO_CHANGE, startType, + NativeMethods.SERVICE_NO_CHANGE, + null, null, IntPtr.Zero, null, null, null, null); + } + finally { NativeMethods.CloseServiceHandle(hSvc); } + } + finally { NativeMethods.CloseServiceHandle(hSC); } + } + + // ── Start a service ─────────────────────────────────────────────────────── + + /// + /// Starts . If the service is already + /// running (error 1056) it waits 2 s and retries once, matching the + /// original Delphi SvcStart behaviour. + /// Returns true on success. + /// + public static bool StartService(string serviceName) + { + var hSC = NativeMethods.OpenSCManager(null, null, NativeMethods.SC_MANAGER_CONNECT); + if (hSC == IntPtr.Zero) return false; + try + { + var hSvc = NativeMethods.OpenService(hSC, serviceName, + NativeMethods.SERVICE_START); + if (hSvc == IntPtr.Zero) return false; + try + { + if (NativeMethods.StartService(hSvc, 0, null)) return true; + + var err = Marshal.GetLastWin32Error(); + if (err == (int)NativeMethods.ERROR_SERVICE_ALREADY_RUNNING) + { + Thread.Sleep(2000); + return NativeMethods.StartService(hSvc, 0, null); + } + return false; + } + finally { NativeMethods.CloseServiceHandle(hSvc); } + } + finally { NativeMethods.CloseServiceHandle(hSC); } + } + + // ── Status query ────────────────────────────────────────────────────────── + + /// + /// Returns the dwCurrentState for + /// (e.g. SERVICE_RUNNING = 4) or -1 on failure. + /// + public static int GetCurrentState(string serviceName) + { + var hSC = NativeMethods.OpenSCManager(null, null, NativeMethods.SC_MANAGER_CONNECT); + if (hSC == IntPtr.Zero) return -1; + try + { + var hSvc = NativeMethods.OpenService(hSC, serviceName, + NativeMethods.SERVICE_QUERY_STATUS); + if (hSvc == IntPtr.Zero) return -1; + try + { + NativeMethods.QueryServiceStatusEx(hSvc, + NativeMethods.SC_STATUS_PROCESS_INFO, + IntPtr.Zero, 0, out uint needed); + + var buf = Marshal.AllocHGlobal((int)needed); + try + { + if (!NativeMethods.QueryServiceStatusEx(hSvc, + NativeMethods.SC_STATUS_PROCESS_INFO, + buf, needed, out _)) return -1; + + // dwCurrentState is the second DWORD in SERVICE_STATUS_PROCESS + return Marshal.ReadInt32(buf, 4); + } + finally { Marshal.FreeHGlobal(buf); } + } + finally { NativeMethods.CloseServiceHandle(hSvc); } + } + finally { NativeMethods.CloseServiceHandle(hSC); } + } + + // ── Process-info enumeration ────────────────────────────────────────────── + + /// + /// Represents the name and PID of a service process returned by + /// . + /// + public record ServiceProcessInfo(string ServiceName, string DisplayName, uint ProcessId, uint CurrentState); + + /// + /// Enumerates all Win32 services (all states) and returns their + /// process information. Mirrors the EnumServicesStatusEx loop in + /// CheckTermsrvProcess. + /// + public static IReadOnlyList EnumServiceProcesses() + { + var result = new List(); + + var hSC = NativeMethods.OpenSCManager(null, null, + NativeMethods.SC_MANAGER_CONNECT | NativeMethods.SC_MANAGER_ENUMERATE_SERVICE); + if (hSC == IntPtr.Zero) return result; + + try + { + uint resumeHandle = 0; + // Ask for the required buffer size + NativeMethods.EnumServicesStatusEx(hSC, + NativeMethods.SC_ENUM_PROCESS_INFO, + NativeMethods.SERVICE_WIN32, + NativeMethods.SERVICE_STATE_ALL, + IntPtr.Zero, 0, + out uint needed, out _, ref resumeHandle, null); + + if (needed == 0) return result; + + var buf = Marshal.AllocHGlobal((int)needed); + try + { + resumeHandle = 0; + if (!NativeMethods.EnumServicesStatusEx(hSC, + NativeMethods.SC_ENUM_PROCESS_INFO, + NativeMethods.SERVICE_WIN32, + NativeMethods.SERVICE_STATE_ALL, + buf, needed, + out _, out uint returned, ref resumeHandle, null)) + return result; + + // ENUM_SERVICE_STATUS_PROCESS layout (Unicode, packed): + // IntPtr lpServiceName (pointer to string) + // IntPtr lpDisplayName (pointer to string) + // SERVICE_STATUS_PROCESS (9 × DWORD = 36 bytes) + int ptrSize = IntPtr.Size; + int entrySize = ptrSize * 2 + 36; // 2 string pointers + status struct + + for (int i = 0; i < (int)returned; i++) + { + var entryPtr = buf + i * entrySize; + var namePtr = Marshal.ReadIntPtr(entryPtr); + var dispPtr = Marshal.ReadIntPtr(entryPtr + ptrSize); + + var svcName = Marshal.PtrToStringUni(namePtr) ?? string.Empty; + var dispName = Marshal.PtrToStringUni(dispPtr) ?? string.Empty; + + // dwCurrentState at offset 4, dwProcessId at offset 28 + var statusBase = entryPtr + ptrSize * 2; + uint currentState = (uint)Marshal.ReadInt32(statusBase + 4); + uint pid = (uint)Marshal.ReadInt32(statusBase + 28); + + result.Add(new ServiceProcessInfo(svcName, dispName, pid, currentState)); + } + } + finally { Marshal.FreeHGlobal(buf); } + } + finally { NativeMethods.CloseServiceHandle(hSC); } + + return result; + } +} diff --git a/src-csharp/RDPWrap.sln b/src-csharp/RDPWrap.sln new file mode 100644 index 0000000..51b25c1 --- /dev/null +++ b/src-csharp/RDPWrap.sln @@ -0,0 +1,58 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35303.130 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RDPWrap.Common", "RDPWrap.Common\RDPWrap.Common.csproj", "{A1B2C3D4-0001-4000-8000-000000000001}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RDPWInst", "RDPWInst\RDPWInst.csproj", "{A1B2C3D4-0001-4000-8000-000000000002}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RDPConf", "RDPConf\RDPConf.csproj", "{A1B2C3D4-0001-4000-8000-000000000003}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RDPCheck", "RDPCheck\RDPCheck.csproj", "{A1B2C3D4-0001-4000-8000-000000000004}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A1B2C3D4-0001-4000-8000-000000000001}.Debug|x64.ActiveCfg = Debug|x64 + {A1B2C3D4-0001-4000-8000-000000000001}.Debug|x64.Build.0 = Debug|x64 + {A1B2C3D4-0001-4000-8000-000000000001}.Debug|x86.ActiveCfg = Debug|x86 + {A1B2C3D4-0001-4000-8000-000000000001}.Debug|x86.Build.0 = Debug|x86 + {A1B2C3D4-0001-4000-8000-000000000001}.Release|x64.ActiveCfg = Release|x64 + {A1B2C3D4-0001-4000-8000-000000000001}.Release|x64.Build.0 = Release|x64 + {A1B2C3D4-0001-4000-8000-000000000001}.Release|x86.ActiveCfg = Release|x86 + {A1B2C3D4-0001-4000-8000-000000000001}.Release|x86.Build.0 = Release|x86 + {A1B2C3D4-0001-4000-8000-000000000002}.Debug|x64.ActiveCfg = Debug|x64 + {A1B2C3D4-0001-4000-8000-000000000002}.Debug|x64.Build.0 = Debug|x64 + {A1B2C3D4-0001-4000-8000-000000000002}.Debug|x86.ActiveCfg = Debug|x86 + {A1B2C3D4-0001-4000-8000-000000000002}.Debug|x86.Build.0 = Debug|x86 + {A1B2C3D4-0001-4000-8000-000000000002}.Release|x64.ActiveCfg = Release|x64 + {A1B2C3D4-0001-4000-8000-000000000002}.Release|x64.Build.0 = Release|x64 + {A1B2C3D4-0001-4000-8000-000000000002}.Release|x86.ActiveCfg = Release|x86 + {A1B2C3D4-0001-4000-8000-000000000002}.Release|x86.Build.0 = Release|x86 + {A1B2C3D4-0001-4000-8000-000000000003}.Debug|x64.ActiveCfg = Debug|x64 + {A1B2C3D4-0001-4000-8000-000000000003}.Debug|x64.Build.0 = Debug|x64 + {A1B2C3D4-0001-4000-8000-000000000003}.Debug|x86.ActiveCfg = Debug|x86 + {A1B2C3D4-0001-4000-8000-000000000003}.Debug|x86.Build.0 = Debug|x86 + {A1B2C3D4-0001-4000-8000-000000000003}.Release|x64.ActiveCfg = Release|x64 + {A1B2C3D4-0001-4000-8000-000000000003}.Release|x64.Build.0 = Release|x64 + {A1B2C3D4-0001-4000-8000-000000000003}.Release|x86.ActiveCfg = Release|x86 + {A1B2C3D4-0001-4000-8000-000000000003}.Release|x86.Build.0 = Release|x86 + {A1B2C3D4-0001-4000-8000-000000000004}.Debug|x64.ActiveCfg = Debug|x64 + {A1B2C3D4-0001-4000-8000-000000000004}.Debug|x64.Build.0 = Debug|x64 + {A1B2C3D4-0001-4000-8000-000000000004}.Debug|x86.ActiveCfg = Debug|x86 + {A1B2C3D4-0001-4000-8000-000000000004}.Debug|x86.Build.0 = Debug|x86 + {A1B2C3D4-0001-4000-8000-000000000004}.Release|x64.ActiveCfg = Release|x64 + {A1B2C3D4-0001-4000-8000-000000000004}.Release|x64.Build.0 = Release|x64 + {A1B2C3D4-0001-4000-8000-000000000004}.Release|x86.ActiveCfg = Release|x86 + {A1B2C3D4-0001-4000-8000-000000000004}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From 666d8cec158c34ab6189c2208fc5b4ecee39d036 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 30 Mar 2026 12:30:26 +0100 Subject: [PATCH 25/38] feat: Phase 2 - RDPWInst C# console installer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Complete translation of src-installer/RDPWInst.dpr (1,464 lines) to C#: Program.cs — entry point - Banner + usage text matching Delphi originals - Arg parsing: -l / -i [-s] [-o] / -u [-k] / -w / -r - OS version and architecture guards - Dispatches to InstallerEngine InstallerEngine.cs — all installer logic - CheckInstall() registry TermService validation - CheckTermsrvProcess() EnumServicesStatusEx loop + auto-start - CheckTermsrvDependencies() CertPropSvc / SessionEnv enable - CheckTermsrvVersion() file version + support-level classification - TSConfigRegistry() fDenyTSConnections, EnableConcurrentSessions, AllowMultipleTSSessions, AddIns sub-keys - TSConfigFirewall() netsh advfirewall add / delete rule - ExtractFiles() install-dir creation, ACLs, INI, rdpw32/64, rdpclip, rfxvmt optional helpers - SetWrapperDll() REG_EXPAND_SZ write + Vista reg.exe workaround - ResetServiceDll() restore termsrv.dll on uninstall - DeleteFiles() remove rdpwrap.ini + DLL + folder - TryAutoGenerateOffsets() download OffsetFinder + Zydis, run, clean up - CheckUpdate() date-compare INI, kill/restart svc, write new INI - Install() / Uninstall() / Update() / Restart() orchestration app.manifest — requireAdministrator UAC elevation RDPWInst.csproj — ApplicationManifest + conditional EmbeddedResource items Resources/README.md — documents expected binary payload placement --- src-csharp/RDPWInst/InstallerEngine.cs | 730 ++++++++++++++++++++++++ src-csharp/RDPWInst/Program.cs | 83 +++ src-csharp/RDPWInst/RDPWInst.csproj | 33 +- src-csharp/RDPWInst/Resources/README.md | 23 + src-csharp/RDPWInst/app.manifest | 26 + 5 files changed, 888 insertions(+), 7 deletions(-) create mode 100644 src-csharp/RDPWInst/InstallerEngine.cs create mode 100644 src-csharp/RDPWInst/Program.cs create mode 100644 src-csharp/RDPWInst/Resources/README.md create mode 100644 src-csharp/RDPWInst/app.manifest diff --git a/src-csharp/RDPWInst/InstallerEngine.cs b/src-csharp/RDPWInst/InstallerEngine.cs new file mode 100644 index 0000000..36936e3 --- /dev/null +++ b/src-csharp/RDPWInst/InstallerEngine.cs @@ -0,0 +1,730 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +// +// InstallerEngine — translates every procedure in RDPWInst.dpr to C#. +// Consult src-installer/RDPWInst.dpr for the authoritative Delphi source. + +using System.Reflection; +using RDPWrap.Common; + +namespace RDPWInst; + +/// +/// Orchestrates install / uninstall / update / restart of the RDP Wrapper. +/// All public methods return an exit code (0 = success). +/// +internal sealed class InstallerEngine +{ + // ── State (mirrors Delphi globals) ──────────────────────────────────────── + + private bool _installed; + private bool _online; + private string _wrapPath = string.Empty; + private string _termServicePath = string.Empty; + private string _termSrvVerTxt = string.Empty; + private uint _termServicePid; + private string[] _shareServices = Array.Empty(); + + private const string TermService = "TermService"; + + // Latest release download base URL + private const string ReleaseBaseUrl = + "https://github.com/sjackson0109/rdpwrap/releases/latest/download/"; + + // ── Public entry points ─────────────────────────────────────────────────── + + /// + /// Install the wrapper. Mirrors the -i branch in RDPWInst.dpr. + /// + public int Install(bool toSystem32, bool online) + { + if (_installed) + { + Console.WriteLine("[*] RDP Wrapper Library is already installed."); + return unchecked((int)NativeMethods.ERROR_ACCESS_DENIED); + } + + Console.WriteLine("[*] Notice to user:"); + Console.WriteLine(" - By using all or any portion of this software, you are agreeing"); + Console.WriteLine(" to be bound by all the terms and conditions of the license agreement."); + Console.WriteLine(" - To read the license agreement, run the installer with -l parameter."); + Console.WriteLine(" - If you do not agree to any terms of the license agreement,"); + Console.WriteLine(" do not use the software."); + Console.WriteLine("[*] Installing..."); + + _wrapPath = toSystem32 + ? @"%SystemRoot%\system32\rdpwrap.dll" + : @"%ProgramFiles%\RDP Wrapper\rdpwrap.dll"; + + if (ArchHelper.Is64Bit) ArchHelper.DisableWow64Redirection(); + + CheckTermsrvVersion(); + CheckTermsrvProcess(); + + Console.WriteLine("[*] Extracting files..."); + _online = online; + ExtractFiles(); + + Console.WriteLine("[*] Checking INI coverage for installed termsrv.dll version..."); + TryAutoGenerateOffsets(); + + Console.WriteLine("[*] Configuring service library..."); + SetWrapperDll(); + + Console.WriteLine("[*] Checking dependencies..."); + CheckTermsrvDependencies(); + + Console.WriteLine("[*] Terminating service..."); + SecurityHelper.AddPrivilege(NativeMethods.SE_DEBUG_NAME); + ProcessHelper.KillProcess(_termServicePid); + Thread.Sleep(1000); + + RestartSharedServices(); + Thread.Sleep(500); + ServiceHelper.StartService(TermService); + Thread.Sleep(500); + + Console.WriteLine("[*] Configuring registry..."); + TSConfigRegistry(enable: true); + Console.WriteLine("[*] Configuring firewall..."); + TSConfigFirewall(enable: true); + + Console.WriteLine("[+] Successfully installed."); + + if (ArchHelper.Is64Bit) ArchHelper.RevertWow64Redirection(); + return 0; + } + + /// + /// Uninstall the wrapper. Mirrors the -u branch. + /// + public int Uninstall(bool keepSettings) + { + if (!_installed) + { + Console.WriteLine("[*] RDP Wrapper Library is not installed."); + return unchecked((int)NativeMethods.ERROR_ACCESS_DENIED); + } + + Console.WriteLine("[*] Uninstalling..."); + if (ArchHelper.Is64Bit) ArchHelper.DisableWow64Redirection(); + + CheckTermsrvProcess(); + + Console.WriteLine("[*] Resetting service library..."); + ResetServiceDll(); + + Console.WriteLine("[*] Terminating service..."); + SecurityHelper.AddPrivilege(NativeMethods.SE_DEBUG_NAME); + ProcessHelper.KillProcess(_termServicePid); + Thread.Sleep(1000); + + Console.WriteLine("[*] Removing files..."); + DeleteFiles(); + + RestartSharedServices(); + Thread.Sleep(500); + ServiceHelper.StartService(TermService); + Thread.Sleep(500); + + if (!keepSettings) + { + Console.WriteLine("[*] Configuring registry..."); + TSConfigRegistry(enable: false); + Console.WriteLine("[*] Configuring firewall..."); + TSConfigFirewall(enable: false); + } + + if (ArchHelper.Is64Bit) ArchHelper.RevertWow64Redirection(); + Console.WriteLine("[+] Successfully uninstalled."); + return 0; + } + + /// + /// Download the latest rdpwrap.ini. Mirrors the -w / CheckUpdate branch. + /// + public int Update() + { + if (!_installed) + { + Console.WriteLine("[*] RDP Wrapper Library is not installed."); + return unchecked((int)NativeMethods.ERROR_ACCESS_DENIED); + } + + Console.WriteLine("[*] Checking for updates..."); + return CheckUpdate(); + } + + /// + /// Force-restart Terminal Services. Mirrors the -r branch. + /// + public int Restart() + { + Console.WriteLine("[*] Restarting..."); + CheckTermsrvProcess(); + + Console.WriteLine("[*] Terminating service..."); + SecurityHelper.AddPrivilege(NativeMethods.SE_DEBUG_NAME); + ProcessHelper.KillProcess(_termServicePid); + Thread.Sleep(1000); + + RestartSharedServices(); + Thread.Sleep(500); + ServiceHelper.StartService(TermService); + + Console.WriteLine("[+] Done."); + return 0; + } + + // ── CheckInstall ────────────────────────────────────────────────────────── + + /// + /// Validates the TermService registry image path and sets + /// and . + /// Mirrors the Delphi CheckInstall procedure. + /// + public void CheckInstall() + { + const string svcKey = @"SYSTEM\CurrentControlSet\Services\TermService"; + const string paramsKey = @"SYSTEM\CurrentControlSet\Services\TermService\Parameters"; + + var imagePath = RegistryHelper.ReadString(svcKey, "ImagePath") ?? string.Empty; + if (!imagePath.Contains("svchost.exe", StringComparison.OrdinalIgnoreCase) && + !imagePath.Contains("svchost -k", StringComparison.OrdinalIgnoreCase)) + { + Console.Error.WriteLine("[-] TermService is hosted in a custom application (BeTwin, etc.) - unsupported."); + Console.Error.WriteLine($"[*] ImagePath: \"{imagePath}\"."); + Environment.Exit(unchecked((int)NativeMethods.ERROR_NOT_SUPPORTED)); + } + + var serviceDll = RegistryHelper.ReadString(paramsKey, "ServiceDll") ?? string.Empty; + if (!serviceDll.Contains("termsrv.dll", StringComparison.OrdinalIgnoreCase) && + !serviceDll.Contains("rdpwrap.dll", StringComparison.OrdinalIgnoreCase)) + { + Console.Error.WriteLine("[-] Another third-party TermService library is installed."); + Console.Error.WriteLine($"[*] ServiceDll: \"{serviceDll}\"."); + Environment.Exit(unchecked((int)NativeMethods.ERROR_NOT_SUPPORTED)); + } + + _termServicePath = serviceDll; + _installed = serviceDll.Contains("rdpwrap.dll", StringComparison.OrdinalIgnoreCase); + } + + // ── CheckTermsrvProcess ──────────────────────────────────────────────────── + + /// + /// Finds the TermService process ID, auto-starts the service if needed, + /// and collects co-hosted service names. Mirrors CheckTermsrvProcess. + /// + private void CheckTermsrvProcess() + { + bool started = false; + retry: + var services = ServiceHelper.EnumServiceProcesses(); + var ts = services.FirstOrDefault(s => + s.ServiceName.Equals(TermService, StringComparison.OrdinalIgnoreCase)); + + if (ts is null) + { + Console.Error.WriteLine($"[-] {TermService} not found."); + Environment.Exit(unchecked((int)NativeMethods.ERROR_SERVICE_DOES_NOT_EXIST)); + return; + } + + if (ts.ProcessId == 0) + { + if (started) + { + Console.Error.WriteLine("[-] Failed to set up TermService. Unknown error."); + Environment.Exit(unchecked((int)NativeMethods.ERROR_SERVICE_NOT_ACTIVE)); + return; + } + ServiceHelper.SetStartType(TermService, NativeMethods.SERVICE_AUTO_START); + ServiceHelper.StartService(TermService); + started = true; + goto retry; + } + + _termServicePid = ts.ProcessId; + Console.WriteLine($"[+] TermService found (pid {_termServicePid})."); + + _shareServices = services + .Where(s => s.ProcessId == _termServicePid && + !s.ServiceName.Equals(TermService, StringComparison.OrdinalIgnoreCase)) + .Select(s => s.ServiceName) + .ToArray(); + + if (_shareServices.Length > 0) + Console.WriteLine($"[*] Shared services found: {string.Join(", ", _shareServices)}"); + else + Console.WriteLine("[*] No shared services found."); + } + + // ── CheckTermsrvDependencies ─────────────────────────────────────────────── + + /// + /// Ensures CertPropSvc and SessionEnv are not disabled. + /// Mirrors the Delphi CheckTermsrvDependencies procedure. + /// + private static void CheckTermsrvDependencies() + { + foreach (var svc in new[] { "CertPropSvc", "SessionEnv" }) + { + if (ServiceHelper.GetStartType(svc) == (int)NativeMethods.SERVICE_DISABLED) + ServiceHelper.SetStartType(svc, NativeMethods.SERVICE_DEMAND_START); + } + } + + // ── CheckTermsrvVersion ──────────────────────────────────────────────────── + + /// + /// Reads the termsrv.dll version and classifies support level. + /// Mirrors the Delphi CheckTermsrvVersion procedure. + /// + private void CheckTermsrvVersion() + { + var fv = FileVersionHelper.GetVersionExpanded(_termServicePath); + if (fv is null) + { + Console.Error.WriteLine("[-] Could not read termsrv.dll version."); + return; + } + + _termSrvVerTxt = fv.ToString(); + Console.WriteLine($"[*] Terminal Services version: {_termSrvVerTxt}"); + + // Unsupported legacy versions + if (fv.Major == 5) + { + var label = (ArchHelper.Arch == 32) ? "x86" : "x64"; + Console.WriteLine($"[!] Windows XP / Server 2003 ({label}) is not supported."); + return; + } + + // Load the built-in INI to check support level + var builtInIni = ResourceHelper.ReadText( + "RDPWInst.Resources.rdpwrap.ini", + Assembly.GetExecutingAssembly()) ?? string.Empty; + + int level = IniHelper.CheckSupportLevel(builtInIni, fv); + + switch (level) + { + case 0: + Console.WriteLine("[-] This version of Terminal Services is not supported."); + Console.WriteLine("Try running \"update.bat\" or \"RDPWInst -w\" to download latest INI file."); + break; + case 1: + Console.WriteLine("[!] This version of Terminal Services is supported partially."); + Console.WriteLine("It means you may have some limitations such as only 2 concurrent sessions."); + Console.WriteLine("Try running \"update.bat\" or \"RDPWInst -w\" to download latest INI file."); + break; + case 2: + Console.WriteLine("[+] This version of Terminal Services is fully supported."); + break; + } + } + + // ── TSConfigRegistry ────────────────────────────────────────────────────── + + /// + /// Writes (or clears) the TS-enable registry values. + /// Mirrors the Delphi TSConfigRegistry procedure. + /// + private static void TSConfigRegistry(bool enable) + { + const string tsKey = @"SYSTEM\CurrentControlSet\Control\Terminal Server"; + const string licKey = @"SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core"; + const string winlogon = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"; + const string addInsBase = @"SYSTEM\CurrentControlSet\Control\Terminal Server\AddIns"; + + RegistryHelper.WriteBool(tsKey, "fDenyTSConnections", !enable); + + if (enable) + { + RegistryHelper.WriteBool(licKey, "EnableConcurrentSessions", true); + RegistryHelper.WriteBool(winlogon, "AllowMultipleTSSessions", true); + + // AddIns sub-keys (only create if the parent key is absent) + if (Microsoft.Win32.Registry.LocalMachine.OpenSubKey(addInsBase) is null) + { + RegistryHelper.WriteString(addInsBase + @"\Clip Redirector", "Name", "RDPClip"); + RegistryHelper.WriteInt (addInsBase + @"\Clip Redirector", "Type", 3); + RegistryHelper.WriteString(addInsBase + @"\DND Redirector", "Name", "RDPDND"); + RegistryHelper.WriteInt (addInsBase + @"\DND Redirector", "Type", 3); + RegistryHelper.WriteInt (addInsBase + @"\Dynamic VC", "Type", -1); + } + } + } + + // ── TSConfigFirewall ────────────────────────────────────────────────────── + + private static void TSConfigFirewall(bool enable) + { + if (enable) + { + ProcessHelper.ExecWait( + "netsh advfirewall firewall add rule name=\"Remote Desktop\" " + + "dir=in protocol=tcp localport=3389 profile=any action=allow"); + ProcessHelper.ExecWait( + "netsh advfirewall firewall add rule name=\"Remote Desktop\" " + + "dir=in protocol=udp localport=3389 profile=any action=allow"); + } + else + { + ProcessHelper.ExecWait( + "netsh advfirewall firewall delete rule name=\"Remote Desktop\""); + } + } + + // ── ExtractFiles ────────────────────────────────────────────────────────── + + /// + /// Creates the install directory, sets ACLs, downloads or extracts the + /// INI file, and extracts the correct rdpwrap DLL + optional helpers. + /// Mirrors the Delphi ExtractFiles procedure. + /// + private void ExtractFiles() + { + var asm = Assembly.GetExecutingAssembly(); + var fullPath = ArchHelper.ExpandPath(_wrapPath); + var dir = Path.GetDirectoryName(fullPath)!; + + if (!Directory.Exists(dir)) + { + Directory.CreateDirectory(dir); + Console.WriteLine($"[+] Folder created: {dir}"); + SecurityHelper.GrantSidFullAccess(dir, "S-1-5-18"); // Local System + SecurityHelper.GrantSidFullAccess(dir, "S-1-5-6"); // Service group + } + + // ── INI file ── + var iniPath = Path.Combine(dir, "rdpwrap.ini"); + if (_online) + { + Console.WriteLine("[*] Downloading latest INI file..."); + var content = HttpHelper.DownloadString(ReleaseBaseUrl + "rdpwrap.ini"); + if (content is not null) + { + File.WriteAllText(iniPath, content, System.Text.Encoding.UTF8); + Console.WriteLine($"[+] Latest INI file -> {iniPath}"); + } + else + { + Console.WriteLine("[-] Failed to get online INI file, using built-in."); + _online = false; + } + } + + if (!_online) + { + // Try a local rdpwrap.ini beside the installer first + var localIni = Path.Combine( + Path.GetDirectoryName(Environment.ProcessPath ?? string.Empty) ?? ".", + "rdpwrap.ini"); + + if (File.Exists(localIni)) + { + File.Copy(localIni, iniPath, overwrite: true); + Console.WriteLine($"[+] Current INI file -> {iniPath}"); + } + else + { + ResourceHelper.ExtractToDisk("RDPWInst.Resources.rdpwrap.ini", iniPath, asm); + } + } + + // ── Core DLL ── + var dllRes = ArchHelper.Is64Bit ? "RDPWInst.Resources.rdpw64.dll" + : "RDPWInst.Resources.rdpw32.dll"; + ResourceHelper.ExtractToDisk(dllRes, fullPath, asm); + + // ── Optional helpers (Vista / Win7 clipboard redirect, Win10 RFX codec) ── + ExtractOptionalHelper(asm, dir); + } + + private void ExtractOptionalHelper(Assembly asm, string dir) + { + var fv = FileVersionHelper.GetVersionExpanded(_termServicePath); + if (fv is null) return; + + var arch = ArchHelper.Is64Bit ? "64" : "32"; + + // rdpclip: Vista 6.0 and Win7 6.1 + string? clipRes = (fv.Major, fv.Minor) switch + { + (6, 0) => $"RDPWInst.Resources.rdpclip60{arch}.exe", + (6, 1) => $"RDPWInst.Resources.rdpclip61{arch}.exe", + _ => null + }; + if (clipRes is not null) + { + var dest = ArchHelper.ExpandPath(@"%SystemRoot%\System32\rdpclip.exe"); + if (!File.Exists(dest)) + ResourceHelper.ExtractToDisk(clipRes, dest, asm); + } + + // rfxvmt.dll: Windows 10 (6.10.x maps to 10.0 in NT versioning) + if (fv.Major == 10 && fv.Minor == 0) + { + var rfxRes = $"RDPWInst.Resources.rfxvmt{arch}.dll"; + var rfxDest = ArchHelper.ExpandPath(@"%SystemRoot%\System32\rfxvmt.dll"); + if (!File.Exists(rfxDest)) + ResourceHelper.ExtractToDisk(rfxRes, rfxDest, asm); + } + } + + // ── SetWrapperDll / ResetServiceDll ────────────────────────────────────── + + private void SetWrapperDll() + { + const string key = @"SYSTEM\CurrentControlSet\Services\TermService\Parameters"; + RegistryHelper.WriteExpandString(key, "ServiceDll", _wrapPath); + + // Vista 6.0 workaround — reg.exe write to bypass WOW64 quirk + var fv = FileVersionHelper.GetVersionExpanded(_termServicePath); + if (fv is { Major: 6, Minor: 0 } && ArchHelper.Is64Bit) + { + ProcessHelper.ExecWait( + $"\"{ArchHelper.ExpandPath("%SystemRoot%")}\\system32\\reg.exe\" " + + $"add HKLM\\SYSTEM\\CurrentControlSet\\Services\\TermService\\Parameters " + + $"/v ServiceDll /t REG_EXPAND_SZ /d \"{_wrapPath}\" /f"); + } + } + + private static void ResetServiceDll() + { + const string key = @"SYSTEM\CurrentControlSet\Services\TermService\Parameters"; + RegistryHelper.WriteExpandString(key, "ServiceDll", + @"%SystemRoot%\System32\termsrv.dll"); + } + + // ── DeleteFiles ─────────────────────────────────────────────────────────── + + private void DeleteFiles() + { + var fullPath = ArchHelper.ExpandPath(_termServicePath); + var dir = Path.GetDirectoryName(fullPath)!; + var iniPath = Path.Combine(dir, "rdpwrap.ini"); + + TryDelete(iniPath); + TryDelete(fullPath); + TryRemoveDir(dir); + } + + private static void TryDelete(string path) + { + try + { + File.Delete(path); + Console.WriteLine($"[+] Removed file: {path}"); + } + catch (Exception ex) + { + Console.Error.WriteLine($"[-] DeleteFile error: {ex.Message}"); + } + } + + private static void TryRemoveDir(string dir) + { + try + { + Directory.Delete(dir); + Console.WriteLine($"[+] Removed folder: {dir}"); + } + catch (Exception ex) + { + Console.Error.WriteLine($"[-] RemoveDirectory error: {ex.Message}"); + } + } + + // ── TryAutoGenerateOffsets ──────────────────────────────────────────────── + + /// + /// If the running termsrv.dll version is absent from rdpwrap.ini, downloads + /// RDPWrapOffsetFinder + Zydis from the release assets and runs the finder + /// to append generated offsets. Mirrors the Delphi TryAutoGenerateOffsets. + /// + private void TryAutoGenerateOffsets() + { + if (string.IsNullOrEmpty(_termSrvVerTxt)) return; + + var fullPath = ArchHelper.ExpandPath(_wrapPath); + var iniPath = Path.Combine(Path.GetDirectoryName(fullPath)!, "rdpwrap.ini"); + + if (IniHelper.HasSection(iniPath, _termSrvVerTxt)) + { + Console.WriteLine($"[+] Version {_termSrvVerTxt} is covered in INI."); + return; + } + + Console.WriteLine($"[!] Version {_termSrvVerTxt} not found in INI."); + Console.WriteLine("[*] Attempting automatic offset generation via RDPWrapOffsetFinder..."); + + var archSuffix = ArchHelper.Is64Bit ? "_x64" : "_x86"; + var tempDir = Path.Combine(Path.GetTempPath(), "rdpwrapoffset"); + + try { Directory.CreateDirectory(tempDir); } + catch + { + Console.Error.WriteLine("[-] Could not create temp directory. Skipping auto-generation."); + return; + } + + var exePath = Path.Combine(tempDir, "RDPWrapOffsetFinder.exe"); + var dllPath = Path.Combine(tempDir, "Zydis.dll"); + + Console.WriteLine($"[*] Downloading RDPWrapOffsetFinder{archSuffix}.exe ..."); + if (!HttpHelper.DownloadFile(ReleaseBaseUrl + $"RDPWrapOffsetFinder{archSuffix}.exe", exePath)) + { + Console.Error.WriteLine("[-] Download failed. The release asset may not yet be published."); + Console.Error.WriteLine("[!] Run the publish-ini workflow on the sjackson0109/rdpwrap repository,"); + Console.Error.WriteLine("[!] then re-run this installer to enable auto-generation."); + return; + } + + Console.WriteLine($"[*] Downloading Zydis{archSuffix}.dll ..."); + if (!HttpHelper.DownloadFile(ReleaseBaseUrl + $"Zydis{archSuffix}.dll", dllPath)) + { + Console.Error.WriteLine("[-] Zydis download failed. Skipping auto-generation."); + File.Delete(exePath); + return; + } + + Console.WriteLine($"[*] Running offset finder for termsrv.dll {_termSrvVerTxt} ..."); + // Run via cmd.exe so that >> redirect to the INI file functions correctly + var sysCmd = ArchHelper.ExpandPath(@"%SystemRoot%\System32\cmd.exe"); + ProcessHelper.ExecWait($"\"{sysCmd}\" /c \"\"{exePath}\" >> \"{iniPath}\"\""); + + if (IniHelper.HasSection(iniPath, _termSrvVerTxt)) + Console.WriteLine($"[+] Offsets generated successfully for version {_termSrvVerTxt}"); + else + Console.WriteLine($"[!] Offset finder ran but [{_termSrvVerTxt}] was not added. " + + "Session may be limited or unstable for this build."); + + // Clean up temporary tool files + try + { + File.Delete(exePath); + File.Delete(dllPath); + Directory.Delete(tempDir); + } + catch { /* best-effort */ } + } + + // ── CheckUpdate (GitINIFile path) ───────────────────────────────────────── + + private int CheckUpdate() + { + var fullPath = ArchHelper.ExpandPath(_termServicePath); + var iniPath = Path.Combine(Path.GetDirectoryName(fullPath)!, "rdpwrap.ini"); + + if (!TryGetIniDate(iniPath, null, out int oldDate)) + return unchecked((int)NativeMethods.ERROR_ACCESS_DENIED); + + Console.WriteLine($"[*] Current update date: {FormatDate(oldDate)}"); + + var latest = HttpHelper.DownloadString(ReleaseBaseUrl + "rdpwrap.ini"); + if (latest is null) + { + Console.Error.WriteLine("[-] Failed to download latest INI from GitHub."); + return unchecked((int)NativeMethods.ERROR_ACCESS_DENIED); + } + + if (!TryGetIniDate(null, latest, out int newDate)) + return unchecked((int)NativeMethods.ERROR_ACCESS_DENIED); + + Console.WriteLine($"[*] Latest update date: {FormatDate(newDate)}"); + + if (newDate == oldDate) + { + Console.WriteLine("[*] Everything is up to date."); + return 0; + } + + if (newDate > oldDate) + { + Console.WriteLine("[+] New update is available, updating..."); + CheckTermsrvProcess(); + + Console.WriteLine("[*] Terminating service..."); + SecurityHelper.AddPrivilege(NativeMethods.SE_DEBUG_NAME); + ProcessHelper.KillProcess(_termServicePid); + Thread.Sleep(1000); + + RestartSharedServices(); + Thread.Sleep(500); + + File.WriteAllText(iniPath, latest, System.Text.Encoding.UTF8); + Console.WriteLine($"[+] INI file updated: {iniPath}"); + + // Recompute version for offset generation + var fv = FileVersionHelper.GetVersionExpanded(_termServicePath); + if (fv is not null) _termSrvVerTxt = fv.ToString(); + + Console.WriteLine("[*] Checking INI coverage for installed termsrv.dll version..."); + TryAutoGenerateOffsets(); + + ServiceHelper.StartService(TermService); + Console.WriteLine("[+] Update completed."); + } + else + { + Console.WriteLine("[*] Your INI file is newer than public file. Are you a developer? :)"); + } + + return 0; + } + + // ── Helpers ─────────────────────────────────────────────────────────────── + + private void RestartSharedServices() + { + foreach (var svc in _shareServices) + ServiceHelper.StartService(svc); + } + + /// + /// Parses the Updated=YYYYMMDD line from an INI file or string. + /// Mirrors the Delphi CheckINIDate function. + /// + private static bool TryGetIniDate(string? filePath, string? content, out int date) + { + date = 0; + IEnumerable lines; + + if (filePath is not null) + { + if (!File.Exists(filePath)) + { + Console.Error.WriteLine("[-] Failed to read INI file."); + return false; + } + lines = File.ReadLines(filePath); + } + else + { + lines = (content ?? string.Empty).Split('\n'); + } + + foreach (var line in lines) + { + var trimmed = line.TrimEnd('\r'); + if (!trimmed.StartsWith("Updated=", StringComparison.Ordinal)) continue; + + var raw = trimmed["Updated=".Length..].Replace("-", ""); + if (int.TryParse(raw, out date)) return true; + + Console.Error.WriteLine("[-] Wrong INI date format."); + return false; + } + + Console.Error.WriteLine("[-] Failed to check INI date (Updated= line not found)."); + return false; + } + + private static string FormatDate(int d) + { + int y = d / 10000, m = (d / 100) % 100, day = d % 100; + return $"{y}.{m:D2}.{day:D2}"; + } +} diff --git a/src-csharp/RDPWInst/Program.cs b/src-csharp/RDPWInst/Program.cs new file mode 100644 index 0000000..69de231 --- /dev/null +++ b/src-csharp/RDPWInst/Program.cs @@ -0,0 +1,83 @@ +// Copyright 2024 sjackson0109 — Apache License 2.0 +// +// RDPWInst — RDP Wrapper Library Installer +// Direct C# translation of src-installer/RDPWInst.dpr + +using RDPWrap.Common; + +namespace RDPWInst; + +internal static class Program +{ + private const string Banner = + "RDP Wrapper Library v1.6.2\r\n" + + "Installer v3.0 (C# edition)\r\n" + + "Copyright (C) Stas'M Corp. 2018 / sjackson0109 2024\r\n"; + + private const string Usage = + "USAGE:\r\n" + + "RDPWInst.exe [-l|-i[-s][-o]|-w|-u[-k]|-r]\r\n\r\n" + + "-l display the license agreement\r\n" + + "-i install wrapper to Program Files folder (default)\r\n" + + "-i -s install wrapper to System32 folder\r\n" + + "-i -o online install mode (loads latest INI file)\r\n" + + "-w get latest update for INI file\r\n" + + "-u uninstall wrapper\r\n" + + "-u -k uninstall wrapper and keep settings\r\n" + + "-r force restart Terminal Services\r\n"; + + internal static int Main(string[] args) + { + Console.OutputEncoding = System.Text.Encoding.UTF8; + Console.WriteLine(Banner); + + // Validate args + if (args.Length < 1 || + (args[0] != "-l" && + args[0] != "-i" && + args[0] != "-w" && + args[0] != "-u" && + args[0] != "-r")) + { + Console.WriteLine(Usage); + return 0; + } + + // -l print license + if (args[0] == "-l") + { + var license = ResourceHelper.ReadText("RDPWInst.Resources.license.txt", + System.Reflection.Assembly.GetExecutingAssembly()); + Console.WriteLine(license ?? "(license resource not found)"); + return 0; + } + + // Windows Vista / Server 2008 minimum check + if (Environment.OSVersion.Version < new Version(6, 0)) + { + Console.Error.WriteLine("[-] Unsupported Windows version:"); + Console.Error.WriteLine(" only >= 6.0 (Vista, Server 2008 and newer) are supported."); + return 1; + } + + if (!ArchHelper.IsSupported) + { + Console.Error.WriteLine("[-] Unsupported processor architecture."); + return 1; + } + + var engine = new InstallerEngine(); + engine.CheckInstall(); + + return args[0] switch + { + "-i" => engine.Install( + toSystem32: args.Contains("-s"), + online: args.Contains("-o")), + "-u" => engine.Uninstall(keepSettings: args.Contains("-k")), + "-w" => engine.Update(), + "-r" => engine.Restart(), + _ => 0 + }; + } +} diff --git a/src-csharp/RDPWInst/RDPWInst.csproj b/src-csharp/RDPWInst/RDPWInst.csproj index c953051..76e593e 100644 --- a/src-csharp/RDPWInst/RDPWInst.csproj +++ b/src-csharp/RDPWInst/RDPWInst.csproj @@ -3,19 +3,38 @@ Exe RDPWInst RDPWInst - + app.manifest - - - - - + + + + + + + + + + - --> diff --git a/src-csharp/RDPWInst/Resources/README.md b/src-csharp/RDPWInst/Resources/README.md new file mode 100644 index 0000000..797149d --- /dev/null +++ b/src-csharp/RDPWInst/Resources/README.md @@ -0,0 +1,23 @@ +# RDPWInst/Resources + +Place the compiled binary payloads here before building RDPWInst.exe. +These files are embedded as manifest resources at build time. + +## Required files + +| File | Source | Used when | +|---------------------|------------------------------------------------|-------------------------------| +| `rdpw32.dll` | Build output of `src-x86-x64-Fusix/` (x86) | Always (32-bit install) | +| `rdpw64.dll` | Build output of `src-x86-x64-Fusix/` (x64) | Always (64-bit install) | +| `rdpwrap.ini` | `res/rdpwrap.ini` (bundled baseline) | Always (fallback / offline) | +| `rdpclip6032.exe` | Original Stas'M redistributable (x86) | Vista x86 install | +| `rdpclip6064.exe` | Original Stas'M redistributable (x64) | Vista x64 install | +| `rdpclip6132.exe` | Original Stas'M redistributable (x86) | Win7 x86 install | +| `rdpclip6164.exe` | Original Stas'M redistributable (x64) | Win7 x64 install | +| `rfxvmt32.dll` | Original Stas'M redistributable (x86) | Win10 x86 install | +| `rfxvmt64.dll` | Original Stas'M redistributable (x64) | Win10 x64 install | +| `license.txt` | Repo `LICENSE` file (copy here as text) | `-l` flag | + +Binary files in this folder are intentionally excluded from version control +via `.gitignore`. The CI pipeline copies them from the native build output +before invoking `dotnet publish`. diff --git a/src-csharp/RDPWInst/app.manifest b/src-csharp/RDPWInst/app.manifest new file mode 100644 index 0000000..4fcaaba --- /dev/null +++ b/src-csharp/RDPWInst/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + From 31fe90223de5f3cadd718ee1ecea0685e3bf811a Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 03:40:40 +0100 Subject: [PATCH 26/38] ci: comprehensive CI/CD overhaul and project refactoring Workflow changes: - Rename publish-ini.yml -> build-and-release.yml; all refs updated - Split build-and-release.yml into 6 parallel jobs: build-dll / build-offsetfinder / download-sergiye (parallel), build-csharp (needs build-dll), build-msi (needs build-csharp), release (needs all) with environment gate - Add build-csharp.yml, build-cpp.yml, build-offsetfinder.yml PR checks - Add build-msi-check.yml: WiX syntax check on msi/** PRs - Add actions/cache@v4 NuGet step to all workflows using dotnet - Pin softprops/action-gh-release to SHA 153bb8e (v2) - Add concurrency guard, msi/** path filter, source path triggers - Extended INI validation: check LocalOnlyPatch+SLInitHook per section - Delete update-finder-tools.yml (superseded) Automation & tooling: - Add .github/CODEOWNERS (maintainer review on all PRs) - Add .github/dependabot.yml (github-actions, nuget, gitsubmodule) - Add tools/build-local.ps1, make-icons.ps1, sergiye-hashes.json, update-sergiye-hashes.ps1 - Add docs/BUILDING.md, CODE-SIGNING.md, SUBMODULE-UPDATE.md - Add msi/ WiX v5 project (RDPWInst.wxs, RDPWInst.wixproj, global.json) C# source: - Migrate all projects from RDPWrap.Common -> RDPWrap library - Add RDPCheck, RDPConf, RDPOffsetFinder C# projects - Dynamic version via Directory.Build.props MSBuild expression - Enable RestorePackagesWithLockFile; generate packages.lock.json for all 4 projects - Dynamic banner version read from assembly at runtime - .gitignore: ignore staged resources and msi build artifacts Legacy cleanup: - Remove Delphi source (src-installer, src-rdpcheck, src-rdpconfig, src-x86-binarymaster), old res/ directory, bin/*.bat, technical.txt, tools/RDPWrapOffsetFinder/ prebuilt binaries (now built from submodule) --- .github/CODEOWNERS | 25 + .github/ISSUE_TEMPLATE/bug_report.yml | 1 + .github/dependabot.yml | 34 + .github/workflows/build-and-release.yml | 760 ++ .github/workflows/build-cpp.yml | 72 +- .github/workflows/build-csharp.yml | 141 + .github/workflows/build-msi-check.yml | 73 + .github/workflows/build-offsetfinder.yml | 93 + .github/workflows/publish-ini.yml | 188 - .github/workflows/update-finder-tools.yml | 120 - .gitignore | 24 + .gitmodules | 4 + README.md | 190 +- TODO.md | 111 +- bin/install.bat | 14 - bin/uninstall.bat | 10 - bin/update.bat | 10 - docs/BUILDING.md | 255 + docs/CODE-SIGNING.md | 100 + docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md | 83 +- docs/SUBMODULE-UPDATE.md | 101 + docs/images/RDPWrapperCheck.png | Bin 0 -> 110651 bytes docs/images/RDPWrapperCheckWarning.png | Bin 0 -> 26552 bytes docs/images/RDPWrapperConfig.png | Bin 0 -> 29582 bytes docs/images/RDPWrapperMSI1.png | Bin 0 -> 7285 bytes docs/images/RDPWrapperMSI2.png | Bin 0 -> 15769 bytes docs/images/README.md | 51 + msi/RDPWInst.wixproj | 24 + msi/RDPWInst.wxs | 127 + msi/global.json | 5 + {res => msi}/rdpwrap-arm-kb.ini | 0 {res => msi}/rdpwrap.ini | 2 +- res/RDPWInst.wxs | 49 - res/build_wxs.bat | 3 - res/clearres.bat | 19 - res/legacy.install.bat | 92 - res/rdpwrap-ini-kb.txt | 6289 ----------------- src-csharp/Directory.Build.props | 33 +- src-csharp/RDPCheck/MainForm.cs | 160 + src-csharp/RDPCheck/Program.cs | 15 + src-csharp/RDPCheck/RDPCheck.csproj | 8 +- src-csharp/RDPCheck/RdpComInterop.cs | 147 + src-csharp/RDPCheck/app.ico | Bin 0 -> 445 bytes src-csharp/RDPCheck/app.manifest | 20 + src-csharp/RDPCheck/packages.lock.json | 10 + src-csharp/RDPConf/LicenseForm.cs | 53 + src-csharp/RDPConf/MainForm.cs | 540 ++ src-csharp/RDPConf/Program.cs | 15 + src-csharp/RDPConf/RDPConf.csproj | 13 +- src-csharp/RDPConf/app.ico | Bin 0 -> 418 bytes src-csharp/RDPConf/app.manifest | 20 + src-csharp/RDPConf/packages.lock.json | 10 + src-csharp/RDPOffsetFinder | 1 + src-csharp/RDPWInst/InstallerEngine.cs | 28 +- src-csharp/RDPWInst/Program.cs | 49 +- src-csharp/RDPWInst/RDPWInst.csproj | 3 +- src-csharp/RDPWInst/Resources/README.md | 42 +- src-csharp/RDPWInst/packages.lock.json | 10 + .../RDPWrap.Common/RDPWrap.Common.csproj | 7 - src-csharp/RDPWrap.sln | 2 +- .../{RDPWrap.Common => RDPWrap}/ArchHelper.cs | 2 +- .../FileVersionHelper.cs | 2 +- .../{RDPWrap.Common => RDPWrap}/HttpHelper.cs | 2 +- .../{RDPWrap.Common => RDPWrap}/IniHelper.cs | 2 +- .../NativeMethods.cs | 2 +- .../ProcessHelper.cs | 2 +- src-csharp/RDPWrap/RDPWrap.csproj | 15 + .../RegistryHelper.cs | 2 +- .../ResourceHelper.cs | 2 +- .../SecurityHelper.cs | 2 +- .../ServiceHelper.cs | 2 +- src-csharp/RDPWrap/packages.lock.json | 6 + src-installer/RDPWInst.dpr | 1463 ---- src-installer/RDPWInst.dproj | 106 - src-installer/resource.res | Bin 1141176 -> 0 bytes src-rdpcheck/MainUnit.dfm | 29 - src-rdpcheck/MainUnit.pas | 160 - src-rdpcheck/RDP.ico | Bin 164466 -> 0 bytes src-rdpcheck/RDPCheck.dpr | 31 - src-rdpcheck/RDPCheck.dproj | 108 - src-rdpcheck/RDPCheck.res | Bin 165720 -> 0 bytes src-rdpconfig/LicenseUnit.dfm | 47 - src-rdpconfig/LicenseUnit.pas | 43 - src-rdpconfig/MainUnit.dfm | 241 - src-rdpconfig/MainUnit.pas | 722 -- src-rdpconfig/RDPConf.dpr | 33 - src-rdpconfig/RDPConf.dproj | 111 - src-rdpconfig/RDPConf.res | Bin 165700 -> 0 bytes src-rdpconfig/resource.res | Bin 12936 -> 0 bytes src-x86-binarymaster/LiteINI.pas | 375 - src-x86-binarymaster/rdpwrap.dpr | 737 -- src-x86-binarymaster/rdpwrap.dproj | 105 - src-x86-binarymaster/rdpwrap.res | Bin 960 -> 0 bytes src-x86-x64-Fusix/RDPWrap.vcxproj | 58 +- technical.txt | 561 -- tools/RDPWrapOffsetFinder/README.md | 35 - tools/RDPWrapOffsetFinder/VERSION | 1 - .../x64/RDPWrapOffsetFinder.exe | Bin 18432 -> 0 bytes tools/RDPWrapOffsetFinder/x64/Zydis.dll | Bin 568832 -> 0 bytes .../x86/RDPWrapOffsetFinder.exe | Bin 16384 -> 0 bytes tools/RDPWrapOffsetFinder/x86/Zydis.dll | Bin 545280 -> 0 bytes tools/build-local.ps1 | 259 + tools/make-icons.ps1 | 109 + tools/sergiye-hashes.json | 18 + tools/update-sergiye-hashes.ps1 | 106 + 105 files changed, 3825 insertions(+), 11930 deletions(-) create mode 100644 .github/CODEOWNERS create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/build-and-release.yml create mode 100644 .github/workflows/build-csharp.yml create mode 100644 .github/workflows/build-msi-check.yml create mode 100644 .github/workflows/build-offsetfinder.yml delete mode 100644 .github/workflows/publish-ini.yml delete mode 100644 .github/workflows/update-finder-tools.yml create mode 100644 .gitmodules delete mode 100644 bin/install.bat delete mode 100644 bin/uninstall.bat delete mode 100644 bin/update.bat create mode 100644 docs/BUILDING.md create mode 100644 docs/CODE-SIGNING.md create mode 100644 docs/SUBMODULE-UPDATE.md create mode 100644 docs/images/RDPWrapperCheck.png create mode 100644 docs/images/RDPWrapperCheckWarning.png create mode 100644 docs/images/RDPWrapperConfig.png create mode 100644 docs/images/RDPWrapperMSI1.png create mode 100644 docs/images/RDPWrapperMSI2.png create mode 100644 docs/images/README.md create mode 100644 msi/RDPWInst.wixproj create mode 100644 msi/RDPWInst.wxs create mode 100644 msi/global.json rename {res => msi}/rdpwrap-arm-kb.ini (100%) rename {res => msi}/rdpwrap.ini (99%) delete mode 100644 res/RDPWInst.wxs delete mode 100644 res/build_wxs.bat delete mode 100644 res/clearres.bat delete mode 100644 res/legacy.install.bat delete mode 100644 res/rdpwrap-ini-kb.txt create mode 100644 src-csharp/RDPCheck/MainForm.cs create mode 100644 src-csharp/RDPCheck/Program.cs create mode 100644 src-csharp/RDPCheck/RdpComInterop.cs create mode 100644 src-csharp/RDPCheck/app.ico create mode 100644 src-csharp/RDPCheck/app.manifest create mode 100644 src-csharp/RDPCheck/packages.lock.json create mode 100644 src-csharp/RDPConf/LicenseForm.cs create mode 100644 src-csharp/RDPConf/MainForm.cs create mode 100644 src-csharp/RDPConf/Program.cs create mode 100644 src-csharp/RDPConf/app.ico create mode 100644 src-csharp/RDPConf/app.manifest create mode 100644 src-csharp/RDPConf/packages.lock.json create mode 160000 src-csharp/RDPOffsetFinder create mode 100644 src-csharp/RDPWInst/packages.lock.json delete mode 100644 src-csharp/RDPWrap.Common/RDPWrap.Common.csproj rename src-csharp/{RDPWrap.Common => RDPWrap}/ArchHelper.cs (98%) rename src-csharp/{RDPWrap.Common => RDPWrap}/FileVersionHelper.cs (97%) rename src-csharp/{RDPWrap.Common => RDPWrap}/HttpHelper.cs (98%) rename src-csharp/{RDPWrap.Common => RDPWrap}/IniHelper.cs (97%) rename src-csharp/{RDPWrap.Common => RDPWrap}/NativeMethods.cs (99%) rename src-csharp/{RDPWrap.Common => RDPWrap}/ProcessHelper.cs (97%) create mode 100644 src-csharp/RDPWrap/RDPWrap.csproj rename src-csharp/{RDPWrap.Common => RDPWrap}/RegistryHelper.cs (98%) rename src-csharp/{RDPWrap.Common => RDPWrap}/ResourceHelper.cs (98%) rename src-csharp/{RDPWrap.Common => RDPWrap}/SecurityHelper.cs (99%) rename src-csharp/{RDPWrap.Common => RDPWrap}/ServiceHelper.cs (99%) create mode 100644 src-csharp/RDPWrap/packages.lock.json delete mode 100644 src-installer/RDPWInst.dpr delete mode 100644 src-installer/RDPWInst.dproj delete mode 100644 src-installer/resource.res delete mode 100644 src-rdpcheck/MainUnit.dfm delete mode 100644 src-rdpcheck/MainUnit.pas delete mode 100644 src-rdpcheck/RDP.ico delete mode 100644 src-rdpcheck/RDPCheck.dpr delete mode 100644 src-rdpcheck/RDPCheck.dproj delete mode 100644 src-rdpcheck/RDPCheck.res delete mode 100644 src-rdpconfig/LicenseUnit.dfm delete mode 100644 src-rdpconfig/LicenseUnit.pas delete mode 100644 src-rdpconfig/MainUnit.dfm delete mode 100644 src-rdpconfig/MainUnit.pas delete mode 100644 src-rdpconfig/RDPConf.dpr delete mode 100644 src-rdpconfig/RDPConf.dproj delete mode 100644 src-rdpconfig/RDPConf.res delete mode 100644 src-rdpconfig/resource.res delete mode 100644 src-x86-binarymaster/LiteINI.pas delete mode 100644 src-x86-binarymaster/rdpwrap.dpr delete mode 100644 src-x86-binarymaster/rdpwrap.dproj delete mode 100644 src-x86-binarymaster/rdpwrap.res delete mode 100644 technical.txt delete mode 100644 tools/RDPWrapOffsetFinder/README.md delete mode 100644 tools/RDPWrapOffsetFinder/VERSION delete mode 100644 tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe delete mode 100644 tools/RDPWrapOffsetFinder/x64/Zydis.dll delete mode 100644 tools/RDPWrapOffsetFinder/x86/RDPWrapOffsetFinder.exe delete mode 100644 tools/RDPWrapOffsetFinder/x86/Zydis.dll create mode 100644 tools/build-local.ps1 create mode 100644 tools/make-icons.ps1 create mode 100644 tools/sergiye-hashes.json create mode 100644 tools/update-sergiye-hashes.ps1 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..a41d6d9 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,25 @@ +# CODEOWNERS +# GitHub automatically requests a review from the listed owners whenever a PR +# modifies files matching the pattern. More specific rules override less specific +# ones (last match wins), so list broad patterns first. +# +# Docs: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners + +# Catch-all: maintainer reviews everything +* @sjackson0109 + +# C++ DLL source +src-x86-x64-Fusix/ @sjackson0109 + +# C# tools (installer, configurator, checker, offset-finder) +src-csharp/ @sjackson0109 + +# WiX MSI packaging +msi/ @sjackson0109 + +# CI/CD pipelines +.github/ @sjackson0109 + +# Documentation +docs/ @sjackson0109 +README.md @sjackson0109 diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 36bdd9e..5e1061f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -58,6 +58,7 @@ body: options: - x64 (64-bit) - x86 (32-bit) + - ARM64 validations: required: true diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..d97f5ed --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,34 @@ +version: 2 + +updates: + # Keep GitHub Actions pinned to their latest minor/patch releases + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly + day: monday + open-pull-requests-limit: 10 + groups: + actions-minor: + patterns: ["*"] + + # Keep .NET SDK NuGet dependencies up to date (for src-csharp/) + - package-ecosystem: nuget + directory: /src-csharp + schedule: + interval: weekly + day: monday + open-pull-requests-limit: 10 + + # Monitor git submodules for upstream releases + # Covers: src-csharp/RDPOffsetFinder (llccd/RDPWrapOffsetFinder) + # src-csharp/RDPOffsetFinder/zydis (zyantific/zydis) + # Note: gitsubmodule ecosystem is currently in Dependabot beta. + # Enable once the feature is available for the repository, or track + # submodule versions manually via the pinned SHA in .gitmodules. + - package-ecosystem: gitsubmodule + directory: / + schedule: + interval: weekly + day: monday + open-pull-requests-limit: 5 diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml new file mode 100644 index 0000000..4b252e7 --- /dev/null +++ b/.github/workflows/build-and-release.yml @@ -0,0 +1,760 @@ +name: Build and Release + +on: + push: + branches: [main, master] + paths: + - 'msi/rdpwrap.ini' + - 'msi/rdpwrap-arm-kb.ini' + - 'msi/**' + - 'src-x86-x64-Fusix/**' + - 'src-csharp/**' + - '.github/workflows/build-and-release.yml' + workflow_dispatch: + +concurrency: + group: release + cancel-in-progress: true + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + +permissions: + contents: write + +# ──────────────────────────────────────────────────────────────────────────── +# Job dependency / parallelism map +# +# build-dll ───────────────► build-csharp ──────────► build-msi ──┐ +# build-offsetfinder ───────────────────────────────────────────► release +# download-sergiye ───────────────────────────────────────────► release +# build-dll ─┘ +# ──────────────────────────────────────────────────────────────────────────── + +jobs: + + # ── Job 1: Build rdpwrap.dll (x64, x86, ARM64) ──────────────────────────── + # No job dependencies — starts immediately. + build-dll: + name: Build rdpwrap DLL + runs-on: windows-2022 + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v3 + + - name: Build rdpwrap.dll (x64, Win32, ARM64) + shell: pwsh + run: | + foreach ($platform in @('x64', 'Win32', 'ARM64')) { + msbuild src-x86-x64-Fusix/RDPWrap.vcxproj ` + /p:Configuration=Release ` + /p:Platform="$platform" ` + /p:PlatformToolset=v143 ` + /p:WindowsTargetPlatformVersion=10.0 ` + /v:minimal + } + Copy-Item src-x86-x64-Fusix/Release/x64/rdpwrap.dll .\rdpwrap_x64.dll + Copy-Item src-x86-x64-Fusix/Release/x86/rdpwrap.dll .\rdpwrap_x86.dll + Copy-Item src-x86-x64-Fusix/Release/arm64/rdpwrap.dll .\rdpwrap_arm64.dll + Write-Host "Built DLLs:" + Get-Item .\rdpwrap_x64.dll, .\rdpwrap_x86.dll, .\rdpwrap_arm64.dll | Format-Table Name, Length + + - name: Upload rdpwrap DLLs + uses: actions/upload-artifact@v4 + with: + name: rdpwrap-dlls + path: | + rdpwrap_x64.dll + rdpwrap_x86.dll + rdpwrap_arm64.dll + if-no-files-found: error + + + # ── Job 2: Build RDPWrapOffsetFinder (x64, x86) — parallel to build-dll ─── + # No job dependencies — starts immediately. + build-offsetfinder: + name: Build OffsetFinder + runs-on: windows-2022 + outputs: + finder_ver: ${{ steps.finder.outputs.finder_ver }} + + steps: + - name: Checkout repository (with submodules) + uses: actions/checkout@v6 + with: + submodules: recursive + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v3 + + - name: Build RDPWrapOffsetFinder from submodule + id: finder + shell: pwsh + run: | + $version = (git -C src-csharp/RDPOffsetFinder describe --tags --always).Trim() + Write-Host "Submodule version: $version" + + foreach ($cfg in @( + @{ Platform = 'x64'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } + @{ Platform = 'Win32'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } + )) { + # Build Zydis DLL + msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj ` + /p:Configuration="$($cfg.ZydisCfg)" ` + /p:Platform="$($cfg.Platform)" ` + /p:PlatformToolset=v143 ` + /v:minimal + + # Build RDPWrapOffsetFinder + msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder/RDPWrapOffsetFinder.vcxproj ` + /p:Configuration=Release ` + /p:Platform="$($cfg.Platform)" ` + /p:PlatformToolset=v143 ` + /v:minimal + + $arch = $cfg.Arch + $exeSrc = "src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder/$($cfg.Platform)/Release/RDPWrapOffsetFinder.exe" + $dllSrc = "src-csharp/RDPOffsetFinder/zydis/msvc/bin/$($cfg.ZydisBin)/Zydis.dll" + Copy-Item $exeSrc ".\RDPWrapOffsetFinder_$arch.exe" + Copy-Item $dllSrc ".\Zydis_$arch.dll" + } + + Write-Host "Built finder tools (version $version):" + Get-Item .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll | Format-Table Name, Length + + echo "finder_ver=$version" >> $env:GITHUB_OUTPUT + + - name: Upload OffsetFinder binaries + uses: actions/upload-artifact@v4 + with: + name: offsetfinder-binaries + path: | + RDPWrapOffsetFinder_x64.exe + RDPWrapOffsetFinder_x86.exe + Zydis_x64.dll + Zydis_x86.dll + if-no-files-found: error + + + # ── Job 3: Download rdpWrapper GUI from sergiye — parallel to build-dll ──── + # No job dependencies — starts immediately. + download-sergiye: + name: Download sergiye rdpWrapper + runs-on: windows-2022 + outputs: + wrapper_ver: ${{ steps.wrapper.outputs.wrapper_ver }} + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Download rdpWrapper (sergiye) + id: wrapper + shell: pwsh + run: | + $apiUrl = "https://api.github.com/repos/sergiye/rdpWrapper/releases/latest" + $release = Invoke-RestMethod -Uri $apiUrl -Headers @{ "User-Agent" = "rdpwrap-ci" } + + foreach ($arch in @('x64', 'x86')) { + $asset = $release.assets | + Where-Object { $_.name -eq "rdpWrapper_$arch.exe" } | + Select-Object -First 1 + if (-not $asset) { + throw "Could not find rdpWrapper_$arch.exe in sergiye release $($release.tag_name)" + } + Write-Host "Downloading $($asset.browser_download_url)" + Invoke-WebRequest -Uri $asset.browser_download_url -OutFile ".\rdpWrapper_$arch.exe" + } + + Write-Host "Wrapper exes:" + Get-Item .\rdpWrapper_x64.exe, .\rdpWrapper_x86.exe | Format-Table Name, Length + echo "wrapper_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT + + # ── SHA-256 audit log for third-party binaries ────────────────────────── + # Records the hash of every downloaded sergiye binary in the workflow log. + # This provides a tamper-evident paper trail without blocking the release. + - name: Audit SHA-256 of downloaded binaries + shell: pwsh + run: | + $files = Get-Item .\rdpWrapper_x64.exe, .\rdpWrapper_x86.exe + Write-Host "SHA-256 audit (third-party downloads from sergiye/rdpWrapper):" + foreach ($f in $files) { + $hash = (Get-FileHash $f.FullName -Algorithm SHA256).Hash + Write-Host " $($f.Name) $hash" + } + + # ── Verify hashes against pinned values in tools/sergiye-hashes.json ──── + # If the file contains a non-empty 'release' key, hashes must match exactly. + # If 'release' is empty this step is skipped (bootstrap scenario). + - name: Verify sergiye binary hashes + shell: pwsh + run: | + $pinFile = 'tools/sergiye-hashes.json' + $pin = Get-Content $pinFile -Raw | ConvertFrom-Json + if ([string]::IsNullOrEmpty($pin.release)) { + Write-Host "Hash pinning not yet configured (tools/sergiye-hashes.json 'release' is empty) — skipping." + Write-Host "To enable pinning: download the binaries, compute hashes with Get-FileHash, and update $pinFile." + } else { + Write-Host "Verifying against pinned release: $($pin.release)" + $pass = $true + foreach ($name in @('rdpWrapper_x64.exe', 'rdpWrapper_x86.exe')) { + $expected = $pin.$name + $actual = (Get-FileHash ".\$name" -Algorithm SHA256).Hash + if ($actual -ne $expected) { + Write-Error "Hash mismatch for $name!" + Write-Error " Expected: $expected" + Write-Error " Actual: $actual" + $pass = $false + } else { + Write-Host " $name OK ($actual)" + } + } + if (-not $pass) { throw "One or more sergiye binary hashes did not match the pinned values." } + } + + - name: Upload sergiye wrappers + uses: actions/upload-artifact@v4 + with: + name: sergiye-wrappers + path: | + rdpWrapper_x64.exe + rdpWrapper_x86.exe + if-no-files-found: error + + + # ── Job 4: Build C# tools (FD + SC) — waits for build-dll ──────────────── + # Waits for build-dll so the DLLs can be embedded into single-file EXEs. + build-csharp: + name: Build C# Tools + runs-on: windows-2022 + needs: [build-dll] + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Download rdpwrap DLLs + uses: actions/download-artifact@v4 + with: + name: rdpwrap-dlls + path: . + + # Stage embedded resources for RDPWInst offline/bundled mode. + # RDPWInst.csproj embeds these files when present (Condition="Exists(...)"). + # Copying them here ensures the single-file EXE can install without network. + - name: Stage RDPWInst embedded resources + shell: pwsh + run: | + $res = 'src-csharp/RDPWInst/Resources' + New-Item -ItemType Directory -Path $res -Force | Out-Null + Copy-Item .\rdpwrap_x86.dll "$res\rdpw32.dll" -Force + Copy-Item .\rdpwrap_x64.dll "$res\rdpw64.dll" -Force + Copy-Item msi\rdpwrap.ini "$res\rdpwrap.ini" -Force + Copy-Item LICENSE "$res\license.txt" -Force + Write-Host "Staged resources:" + Get-ChildItem $res | Format-Table Name, Length + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.x' + + - name: Cache NuGet packages + uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: nuget-${{ runner.os }}-${{ hashFiles('**/Directory.Build.props', '**/*.csproj') }} + restore-keys: | + nuget-${{ runner.os }}- + + # Compute version once so it's consistent across all publish and sign steps + - name: Get build version + id: build_ver + shell: pwsh + run: | + $v = Get-Date -Format "yyyy.M.d" + echo "version=$v" >> $env:GITHUB_OUTPUT + Write-Host "Build version: $v" + + # ── Build framework-dependent variants ────────────────────────────────── + - name: Publish C# tools (x64, x86, arm64) + shell: pwsh + env: + DOTNET_NOLOGO: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + run: | + $projects = @('RDPWInst', 'RDPConf', 'RDPCheck') + $rids = [ordered]@{ x64 = 'win-x64'; x86 = 'win-x86'; arm64 = 'win-arm64' } + $ver = '${{ steps.build_ver.outputs.version }}' + foreach ($proj in $projects) { + foreach ($plat in $rids.Keys) { + $rid = $rids[$plat] + dotnet publish "src-csharp/$proj/$proj.csproj" ` + -c Release ` + -r $rid ` + -p:Platform=$plat ` + -p:PublishSingleFile=true ` + -p:SelfContained=false ` + -p:Version=$ver ` + -p:AssemblyVersion="$ver.0" ` + -p:FileVersion="$ver.0" ` + --output "dist_cs\$plat\$proj" + Copy-Item "dist_cs\$plat\$proj\$proj.exe" ".\${proj}_${plat}.exe" + } + } + Write-Host "C# tool executables:" + Get-Item .\RDPWInst_*.exe, .\RDPConf_*.exe, .\RDPCheck_*.exe | Format-Table Name, Length + + # ── Build self-contained variants (no .NET runtime required) ───────────── + # Self-contained exes are larger (~60 MB) but work without a .NET install. + # Suffixed with _sc to distinguish from the framework-dependent versions. + - name: Publish self-contained C# tools (x64, x86, arm64) + shell: pwsh + env: + DOTNET_NOLOGO: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + run: | + $projects = @('RDPWInst', 'RDPConf', 'RDPCheck') + $rids = [ordered]@{ x64 = 'win-x64'; x86 = 'win-x86'; arm64 = 'win-arm64' } + $ver = '${{ steps.build_ver.outputs.version }}' + foreach ($proj in $projects) { + foreach ($plat in $rids.Keys) { + $rid = $rids[$plat] + dotnet publish "src-csharp/$proj/$proj.csproj" ` + -c Release ` + -r $rid ` + -p:Platform=$plat ` + -p:PublishSingleFile=true ` + -p:SelfContained=true ` + -p:Version=$ver ` + -p:AssemblyVersion="$ver.0" ` + -p:FileVersion="$ver.0" ` + --output "dist_cs_sc\$plat\$proj" + Copy-Item "dist_cs_sc\$plat\$proj\$proj.exe" ".\${proj}_${plat}_sc.exe" + } + } + Write-Host "Self-contained executables:" + Get-Item .\RDPWInst_*_sc.exe, .\RDPConf_*_sc.exe, .\RDPCheck_*_sc.exe | Format-Table Name, Length + + # ── Optional: code-sign all C# executables ────────────────────────────── + # Enable by setting repository variable USE_CERT_SIGNING=true and adding + # secrets CODESIGN_CERT_BASE64 (PFX as base64) and CODESIGN_CERT_PASSWORD. + - name: Sign C# executables + if: vars.USE_CERT_SIGNING == 'true' + env: + CODESIGN_CERT_BASE64: ${{ secrets.CODESIGN_CERT_BASE64 }} + CODESIGN_CERT_PASSWORD: ${{ secrets.CODESIGN_CERT_PASSWORD }} + shell: pwsh + run: | + $pfxPath = "$env:RUNNER_TEMP\codesign.pfx" + [IO.File]::WriteAllBytes($pfxPath, + [Convert]::FromBase64String($env:CODESIGN_CERT_BASE64)) + $signtool = (Resolve-Path "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\x64\signtool.exe" | + Sort-Object | Select-Object -Last 1).Path + # Sign both framework-dependent and self-contained variants (glob picks up all _*.exe files) + $exes = Get-Item .\RDPWInst_*.exe, .\RDPConf_*.exe, .\RDPCheck_*.exe + foreach ($exe in $exes) { + & $signtool sign /fd SHA256 /f $pfxPath ` + /p $env:CODESIGN_CERT_PASSWORD ` + /tr http://timestamp.digicert.com /td SHA256 $exe.FullName + } + Remove-Item $pfxPath -Force + + - name: Upload C# tools + uses: actions/upload-artifact@v4 + with: + name: csharp-tools + path: | + RDPWInst_*.exe + RDPConf_*.exe + RDPCheck_*.exe + if-no-files-found: error + + + # ── Job 5: Build MSI packages — waits for build-csharp (implies build-dll) ─ + build-msi: + name: Build MSI Packages + runs-on: windows-2022 + needs: [build-csharp] + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Download rdpwrap DLLs + uses: actions/download-artifact@v4 + with: + name: rdpwrap-dlls + path: . + + - name: Download C# tools + uses: actions/download-artifact@v4 + with: + name: csharp-tools + path: . + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.x' + + - name: Cache NuGet packages (WiX restore) + uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: nuget-${{ runner.os }}-${{ hashFiles('msi/global.json', 'msi/*.wixproj') }} + restore-keys: | + nuget-${{ runner.os }}- + + # Get version (same formula as build-csharp for filename consistency) + - name: Get build version + id: build_ver + shell: pwsh + run: | + $v = Get-Date -Format "yyyy.M.d" + echo "version=$v" >> $env:GITHUB_OUTPUT + Write-Host "Build version: $v" + + # ── Build MSI installers (WiX v5, x64 / x86 / arm64) ────────────────── + - name: Build MSI packages + shell: pwsh + run: | + $ver = '${{ steps.build_ver.outputs.version }}' + foreach ($arch in @('x64', 'x86', 'arm64')) { + # Stage arch-specific inputs next to the .wixproj + Copy-Item ".\rdpwrap_$arch.dll" "msi\rdpwrap_$arch.dll" -Force + Copy-Item ".\RDPWInst_$arch.exe" "msi\RDPWInst_$arch.exe" -Force + Copy-Item ".\RDPConf_$arch.exe" "msi\RDPConf_$arch.exe" -Force + Copy-Item ".\RDPCheck_$arch.exe" "msi\RDPCheck_$arch.exe" -Force + + dotnet build msi/RDPWInst.wixproj ` + -c Release ` + /p:Platform=$arch ` + /p:OutputName="RDPWrapper-$arch" ` + /p:PackageVersion=$ver ` + /p:OutputPath="$PWD/msi_out/$arch" + if ($LASTEXITCODE -ne 0) { throw "WiX build failed for $arch" } + + $msiSrc = Get-Item "msi_out\$arch\RDPWrapper-$arch.msi" -ErrorAction SilentlyContinue + if (-not $msiSrc) { + $msiSrc = Get-ChildItem "msi\bin" -Recurse -Filter "RDPWrapper-$arch.msi" | + Sort-Object LastWriteTime -Descending | Select-Object -First 1 + } + if (-not $msiSrc) { throw "Could not locate RDPWrapper-$arch.msi after WiX build" } + Copy-Item $msiSrc.FullName ".\RDPWrapper-${ver}-$arch.msi" + Write-Host "Produced: RDPWrapper-${ver}-$arch.msi ($([math]::Round($msiSrc.Length/1MB,1)) MB)" + } + Write-Host "MSI packages:" + Get-Item .\RDPWrapper-*-*.msi | Format-Table Name, Length + + # ── Optional: sign the MSI packages ──────────────────────────────────── + # Enable by setting repository variable USE_CERT_SIGNING=true and adding + # secrets CODESIGN_CERT_BASE64 (PFX as base64) and CODESIGN_CERT_PASSWORD. + - name: Sign MSI packages + if: vars.USE_CERT_SIGNING == 'true' + env: + CODESIGN_CERT_BASE64: ${{ secrets.CODESIGN_CERT_BASE64 }} + CODESIGN_CERT_PASSWORD: ${{ secrets.CODESIGN_CERT_PASSWORD }} + shell: pwsh + run: | + $pfxPath = "$env:RUNNER_TEMP\codesign.pfx" + [IO.File]::WriteAllBytes($pfxPath, + [Convert]::FromBase64String($env:CODESIGN_CERT_BASE64)) + $signtool = (Resolve-Path "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\x64\signtool.exe" | + Sort-Object | Select-Object -Last 1).Path + foreach ($msi in (Get-Item .\RDPWrapper-*-*.msi)) { + & $signtool sign /fd SHA256 /f $pfxPath ` + /p $env:CODESIGN_CERT_PASSWORD ` + /tr http://timestamp.digicert.com /td SHA256 ` + $msi.FullName + } + Remove-Item $pfxPath -Force + + - name: Upload MSI packages + uses: actions/upload-artifact@v4 + with: + name: msi-packages + path: RDPWrapper-*-*.msi + if-no-files-found: error + + + # ── Job 6: Publish GitHub Release — waits for all build jobs ────────────── + release: + name: Publish Release + runs-on: windows-2022 + needs: [build-dll, build-csharp, build-offsetfinder, download-sergiye, build-msi] + # Attach to the 'release' GitHub Environment so repository admins can add + # required-reviewer gates in Settings → Environments → release. + # If the environment doesn't exist yet it will be created without gates. + environment: release + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Download rdpwrap DLLs + uses: actions/download-artifact@v4 + with: + name: rdpwrap-dlls + path: . + + - name: Download C# tools + uses: actions/download-artifact@v4 + with: + name: csharp-tools + path: . + + - name: Download OffsetFinder binaries + uses: actions/download-artifact@v4 + with: + name: offsetfinder-binaries + path: . + + - name: Download sergiye wrappers + uses: actions/download-artifact@v4 + with: + name: sergiye-wrappers + path: . + + - name: Download MSI packages + uses: actions/download-artifact@v4 + with: + name: msi-packages + path: . + + - name: Verify all release assets are present + shell: pwsh + run: | + $required = @( + 'rdpwrap_x64.dll', 'rdpwrap_x86.dll', 'rdpwrap_arm64.dll', + 'RDPWInst_x64.exe', 'RDPWInst_x86.exe', 'RDPWInst_arm64.exe', + 'RDPConf_x64.exe', 'RDPConf_x86.exe', 'RDPConf_arm64.exe', + 'RDPCheck_x64.exe', 'RDPCheck_x86.exe', 'RDPCheck_arm64.exe', + 'RDPWrapOffsetFinder_x64.exe', 'RDPWrapOffsetFinder_x86.exe', + 'Zydis_x64.dll', 'Zydis_x86.dll', + 'rdpWrapper_x64.exe', 'rdpWrapper_x86.exe' + ) + $missing = $required | Where-Object { -not (Test-Path $_) } + if ($missing) { + throw "Missing required release assets: $($missing -join ', ')" + } + Write-Host "All required assets present." + Get-ChildItem *.exe, *.dll, *.msi | Format-Table Name, Length + + # ── Extract the date string used for tagging and the updated field ─────── + - name: Get release metadata + id: meta + shell: pwsh + run: | + $date = Get-Date -Format "yyyy.MM.dd.HHmm" + $stamp = Get-Date -Format "yyyy-MM-dd HH:mm UTC" + + # Pull the Updated= line out of the INI to surface in release notes + $iniContent = Get-Content msi/rdpwrap.ini -Raw + $iniDate = if ($iniContent -match 'Updated=([^\r\n]+)') { $Matches[1] } else { 'unknown' } + + echo "date=$date" >> $env:GITHUB_OUTPUT + echo "stamp=$stamp" >> $env:GITHUB_OUTPUT + echo "inidate=$iniDate" >> $env:GITHUB_OUTPUT + + # ── Validate the INI has required sections and mandatory per-version keys ─ + - name: Validate INI + shell: pwsh + run: | + $ini = Get-Content msi/rdpwrap.ini -Raw + $lines = Get-Content msi/rdpwrap.ini + + # 1) Check mandatory top-level sections exist + foreach ($section in @('[Main]', '[SLPolicy]', '[PatchCodes]')) { + if ($ini -notmatch [regex]::Escape($section)) { + throw "INI validation failed: missing required section $section" + } + } + + # 2) Parse every Windows-version section and verify it contains the + # mandatory keys LocalOnlyPatch and SLInitHook. + $sectionKeys = [System.Collections.Generic.Dictionary[string, System.Collections.Generic.List[string]]]::new() + $currentSection = $null + + foreach ($line in $lines) { + if ($line -match '^\[(\d[\d\.]+)\]') { + $currentSection = $Matches[1] + $sectionKeys[$currentSection] = [System.Collections.Generic.List[string]]::new() + } elseif ($null -ne $currentSection -and $line -match '^([A-Za-z][A-Za-z0-9_]*)[\s]*=') { + $sectionKeys[$currentSection].Add($Matches[1]) + } + } + + $mandatoryKeys = @('LocalOnlyPatch', 'SLInitHook') + $errors = [System.Collections.Generic.List[string]]::new() + + foreach ($sec in $sectionKeys.Keys) { + foreach ($key in $mandatoryKeys) { + if (-not $sectionKeys[$sec].Contains($key)) { + $errors.Add(" Section [$sec] is missing mandatory key: $key") + } + } + } + + if ($errors.Count -gt 0) { + Write-Error "INI mandatory-key check failed ($($errors.Count) issue(s)):" + $errors | ForEach-Object { Write-Error $_ } + throw "INI validation failed — see errors above." + } + + $sectionCount = $sectionKeys.Count + Write-Host "INI is valid. Windows-version sections: $sectionCount (all contain LocalOnlyPatch + SLInitHook)" + + # ── Auto-generate changelog from merged PRs since last release ─────────── + - name: Generate changelog + id: changelog + shell: pwsh + env: + GH_TOKEN: ${{ github.token }} + run: | + # Get the tag of the previous release so we can scope the PR list + $prevTag = (gh release list --limit 1 --json tagName --jq '.[0].tagName' 2>$null) ?? '' + if ($prevTag) { + Write-Host "Generating changelog since: $prevTag" + $since = gh release view $prevTag --json publishedAt --jq .publishedAt + $prs = gh pr list --state merged --base main --search "merged:>=$since" ` + --json number,title,author --limit 50 | ConvertFrom-Json + } else { + Write-Host "No previous release found; skipping per-PR changelog." + $prs = @() + } + if ($prs.Count -gt 0) { + $lines = $prs | ForEach-Object { "- #$($_.number) $($_.title) (@$($_.author.login))" } + $body = $lines -join "`n" + } else { + $body = "_No merged pull requests found since the previous release._" + } + # Write multi-line output safely + $delim = [guid]::NewGuid().ToString('N') + echo "prs<<$delim" >> $env:GITHUB_OUTPUT + echo $body >> $env:GITHUB_OUTPUT + echo $delim >> $env:GITHUB_OUTPUT + + # ── Assemble the three user-facing distribution bundles ────────────────── + - name: Create distribution bundles + shell: pwsh + run: | + # RDPWrapper.zip - complete install package (all arches, framework-dependent) + $d = ".\bundle_wrapper" + New-Item -ItemType Directory -Path $d -Force | Out-Null + Copy-Item .\rdpwrap_x64.dll "$d\rdpwrap_x64.dll" + Copy-Item .\rdpwrap_x86.dll "$d\rdpwrap_x86.dll" + Copy-Item .\rdpwrap_arm64.dll "$d\rdpwrap_arm64.dll" + Copy-Item .\rdpWrapper_x64.exe "$d\rdpWrapper_x64.exe" + Copy-Item .\rdpWrapper_x86.exe "$d\rdpWrapper_x86.exe" + # Framework-dependent C# tools (require .NET 10 Desktop Runtime) + foreach ($proj in @('RDPWInst', 'RDPConf', 'RDPCheck')) { + foreach ($arch in @('x64', 'x86', 'arm64')) { + $src = ".\${proj}_${arch}.exe" + if (Test-Path $src) { Copy-Item $src "$d\${proj}_${arch}.exe" } + } + } + Copy-Item msi\rdpwrap.ini "$d\rdpwrap.ini" + Compress-Archive -Path "$d\*" -DestinationPath ".\RDPWrapper.zip" -Force + Remove-Item $d -Recurse -Force + + # RDPWrapper-SelfContained.zip - apps bundled with .NET runtime (~60 MB each) + $sc = ".\bundle_sc" + New-Item -ItemType Directory -Path $sc -Force | Out-Null + foreach ($proj in @('RDPWInst', 'RDPConf', 'RDPCheck')) { + foreach ($arch in @('x64', 'x86', 'arm64')) { + $src = ".\${proj}_${arch}_sc.exe" + if (Test-Path $src) { Copy-Item $src "$sc\${proj}_${arch}_sc.exe" } + } + } + Copy-Item msi\rdpwrap.ini "$sc\rdpwrap.ini" + Compress-Archive -Path "$sc\*" -DestinationPath ".\RDPWrapper-SelfContained.zip" -Force + Remove-Item $sc -Recurse -Force + + # RDPWrapOffsetFinder.zip - offset finder with per-arch subfolders + $f = ".\bundle_finder" + foreach ($arch in @('x64', 'x86')) { + $dir = "$f\$arch" + New-Item -ItemType Directory -Path $dir -Force | Out-Null + Copy-Item ".\RDPWrapOffsetFinder_$arch.exe" "$dir\RDPWrapOffsetFinder.exe" + Copy-Item ".\Zydis_$arch.dll" "$dir\Zydis.dll" + } + Compress-Archive -Path "$f\*" -DestinationPath ".\RDPWrapOffsetFinder.zip" -Force + Remove-Item $f -Recurse -Force + + Write-Host "Distribution bundles:" + Get-Item .\RDPWrapper.zip, .\RDPWrapper-SelfContained.zip, .\RDPWrapOffsetFinder.zip | Format-Table Name, Length + + # ── Create/update a versioned GitHub Release with all assets ───────────── + - name: Publish release + # Pinned to v2 tag SHA for supply-chain safety. + # Bump this SHA when upgrading: https://github.com/softprops/action-gh-release/releases + uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2 + with: + tag_name: "ini-${{ steps.meta.outputs.date }}" + name: "INI Update ${{ steps.meta.outputs.date }}" + prerelease: false + make_latest: true + body: | + ## RDP Wrapper - Automated Release + + | Field | Value | + |---|---| + | INI `Updated` date | `${{ steps.meta.outputs.inidate }}` | + | Published | ${{ steps.meta.outputs.stamp }} | + | rdpWrapper (sergiye) | ${{ needs.download-sergiye.outputs.wrapper_ver }} | + | RDPWrapOffsetFinder (llccd) | ${{ needs.build-offsetfinder.outputs.finder_ver }} | + + > **Framework-dependent tools** (default) require **.NET 10 Desktop Runtime** on the target machine. + > Download: https://dotnet.microsoft.com/download/dotnet/10.0 + > For environments without a runtime install, use the `*_sc.exe` files from `RDPWrapper-SelfContained.zip`. + + ### Downloads + + | File | Contents | Use | + |---|---|---| + | `RDPWrapper.zip` | rdpwrap DLLs, C# tools (x64/x86/arm64), rdpWrapper GUI, rdpwrap.ini | **Main install package** — extract and run `RDPWInst_x64.exe -i -o` (or matching arch) | + | `RDPWrapper-SelfContained.zip` | Same C# tools bundled with .NET runtime (no separate runtime install needed) | Use when .NET 10 Desktop Runtime cannot be deployed | + | `RDPWrapper--x64.msi` / `x86` / `arm64` | Windows Installer packages — GUI-friendly, self-registering uninstall | Preferred for managed/enterprise deployments | + | `RDPWrapOffsetFinder.zip` | RDPWrapOffsetFinder.exe + Zydis.dll for x64 and x86 | Generate offsets for an unknown termsrv.dll version manually | + + ### Merged pull requests + + ${{ steps.changelog.outputs.prs }} + + ### Individual loose files (used by the automated installer) + + | File | Purpose | + |---|---| + | `rdpwrap.ini` | Offset database fetched automatically by the installer | + | `RDPWrapOffsetFinder_x64.exe` / `Zydis_x64.dll` | Loose x64 binaries downloaded by `TryAutoGenerateOffsets` | + | `RDPWrapOffsetFinder_x86.exe` / `Zydis_x86.dll` | Loose x86 binaries downloaded by `TryAutoGenerateOffsets` | + files: | + RDPWrapper.zip + RDPWrapper-SelfContained.zip + RDPWrapper-*-x64.msi + RDPWrapper-*-x86.msi + RDPWrapper-*-arm64.msi + RDPWrapOffsetFinder.zip + msi/rdpwrap.ini + msi/rdpwrap-arm-kb.ini + rdpwrap_x64.dll + rdpwrap_x86.dll + rdpwrap_arm64.dll + RDPWInst_x64.exe + RDPWInst_x86.exe + RDPWInst_arm64.exe + RDPConf_x64.exe + RDPConf_x86.exe + RDPConf_arm64.exe + RDPCheck_x64.exe + RDPCheck_x86.exe + RDPCheck_arm64.exe + RDPWrapOffsetFinder_x64.exe + RDPWrapOffsetFinder_x86.exe + Zydis_x64.dll + Zydis_x86.dll diff --git a/.github/workflows/build-cpp.yml b/.github/workflows/build-cpp.yml index a9bf0b6..0aab122 100644 --- a/.github/workflows/build-cpp.yml +++ b/.github/workflows/build-cpp.yml @@ -1,7 +1,14 @@ -name: Build C++ DLL +name: Build C++ DLL -# Trigger on version tags (e.g. v1.7.0) or manually +# Trigger on: +# - PRs targeting main/master that touch C++ source (compile check before merge) +# - Version tag pushes (e.g. v1.7.0) +# - Manual dispatch on: + pull_request: + branches: [main, master] + paths: + - 'src-x86-x64-Fusix/**' push: tags: - 'v*' @@ -14,12 +21,18 @@ permissions: contents: write jobs: - # ── Build x64 and Win32 release DLLs ───────────────────────────────────────── + # ── Build x64 and Win32 release DLLs ───────────────────────────────────────── build: runs-on: windows-2022 strategy: matrix: - platform: [x64, Win32] + include: + - platform: x64 + msbuild_platform: x64 + - platform: x86 + msbuild_platform: Win32 + - platform: arm64 + msbuild_platform: ARM64 steps: - name: Checkout repository @@ -36,7 +49,7 @@ jobs: run: | msbuild RDPWrap.vcxproj ` /p:Configuration=Release ` - /p:Platform="${{ matrix.platform }}" ` + /p:Platform="${{ matrix.msbuild_platform }}" ` /p:PlatformToolset=v143 ` /p:WindowsTargetPlatformVersion=10.0 @@ -44,50 +57,9 @@ jobs: uses: actions/upload-artifact@v4 with: name: rdpwrap-dll-${{ matrix.platform }} - path: src-x86-x64-Fusix/${{ matrix.platform }}/Release/rdpwrap.dll + path: src-x86-x64-Fusix/Release/${{ matrix.platform }}/rdpwrap.dll if-no-files-found: error - # ── Assemble a GitHub Release from both DLL artifacts ──────────────────────── - release: - needs: build - runs-on: ubuntu-latest - if: startsWith(github.ref, 'refs/tags/') - - steps: - - name: Download x64 artifact - uses: actions/download-artifact@v4 - with: - name: rdpwrap-dll-x64 - path: ./dist/x64 - - - name: Download Win32 artifact - uses: actions/download-artifact@v4 - with: - name: rdpwrap-dll-Win32 - path: ./dist/x86 - - - name: Rename DLLs for release - run: | - mv dist/x64/rdpwrap.dll dist/rdpwrap_x64.dll - mv dist/x86/rdpwrap.dll dist/rdpwrap_x86.dll - - - name: Create GitHub Release - uses: softprops/action-gh-release@v2 - with: - prerelease: false - make_latest: false - body: | - ## RDP Wrapper DLL – ${{ github.ref_name }} - - Built from `src-x86-x64-Fusix/` with MSVC v143 (VS 2022). - - | File | Architecture | - |---|---| - | `rdpwrap_x64.dll` | x86-64 (64-bit Windows) | - | `rdpwrap_x86.dll` | x86 (32-bit Windows) | - - > Place the appropriate DLL in `C:\Program Files\RDP Wrapper\rdpwrap.dll` - > and run `RDPWInst.exe -i` to install. - files: | - dist/rdpwrap_x64.dll - dist/rdpwrap_x86.dll + # NOTE: Full GitHub Releases (including rdpwrap DLLs) are published by build-and-release.yml. + # This workflow stops at the artifact upload step so that partial releases are never + # created on tag pushes. Run build-and-release.yml to produce the canonical release. diff --git a/.github/workflows/build-csharp.yml b/.github/workflows/build-csharp.yml new file mode 100644 index 0000000..468eae5 --- /dev/null +++ b/.github/workflows/build-csharp.yml @@ -0,0 +1,141 @@ +name: Build C# Tools + +# Trigger on: +# - PRs targeting main/master that touch C# source (compile check before merge) +# - Version tag pushes (e.g. v1.7.0) +# - Manual dispatch +# Produces self-contained, single-file RDPWInst / RDPConf / RDPCheck +# executables for x64 and x86. +on: + pull_request: + branches: [main, master] + paths: + - 'src-csharp/**' + push: + tags: + - 'v*' + workflow_dispatch: + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + DOTNET_NOLOGO: true + DOTNET_CLI_TELEMETRY_OPTOUT: true + +permissions: + contents: write + +jobs: + # ── Publish self-contained executables ──────────────────────────────────────── + build: + runs-on: windows-2022 + strategy: + matrix: + platform: [x64, x86, arm64] + include: + - platform: x64 + rid: win-x64 + - platform: x86 + rid: win-x86 + - platform: arm64 + rid: win-arm64 + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.x' + + - name: Cache NuGet packages + uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: nuget-${{ runner.os }}-${{ hashFiles('**/Directory.Build.props', '**/*.csproj') }} + restore-keys: | + nuget-${{ runner.os }}- + + - name: Publish RDPWInst (${{ matrix.platform }}) + run: | + dotnet publish src-csharp/RDPWInst/RDPWInst.csproj ` + -c Release ` + -r ${{ matrix.rid }} ` + -p:Platform=${{ matrix.platform }} ` + -p:PublishSingleFile=true ` + -p:SelfContained=false ` + --output dist/${{ matrix.platform }}/RDPWInst + + - name: Publish RDPConf (${{ matrix.platform }}) + run: | + dotnet publish src-csharp/RDPConf/RDPConf.csproj ` + -c Release ` + -r ${{ matrix.rid }} ` + -p:Platform=${{ matrix.platform }} ` + -p:PublishSingleFile=true ` + -p:SelfContained=false ` + --output dist/${{ matrix.platform }}/RDPConf + + - name: Publish RDPCheck (${{ matrix.platform }}) + run: | + dotnet publish src-csharp/RDPCheck/RDPCheck.csproj ` + -c Release ` + -r ${{ matrix.rid }} ` + -p:Platform=${{ matrix.platform }} ` + -p:PublishSingleFile=true ` + -p:SelfContained=false ` + --output dist/${{ matrix.platform }}/RDPCheck + + # ── Optional: code-sign all three executables ───────────────────────────── + # Enable by setting repository variable USE_CERT_SIGNING=true and adding + # secrets CODESIGN_CERT_BASE64 (PFX as base64) and CODESIGN_CERT_PASSWORD. + - name: Sign executables (${{ matrix.platform }}) + if: vars.USE_CERT_SIGNING == 'true' + env: + CODESIGN_CERT_BASE64: ${{ secrets.CODESIGN_CERT_BASE64 }} + CODESIGN_CERT_PASSWORD: ${{ secrets.CODESIGN_CERT_PASSWORD }} + shell: pwsh + run: | + $pfxPath = "$env:RUNNER_TEMP\codesign.pfx" + [IO.File]::WriteAllBytes($pfxPath, + [Convert]::FromBase64String($env:CODESIGN_CERT_BASE64)) + + $exes = @( + "dist\${{ matrix.platform }}\RDPWInst\RDPWInst.exe", + "dist\${{ matrix.platform }}\RDPConf\RDPConf.exe", + "dist\${{ matrix.platform }}\RDPCheck\RDPCheck.exe" + ) + + $signtool = (Resolve-Path "${env:ProgramFiles(x86)}\Windows Kits\10\bin\*\x64\signtool.exe" | + Sort-Object | Select-Object -Last 1).Path + foreach ($exe in $exes) { + & $signtool sign ` + /fd SHA256 ` + /f $pfxPath ` + /p $env:CODESIGN_CERT_PASSWORD ` + /tr http://timestamp.digicert.com ` + /td SHA256 ` + $exe + } + Remove-Item $pfxPath -Force + + - name: Collect artifacts (${{ matrix.platform }}) + run: | + Copy-Item dist/${{ matrix.platform }}/RDPWInst/RDPWInst.exe RDPWInst_${{ matrix.platform }}.exe + Copy-Item dist/${{ matrix.platform }}/RDPConf/RDPConf.exe RDPConf_${{ matrix.platform }}.exe + Copy-Item dist/${{ matrix.platform }}/RDPCheck/RDPCheck.exe RDPCheck_${{ matrix.platform }}.exe + + - name: Upload ${{ matrix.platform }} artifacts + uses: actions/upload-artifact@v4 + with: + name: csharp-tools-${{ matrix.platform }} + path: | + RDPWInst_${{ matrix.platform }}.exe + RDPConf_${{ matrix.platform }}.exe + RDPCheck_${{ matrix.platform }}.exe + if-no-files-found: error + + # NOTE: Full GitHub Releases (including C# tools) are published by publish-ini.yml. + # This workflow intentionally stops at the artifact upload step so that partial + # releases are never created on the tag. Run publish-ini.yml manually or let it + # fire from an INI push to produce the canonical release. diff --git a/.github/workflows/build-msi-check.yml b/.github/workflows/build-msi-check.yml new file mode 100644 index 0000000..cb7e01a --- /dev/null +++ b/.github/workflows/build-msi-check.yml @@ -0,0 +1,73 @@ +name: Build MSI Check + +# Lightweight PR check that validates msi/RDPWInst.wxs compiles cleanly. +# We stub the binary inputs (DLL/EXE) with placeholder files so WiX can +# validate the package structure without needing a full C++ / C# build. +# For the real release build with actual binaries, see build-and-release.yml. +on: + pull_request: + branches: [main, master] + paths: + - 'msi/**' + - '.github/workflows/build-msi-check.yml' + workflow_dispatch: + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + +permissions: + contents: read + +jobs: + wix-check: + runs-on: windows-2022 + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.x' + + - name: Cache NuGet packages + uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: nuget-${{ runner.os }}-${{ hashFiles('**/Directory.Build.props', '**/*.csproj', '**/global.json') }} + restore-keys: | + nuget-${{ runner.os }}- + + # Create minimal placeholder files so WiX can resolve all File references + # in RDPWInst.wxs without requiring an actual C++ or C# build. + # WiX v5 harvests file size at build time but does not validate binary content. + - name: Create placeholder binary inputs + shell: pwsh + run: | + $arch = 'x64' + # Placeholder DLL and EXEs — WiX only needs the files to exist + foreach ($name in @("rdpwrap_$arch.dll", "RDPWInst_$arch.exe", "RDPConf_$arch.exe", "RDPCheck_$arch.exe")) { + $dest = "msi\$name" + if (-not (Test-Path $dest)) { + [System.IO.File]::WriteAllBytes($dest, [byte[]](0x4D, 0x5A)) # MZ stub + Write-Host "Created stub: $dest" + } + } + Write-Host "Placeholder files in msi\:" + Get-ChildItem msi\ -File | Format-Table Name, Length + + # Build only the x64 MSI — enough to validate WXS structure and WiX rules. + # A failure here means a real WiX schema/syntax/reference error that would + # also break the release build. + - name: Build MSI (x64 WiX check) + shell: pwsh + run: | + dotnet build msi/RDPWInst.wixproj ` + -c Release ` + /p:Platform=x64 ` + /p:PackageVersion=0.0.1 ` + /p:OutputPath="$PWD/msi_check_out/x64" + if ($LASTEXITCODE -ne 0) { throw "WiX build failed — review errors above" } + Write-Host "WiX check passed." + Get-ChildItem msi_check_out -Recurse -Filter "*.msi" | Format-Table FullName, Length diff --git a/.github/workflows/build-offsetfinder.yml b/.github/workflows/build-offsetfinder.yml new file mode 100644 index 0000000..858ef16 --- /dev/null +++ b/.github/workflows/build-offsetfinder.yml @@ -0,0 +1,93 @@ +name: Build RDPWrapOffsetFinder + +# Trigger on: +# - PRs targeting main/master that touch the OffsetFinder submodule or Zydis +# - Version tag pushes (e.g. v1.7.0) +# - Manual dispatch +on: + pull_request: + branches: [main, master] + paths: + - 'src-csharp/RDPOffsetFinder/**' + push: + tags: + - 'v*' + workflow_dispatch: + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + +permissions: + contents: write + +jobs: + # ── Build x64 and Win32 release exes ───────────────────────────────────────── + build: + runs-on: windows-2022 + strategy: + matrix: + include: + - platform: x64 + zydis_cfg: "Release MD DLL" + zydis_bin: ReleaseX64 + finder_plat: x64 + - platform: Win32 + zydis_cfg: "Release MD DLL" + zydis_bin: ReleaseX86 + finder_plat: Win32 + + steps: + - name: Checkout repository (with submodules) + uses: actions/checkout@v6 + with: + submodules: recursive + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v3 + + # Build Zydis as a shared DLL so we can ship Zydis.dll alongside the exe + - name: Build Zydis (${{ matrix.platform }}) + working-directory: src-csharp/RDPOffsetFinder + run: | + msbuild zydis\msvc\zydis\Zydis.vcxproj ` + /p:Configuration="${{ matrix.zydis_cfg }}" ` + /p:Platform="${{ matrix.platform }}" ` + /p:PlatformToolset=v143 ` + /v:minimal + + # Build the offset finder (links against the Zydis import lib just produced) + - name: Build RDPWrapOffsetFinder (${{ matrix.platform }}) + working-directory: src-csharp/RDPOffsetFinder + run: | + msbuild RDPWrapOffsetFinder\RDPWrapOffsetFinder.vcxproj ` + /p:Configuration=Release ` + /p:Platform="${{ matrix.platform }}" ` + /p:PlatformToolset=v143 ` + /v:minimal + + - name: Collect outputs + shell: pwsh + run: | + $arch = if ("${{ matrix.platform }}" -eq "Win32") { "x86" } else { "x64" } + $root = "src-csharp/RDPOffsetFinder" + $exe = "$root/RDPWrapOffsetFinder/${{ matrix.finder_plat }}/Release/RDPWrapOffsetFinder.exe" + $dll = "$root/zydis/msvc/bin/${{ matrix.zydis_bin }}/Zydis.dll" + + Write-Host "Exe: $(Get-Item $exe | Select-Object -Exp Length) bytes" + Write-Host "Dll: $(Get-Item $dll | Select-Object -Exp Length) bytes" + + Copy-Item $exe ".\RDPWrapOffsetFinder_$arch.exe" + Copy-Item $dll ".\Zydis_$arch.dll" + + - name: Upload ${{ matrix.platform }} artifact + uses: actions/upload-artifact@v4 + with: + name: finder-${{ matrix.platform }} + path: | + RDPWrapOffsetFinder_*.exe + Zydis_*.dll + if-no-files-found: error + + # NOTE: Full GitHub Releases (including OffsetFinder binaries) are published by build-and-release.yml. + # This workflow stops at the artifact upload step so that partial releases are never + # created on tag pushes. Run build-and-release.yml to produce the canonical release. diff --git a/.github/workflows/publish-ini.yml b/.github/workflows/publish-ini.yml deleted file mode 100644 index 2824531..0000000 --- a/.github/workflows/publish-ini.yml +++ /dev/null @@ -1,188 +0,0 @@ -name: Publish INI and Offset Finder Tools - -on: - push: - branches: [main, master] - paths: - - 'res/rdpwrap.ini' - - 'tools/RDPWrapOffsetFinder/**' - - '.github/workflows/publish-ini.yml' - workflow_dispatch: - -env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true - -permissions: - contents: write - -jobs: - publish: - runs-on: windows-2022 - - steps: - - name: Checkout repository - uses: actions/checkout@v6 - - # ── Build rdpwrap.dll for both x64 and Win32 ──────────────────────────── - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v3 - - - name: Build rdpwrap.dll (x64 and Win32) - shell: pwsh - run: | - foreach ($platform in @('x64', 'Win32')) { - msbuild src-x86-x64-Fusix/RDPWrap.vcxproj ` - /p:Configuration=Release ` - /p:Platform="$platform" ` - /p:PlatformToolset=v143 ` - /p:WindowsTargetPlatformVersion=10.0 ` - /v:minimal - } - Copy-Item src-x86-x64-Fusix/x64/Release/rdpwrap.dll .\rdpwrap_x64.dll - Copy-Item src-x86-x64-Fusix/Win32/Release/rdpwrap.dll .\rdpwrap_x86.dll - Write-Host "Built DLLs:" - Get-Item .\rdpwrap_x64.dll, .\rdpwrap_x86.dll | Format-Table Name, Length - - # ── Extract the date string used for tagging and the updated field ────── - - name: Get release metadata - id: meta - shell: pwsh - run: | - $date = Get-Date -Format "yyyy.MM.dd.HHmm" - $stamp = Get-Date -Format "yyyy-MM-dd HH:mm UTC" - - # Pull the Updated= line out of the INI to surface in release notes - $iniContent = Get-Content res/rdpwrap.ini -Raw - $iniDate = if ($iniContent -match 'Updated=([^\r\n]+)') { $Matches[1] } else { 'unknown' } - - echo "date=$date" >> $env:GITHUB_OUTPUT - echo "stamp=$stamp" >> $env:GITHUB_OUTPUT - echo "inidate=$iniDate" >> $env:GITHUB_OUTPUT - - # ── Stage RDPWrapOffsetFinder from committed tools/ ────────────────────── - - name: Stage RDPWrapOffsetFinder from tools/ - id: finder - shell: pwsh - run: | - $version = (Get-Content tools/RDPWrapOffsetFinder/VERSION -Raw).Trim() - - Copy-Item tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe .\RDPWrapOffsetFinder_x64.exe - Copy-Item tools/RDPWrapOffsetFinder/x64/Zydis.dll .\Zydis_x64.dll - Copy-Item tools/RDPWrapOffsetFinder/x86/RDPWrapOffsetFinder.exe .\RDPWrapOffsetFinder_x86.exe - Copy-Item tools/RDPWrapOffsetFinder/x86/Zydis.dll .\Zydis_x86.dll - - Write-Host "Staged finder tools (version $version):" - Get-Item .\RDPWrapOffsetFinder_*.exe, .\Zydis_*.dll | Format-Table Name, Length - - echo "finder_ver=$version" >> $env:GITHUB_OUTPUT - - # ── Download the latest rdpWrapper GUI app from sergiye ───────────────── - - name: Download rdpWrapper (sergiye) - id: wrapper - shell: pwsh - run: | - $apiUrl = "https://api.github.com/repos/sergiye/rdpWrapper/releases/latest" - $release = Invoke-RestMethod -Uri $apiUrl -Headers @{ "User-Agent" = "rdpwrap-ci" } - - foreach ($arch in @('x64', 'x86')) { - $asset = $release.assets | - Where-Object { $_.name -eq "rdpWrapper_$arch.exe" } | - Select-Object -First 1 - if (-not $asset) { - throw "Could not find rdpWrapper_$arch.exe in sergiye release $($release.tag_name)" - } - Write-Host "Downloading $($asset.browser_download_url)" - Invoke-WebRequest -Uri $asset.browser_download_url -OutFile ".\rdpWrapper_$arch.exe" - } - - Write-Host "Wrapper exes:" - Get-Item .\rdpWrapper_x64.exe, .\rdpWrapper_x86.exe | Format-Table Name, Length - echo "wrapper_ver=$($release.tag_name)" >> $env:GITHUB_OUTPUT - - # ── Validate the INI has required sections ─────────────────────────────── - - name: Validate INI - shell: pwsh - run: | - $ini = Get-Content res/rdpwrap.ini -Raw - foreach ($section in @('[Main]', '[SLPolicy]', '[PatchCodes]')) { - if ($ini -notmatch [regex]::Escape($section)) { - throw "INI validation failed: missing required section $section" - } - } - $sectionCount = ([regex]::Matches($ini, '^\[[\d\.]+\]', 'Multiline')).Count - Write-Host "INI is valid. Windows-version sections: $sectionCount" - - # ── Assemble the two user-facing distribution bundles ──────────────────── - - name: Create distribution bundles - shell: pwsh - run: | - # RDPWrapper.zip - complete install package - $d = ".\bundle_wrapper" - New-Item -ItemType Directory -Path $d -Force | Out-Null - Copy-Item .\rdpwrap_x64.dll "$d\rdpwrap_x64.dll" - Copy-Item .\rdpwrap_x86.dll "$d\rdpwrap_x86.dll" - Copy-Item .\rdpWrapper_x64.exe "$d\rdpWrapper_x64.exe" - Copy-Item .\rdpWrapper_x86.exe "$d\rdpWrapper_x86.exe" - Copy-Item res\rdpwrap.ini "$d\rdpwrap.ini" - Copy-Item bin\install.bat "$d\install.bat" - Copy-Item bin\uninstall.bat "$d\uninstall.bat" - Copy-Item bin\update.bat "$d\update.bat" - Compress-Archive -Path "$d\*" -DestinationPath ".\RDPWrapper.zip" -Force - Remove-Item $d -Recurse -Force - - # RDPWrapOffsetFinder.zip - offset finder with per-arch subfolders - $f = ".\bundle_finder" - foreach ($arch in @('x64', 'x86')) { - $dir = "$f\$arch" - New-Item -ItemType Directory -Path $dir -Force | Out-Null - Copy-Item ".\RDPWrapOffsetFinder_$arch.exe" "$dir\RDPWrapOffsetFinder.exe" - Copy-Item ".\Zydis_$arch.dll" "$dir\Zydis.dll" - } - Compress-Archive -Path "$f\*" -DestinationPath ".\RDPWrapOffsetFinder.zip" -Force - Remove-Item $f -Recurse -Force - - Write-Host "Distribution bundles:" - Get-Item .\RDPWrapper.zip, .\RDPWrapOffsetFinder.zip | Format-Table Name, Length - - # ── Create/update a versioned GitHub Release with all assets ───────────── - - name: Publish release - uses: softprops/action-gh-release@v2 - with: - tag_name: "ini-${{ steps.meta.outputs.date }}" - name: "INI Update ${{ steps.meta.outputs.date }}" - prerelease: false - make_latest: true - body: | - ## RDP Wrapper - Automated Release - - | Field | Value | - |---|---| - | INI `Updated` date | `${{ steps.meta.outputs.inidate }}` | - | Published | ${{ steps.meta.outputs.stamp }} | - | rdpWrapper (sergiye) | ${{ steps.wrapper.outputs.wrapper_ver }} | - | RDPWrapOffsetFinder (llccd) | ${{ steps.finder.outputs.finder_ver }} | - - ### Downloads - - | File | Contents | Use | - |---|---|---| - | `RDPWrapper.zip` | rdpwrap_x64.dll, rdpwrap_x86.dll, rdpWrapper_x64.exe, rdpWrapper_x86.exe, rdpwrap.ini, install/uninstall/update.bat | Main install package - extract and run `rdpWrapper_x64.exe` | - | `RDPWrapOffsetFinder.zip` | x64\RDPWrapOffsetFinder.exe + Zydis.dll, x86\RDPWrapOffsetFinder.exe + Zydis.dll | Generate offsets for an unknown termsrv.dll version manually | - - ### Individual files (used by the automated installer) - - | File | Purpose | - |---|---| - | `rdpwrap.ini` | Offset database fetched automatically by the installer | - | `RDPWrapOffsetFinder_x64.exe` / `Zydis_x64.dll` | Loose x64 binaries downloaded by `TryAutoGenerateOffsets` | - | `RDPWrapOffsetFinder_x86.exe` / `Zydis_x86.dll` | Loose x86 binaries downloaded by `TryAutoGenerateOffsets` | - files: | - RDPWrapper.zip - RDPWrapOffsetFinder.zip - res/rdpwrap.ini - rdpwrap_x64.dll - rdpwrap_x86.dll - RDPWrapOffsetFinder_x64.exe - RDPWrapOffsetFinder_x86.exe - Zydis_x64.dll - Zydis_x86.dll diff --git a/.github/workflows/update-finder-tools.yml b/.github/workflows/update-finder-tools.yml deleted file mode 100644 index f80c27d..0000000 --- a/.github/workflows/update-finder-tools.yml +++ /dev/null @@ -1,120 +0,0 @@ -name: Update RDPWrapOffsetFinder tools - -# Run manually to pull a new version of llccd/RDPWrapOffsetFinder into tools/. -# The workflow commits the updated binaries and opens a pull request. -on: - workflow_dispatch: - inputs: - tag: - description: "llccd release tag to fetch (leave blank for latest)" - required: false - default: "" - -env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true - -permissions: - contents: write - pull-requests: write - -jobs: - update: - runs-on: windows-2022 - - steps: - - name: Checkout repository - uses: actions/checkout@v6 - - - name: Download and extract RDPWrapOffsetFinder - id: fetch - shell: pwsh - run: | - $tag = "${{ github.event.inputs.tag }}" - if ($tag -eq "") { - $apiUrl = "https://api.github.com/repos/llccd/RDPWrapOffsetFinder/releases/latest" - } else { - $apiUrl = "https://api.github.com/repos/llccd/RDPWrapOffsetFinder/releases/tags/$tag" - } - - $release = Invoke-RestMethod -Uri $apiUrl -Headers @{ "User-Agent" = "rdpwrap-ci" } - $version = $release.tag_name - Write-Host "Fetching version $version" - - $asset = $release.assets | Where-Object { $_.name -like "*.zip" } | Select-Object -First 1 - if (-not $asset) { throw "No zip asset found in release $version" } - - Invoke-WebRequest -Uri $asset.browser_download_url -OutFile finder.zip -UseBasicParsing - Expand-Archive -Path finder.zip -DestinationPath .\finder -Force - - Write-Host "Zip contents:" - Get-ChildItem -Recurse .\finder | Select-Object FullName, Length - - # The llccd zip uses "64bit/" and "32bit/" subfolder names. - # We pick the symbol-enabled exe (not the _nosymbol variant) from each arch folder. - function Get-Bin($filter, $archHint) { - $hits = Get-ChildItem -Recurse .\finder -Filter $filter | - Where-Object { $_.FullName -match $archHint } | - Where-Object { $_.Name -notmatch "nosymbol" } - return ($hits | Select-Object -First 1) - } - - $x64exe = Get-Bin "RDPWrapOffsetFinder*.exe" "64bit" - $x64dll = Get-Bin "Zydis*.dll" "64bit" - $x86exe = Get-Bin "RDPWrapOffsetFinder*.exe" "32bit" - $x86dll = Get-Bin "Zydis*.dll" "32bit" - - # Fall back to x64 if the release only ships one arch - if (-not $x86exe) { $x86exe = $x64exe } - if (-not $x86dll) { $x86dll = $x64dll } - if (-not $x64exe) { throw "Could not locate x64 exe" } - if (-not $x64dll) { throw "Could not locate x64 Zydis.dll" } - - New-Item -ItemType Directory -Path tools\RDPWrapOffsetFinder\x64 -Force | Out-Null - New-Item -ItemType Directory -Path tools\RDPWrapOffsetFinder\x86 -Force | Out-Null - - Copy-Item $x64exe.FullName tools\RDPWrapOffsetFinder\x64\RDPWrapOffsetFinder.exe -Force - Copy-Item $x64dll.FullName tools\RDPWrapOffsetFinder\x64\Zydis.dll -Force - Copy-Item $x86exe.FullName tools\RDPWrapOffsetFinder\x86\RDPWrapOffsetFinder.exe -Force - Copy-Item $x86dll.FullName tools\RDPWrapOffsetFinder\x86\Zydis.dll -Force - Set-Content -Path tools\RDPWrapOffsetFinder\VERSION -Value $version - - Write-Host "Staged tools:" - Get-ChildItem -Recurse tools\RDPWrapOffsetFinder | Select-Object FullName, Length - - echo "version=$version" >> $env:GITHUB_OUTPUT - - - name: Commit and push to a new branch - id: push - shell: pwsh - run: | - $version = "${{ steps.fetch.outputs.version }}" - $branch = "chore/update-finder-tools-$version" - - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git checkout -b $branch - git add tools/RDPWrapOffsetFinder - if ((git diff --cached --name-only) -eq "") { - Write-Host "No changes - tools already up to date" - exit 0 - } - git commit -m "chore: update RDPWrapOffsetFinder tools to $version" - git push origin $branch - echo "branch=$branch" >> $env:GITHUB_OUTPUT - - - name: Create pull request - if: steps.push.outputs.branch != '' - shell: pwsh - run: | - $version = "${{ steps.fetch.outputs.version }}" - $branch = "${{ steps.push.outputs.branch }}" - gh pr create ` - --title "chore: update RDPWrapOffsetFinder tools to $version" ` - --body "Automated update of the committed RDPWrapOffsetFinder binaries in ``tools/RDPWrapOffsetFinder/`` to upstream release $version. - -Triggered manually via the **Update RDPWrapOffsetFinder tools** workflow. -Merge to include the updated binaries in the next INI release." ` - --base master ` - --head $branch - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 56e5ba3..10e5e1a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,9 @@ __history/ *.~* +# Local build output (produced by local builds; not committed) +build/ + # Compiled binaries *.dcu *.exe @@ -15,3 +18,24 @@ __history/ # MSI local stuff *.wixobj *.wixpdb +msi/bin/ +msi/obj/ +msi_out/ + +# Staged CI inputs inside msi/ (DLLs and EXEs copied there before WiX runs; +# generated at build time — not source files) +msi/*.dll +msi/*.exe + +# C# build outputs +src-csharp/**/bin/ +src-csharp/**/obj/ +# Staged resource: copied from msi/rdpwrap.ini at build time, not source +src-csharp/RDPWInst/Resources/rdpwrap.ini +src-csharp/RDPWInst/Resources/rdpw32.dll +src-csharp/RDPWInst/Resources/rdpw64.dll +src-csharp/RDPWInst/Resources/license.txt + +# C++ build outputs +src-x86-x64-Fusix/Release/ +src-x86-x64-Fusix/obj/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c7ed6aa --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "src-csharp/RDPOffsetFinder"] + path = src-csharp/RDPOffsetFinder + url = https://github.com/llccd/RDPWrapOffsetFinder + shallow = true diff --git a/README.md b/README.md index d38bafe..0cd83fb 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,12 @@ > **Maintained fork** by [@sjackson0109](https://github.com/sjackson0109) — based on the original work by [Stas'M / binarymaster](https://github.com/stascorp/rdpwrap). -[![Telegram](https://img.shields.io/badge/chat-Telegram-blue.svg)](https://t.me/rdpwrap) ![Environment](https://img.shields.io/badge/Windows-Vista%20through%2011-brightgreen.svg) [![Release](https://img.shields.io/github/release/sjackson0109/rdpwrap.svg)](https://github.com/sjackson0109/rdpwrap/releases) -[![INI publish](https://github.com/sjackson0109/rdpwrap/actions/workflows/publish-ini.yml/badge.svg)](https://github.com/sjackson0109/rdpwrap/actions/workflows/publish-ini.yml) +[![Build and Release](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-and-release.yml) [![Build C++ DLL](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-cpp.yml/badge.svg)](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-cpp.yml) +[![Build C# tools](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-csharp.yml/badge.svg)](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-csharp.yml) +[![Build OffsetFinder](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-offsetfinder.yml/badge.svg)](https://github.com/sjackson0109/rdpwrap/actions/workflows/build-offsetfinder.yml) ![License](https://img.shields.io/github/license/sjackson0109/rdpwrap.svg) ![Downloads](https://img.shields.io/github/downloads/sjackson0109/rdpwrap/latest/total.svg) ![TotalDownloads](https://img.shields.io/github/downloads/sjackson0109/rdpwrap/total.svg) @@ -15,41 +16,22 @@ The goal of this project is to enable Remote Desktop Host support and concurrent RDP Wrapper works as a layer between Service Control Manager and Terminal Services, so the original termsrv.dll file remains untouched. Also this method is very strong against Windows Update. -[pVistaST]: http://stascorp.com/images/rdpwrap/pVistaST.jpg -[pVistaHB]: http://stascorp.com/images/rdpwrap/pVistaHB.jpg -[pWin7ST]: http://stascorp.com/images/rdpwrap/pWin7ST.jpg -[pWin7HB]: http://stascorp.com/images/rdpwrap/pWin7HB.jpg -[pWin8DP]: http://stascorp.com/images/rdpwrap/pWin8DP.jpg -[pWin8CP]: http://stascorp.com/images/rdpwrap/pWin8CP.jpg -[pWin8RP]: http://stascorp.com/images/rdpwrap/pWin8RP.jpg -[pWin8]: http://stascorp.com/images/rdpwrap/pWin8.jpg -[pWin81P]: http://stascorp.com/images/rdpwrap/pWin81P.jpg -[pWin81]: http://stascorp.com/images/rdpwrap/pWin81.jpg -[pWin10TP]: http://stascorp.com/images/rdpwrap/pWin10TP.jpg -[pWin10PTP]: http://stascorp.com/images/rdpwrap/pWin10PTP.jpg -[pWin10]: http://stascorp.com/images/rdpwrap/pWin10.jpg - -[fVistaST]: http://stascorp.com/images/rdpwrap/VistaST.png -[fVistaHB]: http://stascorp.com/images/rdpwrap/VistaHB.png -[fWin7ST]: http://stascorp.com/images/rdpwrap/Win7ST.png -[fWin7HB]: http://stascorp.com/images/rdpwrap/Win7HB.png -[fWin8DP]: http://stascorp.com/images/rdpwrap/Win8DP.png -[fWin8CP]: http://stascorp.com/images/rdpwrap/Win8CP.png -[fWin8RP]: http://stascorp.com/images/rdpwrap/Win8RP.png -[fWin8]: http://stascorp.com/images/rdpwrap/Win8.png -[fWin81P]: http://stascorp.com/images/rdpwrap/Win81P.png -[fWin81]: http://stascorp.com/images/rdpwrap/Win81.png -[fWin10TP]: http://stascorp.com/images/rdpwrap/Win10TP.png -[fWin10PTP]: http://stascorp.com/images/rdpwrap/Win10PTP.png -[fWin10]: http://stascorp.com/images/rdpwrap/Win10.png - -| NT Version | Screenshots | -| ------------- | ----------- | -| Windows Vista | [![Windows Vista Starter][pVistaST]][fVistaST] [![Windows Vista Home Basic][pVistaHB]][fVistaHB] | -| Windows 7 | [![Windows 7 Starter][pWin7ST]][fWin7ST] [![Windows 7 Home Basic][pWin7HB]][fWin7HB] | -| Windows 8 | [![Windows 8 Developer Preview][pWin8DP]][fWin8DP] [![Windows 8 Consumer Preview][pWin8CP]][fWin8CP] [![Windows 8 Release Preview][pWin8RP]][fWin8RP] [![Windows 8][pWin8]][fWin8] | -| Windows 8.1 | [![Windows 8.1 Preview][pWin81P]][fWin81P] [![Windows 8.1][pWin81]][fWin81] | -| Windows 10 | [![Windows 10 Technical Preview][pWin10TP]][fWin10TP] [![Windows 10 Pro Technical Preview][pWin10PTP]][fWin10PTP] [![Windows 10][pWin10]][fWin10] | +> **Historical screenshots** (Vista / 7 / 8 / 10 from the original Stas'M project) are archived at: +> https://web.archive.org/web/2015*/http://stascorp.com/images/rdpwrap/* + +### Screenshots + +> Screenshots are captured on Windows 11 after a successful install. +> Source files live in [`docs/images/`](docs/images/) — see the [capture guide](docs/images/README.md) if you want to contribute updated screenshots. + +| RDPConf — configuration | RDPCheck — supported | RDPCheck — warning | +|:---:|:---:|:---:| +| ![RDPConf configuration window](docs/images/RDPWrapperConfig.png) | ![RDPCheck showing Supported](docs/images/RDPWrapperCheck.png) | ![RDPCheck showing Warning](docs/images/RDPWrapperCheckWarning.png) | + +| MSI Installer — welcome | MSI Installer — complete | +|:---:|:---:| +| ![MSI installer welcome screen](docs/images/RDPWrapperMSI1.png) | ![MSI installer completion screen](docs/images/RDPWrapperMSI2.png) | + --- [WinPPE]: http://forums.mydigitallife.info/threads/39411-Windows-Product-Policy-Editor @@ -82,16 +64,72 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa - **ARM** for Windows RT (see links below) - **IA-64** for Itanium-based Windows Server? *Well, I have no idea* :) +### Repository structure: + +``` +├── msi/ # WiX v5 MSI project + INI offset databases (rdpwrap.ini, rdpwrap-arm-kb.ini) +├── docs/ # Developer documentation +├── src-x86-x64-Fusix/ # C++ — core rdpwrap.dll (native Win32, MSVC) +└── src-csharp/ # C# .NET 10 — all management-plane tools + ├── Directory.Build.props # Shared build settings (framework, author metadata) + ├── RDPWrap.sln # Visual Studio solution + ├── RDPWrap/ # Shared helper library (P/Invoke, registry, service helpers) + ├── RDPWInst/ # Command-line installer / uninstaller + ├── RDPConf/ # WinForms configuration GUI + ├── RDPCheck/ # WinForms RDP loopback tester + └── RDPOffsetFinder/ # Git submodule — llccd/RDPWrapOffsetFinder (C++) + └── zydis/ # Git submodule — zyantific/zydis disassembler +``` + ### Building the binaries: -- **x86 Delphi version** (installer, config tool, checker) — requires *Embarcadero RAD Studio 2010* or later; no automated CI yet -- **x86/x64 C++ version** (`rdpwrap.dll`) — can be built locally with *Visual Studio 2013+*, or automatically via the [Build C++ DLL](.github/workflows/build-cpp.yml) GitHub Actions workflow (uses MSVC v143 / VS 2022) by pushing a `v*` tag + +#### Prerequisites +- **.NET SDK 10** — all C# tools (`src-csharp/`) + - Download: https://dotnet.microsoft.com/download/dotnet/10.0 +- **Visual Studio 2022 / MSVC Build Tools v143** — two C++ components: + - `src-x86-x64-Fusix/` — core `rdpwrap.dll` + - `src-csharp/RDPOffsetFinder/` — offset finder (pulled via git submodule) + +#### Clone with submodules +```powershell +git clone --recurse-submodules https://github.com/sjackson0109/rdpwrap.git +# or if already cloned: +git submodule update --init --recursive +``` + +#### Build C# tools locally +```powershell +# Debug build (both platforms) +dotnet build src-csharp/RDPWrap.sln -p:Platform=x64 +dotnet build src-csharp/RDPWrap.sln -p:Platform=x86 + +# Release publish — single-file EXE (requires .NET 10 Desktop Runtime on target) +dotnet publish src-csharp/RDPWInst/RDPWInst.csproj -c Release -r win-x64 -p:PublishSingleFile=true -p:SelfContained=false +dotnet publish src-csharp/RDPConf/RDPConf.csproj -c Release -r win-x64 -p:PublishSingleFile=true -p:SelfContained=false +dotnet publish src-csharp/RDPCheck/RDPCheck.csproj -c Release -r win-x64 -p:PublishSingleFile=true -p:SelfContained=false +``` + +#### Build `rdpwrap.dll` locally +```powershell +msbuild src-x86-x64-Fusix/RDPWrap.vcxproj /p:Configuration=Release /p:Platform=x64 /p:PlatformToolset=v143 +``` + +#### Build `RDPWrapOffsetFinder` locally +```powershell +# Build Zydis DLL first +msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj /p:Configuration="Release MD DLL" /p:Platform=x64 /p:PlatformToolset=v143 +# Then build the offset finder +msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder/RDPWrapOffsetFinder.vcxproj /p:Configuration=Release /p:Platform=x64 /p:PlatformToolset=v143 +``` ### CI/CD Pipelines: | Workflow | Trigger | Output | |---|---|---| -| [publish-ini.yml](.github/workflows/publish-ini.yml) | Push to `main`/`master` touching `res/rdpwrap.ini`, or manual | GitHub Release with `rdpwrap.ini`, `RDPWrapOffsetFinder_x64/x86.exe`, `Zydis_x64/x86.dll` | -| [build-cpp.yml](.github/workflows/build-cpp.yml) | Version tag push (`v*`) | GitHub Release with `rdpwrap_x64.dll` and `rdpwrap_x86.dll` | +| [build-and-release.yml](.github/workflows/build-and-release.yml) | Push to `main`/`master` touching any source, INI, or the workflow file itself; or manual | **Canonical GitHub Release** — DLLs (x64/x86/arm64), C# tools, MSI packages, self-contained bundles, OffsetFinder, `rdpwrap.ini`, `rdpwrap-arm-kb.ini` | +| [build-csharp.yml](.github/workflows/build-csharp.yml) | PR to `main`/`master` touching `src-csharp/**`; version tag push (`v*`); or manual | PR compile check + artifact upload (no release) — use `build-and-release.yml` for a full release | +| [build-cpp.yml](.github/workflows/build-cpp.yml) | PR to `main`/`master` touching `src-x86-x64-Fusix/**`; version tag push (`v*`); or manual | PR compile check + artifact upload (no release) — use `build-and-release.yml` for a full release | +| [build-offsetfinder.yml](.github/workflows/build-offsetfinder.yml) | PR to `main`/`master` touching `src-csharp/RDPOffsetFinder/**`; version tag push (`v*`); or manual | PR compile check + artifact upload (no release) — use `build-and-release.yml` for a full release | [andrewblock]: http://web.archive.org/web/20150810054558/http://andrewblock.net/enable-remote-desktop-on-windows-8-core/ [mydigitallife]: http://forums.mydigitallife.info/threads/55935-RDP-Wrapper-Library-(works-with-Windows-8-1-Basic) @@ -125,14 +163,17 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa ### Files in release package: -| File name | Description | -| --------- | ----------- | -| `RDPWInst.exe` | RDP Wrapper Library installer/uninstaller | -| `RDPCheck.exe` | Local RDP Checker (you can check the RDP is working) | -| `RDPConf.exe` | RDP Wrapper Configuration | -| `install.bat` | Quick install batch file | -| `uninstall.bat` | Quick uninstall batch file | -| `update.bat` | Quick update batch file | +| File name | Architecture | Description | +| --------- | ------------ | ----------- | +| `RDPWInst_x64.exe` | x64 | RDP Wrapper Library installer/uninstaller (C#, requires .NET 10) | +| `RDPWInst_x86.exe` | x86 | RDP Wrapper Library installer/uninstaller (C#, requires .NET 10) | +| `RDPCheck_x64.exe` | x64 | Local RDP Checker — verify RDP is working (C#, requires .NET 10) | +| `RDPCheck_x86.exe` | x86 | Local RDP Checker — verify RDP is working (C#, requires .NET 10) | +| `RDPConf_x64.exe` | x64 | RDP Wrapper Configuration GUI (C#, requires .NET 10) | +| `RDPConf_x86.exe` | x86 | RDP Wrapper Configuration GUI (C#, requires .NET 10) | +| `rdpwrap_x64.dll` | x64 | Core RDP Wrapper DLL (C++, no runtime required) | +| `rdpwrap_x86.dll` | x86 | Core RDP Wrapper DLL (C++, no runtime required) | +| `rdpwrap.ini` | — | Offset database (updated automatically on every INI push) | ### Frequently Asked Questions @@ -146,11 +187,11 @@ There is no definitive answer, see [this discussion](https://github.com/stascorp > The installer tries to access the Internet, is it normal behaviour? -Yes, it works in online mode by default. You may disable it by removing `-o` flag in the `install.bat` file. +Yes, it works in online mode by default. You may disable it by passing `-i` without the `-o` flag: `RDPWInst_x64.exe -i`. > What is online install mode? -Online install mode was introduced in version 1.6.1. When installing for the first time using this mode, the installer downloads the [latest `rdpwrap.ini`](https://github.com/sjackson0109/rdpwrap/releases/latest/download/rdpwrap.ini) from this repository's GitHub Releases — published automatically by CI/CD whenever `res/rdpwrap.ini` is updated. If your `termsrv.dll` version is not yet listed in the downloaded INI, the installer will additionally download [RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) and attempt to auto-generate the missing offsets on the spot. +Online install mode was introduced in version 1.6.1. When installing for the first time using this mode, the installer downloads the [latest `rdpwrap.ini`](https://github.com/sjackson0109/rdpwrap/releases/latest/download/rdpwrap.ini) from this repository's GitHub Releases — published automatically by CI/CD whenever `msi/rdpwrap.ini` is updated. If your `termsrv.dll` version is not yet listed in the downloaded INI, the installer will additionally download [RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) and attempt to auto-generate the missing offsets on the spot. > What is INI file and why we need it? @@ -162,7 +203,7 @@ Beginning with version 1.5 the `rdpwrap.dll` is not updated anymore, since all s > Config Tool shows `[not supported]` and RDP doesn't work. What can I do? -Make sure you're connected to the Internet and run `update.bat`. This will download the latest INI from GitHub Releases and, if your `termsrv.dll` version is still missing, will automatically run [RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) to generate offsets for your specific build. +Make sure you're connected to the Internet and run `RDPWInst_x64.exe -w` from an Administrator command prompt. This will download the latest INI from GitHub Releases and, if your `termsrv.dll` version is still missing, will automatically run [RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) to generate offsets for your specific build. > Update doesn't help, it still shows `[not supported]`. @@ -187,10 +228,41 @@ Check the [issues](https://github.com/sjackson0109/rdpwrap/issues) section to se ### Change log: +#### 2026.03.31 +- **Repository housekeeping** — removed six obsolete files: `res/legacy.install.bat`, `res/clearres.bat`, `res/build_wxs.bat`, `res/RDPWInst.wxs` (WiX v3.11 MSI, unmaintained), `res/rdpwrap-ini-kb.txt` (stale 2018 INI snapshot), and empty `src-csharp/RDPWrap.Common/` stub directory +- `bin/install.bat`, `bin/uninstall.bat`, `bin/update.bat` — rewritten with architecture detection; now invoke the correct `RDPWInst_x64.exe` / `RDPWInst_x86.exe` (previously called non-existent `RDPWInst.exe`); later removed in favour of the MSI installer +- CI/CD: `build-cpp.yml`, `build-csharp.yml`, `build-offsetfinder.yml` — standalone `release` jobs removed; `build-and-release.yml` is now the sole release publisher, eliminating duplicate partial releases on tag pushes +- `build-csharp.yml` runner harmonised to `windows-2022`; hardcoded `signtool.exe` SDK path replaced with glob-based discovery +- `build-and-release.yml` — added **embedded-resource staging** step (copies built DLLs + INI into `RDPWInst/Resources/` before `dotnet publish`, enabling offline bundled install); added **SHA-256 audit log** for third-party sergiye binaries; `msi/rdpwrap-arm-kb.ini` added to release assets +- **ARM64 support** — `Release|ARM64` added to `src-x86-x64-Fusix/RDPWrap.vcxproj`; `build-cpp.yml` and `build-and-release.yml` now build and ship `rdpwrap_arm64.dll`; `build-csharp.yml` and `build-and-release.yml` publish `RDPWInst_arm64.exe`, `RDPConf_arm64.exe`, `RDPCheck_arm64.exe`; `Directory.Build.props` adds `arm64` to `Platforms` +- **WiX v5 MSI packaging** — new `msi/RDPWInst.wxs` (WiX v5 schema v4, dual-arch, MajorUpgrade) and `msi/RDPWInst.wixproj`; replaces the deleted v3.11 artefacts; MSI build steps are now inlined into `build-and-release.yml` (a standalone `build-msi.yml` was created then removed as redundant) +- **Self-contained publish** — `build-and-release.yml` produces `*_x64_sc.exe`, `*_x86_sc.exe`, `*_arm64_sc.exe` for all three C# tools and bundles them into `RDPWrapper-SelfContained.zip`; users without .NET 10 Desktop Runtime can use these +- **Version stamp automation** — `build-and-release.yml` computes a `yyyy.M.d` stamp and passes `-p:Version=` to every `dotnet publish` call; `Directory.Build.props` documents the CI override pattern +- **Changelog automation** — `build-and-release.yml` now includes a `Generate changelog` step that queries merged PRs since the previous release and embeds them in the GitHub Release body +- **Dependabot** — `.github/dependabot.yml` added for `github-actions` and `nuget` ecosystems (weekly, Monday schedule) +- **Sergiye hash-pin scaffold** — `tools/sergiye-hashes.json` created; `build-and-release.yml` validates downloaded `rdpWrapper_*.exe` hashes against this file when populated +- **Code-signing guide** added — `docs/CODE-SIGNING.md` documents certificate acquisition, PFX export, base64 encoding, and GitHub secret upload; the signing step in `build-and-release.yml` and `build-csharp.yml` fires automatically once `CODESIGN_CERT_BASE64` and `CODESIGN_CERT_PASSWORD` secrets are set +- **Sergiye hash pins live** — `tools/update-sergiye-hashes.ps1` automation script created; `tools/sergiye-hashes.json` populated with verified SHA-256 hashes for `sergiye/rdpWrapper` release `2.10`; `build-and-release.yml` hash-verification step is now enforcing the pinned values +- **Screenshot infrastructure** — `docs/images/` directory and capture guide created; README restored with four-cell screenshot table using relative in-repo paths (PNG files pending first capture) +- **Submodule shallow-clone** — `shallow = true` added to `.gitmodules`; `docs/SUBMODULE-UPDATE.md` documents check-out, update, and rollback procedures (`RDPOffsetFinder` is already pinned to `v0.9`) +- **`tools/` reference added to `docs/`** — `update-sergiye-hashes.ps1` is self-documenting via `Get-Help`; `CODE-SIGNING.md`, `SUBMODULE-UPDATE.md`, `images/README.md` added to `docs/` + +#### 2026.03.30 +- **Full C# port complete** — `RDPWInst`, `RDPConf`, `RDPCheck`, and shared library all ported from Delphi to C# / .NET 10; Delphi is no longer required to build +- Obsolete Delphi source folders removed (`src-installer/`, `src-rdpcheck/`, `src-rdpconfig/`, `src-x86-binarymaster/`) +- Shared library renamed from `RDPWrap.Common/` to `RDPWrap/` for a cleaner folder layout; namespace `RDPWrap.Common` preserved for source compatibility +- **[llccd/RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) added as a git submodule** at `src-csharp/RDPOffsetFinder/` (including nested `zydis` → `zycore` submodules) — offset finder now built from source rather than fetching pre-built binaries +- Pre-built binary cache (`tools/RDPWrapOffsetFinder/`) and `update-finder-tools.yml` workflow removed; `build-and-release.yml` now builds the offset finder directly from the submodule +- New workflow [`build-offsetfinder.yml`](.github/workflows/build-offsetfinder.yml) — builds `RDPWrapOffsetFinder` + `Zydis.dll` for x64 and Win32 from source on version tag push +- New workflow [`build-csharp.yml`](.github/workflows/build-csharp.yml) — publishes self-contained single-file x64/x86 EXEs on version tag push; optional `signtool.exe` code-signing step wired to `CODESIGN_CERT_BASE64` / `CODESIGN_CERT_PASSWORD` repository secrets +- [`build-and-release.yml`](.github/workflows/build-and-release.yml) updated — checkout uses `submodules: recursive`; builds and bundles `RDPWInst`, `RDPConf`, `RDPCheck`, and `RDPWrapOffsetFinder` (all x64 + x86) alongside the existing DLL and INI assets +- Author metadata (`Simon Jackson / @sjackson0109`, copyright, repository URL) embedded into all four C# assemblies via `Directory.Build.props` +- `src-csharp/Directory.Build.props` targets `net10.0-windows`; `x86` and `x64` platforms; `Nullable` + `ImplicitUsings` enabled + #### 2026.03.29 - Fork maintained by [@sjackson0109](https://github.com/sjackson0109) - INI source redirected from unmaintained stascorp upstream to this repository's GitHub Releases -- **CI/CD pipeline added** — [`publish-ini.yml`](.github/workflows/publish-ini.yml) publishes `rdpwrap.ini` and the `RDPWrapOffsetFinder` tools as release assets on every INI change +- **CI/CD pipeline added** — [`build-and-release.yml`](.github/workflows/build-and-release.yml) publishes `rdpwrap.ini` and the `RDPWrapOffsetFinder` tools as release assets on every INI change - **CI/CD pipeline added** — [`build-cpp.yml`](.github/workflows/build-cpp.yml) builds `rdpwrap_x64.dll` / `rdpwrap_x86.dll` via MSVC v143 (VS 2022) on version tag push - **Auto-offset generation** added to `RDPWInst.dpr` — on install (`-i`) and update (`-w`), if the running `termsrv.dll` version is absent from the INI the installer downloads `RDPWrapOffsetFinder` from release assets and appends the generated `[x.x.xxxxx.xxxxx]` section automatically; inspired by [sergiye/rdpWrapper](https://github.com/sergiye/rdpWrapper) - New installer helpers: `DownloadFileToDisk`, `INIHasSection`, `TryAutoGenerateOffsets` @@ -476,15 +548,15 @@ Check the [issues](https://github.com/sjackson0109/rdpwrap/issues) section to se - Windows Server 2016 Technical Preview Installation instructions: -- Download latest release binaries and unpack files -- Right-click on **`install.bat`** and select Run as Administrator +- Download `RDPWrapper-.msi` from the [GitHub Releases](https://github.com/sjackson0109/rdpwrap/releases) page +- Double-click the MSI and accept the UAC prompt — the installer detects your architecture automatically - See command output for details To update INI file: -- Right-click on **`update.bat`** and select Run as Administrator +- Open an Administrator command prompt in `%ProgramFiles%\RDP Wrapper` +- Run `RDPWInst_x64.exe -w` (or `RDPWInst_x86.exe -w` on 32-bit Windows) - See command output for details To uninstall: -- Go to the directory where you extracted the files -- Right-click on **`uninstall.bat`** and select Run as Administrator -- See command output for details +- Open **Add or Remove Programs** and uninstall **RDP Wrapper Library** +- Alternatively run `msiexec /x RDPWrapper-.msi` from an elevated prompt diff --git a/TODO.md b/TODO.md index c1dbd15..5ad6407 100644 --- a/TODO.md +++ b/TODO.md @@ -1,53 +1,58 @@ -# Phase 1 — Solution & Shared Library (RDPWrap.Common) -Create src-csharp/ solution with four projects: RDPWrap.Common (class lib), RDPWInst (console), RDPConf (WinForms), RDPCheck (WinForms) -NativeMethods.cs — all P/Invoke declarations: kernel32 (GetNativeSystemInfo, LoadLibraryEx, FindResource, Wow64Disable/RevertFsRedirection, CreateProcess, OpenProcess, TerminateProcess, CreateToolhelp32Snapshot, Thread32First/Next, OpenThread, SuspendThread/ResumeThread), advapi32 (all SCM + ACL + token functions), winsta.dll (WinStationEnumerateW, WinStationFreeMemory) -RegistryHelper.cs — HKLM read/write helpers with KEY_WOW64_64KEY flag support for 64-bit hosts -ServiceHelper.cs — OpenSCManager/OpenService/QueryServiceConfig/QueryServiceStatusEx/ChangeServiceConfig/StartService wrappers (or wrap System.ServiceProcess.ServiceController where sufficient) -ArchHelper.cs — GetNativeSystemInfo-based arch detection + Wow64DisableWow64FsRedirection/RevertWow64FsRedirection helpers -FileVersionHelper.cs — GetFileVersion via LoadLibraryEx + manual VS_VERSIONINFO parsing (or FileVersionInfo.GetVersionInfo()) -ProcessHelper.cs — ExecWait (hidden Process.Start + WaitForExit), KillProcess -HttpHelper.cs — replace WinInet with HttpClient: DownloadStringAsync (for INI content), DownloadFileAsync (for binary assets) -ResourceHelper.cs — Assembly.GetManifestResourceStream → extract to file path -IniHelper.cs — INIHasSection(path, section) string search -SecurityHelper.cs — ConvertStringSidToSid + SetEntriesInAcl + SetNamedSecurityInfo (grant SID full access), AddPrivilege (token privilege adjustment) - -# Phase 2 — RDPWInst (Console Installer) -Argument parsing + main dispatch (/install, /uninstall, /update, /wraponly) -CheckInstall() — verify TermService ImagePath (svchost) and ServiceDll (not third-party) -CheckTermsrvProcess() — EnumServicesStatusEx loop to find TermService PID + co-hosted services; auto-start if PID=0 -CheckTermsrvDependencies() — ensure CertPropSvc and SessionEnv are not disabled -CheckTermsrvVersion() — read termsrv.dll version, classify as unsupported / partial / full using built-in INI -TSConfigRegistry(enable) — write fDenyTSConnections, EnableConcurrentSessions, AllowMultipleTSSessions, AllowRemoteRPC, EnableLinkedConnections -ExtractFiles() — pull rdpw32/rdpw64, rdpclip, rfxvmt, config out of embedded resources; create install dir; set ACLs for S-1-5-18 and S-1-5-6 -SetWrapperDll() / ResetServiceDll() — write/restore ServiceDll registry value (REG_EXPAND_SZ); reg.exe workaround for Vista -DeleteFiles() — remove rdpwrap.ini, rdpwrap.dll, install folder on uninstall -GitINIFile() / DownloadFileToDisk() — HttpClient-based downloads from releases/latest/download/rdpwrap.ini -TryAutoGenerateOffsets() — download RDPWrapOffsetFinder_x64/x86.exe + Zydis_x64/x86.dll, run via cmd.exe /c "... >> rdpwrap.ini", clean up temp files -AddPrivilege() / KillProcess() / full install/uninstall/update orchestration wiring -Embed binary resources (rdpw32.dll, rdpw64.dll, rdpclip*, rfxvmt*, rdpwrap.ini) into the .csproj as EmbeddedResource -Add UAC app manifest: requestedExecutionLevel = requireAdministrator - -# Phase 3 — RDPConf (WinForms Configuration GUI) -MainForm layout — CheckBox (AllowTSConnections, SingleSessionPerUser, HideUsers, CustomPrg), two GroupBox+RadioButton clusters (NLA ×3, Shadow ×5), NumericUpDown for port, status Label pairs for Service/Listener/Wrapper/TS version/Wrapper version, OK/Cancel/Apply/License Button, System.Windows.Forms.Timer -ReadSettings() — pull all values from HKLM\...\Terminal Server and RDP-Tcp registry keys into controls -WriteSettings() — write all controls back to registry; on port change call netsh advfirewall firewall set rule name="Remote Desktop" new localport=… -TimerTimer() — periodic refresh of all status labels (wrapper installed?, service state, listener active, file versions, support level) -IsWrapperInstalled() / GetTermSrvState() (via ServiceController) / IsListenerWorking() (via WinStationEnumerateW) -CheckSupport() — load rdpwrap.ini from install path, search for [major.minor.release.build] section -LicenseForm — TextBox (multiline, readonly) populated from embedded LICENSE resource + Accept/Decline buttons -FormCreate — arch detection, Wow64DisableWow64FsRedirection; FormClosed — RevertWow64FsRedirection; unsaved-changes guard on close -UAC manifest + app.manifest (requireAdministrator) - -# Phase 4 — RDPCheck (WinForms RDP Tester) -Add COM interop reference for mstscax.dll (AxMSTSCLib) — either tlbimp-generated assembly or NuGet Microsoft.Rdp.Client -MainForm layout — AxMsRdpClient2 ActiveX host filling the form -FormLoad() — read then zero-out SecurityLayer/UserAuthentication in registry, read PortNumber, Sleep(1000), call .Connect() -OnDisconnected() — full 50-entry reason-code → English string table (matching the Delphi source exactly), MessageBox for codes >2, restore SecurityLayer/UserAuthentication, Application.Exit() -UAC manifest (requireAdministrator — needed for HKLM registry writes) - -# Phase 5 — Build & CI -Directory.Build.props — shared net481 (or net8.0-windows), x86;x64, enable, enable -Update GitHub Actions workflows — replace Delphi compiler steps with dotnet build / dotnet publish -r win-x64 -r win-x86 -Remove Delphi compiler steps, Delphi CI caching, .dproj/.dfm artifact handling from all workflows -Code-sign configuration — signtool.exe step in release workflow for all four output binaries -Update README.md with new build prerequisites (.NET SDK), build commands, and note that Delphi is no longer required \ No newline at end of file +# TODO + +Items ordered by priority. + +--- + +## High priority + +- [x] **Add `concurrency:` guard to `build-and-release.yml`** — two rapid pushes to `main` (e.g. a merge immediately followed by a Dependabot merge) will race and both attempt to create a release, corrupting or duplicating assets. Add: + ```yaml + concurrency: + group: release + cancel-in-progress: true + ``` + at the top-level of the workflow so only one release job runs at a time. + +- [x] **Add `msi/**` to `build-and-release.yml` path filter** — changes to `msi/RDPWInst.wxs`, `msi/RDPWInst.wixproj`, or `msi/global.json` currently do not trigger a release. A WiX fix merged to `main` would silently produce no new release. Add `'msi/**'` to the `paths:` list. + +- [x] **Add NuGet / dotnet package cache** — every `build-and-release.yml` and `build-csharp.yml` run re-downloads all NuGet packages from scratch (~30–60 s penalty per run). Add an `actions/cache` step keyed on `**/packages.lock.json` or the project files hash before the `dotnet publish` steps to restore/save the `~/.nuget/packages` directory. + +- [x] **Add PR check for MSI build** — there is no CI validation that `msi/RDPWInst.wxs` / `msi/RDPWInst.wixproj` compiles when a PR changes them, only at release time. Create a lightweight `build-msi-check.yml` (or add a `pull_request` trigger to cover `msi/**`) that builds the WiX project without publishing a release. + +- [ ] **Code-sign release binaries** — set repository variable `USE_CERT_SIGNING=true` (Settings → Variables → Actions) and add `CODESIGN_CERT_BASE64` (PFX as base64) and `CODESIGN_CERT_PASSWORD` as repository secrets; both CI workflows with signing steps (`build-and-release.yml`, `build-csharp.yml`) already have the signing step wired up, gated on `vars.USE_CERT_SIGNING == 'true'`. See [`docs/CODE-SIGNING.md`](docs/CODE-SIGNING.md) for the full certificate acquisition, PFX export, and secret upload procedure. + +--- + +## Medium priority + +- [x] **Add `CODEOWNERS` file** — create `.github/CODEOWNERS` mapping `src-x86-x64-Fusix/` and `src-csharp/` to `@sjackson0109` so PRs automatically request review from the maintainer. Optionally require approval before merging via branch protection rules. + +- [x] **Dynamic version in banner** — `Program.cs` banner hardcodes `"v1.6.2"`. Replace with a runtime read of the assembly version so released binaries automatically display the correct `yyyy.M.d` stamp: + ```csharp + var v = Assembly.GetExecutingAssembly().GetName().Version; + string version = v is null ? "unknown" : $"{v.Major}.{v.Minor}.{v.Build}"; + ``` + +- [x] **Update `Directory.Build.props` default version** — the fallback `2026.3.30` is already stale and will mislead developers who build locally without passing `/p:Version=`. Either update it to the current date periodically, or derive it dynamically: + ```xml + $([System.DateTime]::Now.ToString("yyyy.M.d")) + ``` + +- [x] **Split `build-and-release.yml` into parallel jobs** — the ~500-line single job runs everything sequentially (DLL builds → C# publishes → self-contained publishes → OffsetFinder → sergiye download → MSI → release). Split into 6 jobs: `build-dll`, `build-offsetfinder`, `download-sergiye` (all parallel), then `build-csharp` (waits for DLLs), `build-msi` (waits for C#), and `release` (waits for all). Makes failures easy to identify at a glance. + +- [x] **Pin `softprops/action-gh-release` to a SHA** — Dependabot covers `actions/*` and NuGet packages but not third-party actions like `softprops/action-gh-release@v2`. Pinned to `153bb8e04406b158c6c84fc1615b65b24149a1fe` (v2) with `# v2` comment so Dependabot can track it via the existing `actions-minor` group. + +- [ ] **Add in-repo screenshots** — `docs/images/` directory and README scaffold are in place; five PNGs are committed but three additional shots would improve coverage. Capture the files described in [`docs/images/README.md`](docs/images/README.md) on a Windows 10/11 machine with a working install and commit them. + +--- + +## Low priority + +- [x] **Add a GitHub Environment for releases** — configured `environment: release` on the `release` job in `build-and-release.yml`. The environment is created automatically if absent (no gates). To require a reviewer: Settings → Environments → release → Required reviewers → add `@sjackson0109`. + +- [x] **Dependabot for submodules** — `dependabot.yml` covers `github-actions` and `nuget` but not git submodules (`src-csharp/RDPOffsetFinder` / `zydis`). Added a `gitsubmodule` ecosystem entry (Dependabot beta); activate once the feature is publicly available or monitor submodule versions manually. + +- [x] **Add `packages.lock.json` for reproducible NuGet restores** — enabled `true` in `Directory.Build.props`. Run `dotnet restore` locally in `src-csharp/` and commit the generated `packages.lock.json` files so CI restores become deterministic. + +- [x] **Lint `msi/rdpwrap.ini` in CI** — the existing INI validation step in `build-and-release.yml` checks for three required sections. Extended to also parse every `[x.x.xxxxx.xxxxx]` section and assert it contains `LocalOnlyPatch` and `SLInitHook`, reporting all failures at once before aborting. diff --git a/bin/install.bat b/bin/install.bat deleted file mode 100644 index 5e6ed34..0000000 --- a/bin/install.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -if not exist "%~dp0RDPWInst.exe" goto :error -"%~dp0RDPWInst" -i -o -echo ______________________________________________________________ -echo. -echo You can check RDP functionality with RDPCheck program. -echo Also you can configure advanced settings with RDPConf program. -echo. -goto :anykey -:error -echo [-] Installer executable not found. -echo Please extract all files from the downloaded package or check your anti-virus. -:anykey -pause diff --git a/bin/uninstall.bat b/bin/uninstall.bat deleted file mode 100644 index 1c72289..0000000 --- a/bin/uninstall.bat +++ /dev/null @@ -1,10 +0,0 @@ -@echo off -if not exist "%~dp0RDPWInst.exe" goto :error -"%~dp0RDPWInst" -u -echo. -goto :anykey -:error -echo [-] Installer executable not found. -echo Please extract all files from the downloaded package or check your anti-virus. -:anykey -pause diff --git a/bin/update.bat b/bin/update.bat deleted file mode 100644 index f3874aa..0000000 --- a/bin/update.bat +++ /dev/null @@ -1,10 +0,0 @@ -@echo off -if not exist "%~dp0RDPWInst.exe" goto :error -"%~dp0RDPWInst" -w -echo. -goto :anykey -:error -echo [-] Installer executable not found. -echo Please extract all files from the downloaded package or check your anti-virus. -:anykey -pause diff --git a/docs/BUILDING.md b/docs/BUILDING.md new file mode 100644 index 0000000..9d2ee66 --- /dev/null +++ b/docs/BUILDING.md @@ -0,0 +1,255 @@ +# Building RDP Wrapper Locally + +This document covers the full local build pipeline — from prerequisites to the final `./build/` artefacts. + +--- + +## Prerequisites + +| Component | Version | Notes | +|---|---|---| +| Windows 10/11 x64 | any | Host OS | +| .NET SDK | 10.0+ | `winget install Microsoft.DotNet.SDK.10` | +| Visual Studio 2019 Build Tools | 16.x | For C++ DLL only | +| MSVC v142 toolset | 14.29+ | Installed via VS Build Tools installer | +| Windows SDK | 10.0.19041+ | Installed via VS Build Tools installer | + +> **ARM64 DLL note:** Building `rdpwrap_arm64.dll` locally requires Visual Studio 2022 +> with the "MSVC v143 — VS 2022 C++ ARM64 build tools" component. The GitHub Actions +> CI uses a hosted `windows-latest` runner which provides this. For local work, the +> x64 and Win32 DLLs are sufficient for testing. + +--- + +## 1. Clone the repository + +```powershell +git clone --recurse-submodules https://github.com//rdpwrap.git +cd rdpwrap +``` + +If you already cloned without `--recurse-submodules`: + +```powershell +git submodule update --init --recursive +``` + +--- + +## 2. Generate application icons + +The C# tool icons are generated programmatically via a helper script and are **not** +committed to source control. Run this once after cloning (and again if you delete them): + +```powershell +.\tools\make-icons.ps1 +``` + +This creates: + +- `src-csharp/RDPConf/app.ico` — blue "C" icon for RDPConf +- `src-csharp/RDPCheck/app.ico` — green "K" icon for RDPCheck + +Both files are `.gitignore`-exempt (not listed) so they persist in your working tree. + +--- + +## 3. Build the C++ DLL (`rdpwrap.dll`) + +### Locate MSBuild + +Visual Studio 2019 Build Tools installs MSBuild to a non-standard path. +Add it to your session PATH once (or use the full path as shown below): + +```powershell +$msbuild = "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\amd64\MSBuild.exe" +``` + +> If you have Visual Studio IDE installed instead of Build Tools, the path is: +> `C:\Program Files\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64\MSBuild.exe` + +### One-time vcxproj fix + +The Windows SDK 10.0.19041 headers emit a C2338 packing warning that is treated as an +error under `/WX`. It has **no behavioural effect** — the fix is already applied in +`src-x86-x64-Fusix/RDPWrap.vcxproj` via the `WINDOWS_IGNORE_PACKING_MISMATCH` define. +No manual action is required. + +### Build x64 and Win32 + +```powershell +$msbuild = "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\amd64\MSBuild.exe" + +& $msbuild src-x86-x64-Fusix\RDPWrap.sln ` + /p:Configuration=Release /p:Platform=x64 ` + /p:PlatformToolset=v142 ` + /p:WindowsTargetPlatformVersion=10.0.19041.0 ` + /m /v:m + +& $msbuild src-x86-x64-Fusix\RDPWrap.sln ` + /p:Configuration=Release /p:Platform=Win32 ` + /p:PlatformToolset=v142 ` + /p:WindowsTargetPlatformVersion=10.0.19041.0 ` + /m /v:m +``` + +> Expect `C4244` / `C4267` type-conversion warnings from the Zydis disassembler +> submodule — these are benign and can be ignored. + +### Output locations + +| Platform | Output path | +|---|---| +| x64 | `src-x86-x64-Fusix/x64/Release/RDPWrap.dll` | +| Win32 | `src-x86-x64-Fusix/Release/RDPWrap.dll` | + +--- + +## 4. Build C# tools + +All three C# tools are published as self-contained single-file executables using +`dotnet publish`. + +### Architectures + +| RID | Description | +|---|---| +| `win-x64` | 64-bit Intel/AMD | +| `win-x86` | 32-bit Intel/AMD | +| `win-arm64` | ARM64 (cross-compiled, no native toolchain needed) | + +### Commands + +```powershell +$TOOLS = @("RDPConf", "RDPCheck", "RDPWInst") +$RIDS = @("win-x64", "win-x86", "win-arm64") + +foreach ($tool in $TOOLS) { + foreach ($rid in $RIDS) { + $arch = $rid -replace "win-", "" + $out = "build\staging\$tool\$rid" + dotnet publish "src-csharp\$tool\$tool.csproj" ` + -c Release -r $rid ` + --self-contained true ` + -p:PublishSingleFile=true ` + -p:IncludeNativeLibrariesForSelfExtract=true ` + -p:PublishTrimmed=false ` + -p:Version=1.0.0 ` + -o $out + } +} +``` + +### Output + +After publishing, executables are in `build/staging///`: + +``` +build\staging\RDPConf\win-x64\RDPConf.exe +build\staging\RDPConf\win-x86\RDPConf.exe +build\staging\RDPConf\win-arm64\RDPConf.exe +build\staging\RDPCheck\win-x64\RDPCheck.exe +... +``` + +--- + +## 5. Assemble `./build/` + +Copy all artefacts to a flat `./build/` directory: + +```powershell +New-Item -Force -ItemType Directory build | Out-Null + +# DLLs +Copy-Item src-x86-x64-Fusix\x64\Release\RDPWrap.dll build\rdpwrap_x64.dll +Copy-Item src-x86-x64-Fusix\Release\RDPWrap.dll build\rdpwrap_x86.dll + +# C# executables +foreach ($tool in @("RDPConf","RDPCheck","RDPWInst")) { + foreach ($rid in @("win-x64","win-x86","win-arm64")) { + $arch = $rid -replace "win-","" + Copy-Item "build\staging\$tool\$rid\$tool.exe" ` + "build\${tool}_${arch}.exe" + } +} + +# Cleanup staging +Remove-Item -Recurse -Force build\staging +``` + +### Final `./build/` layout + +``` +build/ + rdpwrap_x64.dll # x64 termsrv.dll hook + rdpwrap_x86.dll # x86 termsrv.dll hook + RDPConf_x64.exe # GUI config tool (x64) + RDPConf_x86.exe # GUI config tool (x86) + RDPConf_arm64.exe # GUI config tool (ARM64) + RDPCheck_x64.exe # RDP loopback tester (x64) + RDPCheck_x86.exe # RDP loopback tester (x86) + RDPCheck_arm64.exe # RDP loopback tester (ARM64) + RDPWInst_x64.exe # CLI installer (x64) + RDPWInst_x86.exe # CLI installer (x86) + RDPWInst_arm64.exe # CLI installer (ARM64) +``` + +> `./build/` is listed in `.gitignore` — artefacts are not committed. + +--- + +## 6. Automated script + +All steps 2–5 are automated in `tools/build-local.ps1`. +Run it from the repo root: + +```powershell +.\tools\build-local.ps1 +``` + +Optional flag to skip the DLL rebuild (faster during C# iteration): + +```powershell +.\tools\build-local.ps1 -SkipCpp +``` + +--- + +## 7. Troubleshooting + +### MSBuild not found +Verify VS 2019 Build Tools are installed. +Open the **Visual Studio Installer** → Modify → ensure +"Desktop development with C++" and "MSVC v142 build tools" are checked. + +### ARM64 DLL: `error MSB8013` +No ARM64 cross-compiler found. Either install VS 2022 with ARM64 tools or skip ARM64 +(`-SkipArm64Dll` flag in `build-local.ps1`). The ARM64 DLL is produced by CI. + +### `error C2338: Windows headers require the default packing option` +`WINDOWS_IGNORE_PACKING_MISMATCH` is missing from `PreprocessorDefinitions`. +Run the following once then rebuild: + +```powershell +(Get-Content src-x86-x64-Fusix\RDPWrap.vcxproj) ` + -replace '()([^<]+)(<)', ` + '$1$2;WINDOWS_IGNORE_PACKING_MISMATCH$3' | + Set-Content src-x86-x64-Fusix\RDPWrap.vcxproj +``` + +### `dotnet publish` fails with SDK not found +Ensure .NET 10 SDK is installed: `dotnet --version` should print `10.x.x`. + +--- + +## Appendix: CI vs local comparison + +| Feature | Local build | GitHub Actions CI | +|---|---|---| +| x64 DLL | ✅ | ✅ | +| x86 DLL | ✅ | ✅ | +| ARM64 DLL | ❌ (needs VS 2022) | ✅ | +| C# x64/x86/arm64 | ✅ (cross-compiled) | ✅ | +| Code signing | ❌ | ✅ (if cert configured) | +| GitHub Release | ❌ | ✅ (on tag push) | diff --git a/docs/CODE-SIGNING.md b/docs/CODE-SIGNING.md new file mode 100644 index 0000000..000faa7 --- /dev/null +++ b/docs/CODE-SIGNING.md @@ -0,0 +1,100 @@ +# Code Signing Guide + +Both `build-and-release.yml` and `build-csharp.yml` include a code-signing step that is already wired up and waiting. The step fires automatically as soon as the two secrets below are present in the repository — no workflow edits are needed. + +--- + +## What gets signed + +All six framework-dependent executables and all six self-contained executables produced per release: + +| File | Contents | +|---|---| +| `RDPWInst_x64.exe`, `RDPWInst_x86.exe`, `RDPWInst_arm64.exe` | CLI installer | +| `RDPConf_x64.exe`, `RDPConf_x86.exe`, `RDPConf_arm64.exe` | GUI configuration tool | +| `RDPCheck_x64.exe`, `RDPCheck_x86.exe`, `RDPCheck_arm64.exe` | GUI connection tester | +| `*_sc.exe` variants | Self-contained copies of the above | + +The signing step runs on every `build-and-release.yml` and `build-csharp.yml` triggered build (tag push and manual dispatch), and is **skipped silently** when the secrets are absent. + +--- + +## Obtaining a code-signing certificate + +### Option A — Commercial certificate (recommended for public distribution) + +Purchase an **EV (Extended Validation) Code Signing Certificate** from a trusted CA: + +- [DigiCert Code Signing](https://www.digicert.com/signing/code-signing-certificates) +- [Sectigo (Comodo)](https://sectigo.com/ssl-certificates-tls/code-signing) +- [GlobalSign](https://www.globalsign.com/en/code-signing-certificate/) + +> **Windows SmartScreen** initially blocks unsigned or low-reputation executables. A commercial EV certificate builds reputation immediately; a standard OV certificate requires time to accumulate reputation through user downloads. Self-signed certificates (Option B) will always trigger SmartScreen warnings. + +### Option B — Self-signed certificate (testing / internal use only) + +```powershell +# Run in an elevated PowerShell session +$cert = New-SelfSignedCertificate ` + -Type CodeSigningCert ` + -Subject "CN=RDP Wrapper" ` + -KeySpec Signature ` + -KeyAlgorithm RSA ` + -KeyLength 4096 ` + -HashAlgorithm SHA256 ` + -CertStoreLocation "Cert:\CurrentUser\My" ` + -NotAfter (Get-Date).AddYears(3) + +# Export to PFX (set a strong password) +$pw = Read-Host "PFX password" -AsSecureString +Export-PfxCertificate -Cert $cert -FilePath "rdpwrap-codesign.pfx" -Password $pw +``` + +--- + +## Preparing the PFX for GitHub Actions + +```powershell +# Base64-encode the PFX so it can be stored as a secret +$b64 = [Convert]::ToBase64String([IO.File]::ReadAllBytes(".\rdpwrap-codesign.pfx")) +$b64 | Set-Clipboard +Write-Host "Base64 PFX copied to clipboard" +``` + +--- + +## Adding the secrets to GitHub + +Navigate to: **Settings → Secrets and variables → Actions → New repository secret** + +| Secret name | Value | +|---|---| +| `CODESIGN_CERT_BASE64` | Paste the base64-encoded PFX string | +| `CODESIGN_CERT_PASSWORD` | The password chosen when exporting the PFX | + +> ⚠️ **Security:** Never commit the `.pfx` file or raw base64 string to the repository. Revoke and reissue the certificate if it is accidentally exposed. + +--- + +## Verifying a signed executable + +After a signed release is published: + +```powershell +# Check signature status +Get-AuthenticodeSignature .\RDPWInst_x64.exe | Format-List + +# Expected output (commercial cert): +# Status : Valid +# SignerCertificate : [CN=Your Name, O=Your Org, ...] +# TimeStamperCertificate : [CN=DigiCert Timestamp 2023, ...] +``` + +--- + +## Renewing / rotating the certificate + +1. Export the new PFX and base64-encode it (see above). +2. Update both `CODESIGN_CERT_BASE64` and `CODESIGN_CERT_PASSWORD` via **Settings → Secrets**. +3. No workflow changes are needed — the `Sign C# executables` step always reads from secrets at runtime. +4. Remove the old PFX from your local machine and revoke the old certificate with the CA if it has not expired. diff --git a/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md b/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md index c78f3ee..b6826d8 100644 --- a/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md +++ b/docs/HOW-TO-ADD-NEW-WINDOWS-BUILDS.md @@ -4,7 +4,88 @@ This guide explains the technical process for reverse engineering new Windows bu ## Overview -When Microsoft releases new Windows updates, the `termsrv.dll` file changes, and RDP Wrapper needs updated offset configurations to function properly. This document outlines the manual reverse engineering process required to find these offsets. +When Microsoft releases new Windows updates, the `termsrv.dll` file changes, and RDP Wrapper needs updated offset configurations to function properly. This document covers **two paths**: + +1. **[Quick path — RDPWrapOffsetFinder (recommended)](#quick-path-rdpwrapoffsetfinder-automated):** the compiled tool bundled in every release can generate a valid INI section in seconds on most builds. +2. **[Manual path — disassembly and reverse engineering](#manual-path-disassembly-and-reverse-engineering):** used when the automated tool cannot find all offsets for a new or unusual build. + +--- + +## Quick path: RDPWrapOffsetFinder (automated) + +> **TL;DR** — run the tool, copy the generated INI block, open a PR. + +RDPWrapOffsetFinder (by **llccd**, bundled in every release as `RDPWrapOffsetFinder_x64.exe` and `RDPWrapOffsetFinder_x86.exe`) performs automated static analysis on the installed `termsrv.dll` and emits a ready-to-use INI section. + +### Step A: Run RDPWrapOffsetFinder + +```powershell +# Locate termsrv.dll version (so you know what tag to add) +(Get-Item C:\Windows\System32\termsrv.dll).VersionInfo.ProductVersion + +# Run the tool (run as Administrator; it reads the locked DLL via sharing flags) +.\RDPWrapOffsetFinder_x64.exe +``` + +On success the tool prints an INI block similar to: + +```ini +[10.0.26100.3915] +SingleUserPatch.x64=1 +SingleUserOffset.x64=0A1B2C +... +``` + +If the tool exits with `Unsupported version`, try the nosym (no-symbols) variant: + +```powershell +.\RDPWrapOffsetFinder_nosym_x64.exe +``` + +### Step B: Use the autoupdate helper (optional) + +The `autoupdate/` directory in `src-csharp/RDPOffsetFinder/` contains a convenience script that wraps the tool, appends the output to a local copy of `rdpwrap.ini`, and validates the result: + +```batch +cd src-csharp\RDPOffsetFinder\RDPWrapOffsetFinder\autoupdate +autoupdate.bat +``` + +The script will: +1. Run `RDPWrapOffsetFinder.exe` against the current system's `termsrv.dll`. +2. Merge the new section into `rdpwrap_template.ini`. +3. Print the diff so you can review before committing. + +### Step C: Validate the generated block + +Before opening a pull request: + +```powershell +# Quick sanity check — restart Terminal Services with the new INI +net stop TermService +Copy-Item .\rdpwrap_updated.ini "C:\Program Files\RDP Wrapper\rdpwrap.ini" +net start TermService + +# Visual validation +.\RDPCheck.exe # should show "Installed", "Listening", and "Supported" +``` + +### Step D: Submit a pull request + +1. Add (or update) the version block in `msi/rdpwrap.ini`. +2. Commit with message: `ini: add support for 10.0.XXXXX.YYYY`. +3. Open a pull request against the `main` branch using the [bug_report](.github/ISSUE_TEMPLATE/bug_report.yml) template. + Include: the output of `RDPWrapOffsetFinder.exe`, your `termsrv.dll` version, and a screenshot of `RDPCheck.exe` showing "Supported". + +> **Security note:** Never attach the actual `termsrv.dll` binary — this would infringe Microsoft's licence. The version string and SHA-256 hash are sufficient for reproducibility. + +--- + +## Manual path: disassembly and reverse engineering + +Use this path when: +- RDPWrapOffsetFinder cannot find all offsets (prints partial output or crashes), **or** +- You want to understand *why* a patch works, not just *where* to apply it. ## Prerequisites diff --git a/docs/SUBMODULE-UPDATE.md b/docs/SUBMODULE-UPDATE.md new file mode 100644 index 0000000..0ba02df --- /dev/null +++ b/docs/SUBMODULE-UPDATE.md @@ -0,0 +1,101 @@ +# Submodule Update Guide + +This repository includes one git submodule (with nested sub-submodules): + +| Submodule | Upstream | Current tag | +|---|---|---| +| `src-csharp/RDPOffsetFinder` | [llccd/RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) | `v0.9` | +| `src-csharp/RDPOffsetFinder/zydis` | [zyantific/zydis](https://github.com/zyantific/zydis) | (pinned by upstream) | +| `src-csharp/RDPOffsetFinder/zydis/dependencies/zycore` | [zyantific/zycore-c](https://github.com/zyantific/zycore-c) | (pinned by upstream) | + +The nested `zydis` and `zycore` submodule commits are controlled by llccd's repository — update only the outer submodule and the inner ones follow automatically. + +--- + +## Cloning with submodules + +```bash +# Full clone (recommended for builds) +git clone --recurse-submodules https://github.com/sjackson0109/rdpwrap + +# If you already cloned without --recurse-submodules: +git submodule update --init --recursive +``` + +--- + +## Checking current submodule version + +```powershell +git submodule status --recursive +# Expected output (one line per submodule): +# 68da37acab6593c329776644944f55695a131731 src-csharp/RDPOffsetFinder (v0.9) +# 5a68f639e4f01604cc7bfc8d313f583a8137e3d3 src-csharp/RDPOffsetFinder/zydis (...) +# fb69402566a15a719e5df7a64a3db95105590b7e src-csharp/RDPOffsetFinder/zydis/dependencies/zycore (...) +``` + +--- + +## Updating to a new upstream release + +> **Do this only when a new tagged release of [llccd/RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder) is published** and you have verified that the new version produces correct INI sections for a known Windows build. + +```powershell +# 1. Fetch all tags from upstream +cd src-csharp/RDPOffsetFinder +git fetch --tags origin + +# 2. List available tags to find the new release +git tag --list --sort=-version:refname | Select-Object -First 10 + +# 3. Check out the desired tag +git checkout # e.g. v1.0 + +# 4. Update nested submodules to match the new tag's references +git submodule update --init --recursive + +# 5. Return to repo root and record the new pointer +cd ../.. +git add src-csharp/RDPOffsetFinder +git commit -m "chore: update RDPOffsetFinder submodule to " +git push +``` + +--- + +## Verifying the updated submodule builds + +```powershell +# From repo root — builds x64 and x86 offset finder binaries +cd src-csharp/RDPOffsetFinder + +cmake -B build-x64 -A x64 . +cmake --build build-x64 --config Release + +cmake -B build-x86 -A Win32 . +cmake --build build-x86 --config Release +``` + +Or trigger the `build-offsetfinder.yml` workflow on your push branch to let CI validate it. + +--- + +## Rollback + +If the update causes build failures, revert the submodule pointer: + +```powershell +git revert HEAD # creates a revert commit +git push +``` + +Or manually: + +```powershell +cd src-csharp/RDPOffsetFinder +git checkout v0.9 # previous known-good tag +cd ../.. +git add src-csharp/RDPOffsetFinder +git commit -m "chore: rollback RDPOffsetFinder submodule to v0.9" +git push +``` diff --git a/docs/images/RDPWrapperCheck.png b/docs/images/RDPWrapperCheck.png new file mode 100644 index 0000000000000000000000000000000000000000..81b02e9690b735ba3b28faaf72eaed315d6d83a6 GIT binary patch literal 110651 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πCd^8i0Q><|!;0Y<5J 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 V!zFzOp0;yENlsn1MA|&?KLD?y6siCK literal 0 HcmV?d00001 diff --git a/docs/images/RDPWrapperConfig.png b/docs/images/RDPWrapperConfig.png new file mode 100644 index 0000000000000000000000000000000000000000..9a03ec0788e326de90fc7cef8d9ba00a05ef0caf GIT binary patch literal 29582 zcmb5W1ymeSv@Hn1LLg{>;1=A1I|K<32=4Cg?hq_EB*B7PaCdhL4#C}mTQ@FE_Y`^W z&Ak8T|B6P9+OBYL7=6#*@I#KpW^iz>)So29 z)VvH%*ZdPn=KSd(=P{xEMls9O13eyCMxV;ccm=^|r9(VKy4u9=V_c<~#1ffv+L6*u}kR=x4F~Ov!krDtfuq*43R&prLEWV`qyO}9qMz=-~obo3X8!QLa&+h_0UvK zOOw5^)Sn{$K7Q}9v14-=zAA3FSGtaGr&&y7L~0uP&oMiU1uJeQXl9^1HFWjusE@G1 z))aS0+5BDy-txgQchiY@BkfI~)A5B-Z#)u1`g%a;wP>u(a8>OWQQE6-&_uwW^qkk( zod1ryhM2Rb?6^SAiZ){T;lAYG9V!NScI_bfot~3n7S7!*ZwMQ-bf&;qMV=f288ZZe zv!NFYl%TgzT6-khik*L>7z^tv`7!$KXH^S29_!F~fX-&a;seWFKOK0>s0H6|JE56s zl~Ou>`+#IKtm=uBEWS!^;0BfEc7HlwnjHnoG4YrwI(XD8V%Ka-XP|#W2x)@x5yQO3 zEy27!iKO6e)A@4kW>7EMwCCEK*FGc~JaM05bd%8(8bTK&8N>Z4#vxN+ESR0M_4+5I z*?*btRP%e|)68JH?ASGL(|3M9x3OjEs+Q3Oksa%nnUvkd>7BO%cg$Zg$OhwJU`(&W zf)vojD4TR&e)o>Oqc1Tl3jft*CxK zW|A}QcrVcgFRz?q!uqbCSC8Fv5Z$fwP~K5|!(CHxdoM}p^tHsSPpls%aq3qqm!o1I ze_W~{>X>FtfDUc_A2Eow#}^!^}&-<5WqA7V> ze7z{wNnu`eAy)SA{Xda}+@ckDhQsA}6O43Jd6A{u+L%NgCuZI4NGV1@Odn(bLEYCh zHo+%YwpYYmt1*Ty`DZY<2JejEj6ALMuA`{L`X`mfc$&BfaX)}p&NbfdQ1O7QHSth>eB_>vyFP=-|T+1woo75 zTY@>ru5G8yD4&X{SDQNP=s9F%L%K*?W=G65P}W*!L5wLb^>y0V_J-r7Z`MtwB2)gf z&6)GqYW#f%=+bc0FyP|z+$5SPER28Yr|)DQnNVk&6}~jthJL>DjqP)yCAHA5zGO!a11=eSf6YVpN#w630zom=R; zI@zN38XfcGv0j(l`KX~JK5jv_AXNo@x(*Cf|;xc}F{ySM%RLEn4@} zc#+o7lDo+dSYJXtU?6EN|Fv_;z<6MGS5z-Re)48$-pHK}$Q|X{Vnv{uw(V~F)P;Xp$Gjx@~l!x0s ze$I)Wdg~b#QBKRoBa7&1e@9kBSJK(2??wR&x#6-MnOXjGePEJXb8Z&6&Up>AS7`q^eO4S3w9`Nv-V7!gn*|(y}^sqmgP}l8qo3R`OxHzF(S3S4sm2nfB)T77L z;+Tyjsb8e~wAo%c-*1FJF_lfAi|7!#!F|}jDhM=7j*Z+-5FOmgwR9dXa2*%>e%lUP z;}g2d&?aedGuXY9VXa$_UK532V`X$>VhV@PEj%fxX#flVyui~iO~XqRE&p+HNqOFL z{aIY@{qoK|%siiswqiP~hhoRKUnFsre|q1Kq?`|EcKWdaaTzt~e{iOKT3$&t~Aj@~6DEgQUs_=ygLO~Cc+rrV1o3^I0cCNIu zEVd0|d0Z$tT$G|nQn4tssq4wEymK&a?tbFnvZ%+WqH}OiRHT(yv!b1c-JpHq&J6)G zK#&L@n#p5#G7FQS%bWj6)FXX45E8F}Oj^vlGyUouI|bMq19vJgP4MKSXL^XKloPNZ z&UcoFK|}i@m)_-fzfs0aw8;HL13<-w=ZXOkRlmRaDRd*xF&23k06K8+bJ(#20Vl)5 zLA_y>#r!BzxZ|)p$CZ5J@bE0T48*#x9iGaV0ePO%eb5bJQ3Cn8`$;_#QFlJ>1Te8W z2X0wa3q0>?GmlMh%il~_+@8_cg+To0U<3kjaPn)G1bDazv|9zSEN?s9*h$CqLlR}@ zU>Kmw?%fl0&9}Y)D|W)}{tcrjU%*i0y6)hzPnvwFES7v0)b747p31W`ao3)$!j9lPEi6nh{AGww>7y<+pR z@vnV<_jW^y)Cxe|X+&mNcn}I2Smqed- z7P-ugMdQhZ*&{Ihti1E=ZZQKxN6T+%2V;5L`Z)=Vt8pIwXu{;KU@HzVl7OpzqdDW} z@%4%NVw__$Og z@9_q41ct@ybw1U=BQe(|FB2@ekbGPr*Z+P{wq+>?IqBcZHb32{&4%0+X?f0^({UK4 zpSRA`a^zH8@;;0}xItuA2)vh6FG8NLDZ=Vu;0FHeYNbCG zKyJJdpD+V;oUrt|L%WPc=>(#h_H^RM1w4ctnQTy6#K-%}v)%PDrBg*@Iz8YVbKVHZ zGDDc;{v>6Ur${FLqNUg8&v70(_HprDg8A7%mofgwUgMO`%kAP$kZOfDs+jBa)5f9= zzGl+=iCX-!zo<>N*7^NK2j9i&Wd7Jd!FhRS*4(T?md6OO)?dQ#!ore=HLDFDUb!;a$;Xv!tuYZ&i|qJmIfuH5{cOP``nOEL-3NfZjw?^-Y6{20EaX%x8= z(Gxh|mfU!S_{58aXarocL-~FIdc5&2E&k{U-T+8Lxbkmr`;R(7r;Y=ngN=PRM4t1Z z@R~p*<19r+Z+I))?ClDl2l95hpKs9C8m7bS(AF=Zo^*rhd>5ytR76!5uz<-7ep~#H z27ym8+FYzZ#iWb*d!!%0Rh5OwQfVqj&MT+ceM6d+aZu>p$eeOQ{~0-y{>W0f3KU8% zN*JykS06x`tG;lvt$Pdgben8Pgq`gyXd*I5XFYn?`=y_|0dp!hhFxx~m7znql;D_A)Hn0P+x@bg5#&@3gqJ>6; z)pm&x1>GExLIal%x?O)&hdaj2xv&y=sv1;xoBDLu&@{nLXZ!sMx6|6p43QUBql)bo z+Pi7`B;N#-&4L}%?5DQxU60YQA?C?~_AJOyPQYVKYK+Is6<6^36$G4R7cwj@@`P7k+pbF%lIwEt8NU$qgbZn`F?48zbrQpLy`xYy$>4>1_Yo z-@NCioTIu{r6_MI3}N$6-8x+-xCl)Mu?_Q2BSQ+0^VU~gn>Q@Bmof3?(C48{dvD9! z57<@kKCH=0N~+dG7J3T|j$3=#5UG>LKY&pF#MyU~tClqckmF#>TiBxu6}HZ2RqK%V zG~TLOJq4q<$FAhD69lr7YoNLPd{m` zmp`Oy6U4UcA(OR|kFp?XGv}&Zh_2@$m;yJMzH7ijyIm=UtuAfj?n&l6PInoKpPg5k z3fB9y5ne~fzGZ%GlK)<6v>?@e+H0o2TOuF!l|}0>O&7_ZONyO*Y;2^zgSs_cfy{Mz zxC!eeaEIOBzbp?|NaM;~zQF9jJ^B(_j&J@h&DidaKtRlF#Zh{kb99H&JIUJ4*ITXd zMC(%FDMd+=3%_5=POlz`*G&JbCIpIi68t(0VbSEi%iWy7L>qTUR{Pe}n{UbrnWrd{ zTydl}Ewr>)%OV!K3%-X}@@OG!HG$}Gc`$ysL5&bWEzYdz9v`y_4b*gKlCgt&$9E(R z9oIjMn}eG|TArBV*Z7Z0YuK1l;s+Db?#;UgM7U`b)Uf4GnA$aKekj!i&prmJcXEkwf>>w96rM zw;IC^U14g^WdK&mGj=C<-Z-fnIC2yJSHMHFs%*Y9#&O7IL(xXBVn@8Vsfjmm&~ze$ zza%?CEA-=H{F6GhBPv^jN1s)FBgxD`z#RcCO``0_)z&GJ+%dg?fV(X^7#*8yYubz) zN>iZ+*EskwzVZQYHXu@D2_+I?3Ox2<4FgUq0s*CzY>ML-OI@hzalqBB?Ey64B*kCZ zgU=tr{OT+j0SJYtG@No46u1H%Cw0R~7w+OXQ_s4e8=nHCU?rMo-T6GI`x-{kNz+mc z_{P|3r(7m_>(*EBBrnswuM~pG&H~n|iK2{uoTBMJD^Q$oKZw_6X^Zn+>19 zZ`(gWQB5yuWI8;;D>7zeP?}88%EjTsh%tjGdnDzt*1qC`+h zK!SQ-1J5-9Ueeck6HZD9B$3ab9*KWxhN@`{UPc6)%ea}0>FjO(MMG+k8Qjw~hrE$x zVE$|-hlOZ>79#Sl_goRDvPj&-V9#SzW5eaXbdIgsd8#i@%O6@f20Y@jvKs$SJJM$& zWU;?gBdlD8U73G#VqnXYT|@Sck9MB3CYR3tGBf`FOR3X8eYdBW?w%aUx(6my>C4%+ zP4*ceP+rWl96P}_s^wnY+2$sMgM zQ?V@P?TjExux6V9M>KWz18BvooPucR=zg5{NuOn+yUwZW@v>A51rE4ENR{Xf8gRu` z;9OOi3V^(ILKlJA@4H&mh}}C5RC*SZOtL^1Wd)`A{fsxjFG)*~~(~CB7Gb@`-Wu_Tp0d~K6=2EUbQ6u;w zE%6dH@!G?h~%9HrMU%8%3gxYPDqI1}+M$0Ww5fWxAiOb)fyX2^Y3E zQ0KHk-i7J4p z580@nxiYVZ+-b1q;}RGl)|sYEUrRk+94;{!2Zy75S$>ReEEMs&^y0lP{BpyebWxQQ z^&Zwmr75QhEl$-Vhz%Bw3VpHD-&uj+do!|_J|0KGA(sNXoyErA4iCdxUv=EuJVrb! zc*e>(J4wgQWmYg5Hqu*DCNmWI#%F*0{?_S?-{lQ1zccdlnkF&&<=6f@i4uuI7_+xQ zwbtcTW`NpqpH-r}2&1EIL9n7&jWt zOZoCMJWqRZi&UEfzsx6n4b-Z?VqeE;v&z}K+BuGtSoN@(4NDLe2aBeiScpNg^xg)8 zE(H}5b`MUvZ%8SwDJr*g@DrJdM!)4du&6fLHW(AGP`DEU7)dW=RMXv8k+iP0Fa_qd z<1W;An*#2+OR+RWUZ+Q)0}j)CwM+mB!7p%A2~^}#Qudv)knq)NAamwdGD4Uu(Bp7l zsN_{1M$)z=Baww&PW1TmvLX?^79e_p*A#4i37^Z&1^FWJaLPMXGbUTG`OB0?+v+tb zrmP(jDQOQP3ENAhU!kG&3#5*fC5`2UrI%$N@7UEfNX0+U3vv_Z+QG~+yj{v$Fly|T z*_m_j5|f?A;&8o>Jc5Jp#*GO3Y8%DoIn-tjF4ULSRfogz+gl*g`}|tBbNY8FeM4|? z@u&Al53ABahnyojlU+GN0W5!lIMXI_o!#dOHd|Xc`iA!u@?`eq%S4Tmxx;Sz(H08~ z2e;TNtmqG{hB5g@((dR82{X}6Qj?f_gZ8bcM=73|?m-FO9uCRKdqsGO7%wm>Ixx0! zv>1CrHkg$}x^3X{;^2ys6LU;I|FR457+GCc9WC-%*MOQ1-t$35+#vIT5Db9_C^Grd zm9Ws`2$zwMCf7*d-S3srorS+B?E>qBdM{tTODEOGLnGlVm`(b~P;3N~+Ne^&R%mZY zu!^$P9z+lWfprb=SnHU$CgYvEWroDA!P2VYiJCy zODUj;?s3ddj%tOgtBTvTp)a6djH3w{;kVXy9>vv@hQQ&$mu^`4Z6!c=<49HDTH@%Q9b055Dt=8{y&YFnim zja9Pdf9^Oqs&_LuO7mW{`q>{55Kv_(O{k~!f zM94n!*0tHAcFfb(-&PX{;gLWza;J24A#B~jTx2O{Qk9;JPll7s=f)HRT%5rY&zULkP`FnLq z*ncB28aB>YWIM^*)&F?E^T% zZuLHcp8;E*QbIyvvCWh1;o%|gOW*9=T$p;9hVf*UFrVAOH~z)VF4UH7$SlX;umT_b zyq}8WDXtmgX|D#(K;*^O6}^=_vi#Mi<*+iEUmmzC>w%Yz`Y>qDSO15ZYzK$UEp#EY z+cwdm$SuyjoKW08OVIUD0Q~KDh+{2H-mv*XrGE2KX&DE=$Tc+yfayN3v#S!)A>UMG z^soonv@E6I{Wsh<@<)EEv&&7XBP)tPsZT;T z2>mkEn)~G|(adajzD8l6o5@|dwpyXS7SCpqEIsgrhg5I#@s(rD=j3Y&n<)^;=}b_g zwYBxVkdPgI(T^;Yt-^vyJUclt{1DS9l;%o|5&f5wY_~ZkbX|X|Ri=X)S(mA&`2 zjRP>2!r{dx^>^tdh`&PFJHBA?-!jDN%%tnsfd2zHDbPK|eMquyNX!~@X!%5YZ(9CC zBv$T`okm*b6ODy@3Xg-1wg)2zd%Vu^Thu{SLWc2K^NM6C?)3caz@iF8>dTxGyY+VO zw;>myiy*NK&H{bI48CM3Qz>fg~~MT_^mBt zp^M+t2Zx93DC(4(UKsVHXdYo-UMffqDhLP1sL{lDIbS=Y?W#uzmpR(EsLEE z(3|I=`DOSWtq6z=2)bCMk6(Z&3PI(CpvFVkebM9(t*rhp%PUQt_k|}b%(7xM!38Q< zF9&Z+zUvn~&rX@|oMhE=MD2yGg3n=$w+QnA+;=zvS_Govi3W%as7o{ci~B{Xqn3r&$9z)od|QN#~fF$%vcv zPGM3*24Ti8X4`y@g`&vI90oDjNWcLmFobLqu=DXn>S(*?%LHb8=mqlE2wh+HNmxBXnh-jbv;!q&_ZPSa|PxoTINc%w5k zMeN6lu(fw*gApvYRM9_m6qh}Q53tgGeI$-9-p&j(RqebBFPPwE^(XxCIL~*JC`&K! z;?E_F8@1@|*pQ<~6zfSbiw?dQ#Y>TZV>D44<^v@#N{1DF0p*c(Xj$@lbQ$%WrlJie z%jr*zJxr_jnYuk23eZ3R5FQoRlpn@iIpoQ6z0Hq16-)dm8`)sHuzgsRJ($d*TOIJ^ z18gTk6il-IVCf)8p`J@glO6lXYQI`v8)|d7>T{=fdwJ|c*}ga@ zyb;-Yd|cV)w4do|vexQ;&0EFQf5Lnk zm@;m7sKsPhpjs!x#?mKVF<;}dJMuj!2)<5;@*K@*RXPCUw(UM!>Y*eHZMy3Sr>>bB zs1kpiXzfv?k=i!J`&C*c$CLjXBDuY};o;rc(z_?VQ=42-;UsqkNJU@E1@AI}Tg<{0 z12*>bo0-{|p}V{-9k8y7IcT_?++Y(!kiJm7V85-}2(!?& zAq7-pF50hOzgBym8(dvqe}oS&0bo&?Mn!Lyu&>j>6s2o5<;@A1qWF@>K=kW$aX$LE zhg5#3Z&K+X!kiUBW%4%xD98Al<*2XKQ;ob}HgjHy*prG6ER&#}8GlRS6oezG09=UJ#e4-tBzq zWXxlQMzgJf=JsaYt4T=GXx-#cy zW?USmCcP$ERcQ^*2w31s6t!I@?ZFY*o2OW zMmfsBzRF1V6^G4N_*IakbqiLO;hESRAECwcR4Fm2UQl4g-!b1!Fd-NVJ* zW6m?EAZV0jkQoa4&Fv4ed5uiQGUt8XahqoT+V`lW$Z0o8bN+Ltho`6MT&X&@O3@yk zw5<1BoRap8qLiw&zIE+yg3otx8Y6+Q;d;!Bt@&Cl!%f}y$W&fDC(o%Yj5%rNFpR?wtFj{XkV7fc7sU{ggm$C zk?=CR`xLR`l!{MyEXzZ_eank8x3$twljHmNhIGr4_DGAY>pU7w^PcqMQ!ixZap`@J zLJP~E`>w3OI&GdHGtbb{W=z2bRppE&J#1Lpbeuv>oW@?gbEMDqj+y&*DP^6AEAfEf zjCwljxr#2Dj*aix@*J^cR091XBkY@~nj*f0L{DbD6lk9`j z99nZD+UtKsn>lC$tlWF~3nmmJ4$os&UNYb)`!XEwjSEko*?1Z9R(F}q8f_qNa#?O- zaB;KTfFo`3N%c8zU*fqBwo??Dq}@^}n-29c6{UH_L;=)AZ7qut+J+GlE|5%j@<_G) zSRZ#t=vA*aG%^VTOs@TaNoGYppDTKx!^#w2vw1gJ*J)Dt_UAzAe3fB*+ga-+c@O>a~Qs?$_51+}7*uge-+jFcG6f2w)3yNgmKGjj|r znJykyqsv)<$0<*@1!m<3U^So*PqNhBpN&>YH^iBE3*f0Ae&$JwQz)4kyuUth>P!wU zp97bc+FZ}AOC8SaCbm|33)Y+4PnNq-QKdx)XjJO)bG(0V1jrqyd>23(#boP(a8$M) zm6lFkzVs~x{QiW~Ceu%C)y%Ky$~MryQ%=@UO!7%`dCy*^pP!z79BQ;*k*aLoe&wnq zE}X%*6wh|w3XY-g<0?;$z$fqO#C!(V1@%>aJCM5YkY+g5}fTxrLNcW0m`Y!OP zqBmRyuq==bC0c+}*dH&I3iwsL%E2 z@*)*)Oy<>$WQM|9A*Ub(dX%wk0%j{2OSa3yff&%2DS8n-*hV?DPMb>`( zErN{TV_BXaaW$V6yWb(`M(+s zf!(Gw8T&2$7@gW^-y_TWR0zOX5a|80NVKh{udlD3ZVCst9Hw5KlZgW;!#nV$x%s<% z!q`d}+&7sX#!QiULxpXn0JubM2Q{g^nNkmw+w-`EIbfhxsR3>k)msp0cXGfcR0Wkr zal0Fz_tm#w1Y~GJGINF)FUwi9-k`UUGvX`JgeOHcnRK0^Agag~gN*Xt+^`|eDg>He zDb0M(DcYuw_5sd(4T5V7jcb%Yn<G>ZKw^ogQzaL(=uH zqHLxVnhk-UD;V63?z?_t?h51@_D?&gA(S zD@)t0j`?Rb#DA~tf^^~L)2}$@CE}>GRnOe`4sfJ)5ehyC#si-9uK<pRUBjjf*st9%&xT$lqanIL=i1c2IW7q#oVEa<^q!>vzN*0Q6sC zQSB$CinTa}5pYj>sr;vi6A%S7O0W=6$@U0Lc|iV_0-RrLA|b%{eXxKq>S^*!*Qc7p zD2&bJNPz|rgv)vEo-W)Q&w9m6*y3S{bWK3bPS7=!Yi@zxU#sEzw&-$!U8}0UGx}Kv zde=!W)kSfMm~FaV$yzisx>9oE27daX@a)F07xy9PX=={epIu)0pI9O#F%RCPeA($w z!-4~JZc-GgI&W(G)KG9bIIk<6%7zvmE;jQB4!@AczW)HQoSkyJ5Pj%ogL3qkd-D)< zH<6F?A0J0o6qtLdid`)+dDa)m7y4>hcEL}5$0;42+}qORygoOXexhH#KjYtrQ-72+w4yOD;+J zOGOe9EP&K5mdz^`EJMP+M9kwJ%2QERlPCkCQ%1d;b)o`Tdn@T}Q5YPP*EY9CR=&KR58%2S~LTTO}k{3!)wIb8QqwwLt z2%3zxWj?2E4;`+r&}Xq{BISE2fV{kXa6I*8)?U+G7lC`8-xk;wys3|@3Lj(>L(=t* zQa$xLW@sMM?#49(NF&@YVmsrtAB9}W(fB@M0v#sx-a!1(({CkmzEk-yl*X%vy^fmL z@p;ctYQ(4UQY~+~tG&I-o@Ps3h$J>*>SV>b3!sl%yD5f)>YDoM*WP3RoCkEQ?y*$P z>4gPLjI3@oTZi0P05$fNEL%I5tLg6B^rg|;Mg8_qKR}!c^(R~7S++uYJ>uI=kvE*1 zwc$78Sk$o{#pLu1Cq|Q5w7LTP_bdT;MgQhi0`q|t>2B+;nxOhWe5P(DL0hSO?t0oQ z@5V?&MMR#K2F|h2-+FBNl$^fWw-PjzZ*#0?|CWZ^HaqI#c($<3u)_1y4pK5bla8f9tPY+P~Z z^S@mS2ada{QKfA@cW(V$ZgHh+bXbc*Lc=$jDU@&C&+@G{?n7=r)<5qBlnGqNWtzOm z`2U3hk+(n(klCHuQPw`d197_eJ516O9!x57CJc^v_~K!Vw>|l3SgvOxqjI^LIrg&z zR}0XGmdDNx=pr4yw|P}nY?mGKKrPm4u)%xA+7jUysUfdlD6spX*@H0BLDr4EV(bg) z{*lFV{|36)U`y}}{l;>rpY4#WEV6$fLM;roEvO8pHK!u71)4joKBK>WZ49s-3+K|^ z(UgUaX*C&{+|8yx{pox^9A9H3P))C-=Z${ZEgksiQWr7U@(=C7b+a_B2K%113^7mC12Wnw;89sPQ=E2ufco0js|M4V z_BF%?|DZSTY~(dac{VCSLrkWF{;?0KzU`fXy(&AcWwGh$YBZkBdq>pyN~F<&pB>WS z#dsIcy&lho`pJCQ9iK*3>mYO1ltKodG5*}{bf8~G&=6wcKS2xb`6*Ug&lIM~v%mqn z&)E+gZP=d;yU$J!d7&K?{@P2*2#z2*@J5~bll&EcHn&*uj@I@aT}|swEsKH zKB^D?^P*R%2MuLF1(oc?MK#*v2`*Pnyu^l1?RDmo4pqouh@yp5n3av`rr2x200RG;|h+@?Vem3*Btr6v)+hR~dHh z^zS_dbZkfvcoR+k7>{;FoX&F-fWIARrLd_G_|%C`^?WVFiZd=POH`o6#(30 z!x2^)#rwP)+ahF1ia5+0xf=Y;-s!3QLdTy1y@!a|Zj8Z&*fB9NMrM;1Cv7)6cexT8 z_a1t_ry_RioWb9}qttj^x;Oi?ed%a2J#6R>p_aOT`#9g!8TLH3moL6K`XB4=(M#g} zO4MreV95%2u(n&OMLJ%n8rmCAcLr^W0sJ#r3}yP=Om8>BFdeE7&Pd$aioq#E$RH>W zp}BF|ROp9iyUq6PUDF?;a#T)2Ieb&+ii?iNYR6%sas!;WIs)HYcwbLD6duQ5(P1LH zWpuj@_Qvl+0K*OzJZq*__821d+)UCm_>_oU@T~6uxhGukydBqb&7I(^{ZgS^w~1By z@)fo`7Yl}v$*<6{6KsPghLB!o3MK(R^%24K=4yYz#wu-GL`=e6IStd-jeYS9ji!$` zT3gPmwX>p+}zx9OdpA2BuV*eM^cPt8o3uc>k&vv7hYhBL~z3; zGaJNoq&s4!nckQT-PDYG08P8Q|0%D@zd1Iqd?!0C;dYd--{doeBNIoku0X)G{{}E( z)-&>Q0f>41yLyq+K82eX ziV#k}-CB;raC6fO?}%Pmso}aRGkkj0=6POudBJC;VPmaolkcza;6%^#)rYvSojlj-memlU-wkd9uPBPUO+@&@K5 zrE!A@Ag(vKL#y^T?2;Qook(6TOfc;xE}a*~qHq$`cW?_CD)IxM`!g%xS?WfQJX>-Q4mx~?l6 zX|i^~VQhZz$MY4@P~>bqfvx{ZTQ~rK=Hr-4-q+{o_WArU&by(9?S^IU{l9H69Q%na z&%**F?!vTm$4jvC?uY7TLfi(9X-lVA%g3(EJ6`M1`k7Ymifif*;#>7X5;ON7 zr6`ffW~%{-AM%$@w8TqBYkq%76v}Qf_S0BHLUk55+~5;3sih&x1Uf=h*B;Dwelh^? zx@>@#d>kv-au2w`H}NQ&uY6Rj`nl^^U>@3@eRoMD(N??i^qpb!$hFX?0?s6 z7=u^whJut2M``E4TnXwjJTG!m&9Xh|loo+VBHiuoYLQjQ2h8i6cAZ7+k;GMh&te6{ zu{|y`&?MLLJNZxO|I}U>&$XxCaqme+1ijaP?kO}E+M$D5eYq3N+|tNih}L|>~hDv4=vPq0+HW_Q#<^P#scZ@ceR@4n|0rl8!ca4U6loW{BGu#WZq6vWAjeiG<0a;# z#)#zDkB<>mfFpEAC#xHlNfujc1Nc3`uU;S!X1>LHW7D+I^0=JCgz?Bsa;a~&`C0_gp^xwvZ~)Xcp` zMwh*}e)7sux|lhWMWXZFLZL%V-GvJNVjMv*P6&$A=P61;l89ll6D7{KBhZn3`BJ7N zS8r_gL3Cu&{5?nK#dVC8O|JgTJqG*#pIY{+z7yy?lz@v9a>eye z&t(}Rq7oXjmo)?a!WSKg^>a`KSWuO%28O>e*+tSFNJD&8tp~%1oUM)8m035Z{)On) z0{p`Q)CxB#PPzQ^;?hos`}O!a1ygX89lYa^yayv! z_&|CW^E!S1XSbbrIe+fkEAJe36Ayu`XKDqQ#Cey6=?)yDkrB&MEf4Ri9~b(qUoB81VbXiyJ+I^i%_3D!vAVB zlaNf17Vh$fc`WB5Sn&Tx+uI9?|7w7HaXI#%N^U<&z$i2IKY@25JvsFwP^KiuZx0m% zi8623+xq@P`)#fAKehF90ou?y{)w?ZokmxUjb;7yfy;fQ8G2LvU=%zd-l=L(D04ZPr&l5einY0 z>QKTlNI6i55i?BgS!xF?M7ng^oEk!B&x#dH$=7N{j+nK^lb9pYr z1-Wbk846at`H_H9rKQ+T)hXM8VK8SvpQBX0MNkx*u7R&u4I8ndV*<`1Om%Vc}q9*>t_OD_EE@VICS%Hv-d>KndH@BVSglrnJRxps_& z^+Md%v`aPr-&1=_MkeLy*`%FO3d{o#B`j(vcS8Afbi~BOU%`osi|1xsO*yduuj}N~ zl6B2dm+3vLf{X9|!dI5TKX;G006iFpuPeswg1?rTD>a3BtWi`e13G0d+Mcdk&S^bd z`Lc^)T9iFXNdI@RqWuush|0eH7qAaw2#PL=1 zWR+S?50Q2_9724d$@3$nGJL-UusW}CTEe<`=>hK|vEe;*cm`#KHd~|u8j{OjY1);! zJMcd$avE+F?M5owM|ehUaGWxX1`0w$zs_&@(U>*M1BwlD-}e8}*;hwJ)%IPJQqo9C zqclk8&?zF_-Jx_2NS8FIG)RXa-6b8;Al)UQfRvOH?=^VePp$WR-nG89`~xS>oHKJ> zzu3RM_bF!csQt#ZrS~q(!uG0-eDtWkHa_m?E|^X+yj1V{FfA??*0L*A`v)~}ScZU> zD7B{uivkkndD6T7Nfo{9BlEx!!27tvw*8(lo5lD4ENG8$3P8kz@U+9n<15cX2Yc=3W7S;XN%} zEuY4hN-K2#2!yC;j2rKtZOBw&-G`(Wn*k;)t(Lx1h)#y%&m9$jboH^&dVR#q6sdM^s0m$ay@C4Rrr2H9{;ep`z zJ4#0e1j|W0^32;oJKD_OpXT2`3lD>vR4AH$=MEsN^1t3jaq%Td#>=5)oJ>Y)GR_N2 zLW=w7?(DB=1P@+am{h03q>|qVy(JFeO<_kAxijz}Atq)A34v5qX`TmmHA~GN8{leS z+Z2#uLDYzSz^r*FKq0lE52n3(H(Qj+M^rhLwSZo1yVUdm42|0ho~Oa4*~S1KgU&QB zhm`8o-;1TA&*@)Xy)ohh;j6M5yc!sbkb+<zVSYEG`Bv30tfr=NM*56)Uf%b&E=- z-^bTr=shJk5or>tTs9-Ne#9_a7x)vfV#&ia_tU~Em!BtR{)~tlpg>u0UjMVh{vZ6| z6daszt!3s9E#(l0u+Uwm&)tz-NMxh%U=Tz$oST5av>Y#l8$P>WPET|DyrXO(;uD1D zABZ8K90J-*;uE77kOHe46ac1&Q~Q|#`LV^}fXha)7D~C=69Q$1S>?6J_M8*BfeXu% zP)%jQ#}&AEs@50%Nm&$pH(sw!IOqIAUgdaM{2s=sq!H_i6}sYbZ{5Tkgh@po3^9+Z z<1Y{<3=*OjVDv`PDcSbLZx(4Ee07c=?6f$)by(1>FbXs&hETR`4#@*%gZGlpf7IU5 zK2n}{iHQTiT3|C(^J{?B0;mJS>%{Pk(vypLJk{!8e1uHG8w>T{eIds*0A(22 zfmu{L{JmWKmpH}7GH5||RT=k@=kEYyI5GLpQp$LMvh#vYRe4^V|7n3tVtwEW_akMC zxxk?qvwLW|lC+6OxL9N)nIe5&g~y1WFIM_3qA>Y(qXmEc(kV%msl`H|8L(CPlu8U` zn5~T0$X0GYzL_-ydQ(H~80dHdM@CY#_1k|#BTKF!*wob7S@D5^QfG}?zqH2I`rd8Y z&ytCHbnN%gifZjcwA?H=06D3Ec`B0jdgUXvIN52H@fPQr;l3JOSO}C zY!s!wriuEAB(fPq1Ox;Ot(rlh#Gt(c_~6t1C|O5@bEQt5LZmwm4_3rl&zm^Bu}%E8 zI6U2Ndrf(--@eu^n7P+d(u%=@iV~x&+}Yoti;WOHOH$jq3G^-bE;i2*6vudww=&7;&enyK+QD*j*h@SENs$3NGj~-{$uKb9yW+j0$8l%qg^0dj{S>~}$Z29~d zb!x=1;dPu}bMZ&ybei%k8`EOoPXj2k^gz3P(@B;XSFUzLRz?@VP)Q&e8oU@p9+Of%pCn`Gr=thB659tW&&4yHY_y^#|L*oBRaO~w#C=>ZNZ zc{eu35ee5kKi}R>W+F6E$?e zu3GU>n{L0?utk6(WTDGBTd#3xg4@KmXodEL;Qvk1b(E4vGw^j|hPx$aSCtpzXQ*4( z_y$-Z(~dcO&P3D+Q%(3uFmj9OcP{i^MC1j{n_cz@EUAxmuewo}Q`tqoJ)lkyE?y0R z4R1jE_FwWip9w6F^Z%X4J7IZz@sM0~I6vXV59R|siSFh5Lbz!BG5!xldfw^=-lZ0h zxj_-Q!lGE~ed!FQbSXU+5)u)!6OjplZ`Tk}qnXXfTSSDR37>Ag+h-T5CVKhO_`tl0 zF(5iFPNGYx73s90@-?=mzWncUTP5{!+qNPaO(g3JCt0Xwxr&D=dGs&*K&{@i4GYCg z9wX#tV@c%Ggu%}Jo!gbVQsXp~E_F{4-;dgt9nnXpXp~Gk48hnw3M1wEiM5$0C3nbK z^uE$?_g%^UuUsKe^6^HRA>|RMxICL2QWd{zyddkK@uJRWIj2=Y*M*b6bhF8i^CEd7 zC38l7A98iu+;k;lXYd9S*D-yzrOU#DEY}{^n@MOc!6ds<4!iE4C2PgL!T8R!+-(2^ zN|&Jy*MvYJM4+}H1p2ZozPBiT&1|d4rwq+-4?7;VN82TMr!`_|(Qj*ACLYO5Q@6M0 zZr-i959A8*oT^$UDy_J-DF-EmODY`+X6=C}A=c}vovrZ3&w`zVBP zaE#RW;!i=^{*WRkZiBM+Xv$);l!x1Nju>ze8BZ{)cwOp(^1@nc9fFA~(_rqtYyA*O>A?cc0jynfoh<=5 zm$2fmoI7#-qfm5iy`9!6_SFc14(syi9It)?mn9wGq#du)`q?zcy5(p z(9Qs@U{8CynB^g?E&wtG7M-d*_g-55fZyVh(>9Ww%z|Pi_+}US_o*Le4buBkKd$*Q z=k^qMWmK5;@k4d4AHKlBBFoMSe&-}ji6qlF(sU#Ey{6uc9?)H}Y3f+7p1<+<#rp<} z42fLYj(ku`PLAY2pOg;0Nww-S4d8POqSSQm#U`#0$?C(o)=VENu){sevxhq_8$TZ&5b0 zWpp7h!PBAn^1~YBJR9Xi?vrRn>UvgSDl4@W?dQ<$H0gCel-nosD)`YFQB7qt6q?mB z6*_b*9?=%rN7g_drd@AO4x13dhVl(3BSMw-OHKO2%=mhaSAgULeJ%T-ld)h?P=1)^ zQ;nWW(VQ+3RIC$&f;t@)mGejLdC0jZk;;&#!>co&9i5Y`t#L<6)L+mm%J46zTQ~hV zYZUJomh>gQy+AXF5?#oeuV^SaBG^OG5BvBGJRbP^VuB^SH*Hmbz^+j*$lBZ5WHsP8 zmTBj!*~ct2x_yyf##h}wi?u)O%DpJP1|WIcZIV<1ygUl+jjdl%$WV3#IxzS(E4Y|b zt&1@u2Z;}oLo@cu2U>O|%`` z)Ji(f0c@2JbRR;^aR4Y!lRlJWWsbzcjfIvz#XG`f7OU@kkD;^UV?K?d=4I>G;=D5PAa zHCw3-P#MV$eP%-~8R2lxd477s*q5>snUt(9-V{^4&!&A^cVk2r0OrvXCBBNA3&bFj zz@MW?J&^u!%UcvQm|sW#JKqXp#?LvTiv5U-J5pI|FG%8_S|L4DRA0MUCvrq7F66xmRwvX+eG zn6R)HBpdBrcZ$)r#z#UMY-`9mZ`hkv^k^rPyYhn6Fg>`3pYlU%)jQd*EaUb(pSBR1 zOLvwagKdIs_7IA6$Gxj8k@C*+_mAL7_!{RydUj+@6Ywr0NKt4{ZSCMSUzVdHF_kqD zmj(;sm#k_<+;TyL_arMxd|9T$%+DVoEswET-rIe*1WH&b9bGc$BcWJL?xGLSK4thm zT)0PhQ66jwhk!|{JKmsDIH3R-RJn9y_vwGUON5s0WKCeD3bTZ8Nk6g9h=UqzebXn+ zT_+boRzzM&G8evqtbunm?v_7Y=TTZuH}+|wngfh6b$T#2{-847bD7v%q)My+SP;Ue z-KgGL7~>4-8%@b{NXzUfIJhdn>_@6GWfb=)&21zVm~;Jk04@D~CblZm8WL<~^)4;s8Hq(UZ)vmOi9`^#z-2X(6yT(_B8v=iV=nQKdm zq~+1_O$#5FW@l%s3mlK>N`_s$oV0miEG8z!tx?Nz=#PV=OM9QIMinOpapwaP5U&I5 z4R9BjbcvyIats$}SfZbCRK*w`k3R0<2X=wKETte3FarXZvvYPbZ2V1)cG4D9i zCN}b`_3UGQ6CI5{p!T>pqRZ6w^dt!jvu?3AScQkDc8yyd8w2&N#6Xq;BLgFK?h(%& zEFTA#rv>)u@vWwP39QUUFf0mI9f#K!>SIS

/// Install the wrapper. Mirrors the -i branch in RDPWInst.dpr. /// - public int Install(bool toSystem32, bool online) + public int Install(bool toSystem32, bool online, bool force = false) { if (_installed) { - Console.WriteLine("[*] RDP Wrapper Library is already installed."); - return unchecked((int)NativeMethods.ERROR_ACCESS_DENIED); + if (!force) + { + Console.WriteLine("[*] RDP Wrapper Library is already installed."); + return unchecked((int)NativeMethods.ERROR_ACCESS_DENIED); + } + + Console.WriteLine("[*] Existing installation detected -- uninstalling first (force mode)..."); + int urc = Uninstall(keepSettings: true); + if (urc != 0) + { + Console.Error.WriteLine($"[-] Force-uninstall failed (code {urc}) -- aborting install."); + return urc; + } + // Refresh state: after a successful uninstall _installed should now be false. + CheckInstall(); } Console.WriteLine("[*] Notice to user:"); @@ -341,8 +353,10 @@ internal sealed class InstallerEngine if (enable) { - RegistryHelper.WriteBool(licKey, "EnableConcurrentSessions", true); - RegistryHelper.WriteBool(winlogon, "AllowMultipleTSSessions", true); + RegistryHelper.WriteBool(licKey, "EnableConcurrentSessions", true); + RegistryHelper.WriteBool(winlogon, "AllowMultipleTSSessions", true); + RegistryHelper.WriteBool(tsKey, "AllowRemoteRPC", true); + RegistryHelper.WriteBool(tsKey, "EnableLinkedConnections", true); // AddIns sub-keys (only create if the parent key is absent) if (Microsoft.Win32.Registry.LocalMachine.OpenSubKey(addInsBase) is null) diff --git a/src-csharp/RDPWInst/Program.cs b/src-csharp/RDPWInst/Program.cs index 69de231..f6dc5cb 100644 --- a/src-csharp/RDPWInst/Program.cs +++ b/src-csharp/RDPWInst/Program.cs @@ -1,7 +1,6 @@ -// Copyright 2024 sjackson0109 — Apache License 2.0 +// Copyright 2026 sjackson0109 — Apache License 2.0 // // RDPWInst — RDP Wrapper Library Installer -// Direct C# translation of src-installer/RDPWInst.dpr using RDPWrap.Common; @@ -9,18 +8,28 @@ namespace RDPWInst; internal static class Program { - private const string Banner = - "RDP Wrapper Library v1.6.2\r\n" + - "Installer v3.0 (C# edition)\r\n" + - "Copyright (C) Stas'M Corp. 2018 / sjackson0109 2024\r\n"; + private static string Banner + { + get + { + var v = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + string version = v is null ? "unknown" : $"{v.Major}.{v.Minor}.{v.Build}"; + return + $"RDP Wrapper Library\r\n" + + $"Installer v{version} (C# edition)\r\n" + + "Copyright (C) Stas'M Corp. 2018\r\n" + + "Maintained by sjackson0109 2026\r\n"; + } + } private const string Usage = "USAGE:\r\n" + - "RDPWInst.exe [-l|-i[-s][-o]|-w|-u[-k]|-r]\r\n\r\n" + + "RDPWInst.exe [-l|-i[-s][-o][-f]|-w|-u[-k]|-r]\r\n\r\n" + "-l display the license agreement\r\n" + "-i install wrapper to Program Files folder (default)\r\n" + "-i -s install wrapper to System32 folder\r\n" + "-i -o online install mode (loads latest INI file)\r\n" + + "-i -f force install: silently uninstall existing installation first\r\n" + "-w get latest update for INI file\r\n" + "-u uninstall wrapper\r\n" + "-u -k uninstall wrapper and keep settings\r\n" + @@ -40,6 +49,7 @@ internal static class Program args[0] != "-r")) { Console.WriteLine(Usage); + Pause(); return 0; } @@ -49,6 +59,7 @@ internal static class Program var license = ResourceHelper.ReadText("RDPWInst.Resources.license.txt", System.Reflection.Assembly.GetExecutingAssembly()); Console.WriteLine(license ?? "(license resource not found)"); + Pause(); return 0; } @@ -57,27 +68,47 @@ internal static class Program { Console.Error.WriteLine("[-] Unsupported Windows version:"); Console.Error.WriteLine(" only >= 6.0 (Vista, Server 2008 and newer) are supported."); + Pause(); return 1; } if (!ArchHelper.IsSupported) { Console.Error.WriteLine("[-] Unsupported processor architecture."); + Pause(); return 1; } var engine = new InstallerEngine(); engine.CheckInstall(); - return args[0] switch + int rc = args[0] switch { "-i" => engine.Install( toSystem32: args.Contains("-s"), - online: args.Contains("-o")), + online: args.Contains("-o"), + force: args.Contains("-f")), "-u" => engine.Uninstall(keepSettings: args.Contains("-k")), "-w" => engine.Update(), "-r" => engine.Restart(), _ => 0 }; + + Pause(); + return rc; + } + + /// + /// Waits for a keypress only when the process owns its console window + /// (i.e. was launched via double-click or UAC elevation rather than + /// piped/redirected from a script). + /// + private static void Pause() + { + if (!Console.IsInputRedirected && !Console.IsOutputRedirected) + { + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(intercept: true); + } } } diff --git a/src-csharp/RDPWInst/RDPWInst.csproj b/src-csharp/RDPWInst/RDPWInst.csproj index 76e593e..648a500 100644 --- a/src-csharp/RDPWInst/RDPWInst.csproj +++ b/src-csharp/RDPWInst/RDPWInst.csproj @@ -4,10 +4,11 @@ RDPWInst RDPWInst app.manifest + Command-line installer and manager for RDP Wrapper — installs rdpwrap.dll and configures the Terminal Services layer. - + + + + + + + diff --git a/src-csharp/RDPWrap.Common/RegistryHelper.cs b/src-csharp/RDPWrap/RegistryHelper.cs similarity index 98% rename from src-csharp/RDPWrap.Common/RegistryHelper.cs rename to src-csharp/RDPWrap/RegistryHelper.cs index c724367..49bc306 100644 --- a/src-csharp/RDPWrap.Common/RegistryHelper.cs +++ b/src-csharp/RDPWrap/RegistryHelper.cs @@ -1,4 +1,4 @@ -// Copyright 2024 sjackson0109 — Apache License 2.0 +// Copyright 2026 sjackson0109 — Apache License 2.0 using Microsoft.Win32; namespace RDPWrap.Common; diff --git a/src-csharp/RDPWrap.Common/ResourceHelper.cs b/src-csharp/RDPWrap/ResourceHelper.cs similarity index 98% rename from src-csharp/RDPWrap.Common/ResourceHelper.cs rename to src-csharp/RDPWrap/ResourceHelper.cs index 85ebf45..51d1015 100644 --- a/src-csharp/RDPWrap.Common/ResourceHelper.cs +++ b/src-csharp/RDPWrap/ResourceHelper.cs @@ -1,4 +1,4 @@ -// Copyright 2024 sjackson0109 — Apache License 2.0 +// Copyright 2026 sjackson0109 — Apache License 2.0 using System.Reflection; namespace RDPWrap.Common; diff --git a/src-csharp/RDPWrap.Common/SecurityHelper.cs b/src-csharp/RDPWrap/SecurityHelper.cs similarity index 99% rename from src-csharp/RDPWrap.Common/SecurityHelper.cs rename to src-csharp/RDPWrap/SecurityHelper.cs index 12b7b5b..3535834 100644 --- a/src-csharp/RDPWrap.Common/SecurityHelper.cs +++ b/src-csharp/RDPWrap/SecurityHelper.cs @@ -1,4 +1,4 @@ -// Copyright 2024 sjackson0109 — Apache License 2.0 +// Copyright 2026 sjackson0109 — Apache License 2.0 using System.Runtime.InteropServices; namespace RDPWrap.Common; diff --git a/src-csharp/RDPWrap.Common/ServiceHelper.cs b/src-csharp/RDPWrap/ServiceHelper.cs similarity index 99% rename from src-csharp/RDPWrap.Common/ServiceHelper.cs rename to src-csharp/RDPWrap/ServiceHelper.cs index f51aded..486ad93 100644 --- a/src-csharp/RDPWrap.Common/ServiceHelper.cs +++ b/src-csharp/RDPWrap/ServiceHelper.cs @@ -1,4 +1,4 @@ -// Copyright 2024 sjackson0109 — Apache License 2.0 +// Copyright 2026 sjackson0109 — Apache License 2.0 using System.Runtime.InteropServices; namespace RDPWrap.Common; diff --git a/src-csharp/RDPWrap/packages.lock.json b/src-csharp/RDPWrap/packages.lock.json new file mode 100644 index 0000000..2a64009 --- /dev/null +++ b/src-csharp/RDPWrap/packages.lock.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "dependencies": { + "net10.0-windows7.0": {} + } +} \ No newline at end of file diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr deleted file mode 100644 index f419d82..0000000 --- a/src-installer/RDPWInst.dpr +++ /dev/null @@ -1,1463 +0,0 @@ -{ - Copyright 2018 Stas'M Corp. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -} - -program RDPWInst; - -{$APPTYPE CONSOLE} - -{$R resource.res} - -uses - SysUtils, - Windows, - Classes, - WinSvc, - Registry, - WinInet, - AccCtrl, - AclAPI; - -function EnumServicesStatusEx( - hSCManager: SC_HANDLE; - InfoLevel, - dwServiceType, - dwServiceState: DWORD; - lpServices: PByte; - cbBufSize: DWORD; - var pcbBytesNeeded, - lpServicesReturned, - lpResumeHandle: DWORD; - pszGroupName: PWideChar): BOOL; stdcall; - external advapi32 name 'EnumServicesStatusExW'; - -function ConvertStringSidToSid( - StringSid: PWideChar; - var Sid: PSID): BOOL; stdcall; - external advapi32 name 'ConvertStringSidToSidW'; - -type - FILE_VERSION = record - Version: record case Boolean of - True: (dw: DWORD); - False: (w: record - Minor, Major: Word; - end;) - end; - Release, Build: Word; - bDebug, bPrerelease, bPrivate, bSpecial: Boolean; - end; - SERVICE_STATUS_PROCESS = packed record - dwServiceType, - dwCurrentState, - dwControlsAccepted, - dwWin32ExitCode, - dwServiceSpecificExitCode, - dwCheckPoint, - dwWaitHint, - dwProcessId, - dwServiceFlags: DWORD; - end; - PSERVICE_STATUS_PROCESS = ^SERVICE_STATUS_PROCESS; - ENUM_SERVICE_STATUS_PROCESS = packed record - lpServiceName, - lpDisplayName: PWideChar; - ServiceStatusProcess: SERVICE_STATUS_PROCESS; - end; - PENUM_SERVICE_STATUS_PROCESS = ^ENUM_SERVICE_STATUS_PROCESS; - -const - SC_ENUM_PROCESS_INFO = 0; - TermService = 'TermService'; -var - Installed: Boolean; - Online: Boolean; - WrapPath: String; - Arch: Byte; - OldWow64RedirectionValue: LongBool; - - TermServicePath: String; - FV: FILE_VERSION; - TermServicePID: DWORD; - ShareSvc: Array of String; - sShareSvc: String; - TermSrvVerTxt: String; // e.g. '10.0.26100.7623' — set by CheckTermsrvVersion - -function SupportedArchitecture: Boolean; -var - SI: TSystemInfo; -begin - GetNativeSystemInfo(SI); - case SI.wProcessorArchitecture of - 0: - begin - Arch := 32; - Result := True; // Intel x86 - end; - 6: Result := False; // Itanium-based x64 - 9: begin - Arch := 64; - Result := True; // Intel/AMD x64 - end; - else Result := False; - end; -end; - -function DisableWowRedirection: Boolean; -type - TFunc = function(var Wow64FsEnableRedirection: LongBool): LongBool; stdcall; -var - hModule: THandle; - Wow64DisableWow64FsRedirection: TFunc; -begin - Result := False; - hModule := GetModuleHandle(kernel32); - if hModule <> 0 then - Wow64DisableWow64FsRedirection := GetProcAddress(hModule, 'Wow64DisableWow64FsRedirection') - else - Exit; - if @Wow64DisableWow64FsRedirection <> nil then - Result := Wow64DisableWow64FsRedirection(OldWow64RedirectionValue); -end; - -function RevertWowRedirection: Boolean; -type - TFunc = function(var Wow64RevertWow64FsRedirection: LongBool): LongBool; stdcall; -var - hModule: THandle; - Wow64RevertWow64FsRedirection: TFunc; -begin - Result := False; - hModule := GetModuleHandle(kernel32); - if hModule <> 0 then - Wow64RevertWow64FsRedirection := GetProcAddress(hModule, 'Wow64RevertWow64FsRedirection') - else - Exit; - if @Wow64RevertWow64FsRedirection <> nil then - Result := Wow64RevertWow64FsRedirection(OldWow64RedirectionValue); -end; - -procedure CheckInstall; -var - Code: DWORD; - TermServiceHost: String; - Reg: TRegistry; -begin - if Arch = 64 then - Reg := TRegistry.Create(KEY_WOW64_64KEY) - else - Reg := TRegistry.Create; - Reg.RootKey := HKEY_LOCAL_MACHINE; - if not Reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Services\TermService') then - begin - Reg.Free; - Code := GetLastError; - Writeln('[-] OpenKeyReadOnly error (code ', Code, ').'); - Halt(Code); - end; - TermServiceHost := Reg.ReadString('ImagePath'); - Reg.CloseKey; - if (Pos('svchost.exe', LowerCase(TermServiceHost)) = 0) - and (Pos('svchost -k', LowerCase(TermServiceHost)) = 0) then - begin - Reg.Free; - Writeln('[-] TermService is hosted in a custom application (BeTwin, etc.) - unsupported.'); - Writeln('[*] ImagePath: "', TermServiceHost, '".'); - Halt(ERROR_NOT_SUPPORTED); - end; - if not Reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Services\TermService\Parameters') then - begin - Reg.Free; - Code := GetLastError; - Writeln('[-] OpenKeyReadOnly error (code ', Code, ').'); - Halt(Code); - end; - TermServicePath := Reg.ReadString('ServiceDll'); - Reg.CloseKey; - if (Pos('termsrv.dll', LowerCase(TermServicePath)) = 0) - and (Pos('rdpwrap.dll', LowerCase(TermServicePath)) = 0) then - begin - Reg.Free; - Writeln('[-] Another third-party TermService library is installed.'); - Writeln('[*] ServiceDll: "', TermServicePath, '".'); - Halt(ERROR_NOT_SUPPORTED); - end; - Reg.Free; - - Installed := Pos('rdpwrap.dll', LowerCase(TermServicePath)) > 0; -end; - -function SvcGetStart(SvcName: String): Integer; -var - hSC: SC_HANDLE; - hSvc: THandle; - Code: DWORD; - lpServiceConfig: PQueryServiceConfig; - Buf: Pointer; - cbBufSize, pcbBytesNeeded: Cardinal; -begin - Result := -1; - Writeln('[*] Checking ', SvcName, '...'); - hSC := OpenSCManager(nil, SERVICES_ACTIVE_DATABASE, SC_MANAGER_CONNECT); - if hSC = 0 then - begin - Code := GetLastError; - Writeln('[-] OpenSCManager error (code ', Code, ').'); - Exit; - end; - - hSvc := OpenService(hSC, PWideChar(SvcName), SERVICE_QUERY_CONFIG); - if hSvc = 0 then - begin - CloseServiceHandle(hSC); - Code := GetLastError; - Writeln('[-] OpenService error (code ', Code, ').'); - Exit; - end; - - if QueryServiceConfig(hSvc, nil, 0, pcbBytesNeeded) then begin - Writeln('[-] QueryServiceConfig failed.'); - Exit; - end; - - cbBufSize := pcbBytesNeeded; - GetMem(Buf, cbBufSize); - - if not QueryServiceConfig(hSvc, Buf, cbBufSize, pcbBytesNeeded) then begin - FreeMem(Buf, cbBufSize); - CloseServiceHandle(hSvc); - CloseServiceHandle(hSC); - Code := GetLastError; - Writeln('[-] QueryServiceConfig error (code ', Code, ').'); - Exit; - end else begin - lpServiceConfig := Buf; - Result := Integer(lpServiceConfig^.dwStartType); - end; - FreeMem(Buf, cbBufSize); - CloseServiceHandle(hSvc); - CloseServiceHandle(hSC); -end; - -procedure SvcConfigStart(SvcName: String; dwStartType: Cardinal); -var - hSC: SC_HANDLE; - hSvc: THandle; - Code: DWORD; -begin - Writeln('[*] Configuring ', SvcName, '...'); - hSC := OpenSCManager(nil, SERVICES_ACTIVE_DATABASE, SC_MANAGER_CONNECT); - if hSC = 0 then - begin - Code := GetLastError; - Writeln('[-] OpenSCManager error (code ', Code, ').'); - Exit; - end; - - hSvc := OpenService(hSC, PWideChar(SvcName), SERVICE_CHANGE_CONFIG); - if hSvc = 0 then - begin - CloseServiceHandle(hSC); - Code := GetLastError; - Writeln('[-] OpenService error (code ', Code, ').'); - Exit; - end; - - if not ChangeServiceConfig(hSvc, SERVICE_NO_CHANGE, dwStartType, - SERVICE_NO_CHANGE, nil, nil, nil, nil, nil, nil, nil) then begin - CloseServiceHandle(hSvc); - CloseServiceHandle(hSC); - Code := GetLastError; - Writeln('[-] ChangeServiceConfig error (code ', Code, ').'); - Exit; - end; - CloseServiceHandle(hSvc); - CloseServiceHandle(hSC); -end; - -procedure SvcStart(SvcName: String); -var - hSC: SC_HANDLE; - hSvc: THandle; - Code: DWORD; - pch: PWideChar; - procedure ExitError(Func: String; ErrorCode: DWORD); - begin - if hSC > 0 then - CloseServiceHandle(hSC); - if hSvc > 0 then - CloseServiceHandle(hSvc); - Writeln('[-] ', Func, ' error (code ', ErrorCode, ').'); - end; -begin - hSC := 0; - hSvc := 0; - Writeln('[*] Starting ', SvcName, '...'); - hSC := OpenSCManager(nil, SERVICES_ACTIVE_DATABASE, SC_MANAGER_CONNECT); - if hSC = 0 then - begin - ExitError('OpenSCManager', GetLastError); - Exit; - end; - - hSvc := OpenService(hSC, PWideChar(SvcName), SERVICE_START); - if hSvc = 0 then - begin - ExitError('OpenService', GetLastError); - Exit; - end; - - pch := nil; - if not StartService(hSvc, 0, pch) then begin - Code := GetLastError; - if Code = 1056 then begin // Service already started - Sleep(2000); // or SCM hasn't registered killed process - if not StartService(hSvc, 0, pch) then begin - ExitError('StartService', Code); - Exit; - end; - end else begin - ExitError('StartService', Code); - Exit; - end; - end; - CloseServiceHandle(hSvc); - CloseServiceHandle(hSC); -end; - -procedure CheckTermsrvProcess; -label - back; -var - hSC: SC_HANDLE; - dwNeedBytes, dwReturnBytes, dwResumeHandle, Code: DWORD; - Svc: Array of ENUM_SERVICE_STATUS_PROCESS; - I: Integer; - Found, Started: Boolean; - TermServiceName: String; -begin - Started := False; - back: - hSC := OpenSCManager(nil, SERVICES_ACTIVE_DATABASE, SC_MANAGER_CONNECT or SC_MANAGER_ENUMERATE_SERVICE); - if hSC = 0 then - begin - Code := GetLastError; - Writeln('[-] OpenSCManager error (code ', Code, ').'); - Halt(Code); - end; - - dwResumeHandle := 0; - - SetLength(Svc, 1489); - FillChar(Svc[0], sizeof(Svc[0])*Length(Svc), 0); - if not EnumServicesStatusEx(hSC, SC_ENUM_PROCESS_INFO, SERVICE_WIN32, SERVICE_STATE_ALL, - @Svc[0], sizeof(Svc[0])*Length(Svc), dwNeedBytes, dwReturnBytes, dwResumeHandle, nil) then begin - Code := GetLastError; - if Code <> ERROR_MORE_DATA then - begin - CloseServiceHandle(hSC); - Writeln('[-] EnumServicesStatusEx error (code ', Code, ').'); - Halt(Code); - end - else - begin - SetLength(Svc, 5957); - FillChar(Svc[0], sizeof(Svc[0])*Length(Svc), 0); - if not EnumServicesStatusEx(hSC, SC_ENUM_PROCESS_INFO, SERVICE_WIN32, SERVICE_STATE_ALL, - @Svc[0], sizeof(Svc[0])*Length(Svc), dwNeedBytes, dwReturnBytes, dwResumeHandle, nil) then begin - CloseServiceHandle(hSC); - Code := GetLastError; - Writeln('[-] EnumServicesStatusEx error (code ', Code, ').'); - Halt(Code); - end; - end; - end; - CloseServiceHandle(hSC); - - Found := False; - for I := 0 to Length(Svc) - 1 do - begin - if Svc[I].lpServiceName = nil then - Break; - if LowerCase(Svc[I].lpServiceName) = LowerCase(TermService) then - begin - Found := True; - TermServiceName := Svc[I].lpServiceName; - TermServicePID := Svc[I].ServiceStatusProcess.dwProcessId; - Break; - end; - end; - if not Found then - begin - Writeln('[-] TermService not found.'); - Halt(ERROR_SERVICE_DOES_NOT_EXIST); - end; - if TermServicePID = 0 then - begin - if Started then begin - Writeln('[-] Failed to set up TermService. Unknown error.'); - Halt(ERROR_SERVICE_NOT_ACTIVE); - end; - SvcConfigStart(TermService, SERVICE_AUTO_START); - SvcStart(TermService); - Started := True; - goto back; - end - else - Writeln('[+] TermService found (pid ', TermServicePID, ').'); - - SetLength(ShareSvc, 0); - for I := 0 to Length(Svc) - 1 do - begin - if Svc[I].lpServiceName = nil then - Break; - if Svc[I].ServiceStatusProcess.dwProcessId = TermServicePID then - if Svc[I].lpServiceName <> TermServiceName then - begin - SetLength(ShareSvc, Length(ShareSvc)+1); - ShareSvc[Length(ShareSvc)-1] := Svc[I].lpServiceName; - end; - end; - sShareSvc := ''; - for I := 0 to Length(ShareSvc) - 1 do - if sShareSvc = '' then - sShareSvc := ShareSvc[I] - else - sShareSvc := sShareSvc + ', ' + ShareSvc[I]; - if sShareSvc <> '' then - Writeln('[*] Shared services found: ', sShareSvc) - else - Writeln('[*] No shared services found.'); -end; - -function AddPrivilege(SePriv: String): Boolean; -var - hToken: THandle; - SeNameValue: Int64; - tkp: TOKEN_PRIVILEGES; - ReturnLength: Cardinal; - ErrorCode: Cardinal; -begin - Result := False; - if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES - or TOKEN_QUERY, hToken) then begin - ErrorCode := GetLastError; - Writeln('[-] OpenProcessToken error (code ' + IntToStr(ErrorCode) + ').'); - Exit; - end; - if not LookupPrivilegeValue(nil, PWideChar(SePriv), SeNameValue) then begin - ErrorCode := GetLastError; - Writeln('[-] LookupPrivilegeValue error (code ' + IntToStr(ErrorCode) + ').'); - Exit; - end; - tkp.PrivilegeCount := 1; - tkp.Privileges[0].Luid := SeNameValue; - tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; - if not AdjustTokenPrivileges(hToken, False, tkp, SizeOf(tkp), tkp, ReturnLength) then begin - ErrorCode := GetLastError; - Writeln('[-] AdjustTokenPrivileges error (code ' + IntToStr(ErrorCode) + ').'); - Exit; - end; - Result := True; -end; - -procedure KillProcess(PID: DWORD); -var - hProc: THandle; - Code: DWORD; -begin - hProc := OpenProcess(PROCESS_TERMINATE, False, PID); - if hProc = 0 then - begin - Code := GetLastError; - Writeln('[-] OpenProcess error (code ', Code, ').'); - Halt(Code); - end; - if not TerminateProcess(hProc, 0) then - begin - CloseHandle(hProc); - Code := GetLastError; - Writeln('[-] TerminateProcess error (code ', Code, ').'); - Halt(Code); - end; - CloseHandle(hProc); -end; - -function ExecWait(Cmdline: String): Boolean; -var - si: STARTUPINFO; - pi: PROCESS_INFORMATION; -begin - Result := False; - ZeroMemory(@si, sizeof(si)); - si.cb := sizeof(si); - UniqueString(Cmdline); - if not CreateProcess(nil, PWideChar(Cmdline), nil, nil, True, 0, nil, nil, si, pi) then begin - Writeln('[-] CreateProcess error (code: ', GetLastError, ').'); - Exit; - end; - CloseHandle(pi.hThread); - WaitForSingleObject(pi.hProcess, INFINITE); - CloseHandle(pi.hProcess); - Result := True; -end; - -function ExpandPath(Path: String): String; -var - Str: Array[0..511] of Char; -begin - Result := ''; - FillChar(Str, 512, 0); - if Arch = 64 then - Path := StringReplace(Path, '%ProgramFiles%', '%ProgramW6432%', [rfReplaceAll, rfIgnoreCase]); - if ExpandEnvironmentStrings(PWideChar(Path), Str, 512) > 0 then - Result := Str; -end; - -procedure SetWrapperDll; -var - Reg: TRegistry; - Code: DWORD; -begin - if Arch = 64 then - Reg := TRegistry.Create(KEY_WRITE or KEY_WOW64_64KEY) - else - Reg := TRegistry.Create; - Reg.RootKey := HKEY_LOCAL_MACHINE; - if not Reg.OpenKey('\SYSTEM\CurrentControlSet\Services\TermService\Parameters', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - try - Reg.WriteExpandString('ServiceDll', WrapPath); - if (Arch = 64) and (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 0) then - ExecWait('"'+ExpandPath('%SystemRoot%')+'\system32\reg.exe" add HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters /v ServiceDll /t REG_EXPAND_SZ /d "'+WrapPath+'" /f'); - except - Writeln('[-] WriteExpandString error.'); - Halt(ERROR_ACCESS_DENIED); - end; - - Reg.CloseKey; - Reg.Free; -end; - -procedure ResetServiceDll; -var - Reg: TRegistry; - Code: DWORD; -begin - if Arch = 64 then - Reg := TRegistry.Create(KEY_WRITE or KEY_WOW64_64KEY) - else - Reg := TRegistry.Create; - Reg.RootKey := HKEY_LOCAL_MACHINE; - if not Reg.OpenKey('\SYSTEM\CurrentControlSet\Services\TermService\Parameters', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - try - Reg.WriteExpandString('ServiceDll', '%SystemRoot%\System32\termsrv.dll'); - except - Writeln('[-] WriteExpandString error.'); - Halt(ERROR_ACCESS_DENIED); - end; - Reg.CloseKey; - Reg.Free; -end; - -procedure ExtractRes(ResName, Path: String); -var - ResStream: TResourceStream; -begin - ResStream := TResourceStream.Create(HInstance, ResName, RT_RCDATA); - try - ResStream.SaveToFile(Path); - except - Writeln('[-] Failed to extract file.'); - Writeln('[*] Resource name: ' + ResName); - Writeln('[*] Destination path: ' + Path); - ResStream.Free; - Exit; - end; - Writeln('[+] Extracted ', ResName, ' -> ', Path); - ResStream.Free; -end; - -function ExtractResText(ResName: String): String; -var - ResStream: TResourceStream; - Str: TStringList; -begin - ResStream := TResourceStream.Create(HInstance, ResName, RT_RCDATA); - Str := TStringList.Create; - try - Str.LoadFromStream(ResStream); - except - - end; - ResStream.Free; - Result := Str.Text; - Str.Free; -end; - -function GitINIFile(var Content: String): Boolean; -const - // Points to the latest release artifact in the sjackson0109 fork. - // The publish-ini CI/CD workflow keeps this asset up to date automatically. - URL = 'https://github.com/sjackson0109/rdpwrap/releases/latest/download/rdpwrap.ini'; -var - NetHandle: HINTERNET; - UrlHandle: HINTERNET; - Str: String; - Buf: Array[0..1023] of Byte; - BytesRead: DWORD; -begin - Result := False; - Content := ''; - NetHandle := InternetOpen('RDP Wrapper Update', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); - if not Assigned(NetHandle) then - Exit; - UrlHandle := InternetOpenUrl(NetHandle, PChar(URL), nil, 0, INTERNET_FLAG_RELOAD, 0); - if not Assigned(UrlHandle) then - begin - InternetCloseHandle(NetHandle); - Exit; - end; - repeat - InternetReadFile(UrlHandle, @Buf[0], SizeOf(Buf), BytesRead); - SetString(Str, PAnsiChar(@Buf[0]), BytesRead); - Content := Content + Str; - until BytesRead = 0; - InternetCloseHandle(UrlHandle); - InternetCloseHandle(NetHandle); - Result := True; -end; - -procedure GrantSidFullAccess(Path, SID: String); -var - p_SID: PSID; - pDACL: PACL; - EA: EXPLICIT_ACCESS; - Code, Result: DWORD; -begin - p_SID := nil; - if not ConvertStringSidToSid(PChar(SID), p_SID) then - begin - Code := GetLastError; - Writeln('[-] ConvertStringSidToSid error (code ', Code, ').'); - Exit; - end; - EA.grfAccessPermissions := GENERIC_ALL; - EA.grfAccessMode := GRANT_ACCESS; - EA.grfInheritance := SUB_CONTAINERS_AND_OBJECTS_INHERIT; - EA.Trustee.pMultipleTrustee := nil; - EA.Trustee.MultipleTrusteeOperation := NO_MULTIPLE_TRUSTEE; - EA.Trustee.TrusteeForm := TRUSTEE_IS_SID; - EA.Trustee.TrusteeType := TRUSTEE_IS_WELL_KNOWN_GROUP; - EA.Trustee.ptstrName := p_SID; - - Result := SetEntriesInAcl(1, @EA, nil, pDACL); - if Result = ERROR_SUCCESS then - begin - if SetNamedSecurityInfo(pchar(Path), SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, nil, nil, pDACL, nil) <> ERROR_SUCCESS then - begin - Code := GetLastError; - Writeln('[-] SetNamedSecurityInfo error (code ', Code, ').'); - end; - LocalFree(Cardinal(pDACL)); - end - else begin - Code := GetLastError; - Writeln('[-] SetEntriesInAcl error (code ', Code, ').'); - end; -end; - -procedure ExtractFiles; -var - RDPClipRes, RfxvmtRes, S: String; - OnlineINI: TStringList; -begin - if not DirectoryExists(ExtractFilePath(ExpandPath(WrapPath))) then - if ForceDirectories(ExtractFilePath(ExpandPath(WrapPath))) then begin - S := ExtractFilePath(ExpandPath(WrapPath)); - Writeln('[+] Folder created: ', S); - GrantSidFullAccess(S, 'S-1-5-18'); // Local System account - GrantSidFullAccess(S, 'S-1-5-6'); // Service group - end - else begin - Writeln('[-] ForceDirectories error.'); - Writeln('[*] Path: ', ExtractFilePath(ExpandPath(WrapPath))); - Halt(0); - end; - if Online then - begin - Writeln('[*] Downloading latest INI file...'); - OnlineINI := TStringList.Create; - if GitINIFile(S) then begin - OnlineINI.Text := S; - S := ExtractFilePath(ExpandPath(WrapPath)) + 'rdpwrap.ini'; - OnlineINI.SaveToFile(S); - Writeln('[+] Latest INI file -> ', S); - end - else - begin - Writeln('[-] Failed to get online INI file, using built-in.'); - Online := False; - end; - OnlineINI.Free; - end; - if not Online then - begin - S := ExtractFilePath(ParamStr(0)) + 'rdpwrap.ini'; - if FileExists(S) then - begin - OnlineINI := TStringList.Create; - OnlineINI.LoadFromFile(S); - S := ExtractFilePath(ExpandPath(WrapPath)) + 'rdpwrap.ini'; - OnlineINI.SaveToFile(S); - Writeln('[+] Current INI file -> ', S); - OnlineINI.Free; - end else - ExtractRes('config', ExtractFilePath(ExpandPath(WrapPath)) + 'rdpwrap.ini'); - end; - - RDPClipRes := ''; - RfxvmtRes := ''; - case Arch of - 32: begin - ExtractRes('rdpw32', ExpandPath(WrapPath)); - if (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 0) then - RDPClipRes := 'rdpclip6032'; - if (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 1) then - RDPClipRes := 'rdpclip6132'; - if (FV.Version.w.Major = 10) and (FV.Version.w.Minor = 0) then - RfxvmtRes := 'rfxvmt32'; - end; - 64: begin - ExtractRes('rdpw64', ExpandPath(WrapPath)); - if (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 0) then - RDPClipRes := 'rdpclip6064'; - if (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 1) then - RDPClipRes := 'rdpclip6164'; - if (FV.Version.w.Major = 10) and (FV.Version.w.Minor = 0) then - RfxvmtRes := 'rfxvmt64'; - end; - end; - if RDPClipRes <> '' then - if not FileExists(ExpandPath('%SystemRoot%\System32\rdpclip.exe')) then - ExtractRes(RDPClipRes, ExpandPath('%SystemRoot%\System32\rdpclip.exe')); - if RfxvmtRes <> '' then - if not FileExists(ExpandPath('%SystemRoot%\System32\rfxvmt.dll')) then - ExtractRes(RfxvmtRes, ExpandPath('%SystemRoot%\System32\rfxvmt.dll')); -end; - -procedure DeleteFiles; -var - Code: DWORD; - FullPath, Path: String; -begin - FullPath := ExpandPath(TermServicePath); - Path := ExtractFilePath(FullPath); - - if not DeleteFile(PWideChar(Path + 'rdpwrap.ini')) then - begin - Code := GetLastError; - Writeln('[-] DeleteFile error (code ', Code, ').'); - Exit; - end; - Writeln('[+] Removed file: ', Path + 'rdpwrap.ini'); - - if not DeleteFile(PWideChar(FullPath)) then - begin - Code := GetLastError; - Writeln('[-] DeleteFile error (code ', Code, ').'); - Exit; - end; - Writeln('[+] Removed file: ', FullPath); - - if not RemoveDirectory(PWideChar(ExtractFilePath(ExpandPath(TermServicePath)))) then - begin - Code := GetLastError; - Writeln('[-] RemoveDirectory error (code ', Code, ').'); - Exit; - end; - Writeln('[+] Removed folder: ', ExtractFilePath(ExpandPath(TermServicePath))); -end; - -function GetFileVersion(const FileName: TFileName; var FileVersion: FILE_VERSION): Boolean; -type - VS_VERSIONINFO = record - wLength, wValueLength, wType: Word; - szKey: Array[1..16] of WideChar; - Padding1: Word; - Value: VS_FIXEDFILEINFO; - Padding2, Children: Word; - end; - PVS_VERSIONINFO = ^VS_VERSIONINFO; -const - VFF_DEBUG = 1; - VFF_PRERELEASE = 2; - VFF_PRIVATE = 8; - VFF_SPECIAL = 32; -var - hFile: HMODULE; - hResourceInfo: HRSRC; - VersionInfo: PVS_VERSIONINFO; -begin - Result := False; - - hFile := LoadLibraryEx(PWideChar(FileName), 0, LOAD_LIBRARY_AS_DATAFILE); - if hFile = 0 then - Exit; - - hResourceInfo := FindResource(hFile, PWideChar(1), PWideChar($10)); - if hResourceInfo = 0 then - Exit; - - VersionInfo := Pointer(LoadResource(hFile, hResourceInfo)); - if VersionInfo = nil then - Exit; - - FileVersion.Version.dw := VersionInfo.Value.dwFileVersionMS; - FileVersion.Release := Word(VersionInfo.Value.dwFileVersionLS shr 16); - FileVersion.Build := Word(VersionInfo.Value.dwFileVersionLS); - FileVersion.bDebug := (VersionInfo.Value.dwFileFlags and VFF_DEBUG) = VFF_DEBUG; - FileVersion.bPrerelease := (VersionInfo.Value.dwFileFlags and VFF_PRERELEASE) = VFF_PRERELEASE; - FileVersion.bPrivate := (VersionInfo.Value.dwFileFlags and VFF_PRIVATE) = VFF_PRIVATE; - FileVersion.bSpecial := (VersionInfo.Value.dwFileFlags and VFF_SPECIAL) = VFF_SPECIAL; - - FreeLibrary(hFile); - Result := True; -end; - -{ ────────────────────────────────────────────────────────────────────────────── - DownloadFileToDisk - Downloads the HTTP/HTTPS resource at URL and saves it to DestPath on disk. - Returns True only when the destination file exists and is non-empty. -────────────────────────────────────────────────────────────────────────────── } -function DownloadFileToDisk(const URL, DestPath: String): Boolean; -var - NetHandle: HINTERNET; - UrlHandle: HINTERNET; - FileHandle: THandle; - Buf: Array[0..4095] of Byte; - BytesRead, BytesWritten: DWORD; -begin - Result := False; - NetHandle := InternetOpen('RDP Wrapper', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); - if not Assigned(NetHandle) then Exit; - UrlHandle := InternetOpenUrl(NetHandle, PChar(URL), nil, 0, INTERNET_FLAG_RELOAD, 0); - if not Assigned(UrlHandle) then - begin - InternetCloseHandle(NetHandle); - Exit; - end; - FileHandle := CreateFile(PChar(DestPath), GENERIC_WRITE, 0, nil, - CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); - if FileHandle = INVALID_HANDLE_VALUE then - begin - InternetCloseHandle(UrlHandle); - InternetCloseHandle(NetHandle); - Exit; - end; - repeat - InternetReadFile(UrlHandle, @Buf[0], SizeOf(Buf), BytesRead); - if BytesRead > 0 then - WriteFile(FileHandle, Buf[0], BytesRead, BytesWritten, nil); - until BytesRead = 0; - CloseHandle(FileHandle); - InternetCloseHandle(UrlHandle); - InternetCloseHandle(NetHandle); - Result := FileExists(DestPath); -end; - -{ ────────────────────────────────────────────────────────────────────────────── - INIHasSection - Returns True when the INI file at INIPath contains [Section]. -────────────────────────────────────────────────────────────────────────────── } -function INIHasSection(const INIPath, Section: String): Boolean; -var - F: TStringList; -begin - Result := False; - if not FileExists(INIPath) then Exit; - F := TStringList.Create; - try - F.LoadFromFile(INIPath); - Result := Pos('[' + Section + ']', F.Text) > 0; - finally - F.Free; - end; -end; - -{ ────────────────────────────────────────────────────────────────────────────── - TryAutoGenerateOffsets - If the current termsrv.dll version (TermSrvVerTxt) is absent from the on-disk - rdpwrap.ini, download RDPWrapOffsetFinder + Zydis from the sjackson0109 release - assets and run the finder to append the generated section to the INI. - This mirrors the approach used by sergiye/rdpWrapper (Wrapper.cs GenerateIniFile). -────────────────────────────────────────────────────────────────────────────── } -procedure TryAutoGenerateOffsets; -const - BASE_URL = 'https://github.com/sjackson0109/rdpwrap/releases/latest/download/'; -var - TempDir, ExePath, DllPath, INIPath, ArchSuffix, SysCmd: String; -begin - if TermSrvVerTxt = '' then Exit; - - INIPath := ExtractFilePath(ExpandPath(WrapPath)) + 'rdpwrap.ini'; - - if INIHasSection(INIPath, TermSrvVerTxt) then - begin - Writeln('[+] Version ', TermSrvVerTxt, ' is covered in INI.'); - Exit; - end; - - Writeln('[!] Version ', TermSrvVerTxt, ' not found in INI.'); - Writeln('[*] Attempting automatic offset generation via RDPWrapOffsetFinder...'); - - if Arch = 64 then ArchSuffix := '_x64' else ArchSuffix := '_x86'; - - TempDir := ExpandPath('%TEMP%') + '\rdpwrapoffset'; - if not ForceDirectories(TempDir) and not DirectoryExists(TempDir) then - begin - Writeln('[-] Could not create temp directory. Skipping auto-generation.'); - Exit; - end; - - ExePath := TempDir + '\RDPWrapOffsetFinder.exe'; - DllPath := TempDir + '\Zydis.dll'; - - Writeln('[*] Downloading RDPWrapOffsetFinder', ArchSuffix, '.exe ...'); - if not DownloadFileToDisk(BASE_URL + 'RDPWrapOffsetFinder' + ArchSuffix + '.exe', ExePath) then - begin - Writeln('[-] Download failed. The release asset may not yet be published.'); - Writeln('[!] Run the publish-ini workflow on the sjackson0109/rdpwrap repository,'); - Writeln('[!] then re-run this installer to enable auto-generation.'); - Exit; - end; - - Writeln('[*] Downloading Zydis', ArchSuffix, '.dll ...'); - if not DownloadFileToDisk(BASE_URL + 'Zydis' + ArchSuffix + '.dll', DllPath) then - begin - Writeln('[-] Zydis download failed. Skipping auto-generation.'); - DeleteFile(ExePath); - Exit; - end; - - Writeln('[*] Running offset finder for termsrv.dll ', TermSrvVerTxt, ' ...'); - { Run via cmd.exe so >> redirect to the INI file works correctly. } - SysCmd := ExpandPath('%SystemRoot%') + '\System32\cmd.exe'; - ExecWait('"' + SysCmd + '" /c ""' + ExePath + '" >> "' + INIPath + '""'); - - if INIHasSection(INIPath, TermSrvVerTxt) then - Writeln('[+] Offsets generated successfully for version ', TermSrvVerTxt) - else - Writeln('[!] Offset finder ran but [', TermSrvVerTxt, '] was not added.', - ' Session may be limited or unstable for this build.'); - - { Clean up temporary tool files } - DeleteFile(ExePath); - DeleteFile(DllPath); - RemoveDirectory(PChar(TempDir)); -end; - -procedure CheckTermsrvVersion; -var - SuppLvl: Byte; - VerTxt: String; - - procedure UpdateMsg; - begin - Writeln('Try running "update.bat" or "RDPWInst -w" to download latest INI file.'); - Writeln('If it doesn''t help, send your termsrv.dll to project developer for support.'); - end; -begin - GetFileVersion(ExpandPath(TermServicePath), FV); - VerTxt := Format('%d.%d.%d.%d', - [FV.Version.w.Major, FV.Version.w.Minor, FV.Release, FV.Build]); - TermSrvVerTxt := VerTxt; // expose globally for TryAutoGenerateOffsets - Writeln('[*] Terminal Services version: ', VerTxt); - - if (FV.Version.w.Major = 5) and (FV.Version.w.Minor = 1) then - begin - if Arch = 32 then - begin - Writeln('[!] Windows XP is not supported.'); - Writeln('You may take a look at RDP Realtime Patch by Stas''M for Windows XP'); - Writeln('Link: http://stascorp.com/load/1-1-0-62'); - end; - if Arch = 64 then - Writeln('[!] Windows XP 64-bit Edition is not supported.'); - Exit; - end; - if (FV.Version.w.Major = 5) and (FV.Version.w.Minor = 2) then - begin - if Arch = 32 then - Writeln('[!] Windows Server 2003 is not supported.'); - if Arch = 64 then - Writeln('[!] Windows Server 2003 or XP 64-bit Edition is not supported.'); - Exit; - end; - SuppLvl := 0; - if (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 0) then begin - SuppLvl := 1; - if (Arch = 32) and (FV.Release = 6000) and (FV.Build = 16386) then begin - Writeln('[!] This version of Terminal Services may crash on logon attempt.'); - Writeln('It''s recommended to upgrade to Service Pack 1 or higher.'); - end; - end; - if (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 1) then - SuppLvl := 1; - if Pos('[' + VerTxt + ']', ExtractResText('config')) > 0 then - SuppLvl := 2; - case SuppLvl of - 0: begin - Writeln('[-] This version of Terminal Services is not supported.'); - UpdateMsg; - end; - 1: begin - Writeln('[!] This version of Terminal Services is supported partially.'); - Writeln('It means you may have some limitations such as only 2 concurrent sessions.'); - UpdateMsg; - end; - 2: begin - Writeln('[+] This version of Terminal Services is fully supported.'); - end; - end; -end; - -procedure CheckTermsrvDependencies; -const - CertPropSvc = 'CertPropSvc'; - SessionEnv = 'SessionEnv'; -begin - if SvcGetStart(CertPropSvc) = SERVICE_DISABLED then - SvcConfigStart(CertPropSvc, SERVICE_DEMAND_START); - if SvcGetStart(SessionEnv) = SERVICE_DISABLED then - SvcConfigStart(SessionEnv, SERVICE_DEMAND_START); -end; - -procedure TSConfigRegistry(Enable: Boolean); -var - Reg: TRegistry; - Code: DWORD; -begin - if Arch = 64 then - Reg := TRegistry.Create(KEY_WRITE or KEY_WOW64_64KEY) - else - Reg := TRegistry.Create; - Reg.RootKey := HKEY_LOCAL_MACHINE; - if not Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - try - Reg.WriteBool('fDenyTSConnections', not Enable); - except - Writeln('[-] WriteBool error.'); - Halt(ERROR_ACCESS_DENIED); - end; - Reg.CloseKey; - if Enable then - begin - if not Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - try - Reg.WriteBool('EnableConcurrentSessions', True); - except - Writeln('[-] WriteBool error.'); - Halt(ERROR_ACCESS_DENIED); - end; - Reg.CloseKey; - - if not Reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - try - Reg.WriteBool('AllowMultipleTSSessions', True); - except - Writeln('[-] WriteBool error.'); - Halt(ERROR_ACCESS_DENIED); - end; - Reg.CloseKey; - - if not Reg.KeyExists('\SYSTEM\CurrentControlSet\Control\Terminal Server\AddIns') then begin - if not Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\AddIns', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - Reg.CloseKey; - if not Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\AddIns\Clip Redirector', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - try - Reg.WriteString('Name', 'RDPClip'); - Reg.WriteInteger('Type', 3); - except - Writeln('[-] WriteInteger error.'); - Halt(ERROR_ACCESS_DENIED); - end; - Reg.CloseKey; - if not Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\AddIns\DND Redirector', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - try - Reg.WriteString('Name', 'RDPDND'); - Reg.WriteInteger('Type', 3); - except - Writeln('[-] WriteInteger error.'); - Halt(ERROR_ACCESS_DENIED); - end; - Reg.CloseKey; - if not Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\AddIns\Dynamic VC', True) then - begin - Code := GetLastError; - Writeln('[-] OpenKey error (code ', Code, ').'); - Halt(Code); - end; - try - Reg.WriteInteger('Type', -1); - except - Writeln('[-] WriteInteger error.'); - Halt(ERROR_ACCESS_DENIED); - end; - Reg.CloseKey; - end; - end; - Reg.Free; -end; - -procedure TSConfigFirewall(Enable: Boolean); -begin - if Enable then - begin - ExecWait('netsh advfirewall firewall add rule name="Remote Desktop" dir=in protocol=tcp localport=3389 profile=any action=allow'); - ExecWait('netsh advfirewall firewall add rule name="Remote Desktop" dir=in protocol=udp localport=3389 profile=any action=allow'); - end else - ExecWait('netsh advfirewall firewall delete rule name="Remote Desktop"'); -end; - -function CheckINIDate(Filename, Content: String; var Date: Integer): Boolean; -var - Str: TStringList; - I: Integer; -begin - Result := False; - Str := TStringList.Create; - if Filename <> '' then begin - try - Str.LoadFromFile(Filename); - except - Writeln('[-] Failed to read INI file.'); - Exit; - end; - end else - Str.Text := Content; - for I := 0 to Str.Count - 1 do - if Pos('Updated=', Str[I]) = 1 then - Break; - if I >= Str.Count then begin - Writeln('[-] Failed to check INI date.'); - Exit; - end; - Content := StringReplace(Str[I], 'Updated=', '', []); - Content := StringReplace(Content, '-', '', [rfReplaceAll]); - Str.Free; - try - Date := StrToInt(Content); - except - Writeln('[-] Wrong INI date format.'); - Exit; - end; - Result := True; -end; - -procedure CheckUpdate; -var - INIPath, S: String; - Str: TStringList; - I, OldDate, NewDate: Integer; -begin - INIPath := ExtractFilePath(ExpandPath(TermServicePath)) + 'rdpwrap.ini'; - if not CheckINIDate(INIPath, '', OldDate) then - Halt(ERROR_ACCESS_DENIED); - Writeln('[*] Current update date: ', - Format('%d.%.2d.%.2d', [OldDate div 10000, OldDate div 100 mod 100, OldDate mod 100])); - - if not GitINIFile(S) then begin - Writeln('[-] Failed to download latest INI from GitHub.'); - Halt(ERROR_ACCESS_DENIED); - end; - if not CheckINIDate('', S, NewDate) then - Halt(ERROR_ACCESS_DENIED); - Writeln('[*] Latest update date: ', - Format('%d.%.2d.%.2d', [NewDate div 10000, NewDate div 100 mod 100, NewDate mod 100])); - - if NewDate = OldDate then - Writeln('[*] Everything is up to date.') - else - if NewDate > OldDate then begin - Writeln('[+] New update is available, updating...'); - - CheckTermsrvProcess; - - Writeln('[*] Terminating service...'); - AddPrivilege('SeDebugPrivilege'); - KillProcess(TermServicePID); - Sleep(1000); - - if Length(ShareSvc) > 0 then - for I := 0 to Length(ShareSvc) - 1 do - SvcStart(ShareSvc[I]); - Sleep(500); - - Str := TStringList.Create; - Str.Text := S; - try - Str.SaveToFile(INIPath); - except - Writeln('[-] Failed to write INI file.'); - Halt(ERROR_ACCESS_DENIED); - end; - Str.Free; - - { After writing updated INI, fill any missing section for the running - termsrv.dll. FV/TermSrvVerTxt may not be set in the -w path, so - compute the version here before calling TryAutoGenerateOffsets. } - GetFileVersion(ExpandPath(TermServicePath), FV); - TermSrvVerTxt := Format('%d.%d.%d.%d', - [FV.Version.w.Major, FV.Version.w.Minor, FV.Release, FV.Build]); - Writeln('[*] Checking INI coverage for installed termsrv.dll version...'); - TryAutoGenerateOffsets; - - SvcStart(TermService); - - Writeln('[+] Update completed.'); - end else - Writeln('[*] Your INI file is newer than public file. Are you a developer? :)'); -end; - -var - I: Integer; -begin - Writeln('RDP Wrapper Library v1.6.2'); - Writeln('Installer v2.6'); - Writeln('Copyright (C) Stas''M Corp. 2018'); - Writeln(''); - - if (ParamCount < 1) - or ( - (ParamStr(1) <> '-l') - and (ParamStr(1) <> '-i') - and (ParamStr(1) <> '-w') - and (ParamStr(1) <> '-u') - and (ParamStr(1) <> '-r') - ) then - begin - Writeln('USAGE:'); - Writeln('RDPWInst.exe [-l|-i[-s][-o]|-w|-u[-k]|-r]'); - Writeln(''); - Writeln('-l display the license agreement'); - Writeln('-i install wrapper to Program Files folder (default)'); - Writeln('-i -s install wrapper to System32 folder'); - Writeln('-i -o online install mode (loads latest INI file)'); - Writeln('-w get latest update for INI file'); - Writeln('-u uninstall wrapper'); - Writeln('-u -k uninstall wrapper and keep settings'); - Writeln('-r force restart Terminal Services'); - Exit; - end; - - if ParamStr(1) = '-l' then - begin - Writeln(ExtractResText('license')); - Exit; - end; - - if not CheckWin32Version(6,0) then - begin - Writeln('[-] Unsupported Windows version:'); - Writeln(' only >= 6.0 (Vista, Server 2008 and newer) are supported.'); - Exit; - end; - - if not SupportedArchitecture then - begin - Writeln('[-] Unsupported processor architecture.'); - Exit; - end; - - CheckInstall; - - if ParamStr(1) = '-i' then - begin - if Installed then - begin - Writeln('[*] RDP Wrapper Library is already installed.'); - Halt(ERROR_INVALID_FUNCTION); - end; - Writeln('[*] Notice to user:'); - Writeln(' - By using all or any portion of this software, you are agreeing'); - Writeln(' to be bound by all the terms and conditions of the license agreement.'); - Writeln(' - To read the license agreement, run the installer with -l parameter.'); - Writeln(' - If you do not agree to any terms of the license agreement,'); - Writeln(' do not use the software.'); - - Writeln('[*] Installing...'); - if ParamStr(2) = '-s' then - WrapPath := '%SystemRoot%\system32\rdpwrap.dll' - else - WrapPath := '%ProgramFiles%\RDP Wrapper\rdpwrap.dll'; - - if Arch = 64 then - DisableWowRedirection; - - CheckTermsrvVersion; - CheckTermsrvProcess; - - Writeln('[*] Extracting files...'); - Online := (ParamStr(2) = '-o') or (ParamStr(3) = '-o'); - ExtractFiles; - - Writeln('[*] Checking INI coverage for installed termsrv.dll version...'); - TryAutoGenerateOffsets; - - Writeln('[*] Configuring service library...'); - SetWrapperDll; - - Writeln('[*] Checking dependencies...'); - CheckTermsrvDependencies; - - Writeln('[*] Terminating service...'); - AddPrivilege('SeDebugPrivilege'); - KillProcess(TermServicePID); - Sleep(1000); - - if Length(ShareSvc) > 0 then - for I := 0 to Length(ShareSvc) - 1 do - SvcStart(ShareSvc[I]); - Sleep(500); - SvcStart(TermService); - Sleep(500); - - Writeln('[*] Configuring registry...'); - TSConfigRegistry(True); - Writeln('[*] Configuring firewall...'); - TSConfigFirewall(True); - - Writeln('[+] Successfully installed.'); - - if Arch = 64 then - RevertWowRedirection; - end; - if ParamStr(1) = '-u' then - begin - if not Installed then - begin - Writeln('[*] RDP Wrapper Library is not installed.'); - Halt(ERROR_INVALID_FUNCTION); - end; - Writeln('[*] Uninstalling...'); - - if Arch = 64 then - DisableWowRedirection; - - CheckTermsrvProcess; - - Writeln('[*] Resetting service library...'); - ResetServiceDll; - - Writeln('[*] Terminating service...'); - AddPrivilege('SeDebugPrivilege'); - KillProcess(TermServicePID); - Sleep(1000); - - Writeln('[*] Removing files...'); - DeleteFiles; - - if Length(ShareSvc) > 0 then - for I := 0 to Length(ShareSvc) - 1 do - SvcStart(ShareSvc[I]); - Sleep(500); - SvcStart(TermService); - Sleep(500); - - if ParamStr(2) <> '-k' then - begin - Writeln('[*] Configuring registry...'); - TSConfigRegistry(False); - Writeln('[*] Configuring firewall...'); - TSConfigFirewall(False); - end; - - if Arch = 64 then - RevertWowRedirection; - - Writeln('[+] Successfully uninstalled.'); - end; - - if ParamStr(1) = '-w' then - begin - if not Installed then - begin - Writeln('[*] RDP Wrapper Library is not installed.'); - Halt(ERROR_INVALID_FUNCTION); - end; - Writeln('[*] Checking for updates...'); - CheckUpdate; - end; - - if ParamStr(1) = '-r' then - begin - Writeln('[*] Restarting...'); - - CheckTermsrvProcess; - - Writeln('[*] Terminating service...'); - AddPrivilege('SeDebugPrivilege'); - KillProcess(TermServicePID); - Sleep(1000); - - if Length(ShareSvc) > 0 then - for I := 0 to Length(ShareSvc) - 1 do - SvcStart(ShareSvc[I]); - Sleep(500); - SvcStart(TermService); - - Writeln('[+] Done.'); - end; -end. diff --git a/src-installer/RDPWInst.dproj b/src-installer/RDPWInst.dproj deleted file mode 100644 index 6afda06..0000000 --- a/src-installer/RDPWInst.dproj +++ /dev/null @@ -1,106 +0,0 @@ - - - {AF9BEAA3-99CD-4B2E-BE67-3F3BD27B961A} - 12.0 - RDPWInst.dpr - Release - DCC32 - - - true - - - true - Base - true - - - true - Base - true - - - ..\bin\ - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias) - ..\bin\RDPWInst.exe - 00400000 - x86 - - - false - RELEASE;$(DCC_Define) - 0 - false - - - DEBUG;$(DCC_Define) - - - - MainSource - - - Base - - - Cfg_1 - Base - - - Cfg_2 - Base - - - - - Delphi.Personality.12 - - - - - False - True - False - -w - - - False - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1049 - 1251 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - RDPWInst.dpr - - - - 12 - - diff --git a/src-installer/resource.res b/src-installer/resource.res deleted file mode 100644 index 0e896e17aa6e2955b771c842c29ed61cd1507eb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1141176 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 z z>JT4}fJPNsNG}_zv%tmcvZWaIKnY?X;Utcv1(>Lx0VB5hAPx`9gWGi1pus_dz?|?K zip53r6>So;ihGN80dbLjq5|jZOM1m}OcE9sdV|J}nbQ4Dq-a!V2LpF701sC9a{MwG zl@;097;JO_m>;TZ42xud!qeGIavJPng)J4n9?USO!Iwo3GPYHbON!XVzsvTS=6k?! z;V^K=RIVgZlgcmNKb{YAg1CAkA0%Btb`UJ4VuY=LaDGG8ZRlqtnWh2J{8%80p@xY_ zDzRb8p(LE>2@NxihB@(5R7lQ4Lktrk?_-6hL=Un{;Vv{xIgG@nFouaxyU?pJkweX+ zMaJoKv2{a$eQ??=ToWQfj5UB^W2)-75DVn$NHd<=PKtpFpD!TKx*YTQHZ;c$1u`U2 zMm}_rm1-#0DxfwkL_`HfRG@R4k<^H6+676)DpJFM2GO&qHv)>oP+ym*p+(41Yd)sW$`V@ zYw}jR5@Q|W05o;0!6SYNQINJ;DgoM20GhZ2NKXNapRD*VcAGjVFP-e5@C>k63=B1X z43W0#5MWs0+Z&tbiw5sD`35$|Qp<*r1XPaQmRu>WU&6KPimTzFf@arFNg`jzN(Zwq zjSel&B&XpQVHbiMNJXW%0h7ggr9>c7dw|B+kYqQ6zX3a8g3c>tKpBrS4BfHTg8NIk z{PAXZZWcg8EJbtStIIk{4dOPO$OWTi zQIAt1qIs~-ypRCO9bL*c9Klk{q`sDHaU%^7eitNbD95N}`($F7uQN7Ahs+27IYlqV z79T}d84i~ezNh2%{Guur)pl&|AR0c@0 z)&*6t=_?c}*j$)cDBRYEP`Ahn0>Y!f405Q)6-9k3vV5$t>;!(gofB*&NyZe0sN2Z=7Zp|Q%3s_>)!iCw= zbwHeu%IBro2xQT!82IRA5>|+2#GAJeRiD};t!13Ry?_Dg9KK-Vqq(6~4k0dsjb$+K z4A(}pBBezTFO`=B$8|*(whjXML3zX^CpyK!Cclh%tyI2DorVfQ^1*<;OP04j_$e&` zByoo<^mNY-mz-mA4F_f33`Z>R1oqW;0F@%N8#7R{*3bfV9!D$yk^O<( zR-g^}`#APJy>EpDd%iMuSK3YJJRxm5@e5gmzN(=(K{b6V<}&$+I>S%iQ)jM-b%t(n zrp~NlosmVX6x7#6!JFlFB_XV`K^Bl6*dWV2-QOek{2?ay;7XDKa?dLPN$%;tfW(PP zh_(AsPvcn#*5#sWFJ zvO$)KUPTrxJ>e&WJ_pui^m+iR24D=WEfy+Y7I4TZm{Tdf4+}}Suo&PulwVK}=97b< zEKi;OF<_lc7+rMsCQ?yOO0O%xP)ABVu=rkF7CANXeftLs{KF?6Oe!pn*5OmAv>dwD z6~&R`;X;oX0Pe1ANEGSrHkiu>oShG}v2m@eWNXRW)=HD$AWh#wXu`sU<-i!>((G`l zBV3vjF3pdWmQO6TL@GQmEtaJCGw41^wRkKYO%#?-L>CUHBo%t1V*p<4%ainl*+5{T zhVCUXoRCmxk#E~la($t*Yd)T7L=M zq%=FBG%GwcJ3Q49o|+S$nony3@x5R#_p$jFVr#scVd(5)#fp~TQUG%B$_SV2(!WNF zi)GyrF4-MMD+hLqD!32Fbbt<==@}8r7wVql`3Lh33-7#nP>`G4sNgMrVFgTG5vL$G)^ySBDvE$~jlHKHJ7phSSVOR!tMAABf zdn$0&a<8XvHouNQ$%<)MB{x<2HW$kSky)_-RP@obNWm`9dANw|p_5TzHSGy<8r>@{ zgvOAT5Y&{sq^v7x1(lb;63C7rIGo^eK7UzXZTP9@79S&X>kK%rUj%kN#n2^ zl1fsdNzkA~=49AU1crr2!h{osd>=Mj*9BdJD{)0;vbnZ&lHI4|&woeDOn*==E z^&+O)x=7P@!6LG4a|9J(RQnzjX(%eI6l+$HM3-`8stQU!AzU@Vx+p!676J2$Gv2Vh zOoiV>vnWb%$05fqX)1V%8@A0Utx7%>{2v6l0@~w zhCNkgQ*nynbX9m!N_bIrc+rILqDceoYcZotO3gr{%v*I>;t9UFl2IlKVFru+-xy_} zJb~A#Zx=uiqND@$5${@;0S1wnM1ug9EvB~FO1VgElF%G^Q zvhUBsKwG39$sjG=#t$SY9a24#87q9%VD*TsjAZyqK2-j{L8cxVsEmx^YDt}Z>KZ15 z5>{Z)!_~=DQ@{GZEOw5x1C>hL)P>Z^4am~3PL2@v2wWUl#p0U$o%q-zkc~ehtQ12@ zvM_oR#aVtPRG>3cQ58(e*r~R zY$d)&QN>n5R#eS}ZjURf-kT{as+7KVQdE~VoB{(PxG>F>9ahz-j~(sm`T*3fOne4Y z(J|Em1wLKX4p<_N9%eWk&QVv2+2A`P3ws#?NcNcupBS4J+2{2u zpta~SZbXcz8HK{Nm8>SE)p{C3;&~OmZLu2CqX&Rm;3q5YLFWdQpnDKhfr~4Ab7LjO zM(@#|2h%hHwjQokUcj~IN&$oL?i7qi#=GvOq3|yJgWy_uG0*})ZzQ}s!?WN@7v<-} zV;Y=LbtatE6i83n;?H4=!%CVGnUxlvl^L0Z(pj-Wc*(dV)ITbMigUA&r@t2Lss9*- z1~STM-|jW=z+fS?!&B2D>u|z5J_?OQ7|Pgf9BRY>S=d`=y*xe^`#A7Agyd7()9~bL zM3pgr#J>Z7b&=5%zC%^d7aSpBNe^t&yg$=)Y|53}6@M+Q>uK|I!Ya ztBFTdN0RFz7uVU-Xt3|lU}s^l9vbYMNk{N1Zm@yWq^~x7_YumjIox#!^)U>GsEX1? zp@VM-f0f$)OFUpt@u?oeP8z=?{@*p3LQPsWP?OQwaqR_iDAblc*3Ko-Y&O1>AV2*q z_bZS=`M^4{g_qUSOJOVlus}OI^yL{$FD^$4F|8xipr&9U8)zDji&ktdgnC|q$69>E zZBC=QUq+5!zr~=WJms0b`&Mk&Flu$3`pnQ$CbQp)v$Y zYrcqrxOEnecsdAd|>$>17qmUO=-pF&z%T2J6qg)Z;v{u$_S| z64`DJj>dFiOpk*85aYpp29-ECboSPrG1W!LyALs+$ny@iCVgi^jt95w?e8df-V=FW z{Hh+*VMa#CyN3l)crA`Ol4Ts$Q<*iM3oHdyK@v$h6gQD#mH|CO6%c>f1|7*G#F*Ot zC7wvCKY>Z((BtGM!0(Mjz>W=Jr`nSLOyw5~kYQQZH1-r!Aypy;;;4tXr zzK%Kj$Y}z)hm90}A>6hXfnmdKyBntH&vz8;$8pYUP=KWFEc^uZ*w;5UWehoq?W5m_ zvA7%RMk-Dxlc4#q7wk&yn2u+~a$e1r^YV_8{Sb8b@ovkkv<~KVs2L(9`@(9gU!B_i z1eUFWJZ^%!(L&sL=hS=O#mByaJ)wfV*`b2n*@eL_>CAzwvm*IOvIc(@y_fZ@Cf;#bq=>>467ud9aCo$Bx1vuC>UkZ( z{a-!`pFpKpGSnQ%%KOQy0gD6smf8*>gBg^DA?mz)B@3oT1b)0N9G|^!OlyH+4z9d+g)UV|AE7l1_+#b zFI1Bl;^Gc=($W(jk3kyRaXGjFo%R%K@js?WTc`lN7Q%dihDu*%n~d}1AWJR4O;L{` zFUdOzfvY=MNQ+s#4GuW6$K4@VS*5lq5~&mogQLLq%kd5BYo;~Rzp+SE)ef9p<}n;8 z&8TG35F9{nX07*o1M${mOVUaoBSlGs;OXePgy6{nBVBg|H#j=F&apcw70CkAkKM0} z-o|31m~o^FTC2#VWrzaVH=FKflN+vPV_wjw=S|D^1I-`0Vf#7F5hT^)iwhzQCw>eTjYKwRUu6yw@_jF&$y-T?q7 zDUU>~bnL)^=Ka+6zo7ySZ|~!&OtG&fb~O#E+{ajUT=2o_WtY%k0oVa-aUYBjgX<5) z>R&ye{z+Y<2iMP7`{Uy5J=E{``pc#IQ#&Zqa{oS0ZKw0od<i;Do5jA(W5{$(PBluYmg7Y5#mr;Ma)k5E%_o|V2th85E?s8L;_*NN%`-nii1-K%SV#8 zV8bh#BPN1EM>F~j>F2ek%QpnI*PLGrRghgi>NFR_reLGwYX5F5S#}v=v$%( zN`GW31G|`SQF);1kHudI_6In)MG@BHTIxt~-gk)kK8_cb%1S!q`Q^08eQ-`Vow}KH z!Wd9$`*=KHP<`i&8h&#tuU(>t^}dNOcllfJd;Mlt0=>;U;tb50xB8I%M=TV2oMOv z_ALpenG+8}J&OhdclGJ{t~k z*0iO1rCU%ge%mMIcebv#8ZG{O1kI>0mjMdq15*B z(tLCf5XHx+YlvldBzYIM&40`eH#~l>t}Y8j_WzI~`%vUa^2s5yLRy^)`Bc_z)hrlF zx5X6H1Pus~GL(l4+t{-6?_Yor;O0OF3)uyY@Fs(bF}3{xY$i78{P;MP!SU{xBZcf3 zyaUBqHj)|w?ob;{=T>BlxrWHv)0N2BkS#tspKEB_`hr=cG|#}|U~_<(or;Alo_+Ju`r&I!t_vG8eFv0IGCIQ$WhTY91FGWVfbC6%eW7U0tL~5V+kF5 z#I{zjMnK9jbd0WnQH!b0C!i&8ZDWXQOXD1zbO9T){|$A}Dc&87%zr0FD9wNHK>S+& znssKzkecXjz-~;bduCT(rzC8k}0PBqXU~2n%dJL-VpQpA5@fe1O65_08 zP+&uJS2dWYScP01D-wrN=DQW6^RX7ka37jN^=_cu^?+ZH4|QuX5K&}ZM&vTwuY;=~ z-t3#LW|i{eG7KfAwqF~oln7Rt&l0QjlIS}0G$g3IekJb+jz(o!n>8&fobJC>4rWL0 zJi8MEtBGlAOQ#cA+(5JRi42_A z4bSNb&*`99_QCRuv2!ji%qJ)&)qyz~gWb{s^ZmpPV`tA|nzIiFQiF1dQJe#k=9 zar6U0RtkC&@>Ed`$|)nNNZuX1=d%2iPbF|~ad$XRg+K)qSq1(ay0f>c=B%)59g3!gDrDoZ5vKOXdv@0J$+p=_1#O zjkwzV6c&jN^Pj+9a8-S&8y}}9s6-p`NmYkqAm_?4?ZcrOfiAj?e64UKQ3IQa^6Dq) z!U#4^^3kc8Xe?520A}AvL1!189whd>U`t2aR-E8`{AIe95Kd1&M~K{zcdHO8*^a=) zlp(xun;53IJxPenP_QEliygfTSp)P^96?8&LuWn@b>dvu4iccTl3QkD6(Pv3QQ`WD zi;#EW$9;WN8AN}cV;AmWVY&F8jYAsb3d#5ESv-~bHph_0q$nJ&ptNkq9f5m2;uIG# zhS>6P9!dm_yf}q2kOEJ#xsXqM{d6vvJi2--QivFWd%;z!>pMMIgJ^PnXECOxV~tvM zet1qGUx5~6_MO!v%M@Q%VpieHg;|ADS0TIj4nTmT;cyS#Od(aH6JOXu-V{o8;tdR% zui;QBb6QWJD&|{+iv@S{0Cu6a-9lhwN5L-8DLQhikT;Ia9xQJVg(p&(?2WCw>|1#TRWRd6#0}=(KD_lNsd$Wi zW#f>~x6MO#+1Ye%gTPnWhuYN*Nr()WM33tsrxas`dqMxfu0qb~zfV&c@|1W3bQzxJ z5T#%z0e4Hd13?4XFBISdTB*!3WaA}eu? z5N!HZ;`WDaoCi}P?n7*g9N=3-cB_m4_eFO@d3`}5Y?5UCYUE^Q`U_8oQOatftVA*~ zN&qg!$|9aHT$L`Vv|~~W`FWiLL_%07&*7|L94`o=MPbq=d--cnXvi`}D*O)y`zeK1 zrwbJUcO*B>j!@ucsPpZ&sr;r2@hk2frzC=s!&U{K6xk~E`$h_X1L;Z)jGhxc-w$!< z0VxYAFHDJKQ--cgW*d^Q*-2C>{cMIX7OBPG#(v~`sI_159xQc&+` z`O6fnOM$0lV+PwpvIS)p)u8BfJhqS(CKHj1?TiKdghXuR$t?@ZxfRMjc{y`RhFVVK z(sx!OhR`}X&6yrXlmr~&k;M)V6Npvf!~mov7)9R{ufY?6Sxj09O@o9oEd?tY&P_wO zozTH_YeFE|Ba%Oe0=jTTW5|0BD_&L!x_YLg?IWV%#EM!I+@1{n6IeIEvsEes(K)`_n2 zUBqetg*=B{%P1t{-joQ8dzEF1?K8N5Oou+T5cL)QOB>u6=nwT@+Ju$m^CpYxCFl+L zFR96s?1&vC?t%yHCd3M-L#{g*L+#N!Ai5$x>j)fX!QJ8EMHy6221NZ?(=la0iP_k? zn6(Yvn6+^YnW9yC59@Xs-X}qi&P4yh4Erk=CTFt7^VL!;9*YEr`^{s@F9~a5|46$> z`~r)F-GeZrZ;Ic*|BMCl9zhYjL1kvawU{^(C`}=-vlmrIk_U1;6g_SsqM?4>Hk4yC zn`hb9tU<4sDAq+M=ZP=@-OcCbwRMr<@co30-?1{odR1^TLRMLb8zatB>5CGsEW@Mqnpnz52vRZI1JRC8!deZ!PY{*Iku@(5ALkq>Wrg?amTmKN^&4*#d zyb-TM@4D)wJp2ZmQ@9wDgiitCREMvJl5A`&A}Po;1^B%z^D3 zRu9%g>FV=3yorpWa0k#EsUkDf2zo$8sR6p?n`)$zkS-wchuXS@zzsALa@6^8@~{wi zifN4yds7-9k7C4XF|b-d_XcG-Cj@R}n(H4@BVcUEIG#gYUkYIcc4%pdae-ADVj}jW z_y-3zUlv>CYCQ3UmC@PtK$Kl{0cTl9%ejh%DdAu@58H=I0Ms%-GDr zY91V;80#yejzqenRb=z;D5SYf6aW4fFiqqW16}}i7R8qGXhYh7WeYqVtN0v%kF84(knw&JUb`ALLIu1HgJ3k zaH4uVTXTLvJgqqq-vM_H5QSHqj|MjZ*hR4XOizQVqkzI|U`Em#Smbh`ojHG|d77~B zkWw|uf{ur>*s*>va)S#gC8eC7bKm^tSD=cHPHFU1UQjm`|)iT9L1-q zizK<&QewZ$w@C~PR~ud6Nqv^a#Bk2oVw%WqxpR_64sFV0@dV5g>?<7PuSTz=Q-=MK zdKUvDzC^|vU{F8_R`TZfEq7JKNeW*%GW@{)U}1;cc34TMhm^Q@7Pk-KHZI&p`2Nk$g@o@Y;oTGXdq{d7SkGs_5E7Dp8DGyaMLm@N z_XED4RD3t?5)!OPluz!5^82Y@2?-w}UFiES?@dVf9g_09vi%KzOh~v7N%{SRqWu-4 z5);~yl;4%*&u1kjsIEy&*o^xzQH=dtUk6nN!mXZFygR-$QCN(3<+c6!cK8y7qZbQ8 zmbd@i{`y2=>li`ESL7Ry%Ln%(-#Nv*M!fSOpGr~oCA?dOcj=0Jy?D2Y+EBcEei_=p zyAKubdhpJJvU?QuHMArOS(gaHF2%ch@h$`J4k*TU&uxi<24frQ-!YW^2yfq~?Lc}G=~bi;kVK>&B>J}p^ZF9fBS@Q& zT9M`>O-IrpjYCRA`V?)PLOP06gt88#{djIbd$%H$BDs(>NLfguk$N!J50HL?e9zTX)RJ6QYq5CX!|(YycF{@3CVyo8>trQPNavB_9As6y^GY1q(Zq2Bm>eEB>ML; z;NTb%{hNZd)*xMqv;%1q(h8*cNGc@ycNW*Yr%`@sp3h@GK0#9BeHM}hsR*eSX%*7j z_;vv49y~vS^cbG62Yf$(v>i0XQYqu z?G#cI(psd=NRJ>LMxuWKsW0>K_a@A75&n+B-^r+d3X%tj{>>8deBPR6<;}~yO(ovt zOT4XqUww-p^d`(~@ivwFTD{e^?4yvCP}u7Ametn^YZGUCmzH@071fPFZ^5ccLD0~f zyvAm~cZPShU}e8hGC)5mLza-+*w|cy7r9Nf)0*l7_0^5_x3kKGBFdfbZS)4btinp6 zg5FG(>PPL>^qaaP)s~xIk?WbJ*G;Z%Y!rmQCH7aC*NUoZsvFC^HG%r(CSkU~I#pEN zRNLqkghW(YTcpOC^VmXAbRh8BCfx_n2vihc_joz6{8Zc~O30tS)`X#N^t*eDR8Z#Bi zt*vcEg@WKtDsHZ>mA<3R83nUT3yS60Je-K}SJpSxHm@vhZd!`(+cDNU{)Xzon}?`3 zad}E;h3fq@#KvmBpTR^lf!e{u`I}oSg^Sn-=p#)oWiTgtn*D)U!TLZ6`c=KuE11|D z=@;5Ln^?9QbuRZ*w^lC)c(k&zl|qv=YrG3o*Eg)KvOp^)qEeVsRxn#0<h&*5%C0 z_2kZ-mNOr;3%~XFJr^(N_wl5v75=7`EhrhN6Fy6-T3O?-uUU>A@TqFKce&pi5QO`M zs;Z^l!1C()rs~$Eejz=fs>Zvj9$%IuRI!H!p=xeTOQ5j65xo@7B~;b>moHh;h`l2S z_o;Z^e+X68HOp%on}k2&JN5vw;$qf>s_NzbrMw#9Bw9j~K|elK2YlXEKnX;#qNx>~WjDg~F~>omUv^0U3mn*-iz zOrTIXt+cE>m-ksGRF;>`X_7%r%FNotrsuo$TFUdiIq+S9JyL|qQf%+)rW$W!UUO3u zM;tmpUo!iGZ4>vp#50?9=8A;U+SW2}>k5E;bz`GW5MD``-BQEf%xP+sw!^f#f>pv^ z`ZC*#tO459jdj9(^k&-f7Jzg!tw3I5JrIB()X@7W*nNQGX-&7~1_M6+3H^D#zy4y{ zYE8n+{cq$Ev-aNTe?Q0X#ikATy|)##ppMy|yxHXjKATr^+~^_52hc(Z$S?)_m0umG zt`xQigmk40C{1hOnK`p~a{lZJsJjx&TdQll^5(^EokkTAYQ;~rDHAX}+6IiY27)aF9=XCU74XoUCJw?>9RM20P}*UaQ2vtU+F+x% zhyi&n!7GC-vA8mQ* zN$6CS%UeZ4zJk!Hs6&4Fj_QIP7V?30L6{gB6oexFiwLUlnQ~^PHPy6wmor$1D&OaO zWAEqE%rJr>2%}ZAy}%dJudif!P!enm)VIhK0XY8&31gOdmshv=np?eC&3`A&2GOnd zdt)yJ;b|$KOy|Z9oM(pFkE+TWu~j+!7mm;`OfVzf!U0v;%KAW!ue@2VqdlpglYm2P z|18r&3w24Xvr|?FyyeZ6^|f9gl2+m3Ve(^nbL_itpVT{Am`dSQYM0I6@99aJ*%~GF z1G7;8JT3R+(t)GFEKCvj-k;Vifc{_@GqFt@fla-&m|D!EaNV#PA{Lv^<9JDa|sN!)EXkR{AYvA)MdjZDiX{5R8MrP#uC{@O#FT3Bt65 znT_5#O+*VhKPc$vO+Py)G&g!BLatWL4m8FBt<=*8j^s^L91#(PICH9xY3nt6OU;>b)xo%U{9p*1)&p zAq5cqj%CNs`X)g*oiNQW0hch1(~DRZK{x}hHn=?Y0*ok_7GRqSfg##KAFfX%fQY>o zJc>R`-Q;zk_jkqhp6HPv{81=a-V#{dUx9FG+-P{N*U{%#7G7WOit74C#!d(iCREi0 znj3Xhem`b(@i4G^tu+V`K8v2{L6|;lgex?VsTI;=j;osC62QG~B zW2rYXv;hK`yd)J8GU8^RPc`3EUo$=$TNI4++yt4<1eTU~YwLr{1wjW0p>YBCG}j2X z&@AC+|GY8L^#A|g|4V0}Wvq};`f<(+zq|b9d|4++3QUT;Pk(o$Dm#A0olzwuoLVF# zY(<)jq(<7m5Vl^V45XvC3JL3x97rih#})_)TaY|RX-KE$3kf@r79(XLotTIGNE46* zBAlG z{f;5tk5CB$Ia|m7OAzS&(fF76#owR8ljd3IXBFRfKLx!XY%lV^?!Ae^@3>lwy-E^F zggKyl4)?0%jalFeNgd-Hubr$JpXF@=`vEDo#R(~{o~!P zi$*%Gx%uX-yylkGt@TTNfvgENH)fU8*R(eKo9hC2-`dj5X-d}3H&bpXN1%agT%CpH zn*7f3!PX`lXcBmK|IN$gayLT}V5{~opS(glK5Kb(Q+*wHzzSvGlvPcug)C7YSbfpR zEc}ZN!8jR%z%cmh7Orz@Zp{TL1gl#U0AJ`Fzsh2gGBklxa*mI6eKKbW{F5cI2@l z|3W;|zZX@XeaH7tAco`#j`Xj!THEk$*LMQ;lC>c<`?THPxWrX2FkC zhc>cU?pEY(#`|i#smBu-RAIV+_))R8^HGDJm90nK{#?*}2>F7C)zgTwEqE$nHPj;) z)k*(ag&P%hRiLg`)F!tC`B0cFXpzi#(y%8jo{e}ipuP#hO5|}t%0lheQQc}}It9?A zy{b39d*eG!cM_;dKrH`9q$bUJxADEBufN`Y@Q`!rd&hoS`tIjXe|>%Jb-Tl-KY#A3 z%T`KR2mJxP6hToH->%=G-=*KJ-={ySKc+vS7xfv2Ohc9-+c3c}$>1@T z8|NBtHEuWVF`h7=G@mkmXg*{9$Sj)An!C;C%su8_v&G`DcN54(@LkGW5{Pr6UJKXjjQf8-Y3XWiZIbM78@FCo$_LCB=#*QhjV%_NOR zW6)SM4o!|GUsI$h*0g8>npK)Ln)RA?%_hxe%@)mm%>hlP=CJ0d=9uP$=A`D7=BW0V z_JsDN_LTNR?HO&Ou0~rjQ9B_0x4m*xIjyX;^ zPC8CGK6IRMeB=-vXC2*+bB-QIuS0O=IP;xF&SIy>S?-+cywy2y1q^PB+u_b}=evvC z@?72OUhJ-Q``nH07I(nC%Du+D-repdqOcfqqtdB$DY`UWx-LVPsms!7bOxP8=g{To z@^wYJVx32~#<1SdZrEhlY}jJhYS?DjZrEW+H)WVIOSUsnOJ83Yb=z)|l3t+D)5Gn@w9xTTRy2TYx&!=|IAW2O_PlcrOq4^3xGndU5Wwt0eil38Omm@P55U1M2qX}4^$Y_@E% zY_)8&Y`5&N?6T~(?6K^%?6d5*9I$j+4qJ{|j#*AvPFhY`KD3;%d}I+VXD!{9bCw=U zuSKw`tZHkPHQPGDI?1ZB8myKn`hV>mKV~>pp9W zBh8WS$Z%vjvK-lt364n)jlkfbW4UM z(~@P$woI^0vS=&@i)GNRyw$SUQfu*9F1+&V2kgBTX{Q10ldLdgKXNn^v_rvjranub zt)HNuq}S*TdW+tn{~>U^%DBe3-q>#3WZZ1rV%%!n2F$a=xXZX3_-C(ipK-tOfU(nf z*m%@<%y`0h(s;`Fq4A9IBco_MYwR|jGxivJje<#D=^r{Hjg}Tmz=8oTh6WgawrI9$ zwrRF&c4&5Kc5C)%_Grv}5>j~>g>nZDp)-%?{u3DE5 zSaAIin2s2YkI?_`Z`-GB)V62?+Ev;$+V$FY?I!JJ?H27;?KbUp?GEiO?QZQJ?OyFE z-G{m}x{q|C?yRm`_rv$-R`WLVcJmJN(D?g+v(tIldDMB#dBSFx}7raO!9@p||e;SbIJ1g%s1H|;;Q zUub)@-)XPbU8l1G<4o7p=$_CWG^81A#$4lk<4WU`#zV$;jPD!&V!Yfm(KOq1x9KOQ zXHCaVy{2L2@#f{`o#xG!7cGCaTxGq*YPC)WeR|*e7wf;Qz1E9tlWaPh-8RiO({`(^ z(H6A5W&6~YXs@w9VSms5C;LC`U)jI2FLC_T@up+EbF#D4=>^s5bpFx#mGdfBforpC zk^2t!uiVeM-=)59fiE5YT&c;`cr=Zg)u0iRv_@^2_New>+8SMhZnf^`x~Fu{>;9y> z5&LF={$c%7`q%Yu>AUq`=@SfU!zG}~(+u+rKQTUreekyNE8|pCrD+i`;Bxb)=HZrR z%QwJEE>PW4>tvhX9HN1d5p#W!YmDnM%=CEIO)j&m z)YX99elKY0u;c$|8fm;k8)q)zR^9|z04iNcs9Bpalht%)BV2t zFQAs^+{DBLKnJok6E#}R?V7tl2Y-b9^9#*yuyQ(vsF&@a{Bp$~y0*`xnLzsT@2L#N>l!~2H68oCVsG7JZ0 z%mhWuHBL2_7|V?Fj8(=u<8siyJB)W4!@wBZfGu_dPrQf~KZ^M|ZTuKm;cH``air;D z(^aOMOeWL2razg+nG4MG&2{Du^F!vJns=LD16T8R^A~2VrP9)7`L*SUFPj{+9@?3X&OaNOv)1(^GO zP~+zvuYeA}3kv*KhuWFu9PhL^ozCgNuwmyz&ZnFQoClq60!}_~s$5sPu5}f=X1Nx* z{MgqUT@Qet`2|+sulW#nbQ^RJ>K@e{(!H(wOxLHoM4zc2ufIi~gH>6KRcX@uu`ZkR59uG*zkm?*$MvW6 zAM4NR&jT)#4P}OnhM$6_|BvAxhO>sR4bK^00&f13F$%1lWhyZ(G%W!I4}xz01oZlV z=@9610_brL)?tBpvH5QE6Xs6yzs<>(n?Su>z{Wc*zq338`uiHF?x&!(Y1T_YXXjX# zfp=`PK4*Q&`i}LyHQ6@GcDd~;TOsymxvkpvr0oS;r|k{f=eF~=pK~ zeT)5J`y*JXz4mwQr|qJBoa1WH*}aaZ9fur^&JL`_d(JNBm(FjTb6pFu4y#e`?=jf5rZ~{VfJ@8pm|L+YB#~r&F(|kyC<-3KXZRW)*7WXeaB8;OO#zUFYcT*Zo+xOZT|$NnKR; zh3;#epdYRuqo1Xp2RK=-59qHq+-xuy?1m|Z62o4@(-`+y<2d6D#@mhSK-WJterZfF zC7Z4V-)A)4Wr~=7Z0a%n+ce6Yh8?-gyvn@G{J8l=^I`J|^JU;_ZnTWFrdqGGj<-(5 zOwG4eS(jT|t?R5`SiiCkvyHUfVl&vL*rwX%*yh`oVz&Nb`={*-+hz7l`%U&+>`wa> z%-gf}m+f!b|7icvev@N{W0Uh4m%81$XLK*<-qfAc{Z*G}7;YGA7-#soVVB`a z!?T7m$WC5RpJ$D~H@65SKWVb|I_^i!AQ3tOptKRY)z%6R&%H3ZtzH= z=4;J&nsn{u+7P&i2emJ24{JZr{zdzhwpV*G;Kc^q@-(pfQQaHhB0krBr@KynlisYq zQ-3#P&!_dzL*o30KGBd5npS0~H9TbamEjq~=Y}Ms9r*oc#$SNvy9IK=6w_4GuT4*Y zvwsZ~dnEYz>&#{5YCsFk+mFC;JO+qKw_I+SXqgQR?zJ>nDy$12X_`R0i)`(-uxoIi!!`Gj+dYpSc< zHP01-ocW0Bm##lRnxy$kbPso5=^pQ13VCRQ`%(9AFk3IW-@{BLz{gAwRzeKhD76V$b)&tCSwP$(q;_fBBQGp>JvLl_AT zt;k*Cu5mx^-iz7j0+nL&GotvGV@?tvzuc%XLvp?gm~*G*G0kh5}+qCPn zcVUP9Nc$7*PHnnQ3ySoa?wl?Ge8J6nJE+ineHCy^tNt-?22TNUE;d|dxW-UnSYl{0 z+-|tb@POeF!*2jRhYZIJ9~jie0`LMqhve`iq=eIu5k56~On%dgpggBQ|3{lI!QPvU z`6@OqGS`^bn>R8z+G~Cq`|qgPXnDi(0XV{sA?cZ{c5qYWz&snQKeql3yts(nca?22 z_FfG*f_rSQ+q!LfyWKt;aJAST1crXh{#*N4$9V7qlN}DnG{R;pxq+GHo2$(C05AQ_{0mU$ z56yoye+He86H@X%%k!3lmT$ppj<#N6y&c%Nozbulz&HOBn7Pn4!#3Bp5OZ^%?Ps=M z*#2z$yDe%X&c%?A_2;d ztOeRq_5vx3pcY${c!=VTS5(|LR8$lwDrMgh5V4923Q9`33JM5_=KH-fXPTu66t4IG z|GwwB;USYbXXc%E-g)<#b80fc0$~E`Fk~0u$Eg3E=uUbMp6&%r6g=Edp)U_4SHXAq zBl+*-NL>@%kKpbmDLE;xrL2Kn*qw4PCsNL&{FxF7U+pEV%i7cpsZSW5!Dzo3 z{xYQdp+^oHcEPT9(^%t1D6BE0h1@ML!D59oi>U(`o{pE6SWq!xp24KbHvIOI^e5AwN&hgt967JO=|97B zhewkW#$u8N>L%)9Sh)w8ZaSKHL((kds2)msEUCGsrKU6D_(8Dm(_!7;f&A@+|7U?; zGmufDTk>pp;EyD~mHb}v22kUVrP8hpFnDR)A?CZ~J>?s2D#)fd2?&C|Q|kLsV- zXCu-YiVWZj&_Y^6Dtx$C4R0CNK~G=6`ZYGj!g_0Ay?Yt>m!(nI1LW0f`~){4;dW z1#_#kc8CuP(k8=KTZN3@4rKa{rZq`#mfkk~mUK!?K}-}Q)#KIE)d$tzBUb-S-5{}Z z;yif56^YxBkNXOq+i!?M<{%gMAguZONo$g}B>j~XuDJ;riyrWN3p7(SGc*rto(31} z*L ztF%VxG3mqsliKGQQ>pncV#L=Qx0Gr$$4 z$mDEK{x^6cN*Apw&`s9et9umLy7zS3k)t~XnK`F3f;xRt?oW{rhrgP#J!MbIkD$?C zDdGB?kX5$n#~^F92pPH!kfDS6FZGR6m8nUH%?c3(Y(}JhGBwU{v!R>e4#em44X+#C zMilUyAp)94i|F@Zu2zB9Elw=*Z34UC`Wn(v0af5p5W zk^3=ZBmOqmOX~zpY)R{xHZg4)^2|LKVV&O1#OEvkEYV}0*LiIz4hnJ}jsH+f{{fRtLYGVJy(TU>|3t{cnffsip zKin{>eNy)%4Kk-QlAK9TCOwn10vesXrh1wvM8|zJLp38cW8oRR27R;*+H#-fpysgV zYt46>9}$Z+(8j_hw$*mj7HX$!XKU})KE-U}XWB2c-)N6%DH~#i=N+YMu1nWt>juIb zovOPV-uLsmw~;6PS$9^~Ii*{QF=ZP3s{3FG*CQ@InG&XNpl<-!Se*+||z1)zr(B zXPSoSc!TK+)9=hDZDfuyw}Ia^06PIs!4`gE{sH-k25Cu%hzrxErp-r8{4C2!>_QCF zHQfkp)+c=;GSS89Pr&m6&6kELtl(t@@}%uS_1@|c;O1A=>(xKNd%r31=ESbZ!Szne zOPmBxV{YOD$Ur=UT-Uk8MoG<(vu+0--;}gJ=?g~dSnQ50&@6=1KaPEox8ZAiuBp`g zq-mv1)eeI_y$7)_QTB}XJp7F4ITmA5*H3>$(iSYz)5C>w7>)^wp2l zkJUehEdI05t#0tIVkl`(DLcj=a{WMk4#P@LmOoE<{9omF6U{(XUORN z4qK~(2WK_*G0rnSWPHr{g7KKK%6I{Kw~474vhugWD;{WaAW|Uz?MIW@JQ}&aDdzXg zA0eB0!2F%LVOmqv{{(Ab`>FcrUi)==y@7n$2IR{=N8HdQv3sI1@#)0p65oPH+!E2kQeQm95RDPH7aP|LhXET<%8H)c~SeZcANG)?JuxNQOTW>b;-Sx`$HEmgk@Te?D?ML zACgZbH_+XLJ(nb84yWo|$jDS68~Tl|T6bFax2_rDt6Q;CG7y$~5;Q?+%HouNAwTm; z$|g|1n|_FX1U#Bj?3_HIA8ROpzf*z zjEJ&^z;a2ZrHDn}V*c-W$bMI|+T0V_iuu^}d&vA4wC`5L7?tMOG$m~N?P()m+n-8% z4Oy^bX)(xNWTo4%Z#M}s>iy}@!;3-Y5&4)f#ciNr1dhdMuroIp_I?>M_wQo|?wC3s z9P5OR-H4d9eo_pwjqMS+uK>5cm9#JE^Q0sUmN9N)$^0ySJCLo^A zL_9VdUZ0e{6?VTe{m*p8e(n<~)HkSaf|krtkAar_P~9?-cr7n+GWG>NNZgwEb7E$a z4YB*9$nuoK3ywh4H6FBB##xA81JCfuBJCe&mm%YhTToukXN_yoH5RHGi23f z>Whf07#4pM_Cn8?TAGv0DX=lGVJErVyw`jX`woAb)oGb&cfq`FY0-G^35x3X-< zQ1DbGG@&P{P$Ov`LAG?A=2OifaFz;oIY~PJF<%yuMYJ)=^nhuJ>1k7(IUe$Ag1nA^zd76dKDh2(UXnWhU|@E@ZFYO*@?SOPUhikv+XXV%G-|cdWt=`+1Vr(>zC_V41dT^$^&Z8HiqA z!~Q@F_RZ|z!`a9_mL#r)PxNEr3Ha!plG2iT!y{dcXk=N^8^|Vo2@2n&>8Q!k3`S;P zGV%f|G^>zH`b9HTI|`oYJnaM6Yu>LtjC@J!WD6*ICp6txx+-Lyn`1Y4Fm`?JLGJ(4 zl*7pR+YqBI)V~VKeWGuLJs>S2lS!%5kt3mu+iJ*aB|LKla*fSkInoXH8zjREh*mx| zY&Psirm+iRO>UFRjay)k+n5@do0`9ZO*m^-rnQ15>zUR&EeDqOMdXz0rMHGA8<_rZ z`m^ar;EjVOif|T>wuSC0RNtd6#lGVk>QB{&)koAPkztEuITBss^Vpqx4_tRL@oZva z?6)hEdV(%@B3I%BWws#p?*h+dF{Je^_=meS$655o93lAAg0DlZpKY|^kz3Og=%hw=YJBPet zy`+KQgpc5{ZAse6bol9{RLx!R*Ie+6S3=%);P2Rct*M9IvKHFbS~IfHIoiSShVKJU zyahTm!x3)!n?Q;UPS@29EQ|=sV7o@!Cqh@ z@~k9By^x__V)y`l*fzr*$R&<4jx#<0FZW-@=b0ATU`#aWOj*!C(@e8W3r+W%9*69_ zYC35;XS!sHH7m`%uoHJDya%#)6m=-lZUm34MUI~Gi|61gM5RZAM^w<^lCf$hB7=w~Vz)#~o zL!9PjWMES@X`0^HUCc#BjkMHLh$BvEF2eSWf#f`*U8mip{TVvmkUSK*>yMLnChtp5 z(xotqw;z0QMpqBI=;oCCl#3~i^~w5PIQjD;GG+($-|M@icE|3c4ZAeOsrRKmAltgV zsh3hc*iF5`PzW#fF2hmegMKsIh#i`a#>McrmP2xGS<(U-Y~smS`R<#tmz^o zDIQtKBy+lX8u-Wwsx`x2<-oLD@Xc$8$|%k~gZyI$WF99WfBhv+@tnlo1|Dr!#DiAN z5r=igxe0?h9Xh-OdFv(MswdSSK(_u;M_{j>sOA9ONTZW9rIN^Zi2lxw@HMe80!v?MXEaI$aLjs4ln@D!qP#-$tb z0X?w$^*YX|ROq(qK8LU61{KdEtJN~4El#FL$ZG9`E>h?t^*8G~=%0oL->Ux#C#h0X zDav{j=Kyvh>)#F;|3pKnVKMStZ^K)NHO52x=#c5!W=u1^4ZpvhnKA>nnr}DT%+KTG z)EY!ne}c!_Bc2+GSaw$0Gw}Zpr)A;vlOhA}Qvi)9O6?2#Hc>qd`-ksCrJ%XT|{PrZ=Z1lm_+;2C}LJ7+-(*BZ7O+Q8>j8%G)^8;gu9u){~$vP$gDpTu4d z&z8{++4rUiia5Qm69 z3tIY>q&JaEIf<CIze${@Q%R7_ucZxxut-k}g z$5F_(-GdWOk06sBl^TtV)9tWr)k9|l@`c&kjXgB*EoFh2R_abw{>By5J zn)#;xJWVxmnkuW`Koz|m zse5#Eqj(vr{dlj-QH#2~EB=T5_4d0BQ4jm;W4SDUSIO=tyj#t#zxnRXtX%P~nU$Z& z?bfn#z{K%|1S=HMIoWu=|NcnDh__DIMVr%#4vNO%_`_A-6iVF=;=G0SI zYU7@T1juaQuAcZwZ*6z?9uU4aH(wflf6GAli8m{2&RX8!< zJ&(QO0k7l0HI>|^K1!cY2D0?si+DqZJLaHhg$9jkwae%}6Yq7vEjCxonLQL0AFN$I zy@EjTGd(m38nB0@ZmZR<$KWj|>`Sp87k8Yn)1Sqawx6)mYe7Z*%+3?`)jstUwA~{Z`x%s>Y&F9r$zVGJpdApY1Yq7*zu6*7X<@fR@?|WIiZy@1#h5ELh{Ow*3 z_^aYOUMfB~!|Ej&yx!&qUh0qWGPmFF?0#;2USBHeHu-+)&vfLc=3|QelC?kHg_jk> zd8v}i74m(Rn_piQ|21nLagx{fALnI>Tw0Zt?7kQvXW$7oUe55(S-EroFLS;+$m$ih zpXAqdhghjl^Loj2-cFS+mtFaNRROP;+|KJOw(z<_$;+H(yxiYShIjlhgPVJTmql;$ zahJ-ax`JOX`Goh2ZOO}AxqdoKh9}ooE#&6?*FSoC_Q6A?fna=X{ zq7wP~GrUx%$n=rtEBK@+bzc$jd6Naa6xVa#J<0fK|KuMzU#*4fncvSl#P8=QdA-fkymU0?W!X4h?thq+HBIHElIeK@Qy*1MXQ;<_lO{K&6I91nh<+6mtct`45_ z22Ky-e<|I8t8hy_244lAg2oY_3jU*~c;;Hv>&cBoooqUND%iK8=g>_X9_n5F?1$#j6R}lv^{^G^3XHWd+l2> z=84$}554cIitc{#;EmbClSjFncie7>Lk5&T4}KrYhw#4y|0D4~*!37(f9m{7weHQ) zw-|oUS1jw&{x5aEnPYdTcfZo2Fnr{6XW`{NM~9W|t2{FH-X?}mE*#$w`})a!k-2;K zjGpvMyGLW5&b9p1B4N&hri){Gu3S0z(vZ6zACvRsg%{mTR?oO^XZ6zu8W)?NzIgoQ zZ&x}Kqkd|f*k*YD$csSM&ANr!-_>UJ6g@x5q)bp=nsmP}auUAhIA%D=k9_rz@j@DeN`mnft zQM}7MJK<>iS2U~ghiNCSy1!^n|D;8~?GD8M&{JP;eY@S3e0~0`Zckh=PrK{$4)?8J zJLaw@RQJ^H*?73J!Q?LKBbF%dF8@LCg>&l^%}uX7mSp|-o5WR5Hb1BNcg6nv$c*Oo zE_(J&=)O97Qknh=Ku8B<~6@I zJ~D5`+jDJ(S{$J_f~dm`)J2wVA(qM5h2FD&dj>ccIc2aX^AME#RHIzIgC-#7GF zQl#DTp!(gL9CvhnVbQ$!6Pj1Mt)3LvKD^+LmJ!jP$9J;N*;@Seq5XmPx4nAeoed)n z{9SbK^Z$PCU;CdN-D1fD-{~&)-?!|U_nRcXk*fZt!LGla?)hZJQ;T=lFHLF_i0^}@ zcShDfJ5V#N@a|8WeY^1XK>Py7+cEQ(>HCj4Gn9ASv%P8CF`BrhhVU$H!f_zd6Hw zF!x;H`Kf{MuQvX*j^_@W|Ju5zMl5K*>!B61+EgyQ8vMZdt+?@>!=1J^A73&4=H`#z z|M#}ro7_BQ(tDjgZ1HKkC#GN4KJmt-73IfY{qUY~&A-$hjX2&}6FFl>`KKwi(v}|{ z`E~go9jT){Xa~2O>%+R1LKZ~`_O;ZkCZW?*=6})!sjbv!YH7_n|zkS-koN(vofF6wd7Q!ya@lq zw&m+2uD6$eye#uY2A)Ptz%}0-NCa@?Z~9Rv%5LKQcc2ZZ>Q|>exib95_#GEeSD~JP zlQvY+hx*f}o)3KA{&e5BPVmL}L=A#Z@TjDZfQP?mP=l{;e_wp5Kf(KN;G+Uu`Urgf zv-w4_`4KDu&v$-;9y{dwqAuoFB(KMQxm2~|>z6B+tK<^w%k)pgsKpOfx7pe3d3The zYpgXFlEywqW&ZdPNv<%uBEu8v9>0kLb2k z##i89B*V`|gDIEieK-A^?U^q>G=BY#LyBif!e~JK! z-bUpBHWQIV%wzqL=A_q~54O<@PU&^Pirew7V->y!qCJ(<@ZABJ(R-yjuq$H&t`ws# zw1zwwih;n0-b^+JvmnZh#JmIFxHS^*g`#&)a{FWD9J6zdp-Cv5vM-H4>cH&mepLZ&v zdOW&DWoh!dzN`QH(7J(E6EWlQpeIREK7Mgd4s17o-3x4`P-NO|IRml=D3-0{c!>EQ zlJUGCmyT8b_XU00yu+`Le1Q9VFSp}#_;?d9=gRlnV26X~`M6wOmdjW(Z&xP6SIPBw zxt=4JCcNEkFr?d#zw|&KQDYUKuMT*-8m%?GK`;-JL7b*yYfo?Jn}~a)iSEK(x;K%% zWsW3>uF^Z-=oe{_$&h0D1c%4pu_xq_YITDa3Lfb}l7|U07R22Ik@OcY=`Lwa71Ld$ z5$PRvDqt#j{z~{>4ZfES{N010pyRA3^k+AG1&`CdpoM7)KC1USaD2Yr6F@Cm z%c-Cey&aIaK?R)YU4P?2;{yC2??*iqR)D{Akkj$X_*sElHZaNxiD3s|>!k#(6VZb3 zAWK1-QSc}qPt3?##pURF%c2Ebo|ez!Wz-=qcSpDL@-{d|VHoV?ZM-az>mzsa`sJ;> z4Af(n<@-WEoRaHJuo*@0G6xOBA08n79?U2?PNup4dXP;djo$}rL2p_t0I$&7J5^Yj z>G(HA(Y{9R=%wXMpTP^ZUZjNvK^Jh0@}NU#_JkpS z*DP_k*JAmvNicZ93xbb#T+VHzqwSCcDz7{f ze`)YtAHsrcvoEfKCgL99KklbS}@GOi>7W3f}V7Z@$5TjJd_Xbm}`OYY-PRv zZXmq6$7`G``vKcY7>y!b;kkHW()#l^nGZrqeq|Bf@m;%z|EhcYU$5W&|60GZc!63N zSVZ{qkGGQR?Rhz};9%*uz#|`SAdAX&UmrZ`+<(}_( zxhjmqTYN!oCzp#a^ZE+;{+<@RT}cC8#x>^UQMp{)jMtaP@^Xq?7Tv(>JLGb?T%MK7 zI2q3c*k~tu#Rt%3*b$D0;#*#Zny>vJzyI-GUW)kYn<5T3Zy&#&7XV-6S-z3)X9e6Z z>A?Gob*U>KhQf2$Q4TL*6fc_xj3@9B`KnNGM1KMAcmTiE6;2yDe!WdDwbzNya=Cw{ zTt)=IDUq*>c^wMCcWz5gk8k9%;d?V@cHZ{Q()BkE{rbkuPn>QPP;VSiZxT>PygYE; zwDI(p`sBY4cqM%;{7?V<)i~H#5kpaK*&9W9^_lQ5g{CCy?W+$Hpf4%v4P~pk1ZeMI z_VG&nuNEp|H# z@|Y&G=z#nAzU$znRtMNaipc^!m{9W%%qI&yv9>$s!wfl3D)e`JH-3GoT#6Yizm;EK zDVKZXQpo2jJa9{TZ7u#bxNlh@w^Ia+vsla9FHe@stH3`h-xu&J<$hxPQ}TVG4@KTw z9Wbs+&&OLVmm%#>DsMN;z{{0#Dd-U@-z@O?ScWg~6{Vm@Ce|^B$&5EL6|ku!|D$#b zk^=I*1M^w_t54k0fk|Tyd?(6QaDRL%

Bl&>CN1E+RhK0ZmKug@O{D|kQZOCQQt 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 2) then - MessageBox(Handle, PWideChar(ErrStr), 'Disconnected', mb_Ok or mb_IconError); - - Reg := TRegistry.Create; - Reg.RootKey := HKEY_LOCAL_MACHINE; - - if Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', True) then - begin - try - Reg.WriteInteger('SecurityLayer', SecurityLayer); - Reg.WriteInteger('UserAuthentication', UserAuthentication); - except - - end; - Reg.CloseKey; - end; - - Reg.Free; - - Halt(0); -end; - -end. diff --git a/src-rdpcheck/RDP.ico b/src-rdpcheck/RDP.ico deleted file mode 100644 index 05a7b71c7617208dc42ef1260388e5c90ed9f1b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164466 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

1CO_{WA69zpq6#dkPsVX~k;`6d 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

>NmGUz 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 z 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 - - {90AE83F6-26B8-45D4-92FE-CF4ACCDE9F68} - 12.0 - RDPCheck.dpr - Release - DCC32 - - - true - - - true - Base - true - - - true - Base - true - - - ..\bin\ - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias) - ..\bin\RDPCheck.exe - 00400000 - x86 - - - false - RELEASE;$(DCC_Define) - 0 - false - - - DEBUG;$(DCC_Define) - - - - MainSource - - -

Frm - - - Base - - - Cfg_1 - Base - - - Cfg_2 - Base - - - - - Delphi.Personality.12 - - - - - False - True - False - - - True - False - 2 - 2 - 0 - 0 - False - False - False - False - False - 1033 - 1252 - - - Stas'M Corp. - Local RDP Checker - 2.2.0.0 - RDPCheck - Copyright © Stas'M Corp. 2015 - Stas'M Corp. - RDPCheck.exe - RDP Host Support - 1.6.0.0 - http://stascorp.com - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - RDPCheck.dpr - - - - 12 - - diff --git a/src-rdpcheck/RDPCheck.res b/src-rdpcheck/RDPCheck.res deleted file mode 100644 index 724bf2e49b8575375979394306a4c163414ee2e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165720 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
    Lg$-K3vlGnF4 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%0Ail_&Vc*~mj854q+ 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 OUg_> 0 then - Result := Str; -end; - -function DisableWowRedirection: Boolean; -type - TFunc = function(var Wow64FsEnableRedirection: LongBool): LongBool; stdcall; -var - hModule: THandle; - Wow64DisableWow64FsRedirection: TFunc; -begin - Result := False; - hModule := GetModuleHandle(kernel32); - if hModule <> 0 then - Wow64DisableWow64FsRedirection := GetProcAddress(hModule, 'Wow64DisableWow64FsRedirection') - else - Exit; - if @Wow64DisableWow64FsRedirection <> nil then - Result := Wow64DisableWow64FsRedirection(OldWow64RedirectionValue); -end; - -function RevertWowRedirection: Boolean; -type - TFunc = function(var Wow64RevertWow64FsRedirection: LongBool): LongBool; stdcall; -var - hModule: THandle; - Wow64RevertWow64FsRedirection: TFunc; -begin - Result := False; - hModule := GetModuleHandle(kernel32); - if hModule <> 0 then - Wow64RevertWow64FsRedirection := GetProcAddress(hModule, 'Wow64RevertWow64FsRedirection') - else - Exit; - if @Wow64RevertWow64FsRedirection <> nil then - Result := Wow64RevertWow64FsRedirection(OldWow64RedirectionValue); -end; - -function GetFileVersion(const FileName: TFileName; var FileVersion: FILE_VERSION): Boolean; -type - VS_VERSIONINFO = record - wLength, wValueLength, wType: Word; - szKey: Array[1..16] of WideChar; - Padding1: Word; - Value: VS_FIXEDFILEINFO; - Padding2, Children: Word; - end; - PVS_VERSIONINFO = ^VS_VERSIONINFO; -const - VFF_DEBUG = 1; - VFF_PRERELEASE = 2; - VFF_PRIVATE = 8; - VFF_SPECIAL = 32; -var - hFile: HMODULE; - hResourceInfo: HRSRC; - VersionInfo: PVS_VERSIONINFO; -begin - Result := False; - - hFile := LoadLibraryEx(PWideChar(FileName), 0, LOAD_LIBRARY_AS_DATAFILE); - if hFile = 0 then - Exit; - - hResourceInfo := FindResource(hFile, PWideChar(1), PWideChar($10)); - if hResourceInfo = 0 then - Exit; - - VersionInfo := Pointer(LoadResource(hFile, hResourceInfo)); - if VersionInfo = nil then - Exit; - - FileVersion.Version.dw := VersionInfo.Value.dwFileVersionMS; - FileVersion.Release := Word(VersionInfo.Value.dwFileVersionLS shr 16); - FileVersion.Build := Word(VersionInfo.Value.dwFileVersionLS); - FileVersion.bDebug := (VersionInfo.Value.dwFileFlags and VFF_DEBUG) = VFF_DEBUG; - FileVersion.bPrerelease := (VersionInfo.Value.dwFileFlags and VFF_PRERELEASE) = VFF_PRERELEASE; - FileVersion.bPrivate := (VersionInfo.Value.dwFileFlags and VFF_PRIVATE) = VFF_PRIVATE; - FileVersion.bSpecial := (VersionInfo.Value.dwFileFlags and VFF_SPECIAL) = VFF_SPECIAL; - - FreeLibrary(hFile); - Result := True; -end; - -function IsWrapperInstalled(var WrapperPath: String): ShortInt; -var - TermServiceHost, - TermServicePath: String; - Reg: TRegistry; -begin - Result := -1; - WrapperPath := ''; - Reg := TRegistry.Create; - Reg.RootKey := HKEY_LOCAL_MACHINE; - if not Reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Services\TermService') then begin - Reg.Free; - Exit; - end; - TermServiceHost := Reg.ReadString('ImagePath'); - Reg.CloseKey; - if Pos('svchost.exe', LowerCase(TermServiceHost)) = 0 then - begin - Result := 2; - Reg.Free; - Exit; - end; - if not Reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Services\TermService\Parameters') then - begin - Reg.Free; - Exit; - end; - TermServicePath := Reg.ReadString('ServiceDll'); - Reg.CloseKey; - Reg.Free; - if (Pos('termsrv.dll', LowerCase(TermServicePath)) = 0) - and (Pos('rdpwrap.dll', LowerCase(TermServicePath)) = 0) then - begin - Result := 2; - Exit; - end; - - if Pos('rdpwrap.dll', LowerCase(TermServicePath)) > 0 then begin - WrapperPath := TermServicePath; - Result := 1; - end else - Result := 0; -end; - -function GetTermSrvState: ShortInt; -type - SERVICE_STATUS_PROCESS = record - dwServiceType, - dwCurrentState, - dwControlsAccepted, - dwWin32ExitCode, - dwServiceSpecificExitCode, - dwCheckPoint, - dwWaitHint, - dwProcessId, - dwServiceFlags: DWORD; - end; - PSERVICE_STATUS_PROCESS = ^SERVICE_STATUS_PROCESS; -const - SvcName = 'TermService'; -var - hSC: SC_HANDLE; - hSvc: THandle; - lpServiceStatusProcess: PSERVICE_STATUS_PROCESS; - Buf: Pointer; - cbBufSize, pcbBytesNeeded: Cardinal; -begin - Result := -1; - hSC := OpenSCManager(nil, SERVICES_ACTIVE_DATABASE, SC_MANAGER_CONNECT); - if hSC = 0 then - Exit; - - hSvc := OpenService(hSC, PWideChar(SvcName), SERVICE_QUERY_STATUS); - if hSvc = 0 then - begin - CloseServiceHandle(hSC); - Exit; - end; - - if QueryServiceStatusEx(hSvc, SC_STATUS_PROCESS_INFO, nil, 0, pcbBytesNeeded) then - Exit; - - cbBufSize := pcbBytesNeeded; - GetMem(Buf, cbBufSize); - - if not QueryServiceStatusEx(hSvc, SC_STATUS_PROCESS_INFO, Buf, cbBufSize, pcbBytesNeeded) then begin - FreeMem(Buf, cbBufSize); - CloseServiceHandle(hSvc); - CloseServiceHandle(hSC); - Exit; - end else begin - lpServiceStatusProcess := Buf; - Result := ShortInt(lpServiceStatusProcess^.dwCurrentState); - end; - FreeMem(Buf, cbBufSize); - CloseServiceHandle(hSvc); - CloseServiceHandle(hSC); -end; - -function IsListenerWorking: Boolean; -var - pCount: DWORD; - SessionInfo: PWTS_SESSION_INFOW; - I: Integer; -begin - Result := False; - if not WinStationEnumerateW(0, SessionInfo, pCount) then - Exit; - for I := 0 to pCount - 1 do - if SessionInfo^[I].Name = 'RDP-Tcp' then begin - Result := True; - Break; - end; - WinStationFreeMemory(SessionInfo); -end; - -function ExtractResText(ResName: String): String; -var - ResStream: TResourceStream; - Str: TStringList; -begin - ResStream := TResourceStream.Create(HInstance, ResName, RT_RCDATA); - Str := TStringList.Create; - try - Str.LoadFromStream(ResStream); - except - - end; - ResStream.Free; - Result := Str.Text; - Str.Free; -end; - -function TMainForm.ExecWait(Cmdline: String): Boolean; -var - si: STARTUPINFO; - pi: PROCESS_INFORMATION; -begin - Result := False; - ZeroMemory(@si, sizeof(si)); - si.cb := sizeof(si); - si.dwFlags := STARTF_USESHOWWINDOW; - si.wShowWindow := SW_HIDE; - UniqueString(Cmdline); - if not CreateProcess(nil, PWideChar(Cmdline), nil, nil, True, 0, nil, nil, si, pi) then begin - MessageBox(Handle, - PWideChar('CreateProcess error (code: ' + IntToStr(GetLastError) + ').'), - 'Error', MB_ICONERROR or MB_OK); - Exit; - end; - CloseHandle(pi.hThread); - WaitForSingleObject(pi.hProcess, INFINITE); - CloseHandle(pi.hProcess); - Result := True; -end; - -procedure TMainForm.ReadSettings; -var - Reg: TRegistry; - SecurityLayer, UserAuthentication: Integer; -begin - Reg := TRegistry.Create; - Reg.RootKey := HKEY_LOCAL_MACHINE; - Reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Control\Terminal Server'); - try - cbAllowTSConnections.Checked := not Reg.ReadBool('fDenyTSConnections'); - except - - end; - try - cbSingleSessionPerUser.Checked := Reg.ReadBool('fSingleSessionPerUser'); - except - - end; - try - cbCustomPrg.Checked := Reg.ReadBool('HonorLegacySettings'); - except - - end; - Reg.CloseKey; - - Reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp'); - seRDPPort.Value := 3389; - try - seRDPPort.Value := Reg.ReadInteger('PortNumber'); - except - - end; - OldPort := seRDPPort.Value; - SecurityLayer := 0; - UserAuthentication := 0; - try - SecurityLayer := Reg.ReadInteger('SecurityLayer'); - UserAuthentication := Reg.ReadInteger('UserAuthentication'); - except - - end; - if (SecurityLayer = 0) and (UserAuthentication = 0) then - rgNLA.ItemIndex := 0; - if (SecurityLayer = 1) and (UserAuthentication = 0) then - rgNLA.ItemIndex := 1; - if (SecurityLayer = 2) and (UserAuthentication = 1) then - rgNLA.ItemIndex := 2; - try - rgShadow.ItemIndex := Reg.ReadInteger('Shadow'); - except - - end; - Reg.CloseKey; - Reg.OpenKeyReadOnly('\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'); - try - cbHideUsers.Checked := Reg.ReadBool('dontdisplaylastusername'); - except - - end; - Reg.CloseKey; - Reg.Free; -end; - -procedure TMainForm.WriteSettings; -var - Reg: TRegistry; - SecurityLayer, UserAuthentication: Integer; -begin - Reg := TRegistry.Create; - Reg.RootKey := HKEY_LOCAL_MACHINE; - Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server', True); - try - Reg.WriteBool('fDenyTSConnections', not cbAllowTSConnections.Checked); - except - - end; - try - Reg.WriteBool('fSingleSessionPerUser', cbSingleSessionPerUser.Checked); - except - - end; - try - Reg.WriteBool('HonorLegacySettings', cbCustomPrg.Checked); - except - - end; - Reg.CloseKey; - - Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', True); - try - Reg.WriteInteger('PortNumber', seRDPPort.Value); - except - - end; - if OldPort <> seRDPPort.Value then - begin - OldPort := seRDPPort.Value; - ExecWait('netsh advfirewall firewall set rule name="Remote Desktop" new localport=' + IntToStr(OldPort)); - end; - case rgNLA.ItemIndex of - 0: begin - SecurityLayer := 0; - UserAuthentication := 0; - end; - 1: begin - SecurityLayer := 1; - UserAuthentication := 0; - end; - 2: begin - SecurityLayer := 2; - UserAuthentication := 1; - end; - else begin - SecurityLayer := -1; - UserAuthentication := -1; - end; - end; - if SecurityLayer >= 0 then begin - try - Reg.WriteInteger('SecurityLayer', SecurityLayer); - Reg.WriteInteger('UserAuthentication', UserAuthentication); - except - - end; - end; - if rgShadow.ItemIndex >= 0 then begin - try - Reg.WriteInteger('Shadow', rgShadow.ItemIndex); - except - - end; - end; - Reg.CloseKey; - Reg.OpenKey('\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services', True); - if rgShadow.ItemIndex >= 0 then begin - try - Reg.WriteInteger('Shadow', rgShadow.ItemIndex); - except - - end; - end; - Reg.CloseKey; - Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System', True); - try - Reg.WriteBool('dontdisplaylastusername', cbHideUsers.Checked); - except - - end; - Reg.CloseKey; - Reg.Free; -end; - -function CheckSupport(FV: FILE_VERSION): Byte; -var - VerTxt: String; -begin - Result := 0; - if (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 0) then - Result := 1; - if (FV.Version.w.Major = 6) and (FV.Version.w.Minor = 1) then - Result := 1; - VerTxt := Format('%d.%d.%d.%d', - [FV.Version.w.Major, FV.Version.w.Minor, FV.Release, FV.Build]); - if Pos('[' + VerTxt + ']', INI) > 0 then - Result := 2; -end; - -procedure TMainForm.TimerTimer(Sender: TObject); -var - WrapperPath, INIPath: String; - FV: FILE_VERSION; - L: TStringList; - CheckSupp: Boolean; -begin - CheckSupp := False; - case IsWrapperInstalled(WrapperPath) of - -1: begin - lsWrapper.Caption := 'Unknown'; - lsWrapper.Font.Color := clGrayText; - end; - 0: begin - lsWrapper.Caption := 'Not installed'; - lsWrapper.Font.Color := clGrayText; - end; - 1: begin - lsWrapper.Caption := 'Installed'; - lsWrapper.Font.Color := clGreen; - CheckSupp := True; - INIPath := ExtractFilePath(ExpandPath(WrapperPath)) + 'rdpwrap.ini'; - if not FileExists(INIPath) then - CheckSupp := False; - end; - 2: begin - lsWrapper.Caption := '3rd-party'; - lsWrapper.Font.Color := clRed; - end; - end; - case GetTermSrvState of - -1, 0: begin - lsService.Caption := 'Unknown'; - lsService.Font.Color := clGrayText; - end; - SERVICE_STOPPED: begin - lsService.Caption := 'Stopped'; - lsService.Font.Color := clRed; - end; - SERVICE_START_PENDING: begin - lsService.Caption := 'Starting...'; - lsService.Font.Color := clGrayText; - end; - SERVICE_STOP_PENDING: begin - lsService.Caption := 'Stopping...'; - lsService.Font.Color := clGrayText; - end; - SERVICE_RUNNING: begin - lsService.Caption := 'Running'; - lsService.Font.Color := clGreen; - end; - SERVICE_CONTINUE_PENDING: begin - lsService.Caption := 'Resuming...'; - lsService.Font.Color := clGrayText; - end; - SERVICE_PAUSE_PENDING: begin - lsService.Caption := 'Suspending...'; - lsService.Font.Color := clGrayText; - end; - SERVICE_PAUSED: begin - lsService.Caption := 'Suspended'; - lsService.Font.Color := clWindowText; - end; - end; - if IsListenerWorking then begin - lsListener.Caption := 'Listening'; - lsListener.Font.Color := clGreen; - end else begin - lsListener.Caption := 'Not listening'; - lsListener.Font.Color := clRed; - end; - if WrapperPath = '' then begin - lsWrapVer.Caption := 'N/A'; - lsWrapVer.Font.Color := clGrayText; - end else - if not GetFileVersion(ExpandPath(WrapperPath), FV) then begin - lsWrapVer.Caption := 'N/A'; - lsWrapVer.Font.Color := clGrayText; - end else begin - lsWrapVer.Caption := - IntToStr(FV.Version.w.Major)+'.'+ - IntToStr(FV.Version.w.Minor)+'.'+ - IntToStr(FV.Release)+'.'+ - IntToStr(FV.Build); - lsWrapVer.Font.Color := clWindowText; - end; - if not GetFileVersion('termsrv.dll', FV) then begin - lsTSVer.Caption := 'N/A'; - lsTSVer.Font.Color := clGrayText; - end else begin - lsTSVer.Caption := - IntToStr(FV.Version.w.Major)+'.'+ - IntToStr(FV.Version.w.Minor)+'.'+ - IntToStr(FV.Release)+'.'+ - IntToStr(FV.Build); - lsTSVer.Font.Color := clWindowText; - lsSuppVer.Visible := CheckSupp; - if CheckSupp then begin - if INI = '' then begin - L := TStringList.Create; - try - L.LoadFromFile(INIPath); - except - - end; - INI := L.Text; - L.Free; - end; - case CheckSupport(FV) of - 0: begin - lsSuppVer.Caption := '[not supported]'; - lsSuppVer.Font.Color := clRed; - end; - 1: begin - lsSuppVer.Caption := '[supported partially]'; - lsSuppVer.Font.Color := clOlive; - end; - 2: begin - lsSuppVer.Caption := '[fully supported]'; - lsSuppVer.Font.Color := clGreen; - end; - end; - end; - end; -end; - -procedure TMainForm.bLicenseClick(Sender: TObject); -begin - LicenseForm.mText.Text := ExtractResText('LICENSE'); - if LicenseForm.ShowModal <> mrOk then - Halt(0); -end; - -procedure TMainForm.cbAllowTSConnectionsClick(Sender: TObject); -begin - if Ready then - bApply.Enabled := True; -end; - -procedure TMainForm.seRDPPortChange(Sender: TObject); -begin - if Ready then - bApply.Enabled := True; -end; - -procedure TMainForm.FormCreate(Sender: TObject); -var - SI: TSystemInfo; -begin - GetNativeSystemInfo(SI); - case SI.wProcessorArchitecture of - 0: Arch := 32; - 6: Arch := 64; // Itanium-based x64 - 9: Arch := 64; // Intel/AMD x64 - else Arch := 0; - end; - if Arch = 64 then - DisableWowRedirection; - ReadSettings; - Ready := True; -end; - -procedure TMainForm.FormDestroy(Sender: TObject); -begin - if Arch = 64 then - RevertWowRedirection; -end; - -procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); -begin - if bApply.Enabled then - CanClose := MessageBox(Handle, 'Settings are not saved. Do you want to exit?', - 'Warning', mb_IconWarning or mb_YesNo) = mrYes; -end; - -procedure TMainForm.bOKClick(Sender: TObject); -begin - if bApply.Enabled then begin - WriteSettings; - bApply.Enabled := False; - end; - Close; -end; - -procedure TMainForm.bCancelClick(Sender: TObject); -begin - Close; -end; - -procedure TMainForm.bApplyClick(Sender: TObject); -begin - WriteSettings; - bApply.Enabled := False; -end; - -end. diff --git a/src-rdpconfig/RDPConf.dpr b/src-rdpconfig/RDPConf.dpr deleted file mode 100644 index 3fd645f..0000000 --- a/src-rdpconfig/RDPConf.dpr +++ /dev/null @@ -1,33 +0,0 @@ -{ - Copyright 2014 Stas'M Corp. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -} - -program RDPConf; - -uses - Forms, - MainUnit in 'MainUnit.pas' {MainForm}, - LicenseUnit in 'LicenseUnit.pas' {LicenseForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.Title := 'Remote Desktop Protocol Configuration'; - Application.CreateForm(TMainForm, MainForm); - Application.CreateForm(TLicenseForm, LicenseForm); - Application.Run; -end. diff --git a/src-rdpconfig/RDPConf.dproj b/src-rdpconfig/RDPConf.dproj deleted file mode 100644 index aa9ab96..0000000 --- a/src-rdpconfig/RDPConf.dproj +++ /dev/null @@ -1,111 +0,0 @@ - - - {A7CB4C30-85F5-4D96-B510-6F0CDCF7C2DA} - 12.0 - RDPConf.dpr - Debug - DCC32 - - - true - - - true - Base - true - - - true - Base - true - - - ..\bin\ - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias) - ..\bin\RDPConf.exe - 00400000 - x86 - - - false - RELEASE;$(DCC_Define) - 0 - false - - - DEBUG;$(DCC_Define) - - - - MainSource - - -
    MainForm
    -
    - -
    LicenseForm
    -
    - - Base - - - Cfg_1 - Base - - - Cfg_2 - Base - -
    - - - Delphi.Personality.12 - - - - - RDPConf.dpr - - - False - True - False - - - False - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1033 - 1252 - - - Stas'M Corp. - RDP Configuration Program - 1.0.0.0 - RDPConf - Copyright © Stas'M Corp. 2014 - Stas'M Corp. - RDPConf.exe - RDP Host Support - 1.4.0.0 - http://stascorp.com - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - 12 - -
    diff --git a/src-rdpconfig/RDPConf.res b/src-rdpconfig/RDPConf.res deleted file mode 100644 index f987dd94f4ec82feef4055d7658181c0a5b91acf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165700 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
      Lg$-K3vlGnF4 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%0Ail_&Vc*~mj854q+ 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 diff --git a/src-x86-binarymaster/LiteINI.pas b/src-x86-binarymaster/LiteINI.pas deleted file mode 100644 index 08d144d..0000000 --- a/src-x86-binarymaster/LiteINI.pas +++ /dev/null @@ -1,375 +0,0 @@ -{ - Copyright 2014 Stas'M Corp. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -} - -unit LiteINI; - -interface - -uses - SysUtils; - -type - SList = Array of String; - INIValue = record - Name: String; - Value: String; - end; - INISection = record - Name: String; - Values: Array of INIValue; - end; - INIFile = Array of INISection; - -procedure SListClear(var List: SList); -function SListAppend(var List: SList; S: String): Integer; -function SListFind(List: SList; Value: String): Integer; -function INIFindSection(INI: INIFile; Section: String): Integer; -function INIFindValue(INI: INIFile; Section: Integer; Value: String): Integer; -function INIAddSection(var INI: INIFile; Section: String): Integer; -function INIAddValue(var INI: INIFile; Section: Integer; ValueName, Value: String): Integer; -procedure INIUnload(var INI: INIFile); -procedure INILoad(var INI: INIFile; FileName: String); -function INISectionExists(INI: INIFile; Section: String): Boolean; -function INIValueExists(INI: INIFile; Section: String; Value: String): Boolean; -function INIReadSectionLowAPI(INI: INIFile; Section: Integer; var List: SList): Boolean; -function INIReadSection(INI: INIFile; Section: String): SList; -function INIReadStringLowAPI(INI: INIFile; Section, Value: Integer; var Str: String): Boolean; -function INIReadString(INI: INIFile; Section, Value, Default: String): String; -function INIReadInt(INI: INIFile; Section, Value: String; Default: Integer): Integer; -function INIReadDWord(INI: INIFile; Section, Value: String; Default: Cardinal): Cardinal; -function INIReadIntHex(INI: INIFile; Section, Value: String; Default: Integer): Integer; -function INIReadDWordHex(INI: INIFile; Section, Value: String; Default: Cardinal): Cardinal; -function INIReadBool(INI: INIFile; Section, Value: String; Default: Boolean): Boolean; -function INIReadBytes(INI: INIFile; Section, Value: String): TBytes; -function INIReadBytesDef(INI: INIFile; Section, Value: String; Default: TBytes): TBytes; - -implementation - -procedure SListClear(var List: SList); -begin - SetLength(List, 0); -end; - -function SListAppend(var List: SList; S: String): Integer; -begin - SetLength(List, Length(List) + 1); - List[Length(List) - 1] := S; - Result := Length(List) - 1; -end; - -function SListFind(List: SList; Value: String): Integer; -var - I: Integer; -begin - Result := -1; - for I := 0 to Length(List) - 1 do - if List[I] = Value then begin - Result := I; - Break; - end; -end; - -function INIFindSection(INI: INIFile; Section: String): Integer; -var - I: Integer; -begin - Result := -1; - for I := 0 to Length(INI) - 1 do - if INI[I].Name = Section then begin - Result := I; - Exit; - end; -end; - -function INIFindValue(INI: INIFile; Section: Integer; Value: String): Integer; -var - I: Integer; -begin - Result := -1; - if (Section < 0) or (Section >= Length(INI)) then - Exit; - for I := 0 to Length(INI[Section].Values) - 1 do - if INI[Section].Values[I].Name = Value then begin - Result := I; - Exit; - end; -end; - -function INIAddSection(var INI: INIFile; Section: String): Integer; -begin - Result := INIFindSection(INI, Section); - if Result >= 0 then - Exit; - Result := Length(INI); - SetLength(INI, Result + 1); - INI[Result].Name := Section; - SetLength(INI[Result].Values, 0); -end; - -function INIAddValue(var INI: INIFile; Section: Integer; ValueName, Value: String): Integer; -var - I: Integer; -begin - Result := -1; - if (Section < 0) or (Section >= Length(INI)) then - Exit; - I := INIFindValue(INI, Section, ValueName); - if I = -1 then begin - Result := Length(INI[Section].Values); - SetLength(INI[Section].Values, Result + 1); - INI[Section].Values[Result].Name := ValueName; - INI[Section].Values[Result].Value := Value; - end else begin - INI[Section].Values[I].Value := Value; - Result := I; - end; -end; - -procedure INIUnload(var INI: INIFile); -begin - SetLength(INI, 0); -end; - -procedure INILoad(var INI: INIFile; FileName: String); -var - F: TextFile; - S, ValueName, Value: String; - INIList: SList; - I, Sect: Integer; -begin - INIUnload(INI); - if not FileExists(FileName) then - Exit; - AssignFile(F, FileName); - Reset(F); - // Read and filter lines - while not EOF(F) do begin - Readln(F, S); - if (Pos(';', S) <> 1) - and (Pos('#', S) <> 1) - and ( - ((Pos('[', S) > 0) and (Pos(']', S) > 0)) or - (Pos('=', S) > 0) - ) - then - SListAppend(INIList, S); - end; - CloseFile(F); - // Parse 2 (parse format) - Sect := -1; - for I := 0 to Length(INIList) - 1 do begin - S := Trim(INIList[I]); - if Length(S) >= 2 then - if (S[1] = '[') and (S[Length(S)] = ']') then begin - S := Trim(Copy(S, 2, Length(S) - 2)); - Sect := INIAddSection(INI, S); - Continue; - end; - S := INIList[I]; - if Pos('=', S) > 0 then begin - ValueName := Trim(Copy(S, 1, Pos('=', S) - 1)); - Value := Copy(S, Pos('=', S) + 1, Length(S) - Pos('=', S)); - if Sect = -1 then - Sect := INIAddSection(INI, ''); - INIAddValue(INI, Sect, ValueName, Value); - end; - end; -end; - -function INISectionExists(INI: INIFile; Section: String): Boolean; -begin - Result := INIFindSection(INI, Section) > -1; -end; - -function INIValueExists(INI: INIFile; Section: String; Value: String): Boolean; -var - Sect: Integer; -begin - Sect := INIFindSection(INI, Section); - Result := INIFindValue(INI, Sect, Value) > -1; -end; - -function INIReadSectionLowAPI(INI: INIFile; Section: Integer; var List: SList): Boolean; -var - I: Integer; -begin - Result := False; - SetLength(List, 0); - if (Section < 0) or (Section >= Length(INI)) then - Exit; - for I := 0 to Length(INI[Section].Values) - 1 do - SListAppend(List, INI[Section].Values[I].Name); - Result := True; -end; - -function INIReadSection(INI: INIFile; Section: String): SList; -var - Sect: Integer; -begin - Sect := INIFindSection(INI, Section); - INIReadSectionLowAPI(INI, Sect, Result); -end; - -function INIReadStringLowAPI(INI: INIFile; Section, Value: Integer; var Str: String): Boolean; -begin - Result := False; - if (Section < 0) or (Section >= Length(INI)) then - Exit; - if (Value < 0) or (Value >= Length(INI[Section].Values)) then - Exit; - Str := INI[Section].Values[Value].Value; - Result := True; -end; - -function INIReadString(INI: INIFile; Section, Value, Default: String): String; -var - Sect, Val: Integer; -begin - Sect := INIFindSection(INI, Section); - Val := INIFindValue(INI, Sect, Value); - if not INIReadStringLowAPI(INI, Sect, Val, Result) then - Result := Default; -end; - -function INIReadInt(INI: INIFile; Section, Value: String; Default: Integer): Integer; -var - S: String; - E: Integer; -begin - S := INIReadString(INI, Section, Value, ''); - Val(S, Result, E); - if E <> 0 then - Result := Default; -end; - -function INIReadDWord(INI: INIFile; Section, Value: String; Default: Cardinal): Cardinal; -var - S: String; - E: Integer; -begin - S := INIReadString(INI, Section, Value, ''); - Val(S, Result, E); - if E <> 0 then - Result := Default; -end; - -function INIReadIntHex(INI: INIFile; Section, Value: String; Default: Integer): Integer; -var - S: String; - E: Integer; -begin - S := INIReadString(INI, Section, Value, ''); - Val('$'+S, Result, E); - if E <> 0 then - Result := Default; -end; - -function INIReadDWordHex(INI: INIFile; Section, Value: String; Default: Cardinal): Cardinal; -var - S: String; - E: Integer; -begin - S := INIReadString(INI, Section, Value, ''); - Val('$'+S, Result, E); - if E <> 0 then - Result := Default; -end; - -function INIReadBool(INI: INIFile; Section, Value: String; Default: Boolean): Boolean; -var - S: String; - I: Cardinal; - E: Integer; -begin - S := INIReadString(INI, Section, Value, ''); - Val(S, I, E); - if E <> 0 then - Result := Default - else - Result := I > 0; -end; - -function StringToBytes(S: String; var B: TBytes): Boolean; -var - I: Integer; -begin - Result := False; - if Odd(Length(S)) then - Exit; - SetLength(B, Length(S) div 2); - for I := 0 to Length(B) - 1 do begin - B[I] := 0; - case S[(I*2)+2] of - '0': ; - '1': B[I] := B[I] or $1; - '2': B[I] := B[I] or $2; - '3': B[I] := B[I] or $3; - '4': B[I] := B[I] or $4; - '5': B[I] := B[I] or $5; - '6': B[I] := B[I] or $6; - '7': B[I] := B[I] or $7; - '8': B[I] := B[I] or $8; - '9': B[I] := B[I] or $9; - 'A','a': B[I] := B[I] or $A; - 'B','b': B[I] := B[I] or $B; - 'C','c': B[I] := B[I] or $C; - 'D','d': B[I] := B[I] or $D; - 'E','e': B[I] := B[I] or $E; - 'F','f': B[I] := B[I] or $F; - else Exit; - end; - case S[(I*2)+1] of - '0': ; - '1': B[I] := B[I] or $10; - '2': B[I] := B[I] or $20; - '3': B[I] := B[I] or $30; - '4': B[I] := B[I] or $40; - '5': B[I] := B[I] or $50; - '6': B[I] := B[I] or $60; - '7': B[I] := B[I] or $70; - '8': B[I] := B[I] or $80; - '9': B[I] := B[I] or $90; - 'A','a': B[I] := B[I] or $A0; - 'B','b': B[I] := B[I] or $B0; - 'C','c': B[I] := B[I] or $C0; - 'D','d': B[I] := B[I] or $D0; - 'E','e': B[I] := B[I] or $E0; - 'F','f': B[I] := B[I] or $F0; - else Exit; - end; - end; - Result := True; -end; - -function INIReadBytes(INI: INIFile; Section, Value: String): TBytes; -var - S: String; -begin - S := INIReadString(INI, Section, Value, ''); - if not StringToBytes(S, Result) then - SetLength(Result, 0); -end; - -function INIReadBytesDef(INI: INIFile; Section, Value: String; Default: TBytes): TBytes; -var - S: String; -begin - S := INIReadString(INI, Section, Value, ''); - if not StringToBytes(S, Result) then - Result := Default; -end; - -end. diff --git a/src-x86-binarymaster/rdpwrap.dpr b/src-x86-binarymaster/rdpwrap.dpr deleted file mode 100644 index 38b85f6..0000000 --- a/src-x86-binarymaster/rdpwrap.dpr +++ /dev/null @@ -1,737 +0,0 @@ -{ - Copyright 2014 Stas'M Corp. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -} - -library rdpwrap; - -uses - SysUtils, - Windows, - TlHelp32, - LiteINI; - -{$R rdpwrap.res} - -// Hook core definitions - -type - OldCode = packed record - One: DWORD; - two: Word; - end; - - far_jmp = packed record - PushOp: Byte; - PushArg: Pointer; - RetOp: Byte; - end; - - mov_far_jmp = packed record - MovOp: Byte; - MovArg: Byte; - PushOp: Byte; - PushArg: Pointer; - RetOp: Byte; - end; - - TTHREADENTRY32 = packed record - dwSize: DWORD; - cntUsage: DWORD; - th32ThreadID: DWORD; - th32OwnerProcessID: DWORD; - tpBasePri: LongInt; - tpDeltaPri: LongInt; - dwFlags: DWORD; - end; - //IntArray = Array of Integer; - FILE_VERSION = record - Version: record case Boolean of - True: (dw: DWORD); - False: (w: record - Minor, Major: Word; - end;) - end; - Release, Build: Word; - bDebug, bPrerelease, bPrivate, bSpecial: Boolean; - end; - -const - THREAD_SUSPEND_RESUME = 2; - TH32CS_SNAPTHREAD = 4; -var - INI: INIFile; - LogFile: String = '\rdpwrap.txt'; - bw: {$if CompilerVersion>=16} NativeUInt {$else} DWORD {$endif}; - IsHooked: Boolean = False; - -// Unhooked import - -function OpenThread(dwDesiredAccess: DWORD; bInheritHandle: BOOL; - dwThreadId: DWORD): DWORD; stdcall; external kernel32; - -function CreateToolhelp32Snapshot(dwFlags, th32ProcessID: DWORD): DWORD; - stdcall; external kernel32; - -function Thread32First(hSnapshot: THandle; var lpte: TTHREADENTRY32): bool; - stdcall; external kernel32; - -function Thread32Next(hSnapshot: THandle; var lpte: TTHREADENTRY32): bool; - stdcall; external kernel32; - -// Wrapped import - -var - TSMain: function(dwArgc: DWORD; lpszArgv: PWideChar): DWORD; stdcall; - TSGlobals: function(lpGlobalData: Pointer): DWORD; stdcall; - -// Hooked import and vars - -var - SLGetWindowsInformationDWORD: function(pwszValueName: PWideChar; - pdwValue: PDWORD): HRESULT; stdcall; - TermSrvBase: Pointer; - FV: FILE_VERSION; - -var - Stub_SLGetWindowsInformationDWORD: far_jmp; - Old_SLGetWindowsInformationDWORD: OldCode; - -// Main code - -procedure WriteLog(S: AnsiString); -var - F: TextFile; -begin - if not FileExists(LogFile) then - Exit; - AssignFile(F, LogFile); - Append(F); - Write(F, S+#13#10); - CloseFile(F); -end; - -function GetModuleHandleEx(dwFlags: DWORD; lpModuleName: PWideChar; - var phModule: HMODULE): BOOL; stdcall; external kernel32 name 'GetModuleHandleExW'; - -function GetCurrentModule: HMODULE; -const - GET_MODULE_HANDLE_EX_FLAG_PIN = 1; - GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2; - GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4; -begin - Result := 0; - GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, @GetCurrentModule, Result); -end; - -function GetBinaryPath: String; -var - Buf: Array[0..511] of Byte; -begin - ZeroMemory(@Buf[0], Length(Buf)); - GetModuleFileName(GetCurrentModule, PWideChar(@Buf[0]), Length(Buf)); - Result := PWideChar(@Buf[0]); -end; - -procedure StopThreads; -var - h, CurrTh, ThrHandle, CurrPr: DWORD; - Thread: TTHREADENTRY32; -begin - CurrTh := GetCurrentThreadId; - CurrPr := GetCurrentProcessId; - h := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); - if h <> INVALID_HANDLE_VALUE then - begin - Thread.dwSize := SizeOf(TTHREADENTRY32); - if Thread32First(h, Thread) then - repeat - if (Thread.th32ThreadID <> CurrTh) and - (Thread.th32OwnerProcessID = CurrPr) then - begin - ThrHandle := OpenThread(THREAD_SUSPEND_RESUME, false, - Thread.th32ThreadID); - if ThrHandle > 0 then - begin - SuspendThread(ThrHandle); - CloseHandle(ThrHandle); - end; - end; - until not Thread32Next(h, Thread); - CloseHandle(h); - end; -end; - -procedure RunThreads; -var - h, CurrTh, ThrHandle, CurrPr: DWORD; - Thread: TTHREADENTRY32; -begin - CurrTh := GetCurrentThreadId; - CurrPr := GetCurrentProcessId; - h := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); - if h <> INVALID_HANDLE_VALUE then - begin - Thread.dwSize := SizeOf(TTHREADENTRY32); - if Thread32First(h, Thread) then - repeat - if (Thread.th32ThreadID <> CurrTh) and - (Thread.th32OwnerProcessID = CurrPr) then - begin - ThrHandle := OpenThread(THREAD_SUSPEND_RESUME, false, - Thread.th32ThreadID); - if ThrHandle > 0 then - begin - ResumeThread(ThrHandle); - CloseHandle(ThrHandle); - end; - end; - until not Thread32Next(h, Thread); - CloseHandle(h); - end; -end; - -function GetModuleAddress(ModuleName: String; ProcessId: DWORD; var BaseAddr: Pointer; var BaseSize: DWORD): Boolean; -var - hSnap: THandle; - md: MODULEENTRY32; -begin - Result := False; - hSnap := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessId); - if hSnap = INVALID_HANDLE_VALUE Then - Exit; - md.dwSize := SizeOf(MODULEENTRY32); - if Module32First(hSnap, md) then - begin - if LowerCase(ExtractFileName(md.szExePath)) = LowerCase(ModuleName) then - begin - Result := True; - BaseAddr := Pointer(md.modBaseAddr); - BaseSize := md.modBaseSize; - CloseHandle(hSnap); - Exit; - end; - while Module32Next(hSnap, md) Do - begin - if LowerCase(ExtractFileName(md.szExePath)) = LowerCase(ModuleName) then - begin - Result := True; - BaseAddr := Pointer(md.modBaseAddr); - BaseSize := md.modBaseSize; - Break; - end; - end; - end; - CloseHandle(hSnap); -end; - -{procedure FindMem(Mem: Pointer; MemSz: DWORD; Buf: Pointer; BufSz: DWORD; - From: DWORD; var A: IntArray); -var - I: Integer; -begin - SetLength(A, 0); - I:=From; - if From>0 then - Inc(PByte(Mem), From); - while I < MemSz - BufSz + 1 do - begin - if (not IsBadReadPtr(Mem, BufSz)) and (CompareMem(Mem, Buf, BufSz)) then - begin - SetLength(A, Length(A)+1); - A[Length(A)-1] := I; - end; - Inc(I); - Inc(PByte(Mem)); - end; -end;} - -function GetModuleVersion(const ModuleName: String; var FileVersion: FILE_VERSION): Boolean; -type - VS_VERSIONINFO = record - wLength, wValueLength, wType: Word; - szKey: Array[1..16] of WideChar; - Padding1: Word; - Value: VS_FIXEDFILEINFO; - Padding2, Children: Word; - end; - PVS_VERSIONINFO = ^VS_VERSIONINFO; -const - VFF_DEBUG = 1; - VFF_PRERELEASE = 2; - VFF_PRIVATE = 8; - VFF_SPECIAL = 32; -var - hMod: HMODULE; - hResourceInfo: HRSRC; - VersionInfo: PVS_VERSIONINFO; -begin - Result := False; - - if ModuleName = '' then - hMod := GetModuleHandle(nil) - else - hMod := GetModuleHandle(PWideChar(ModuleName)); - if hMod = 0 then - Exit; - - hResourceInfo := FindResource(hMod, PWideChar(1), PWideChar($10)); - if hResourceInfo = 0 then - Exit; - - VersionInfo := Pointer(LoadResource(hMod, hResourceInfo)); - if VersionInfo = nil then - Exit; - - FileVersion.Version.dw := VersionInfo.Value.dwFileVersionMS; - FileVersion.Release := Word(VersionInfo.Value.dwFileVersionLS shr 16); - FileVersion.Build := Word(VersionInfo.Value.dwFileVersionLS); - FileVersion.bDebug := (VersionInfo.Value.dwFileFlags and VFF_DEBUG) = VFF_DEBUG; - FileVersion.bPrerelease := (VersionInfo.Value.dwFileFlags and VFF_PRERELEASE) = VFF_PRERELEASE; - FileVersion.bPrivate := (VersionInfo.Value.dwFileFlags and VFF_PRIVATE) = VFF_PRIVATE; - FileVersion.bSpecial := (VersionInfo.Value.dwFileFlags and VFF_SPECIAL) = VFF_SPECIAL; - - Result := True; -end; - -function GetFileVersion(const FileName: String; var FileVersion: FILE_VERSION): Boolean; -type - VS_VERSIONINFO = record - wLength, wValueLength, wType: Word; - szKey: Array[1..16] of WideChar; - Padding1: Word; - Value: VS_FIXEDFILEINFO; - Padding2, Children: Word; - end; - PVS_VERSIONINFO = ^VS_VERSIONINFO; -const - VFF_DEBUG = 1; - VFF_PRERELEASE = 2; - VFF_PRIVATE = 8; - VFF_SPECIAL = 32; -var - hFile: HMODULE; - hResourceInfo: HRSRC; - VersionInfo: PVS_VERSIONINFO; -begin - Result := False; - - hFile := LoadLibraryEx(PWideChar(FileName), 0, LOAD_LIBRARY_AS_DATAFILE); - if hFile = 0 then - Exit; - - hResourceInfo := FindResource(hFile, PWideChar(1), PWideChar($10)); - if hResourceInfo = 0 then - Exit; - - VersionInfo := Pointer(LoadResource(hFile, hResourceInfo)); - if VersionInfo = nil then - Exit; - - FileVersion.Version.dw := VersionInfo.Value.dwFileVersionMS; - FileVersion.Release := Word(VersionInfo.Value.dwFileVersionLS shr 16); - FileVersion.Build := Word(VersionInfo.Value.dwFileVersionLS); - FileVersion.bDebug := (VersionInfo.Value.dwFileFlags and VFF_DEBUG) = VFF_DEBUG; - FileVersion.bPrerelease := (VersionInfo.Value.dwFileFlags and VFF_PRERELEASE) = VFF_PRERELEASE; - FileVersion.bPrivate := (VersionInfo.Value.dwFileFlags and VFF_PRIVATE) = VFF_PRIVATE; - FileVersion.bSpecial := (VersionInfo.Value.dwFileFlags and VFF_SPECIAL) = VFF_SPECIAL; - - Result := True; -end; - -function OverrideSL(ValueName: String; var Value: DWORD): Boolean; -begin - Result := True; - if INIValueExists(INI, 'SLPolicy', ValueName) then begin - Value := INIReadDWord(INI, 'SLPolicy', ValueName, 0); - Exit; - end; - Result := False; -end; - -function New_SLGetWindowsInformationDWORD(pwszValueName: PWideChar; - pdwValue: PDWORD): HRESULT; stdcall; -var - dw: DWORD; -begin - // wrapped SLGetWindowsInformationDWORD function - // termsrv.dll will call this function instead of original SLC.dll - - // Override SL Policy - - WriteLog('Policy query: ' + pwszValueName); - if OverrideSL(pwszValueName, dw) then begin - pdwValue^ := dw; - Result := S_OK; - WriteLog('Policy rewrite: ' + IntToStr(pdwValue^)); - Exit; - end; - - // If the requested value name is not defined above - - // revert to original SL Policy function - WriteProcessMemory(GetCurrentProcess, @SLGetWindowsInformationDWORD, - @Old_SLGetWindowsInformationDWORD, SizeOf(OldCode), bw); - - // get result - Result := SLGetWindowsInformationDWORD(pwszValueName, pdwValue); - if Result = S_OK then - WriteLog('Policy result: ' + IntToStr(pdwValue^)) - else - WriteLog('Policy request failed'); - // wrap it back - WriteProcessMemory(GetCurrentProcess, @SLGetWindowsInformationDWORD, - @Stub_SLGetWindowsInformationDWORD, SizeOf(far_jmp), bw); -end; - -function New_Win8SL(pwszValueName: PWideChar; pdwValue: PDWORD): HRESULT; register; -var - dw: DWORD; -begin - // wrapped unexported function SLGetWindowsInformationDWORDWrapper in termsrv.dll - // for Windows 8 support - - // Override SL Policy - - WriteLog('Policy query: ' + pwszValueName); - if OverrideSL(pwszValueName, dw) then begin - pdwValue^ := dw; - Result := S_OK; - WriteLog('Policy rewrite: ' + IntToStr(pdwValue^)); - Exit; - end; - - // If the requested value name is not defined above - // use function from SLC.dll - - Result := SLGetWindowsInformationDWORD(pwszValueName, pdwValue); - if Result = S_OK then - WriteLog('Policy result: ' + IntToStr(pdwValue^)) - else - WriteLog('Policy request failed'); -end; - -function New_Win8SL_CP(eax: DWORD; pdwValue: PDWORD; ecx: DWORD; pwszValueName: PWideChar): HRESULT; register; -begin - // wrapped unexported function SLGetWindowsInformationDWORDWrapper in termsrv.dll - // for Windows 8 Consumer Preview support - - Result := New_Win8SL(pwszValueName, pdwValue); -end; - -function New_CSLQuery_Initialize: HRESULT; stdcall; -var - Sect: String; - bServerSku, - bRemoteConnAllowed, - bFUSEnabled, - bAppServerAllowed, - bMultimonAllowed, - lMaxUserSessions, - ulMaxDebugSessions, - bInitialized: PDWORD; -begin - bServerSku := nil; - bRemoteConnAllowed := nil; - bFUSEnabled := nil; - bAppServerAllowed := nil; - bMultimonAllowed := nil; - lMaxUserSessions := nil; - ulMaxDebugSessions := nil; - bInitialized := nil; - WriteLog('>>> CSLQuery::Initialize'); - Sect := IntToStr(FV.Version.w.Major)+'.'+IntToStr(FV.Version.w.Minor)+'.'+ - IntToStr(FV.Release)+'.'+IntToStr(FV.Build)+'-SLInit'; - if INISectionExists(INI, Sect) then begin - bServerSku := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'bServerSku.x86', 0)); - bRemoteConnAllowed := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'bRemoteConnAllowed.x86', 0)); - bFUSEnabled := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'bFUSEnabled.x86', 0)); - bAppServerAllowed := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'bAppServerAllowed.x86', 0)); - bMultimonAllowed := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'bMultimonAllowed.x86', 0)); - lMaxUserSessions := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'lMaxUserSessions.x86', 0)); - ulMaxDebugSessions := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'ulMaxDebugSessions.x86', 0)); - bInitialized := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'bInitialized.x86', 0)); - end; - - if bServerSku <> nil then begin - bServerSku^ := INIReadDWord(INI, 'SLInit', 'bServerSku', 1); - WriteLog('SLInit [0x'+IntToHex(DWORD(bServerSku), 1)+'] bServerSku = ' + IntToStr(bServerSku^)); - end; - if bRemoteConnAllowed <> nil then begin - bRemoteConnAllowed^ := INIReadDWord(INI, 'SLInit', 'bRemoteConnAllowed', 1); - WriteLog('SLInit [0x'+IntToHex(DWORD(bRemoteConnAllowed), 1)+'] bRemoteConnAllowed = ' + IntToStr(bRemoteConnAllowed^)); - end; - if bFUSEnabled <> nil then begin - bFUSEnabled^ := INIReadDWord(INI, 'SLInit', 'bFUSEnabled', 1); - WriteLog('SLInit [0x'+IntToHex(DWORD(bFUSEnabled), 1)+'] bFUSEnabled = ' + IntToStr(bFUSEnabled^)); - end; - if bAppServerAllowed <> nil then begin - bAppServerAllowed^ := INIReadDWord(INI, 'SLInit', 'bAppServerAllowed', 1); - WriteLog('SLInit [0x'+IntToHex(DWORD(bAppServerAllowed), 1)+'] bAppServerAllowed = ' + IntToStr(bAppServerAllowed^)); - end; - if bMultimonAllowed <> nil then begin - bMultimonAllowed^ := INIReadDWord(INI, 'SLInit', 'bMultimonAllowed', 1); - WriteLog('SLInit [0x'+IntToHex(DWORD(bMultimonAllowed), 1)+'] bMultimonAllowed = ' + IntToStr(bMultimonAllowed^)); - end; - if lMaxUserSessions <> nil then begin - lMaxUserSessions^ := INIReadDWord(INI, 'SLInit', 'lMaxUserSessions', 0); - WriteLog('SLInit [0x'+IntToHex(DWORD(lMaxUserSessions), 1)+'] lMaxUserSessions = ' + IntToStr(lMaxUserSessions^)); - end; - if ulMaxDebugSessions <> nil then begin - ulMaxDebugSessions^ := INIReadDWord(INI, 'SLInit', 'ulMaxDebugSessions', 0); - WriteLog('SLInit [0x'+IntToHex(DWORD(ulMaxDebugSessions), 1)+'] ulMaxDebugSessions = ' + IntToStr(ulMaxDebugSessions^)); - end; - if bInitialized <> nil then begin - bInitialized^ := INIReadDWord(INI, 'SLInit', 'bInitialized', 1); - WriteLog('SLInit [0x'+IntToHex(DWORD(bInitialized), 1)+'] bInitialized = ' + IntToStr(bInitialized^)); - end; - Result := S_OK; - WriteLog('<<< CSLQuery::Initialize'); -end; - -procedure HookFunctions; -var - ConfigFile, Sect, FuncName: String; - V: DWORD; - TS_Handle, SLC_Handle: THandle; - TermSrvSize: DWORD; - SignPtr: Pointer; - I: Integer; - PatchList: SList; - Patch: Array of TBytes; - Jump: far_jmp; - MovJump: mov_far_jmp; -begin - { hook function ^^ - (called once) } - IsHooked := True; - TSMain := nil; - TSGlobals := nil; - SLGetWindowsInformationDWORD := nil; - - WriteLog('Loading configuration...'); - ConfigFile := ExtractFilePath(GetBinaryPath) + 'rdpwrap.ini'; - WriteLog('Configuration file: ' + ConfigFile); - INILoad(INI, ConfigFile); - if Length(INI) = 0 then begin - WriteLog('Error: Failed to load configuration'); - Exit; - end; - - LogFile := INIReadString(INI, 'Main', 'LogFile', ExtractFilePath(GetBinaryPath) + 'rdpwrap.txt'); - WriteLog('Initializing RDP Wrapper...'); - - // load termsrv.dll and get functions - TS_Handle := LoadLibrary('termsrv.dll'); - if TS_Handle = 0 then begin - WriteLog('Error: Failed to load Terminal Services library'); - Exit; - end; - TSMain := GetProcAddress(TS_Handle, 'ServiceMain'); - TSGlobals := GetProcAddress(TS_Handle, 'SvchostPushServiceGlobals'); - WriteLog( - 'Base addr: 0x' + IntToHex(TS_Handle, 8) + #13#10 + - 'SvcMain: termsrv.dll+0x' + IntToHex(Cardinal(@TSMain) - TS_Handle, 1) + #13#10 + - 'SvcGlobals: termsrv.dll+0x' + IntToHex(Cardinal(@TSGlobals) - TS_Handle, 1) - ); - - V := 0; - // check termsrv version - if GetModuleVersion('termsrv.dll', FV) then - V := Byte(FV.Version.w.Minor) or (Byte(FV.Version.w.Major) shl 8) - else begin - // check NT version - // V := GetVersion; // deprecated - // V := ((V and $FF) shl 8) or ((V and $FF00) shr 8); - end; - if V = 0 then begin - WriteLog('Error: Failed to detect Terminal Services version'); - Exit; - end; - - WriteLog('Version: '+ - IntToStr(FV.Version.w.Major)+'.'+ - IntToStr(FV.Version.w.Minor)+'.'+ - IntToStr(FV.Release)+'.'+ - IntToStr(FV.Build)); - - // temporarily freeze threads - WriteLog('Freezing threads...'); - StopThreads(); - - WriteLog('Caching patch codes...'); - PatchList := INIReadSection(INI, 'PatchCodes'); - SetLength(Patch, Length(PatchList)); - for I := 0 to Length(Patch) - 1 do begin - Patch[I] := INIReadBytes(INI, 'PatchCodes', PatchList[I]); - if Length(Patch[I]) > 16 then // for security reasons - SetLength(Patch[I], 16); // not more than 16 bytes - end; - - if (V = $0600) and (INIReadBool(INI, 'Main', 'SLPolicyHookNT60', True)) then begin - // Windows Vista - // uses SL Policy API (slc.dll) - - // load slc.dll and hook function - SLC_Handle := LoadLibrary('slc.dll'); - SLGetWindowsInformationDWORD := GetProcAddress(SLC_Handle, 'SLGetWindowsInformationDWORD'); - - if @SLGetWindowsInformationDWORD <> nil then - begin - // rewrite original function to call our function (make hook) - - WriteLog('Hook SLGetWindowsInformationDWORD'); - Stub_SLGetWindowsInformationDWORD.PushOp := $68; - Stub_SLGetWindowsInformationDWORD.PushArg := @New_SLGetWindowsInformationDWORD; - Stub_SLGetWindowsInformationDWORD.RetOp := $C3; - ReadProcessMemory(GetCurrentProcess, @SLGetWindowsInformationDWORD, - @Old_SLGetWindowsInformationDWORD, SizeOf(OldCode), bw); - WriteProcessMemory(GetCurrentProcess, @SLGetWindowsInformationDWORD, - @Stub_SLGetWindowsInformationDWORD, SizeOf(far_jmp), bw); - end; - end; - if (V = $0601) and (INIReadBool(INI, 'Main', 'SLPolicyHookNT61', True)) then begin - // Windows 7 - // uses SL Policy API (slc.dll) - - // load slc.dll and hook function - SLC_Handle := LoadLibrary('slc.dll'); - SLGetWindowsInformationDWORD := GetProcAddress(SLC_Handle, 'SLGetWindowsInformationDWORD'); - - if @SLGetWindowsInformationDWORD <> nil then - begin - // rewrite original function to call our function (make hook) - - WriteLog('Hook SLGetWindowsInformationDWORD'); - Stub_SLGetWindowsInformationDWORD.PushOp := $68; - Stub_SLGetWindowsInformationDWORD.PushArg := @New_SLGetWindowsInformationDWORD; - Stub_SLGetWindowsInformationDWORD.RetOp := $C3; - ReadProcessMemory(GetCurrentProcess, @SLGetWindowsInformationDWORD, - @Old_SLGetWindowsInformationDWORD, SizeOf(OldCode), bw); - WriteProcessMemory(GetCurrentProcess, @SLGetWindowsInformationDWORD, - @Stub_SLGetWindowsInformationDWORD, SizeOf(far_jmp), bw); - end; - end; - if V = $0602 then begin - // Windows 8 - // uses SL Policy internal unexported function - - // load slc.dll and get function - // (will be used on intercepting undefined values) - SLC_Handle := LoadLibrary('slc.dll'); - SLGetWindowsInformationDWORD := GetProcAddress(SLC_Handle, 'SLGetWindowsInformationDWORD'); - end; - if V = $0603 then begin - // Windows 8.1 - // uses SL Policy internal inline code - end; - if V = $0604 then begin - // Windows 10 - // uses SL Policy internal inline code - end; - - Sect := IntToStr(FV.Version.w.Major)+'.'+IntToStr(FV.Version.w.Minor)+'.'+ - IntToStr(FV.Release)+'.'+IntToStr(FV.Build); - - if INISectionExists(INI, Sect) then - if GetModuleAddress('termsrv.dll', GetCurrentProcessId, TermSrvBase, TermSrvSize) then begin - if INIReadBool(INI, Sect, 'LocalOnlyPatch.x86', False) then begin - WriteLog('Patch CEnforcementCore::GetInstanceOfTSLicense'); - SignPtr := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'LocalOnlyOffset.x86', 0)); - I := SListFind(PatchList, INIReadString(INI, Sect, 'LocalOnlyCode.x86', '')); - if I >= 0 then - WriteProcessMemory(GetCurrentProcess, SignPtr, @Patch[I][0], Length(Patch[I]), bw); - end; - if INIReadBool(INI, Sect, 'SingleUserPatch.x86', False) then begin - WriteLog('Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled'); - SignPtr := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'SingleUserOffset.x86', 0)); - I := SListFind(PatchList, INIReadString(INI, Sect, 'SingleUserCode.x86', '')); - if I >= 0 then - WriteProcessMemory(GetCurrentProcess, SignPtr, @Patch[I][0], Length(Patch[I]), bw); - end; - if INIReadBool(INI, Sect, 'DefPolicyPatch.x86', False) then begin - WriteLog('Patch CDefPolicy::Query'); - SignPtr := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'DefPolicyOffset.x86', 0)); - I := SListFind(PatchList, INIReadString(INI, Sect, 'DefPolicyCode.x86', '')); - if I >= 0 then - WriteProcessMemory(GetCurrentProcess, SignPtr, @Patch[I][0], Length(Patch[I]), bw); - end; - if INIReadBool(INI, Sect, 'SLPolicyInternal.x86', False) then begin - WriteLog('Hook SLGetWindowsInformationDWORDWrapper'); - SignPtr := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'SLPolicyOffset.x86', 0)); - MovJump.MovOp := $89; // mov eax, ecx - MovJump.MovArg := $C8; // __msfastcall compatibility - MovJump.PushOp := $68; - MovJump.PushArg := @New_Win8SL; - MovJump.RetOp := $C3; - FuncName := INIReadString(INI, Sect, 'SLPolicyFunc.x86', 'New_Win8SL'); - if FuncName = 'New_Win8SL' then - MovJump.PushArg := @New_Win8SL; - if FuncName = 'New_Win8SL_CP' then - MovJump.PushArg := @New_Win8SL_CP; - WriteProcessMemory(GetCurrentProcess, SignPtr, - @MovJump, SizeOf(mov_far_jmp), bw); - end; - if INIReadBool(INI, Sect, 'SLInitHook.x86', False) then begin - WriteLog('Hook CSLQuery::Initialize'); - SignPtr := Pointer(Cardinal(TermSrvBase) + INIReadDWordHex(INI, Sect, 'SLInitOffset.x86', 0)); - Jump.PushOp := $68; - Jump.PushArg := @New_CSLQuery_Initialize; - Jump.RetOp := $C3; - FuncName := INIReadString(INI, Sect, 'SLInitFunc.x86', 'New_CSLQuery_Initialize'); - if FuncName = 'New_CSLQuery_Initialize' then - Jump.PushArg := @New_CSLQuery_Initialize; - WriteProcessMemory(GetCurrentProcess, SignPtr, - @Jump, SizeOf(far_jmp), bw); - end; - end; - - // unfreeze threads - WriteLog('Resumimg threads...'); - RunThreads(); -end; - -function TermServiceMain(dwArgc: DWORD; lpszArgv: PWideChar): DWORD; stdcall; -begin - // wrap ServiceMain function - WriteLog('>>> ServiceMain'); - if not IsHooked then - HookFunctions; - Result := 0; - if @TSMain <> nil then - Result := TSMain(dwArgc, lpszArgv); - WriteLog('<<< ServiceMain'); -end; - -function TermServiceGlobals(lpGlobalData: Pointer): DWORD; stdcall; -begin - // wrap SvchostPushServiceGlobals function - WriteLog('>>> SvchostPushServiceGlobals'); - if not IsHooked then - HookFunctions; - Result := 0; - if @TSGlobals <> nil then - Result := TSGlobals(lpGlobalData); - WriteLog('<<< SvchostPushServiceGlobals'); -end; - -// export section - -exports - TermServiceMain index 1 name 'ServiceMain', - TermServiceGlobals index 2 name 'SvchostPushServiceGlobals'; - -begin - // DllMain procedure is not used -end. \ No newline at end of file diff --git a/src-x86-binarymaster/rdpwrap.dproj b/src-x86-binarymaster/rdpwrap.dproj deleted file mode 100644 index 2b81a43..0000000 --- a/src-x86-binarymaster/rdpwrap.dproj +++ /dev/null @@ -1,105 +0,0 @@ - - - {D6811241-D595-4809-B3B8-13BECEA56E11} - rdpwrap.dpr - Release - DCC32 - 12.0 - - - true - - - true - Base - true - - - true - Base - true - - - rdpwrap.dll - WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias) - true - 00400000 - x86 - - - false - RELEASE;$(DCC_Define) - 0 - false - - - DEBUG;$(DCC_Define) - - - - MainSource - - - Base - - - Cfg_1 - Base - - - Cfg_2 - Base - - - - - Delphi.Personality.12 - VCLApplication - - - - rdpwrap.dpr - - - False - True - False - - - False - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1049 - 1251 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - 12 - - diff --git a/src-x86-binarymaster/rdpwrap.res b/src-x86-binarymaster/rdpwrap.res deleted file mode 100644 index 853a58e7a4db3a7680898b34fe06033e49eb0d5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 960 zcmaKr-!21D5XQgK3lb6%*Rm0bJ4$+^S3(Jie?hopwN;I6HM=cw=XJaT@8S)-0e&;v z)vk!MIlJe~d}rpHZ_Y|m!2J43C(GP;9?$$UUr|J#w{^m5Pe(dr zzsGxrwT-vp$EQ?Kk!d6Q`o{O>&5!pn+n=hZSS@wbBw9<68bt2sM)!DM9aBM8{P1e=gu!;@IlP>GgwK>db`!7aNl(gJ6*TvbjasyT-)r&?e;jyuB> z6VbSZ@Cx8+mIo{~KNaYLeMsc4djjp_yLMX)Bf)oKB-gp4l93#%a4IuPJ~O=4-*ar5 zd05$rsyhD3DqU%w`1@d+&e1CElGzk(>Xs<->hrchFJ8^x8UY<;xv<$9fJ z5@;8Hg3tQY_nuhSO#xAh^&ubQcQ=0bVncJBN$;33w4PYCrfQG)6|L}CM!RV>vZr^< iR&8)qOUz$mI%U-kZ??3^Um~T7c8Cyx9KC<`7k&de4~>NY diff --git a/src-x86-x64-Fusix/RDPWrap.vcxproj b/src-x86-x64-Fusix/RDPWrap.vcxproj index ebc2664..2e8eca1 100644 --- a/src-x86-x64-Fusix/RDPWrap.vcxproj +++ b/src-x86-x64-Fusix/RDPWrap.vcxproj @@ -1,4 +1,4 @@ - + @@ -17,6 +17,10 @@ Release x64 + + Release + ARM64 + {29E4E73B-EBA6-495B-A76C-FBB462196C64} @@ -49,8 +53,13 @@ v120 true Unicode - - + + DynamicLibrary + false + v143 + true + Unicode + @@ -65,6 +74,9 @@ + + + true @@ -74,16 +86,25 @@ false + $(ProjectDir)Release\x86\ + $(ProjectDir)obj\Release\x86\ false + $(ProjectDir)Release\x64\ + $(ProjectDir)obj\Release\x64\ + + + false + $(ProjectDir)Release\arm64\ + $(ProjectDir)obj\Release\arm64\ Use Level3 Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) true @@ -97,7 +118,7 @@ Use Level3 Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) true @@ -112,7 +133,7 @@ MaxSpeed true true - WIN32;NDEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) true true Level3 @@ -137,7 +158,7 @@ MaxSpeed true true - WIN32;NDEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;%(PreprocessorDefinitions) + WIN32;NDEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) true true Level3 @@ -156,6 +177,27 @@ true + + + Use + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;RDPWRAP_EXPORTS;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + true + true + Level3 + 1Byte + MultiThreaded + + + Windows + false + true + true + Export.def + + @@ -194,4 +236,4 @@ - \ No newline at end of file + diff --git a/technical.txt b/technical.txt deleted file mode 100644 index eec609f..0000000 --- a/technical.txt +++ /dev/null @@ -1,561 +0,0 @@ -RDP Wrapper Library project by Stas'M - -Terminal Services supported versions -6.0.X.X (Windows Vista, any) [policy hook only] -6.0.6000.16386 (Windows Vista) [policy hook + extended patch] -6.0.6000.20723 (Windows Vista with KB944917) [todo] -6.0.6001.18000 (Windows Vista SP1) [policy hook + extended patch] -6.0.6001.22286 (Windows Vista SP1 with KB958612) [todo] -6.0.6001.22357 (Windows Vista SP1 with KB958612 v2) [todo] -6.0.6001.22323 (Windows Vista SP1 with KB960742) [todo] -6.0.6001.22392 (Windows Vista SP1 with KB968680) [todo] -6.0.6001.22565 (Windows Vista SP1 with KB977541) [todo] -6.0.6001.22635 (Windows Vista SP1 with KB970911) [todo] -6.0.6001.22801 (Windows Vista SP1 with KB2381675) [todo] -6.0.6002.18005 (Windows Vista SP2) [policy hook + extended patch] -6.0.6002.22269 (Windows Vista SP2 with KB977541) [todo] -6.0.6002.22340 (Windows Vista SP2 with KB970911) [todo] -6.0.6002.22515 (Windows Vista SP2 with KB2381675) [todo] -6.0.6002.22641 (Windows Vista SP2 with KB2523307) [todo] -6.0.6002.22790 (Windows Vista SP2 with KB2672601) [todo] -6.0.6002.19214 (Windows Vista SP2 with KB3003743 GDR) [policy hook + extended patch] -6.0.6002.23521 (Windows Vista SP2 with KB3003743 LDR) [policy hook + extended patch] -6.1.X.X (Windows 7, any) [policy hook only] -6.1.7100.0 (Windows 7 Release Candidate) [todo] -6.1.7600.16385 (Windows 7) [policy hook + extended patch] -6.1.7600.20661 (Windows 7 with KB951422) [todo] -6.1.7600.21085 (Windows 7 with KB951422 v2) [todo] -6.1.7600.20621 (Windows 7 with KB979470) [todo] -6.1.7600.20890 (Windows 7 with KB2479710) [policy hook + extended patch] -6.1.7600.21316 (Windows 7 with KB2750090) [policy hook + extended patch] -6.1.7600.21420 (Windows 7 with KB2800789) [todo] -6.1.7601.17514 (Windows 7 SP1) [policy hook + extended patch] -6.1.7601.21855 (Windows 7 SP1 with KB951422 v2) [todo] -6.1.7601.21650 (Windows 7 SP1 with KB2479710) [policy hook + extended patch] -6.1.7601.21866 (Windows 7 SP1 with KB2647409) [policy hook + extended patch] -6.1.7601.22104 (Windows 7 SP1 with KB2750090) [policy hook + extended patch] -6.1.7601.22213 (Windows 7 SP1 with KB2800789) [todo] -6.1.7601.22476 (Windows 7 SP1 with KB2870165) [todo] -6.1.7601.22435 (Windows 7 SP1 with KB2878424) [todo] -6.1.7601.22477 (Windows 7 SP1 with KB2896256) [todo] -6.1.7601.18540 (Windows 7 SP1 with KB2984972 GDR) [policy hook + extended patch] -6.1.7601.22750 (Windows 7 SP1 with KB2984972 LDR) [policy hook + extended patch] -6.1.7601.18637 (Windows 7 SP1 with KB3003743 GDR) [policy hook + extended patch] -6.1.7601.22843 (Windows 7 SP1 with KB3003743 LDR) [policy hook + extended patch] -6.1.7601.23403 (Windows 7 SP1 with KB3125574) [policy hook + extended patch] -6.1.7601.24234 (Windows 7 SP1 with KB4462923) [policy hook + extended patch] -6.2.8102.0 (Windows 8 Developer Preview) [policy hook + extended patch] -6.2.8250.0 (Windows 8 Consumer Preview) [policy hook + extended patch] -6.2.8400.0 (Windows 8 Release Preview) [policy hook + extended patch] -6.2.9200.16384 (Windows 8) [policy hook + extended patch] -6.2.9200.17048 (Windows 8 with KB2973501 GDR) [policy hook + extended patch] -6.2.9200.21166 (Windows 8 with KB2973501 LDR) [policy hook + extended patch] -6.3.9431.0 (Windows 8.1 Preview) [init hook + extended patch] -6.3.9600.16384 (Windows 8.1) [init hook + extended patch] -6.3.9600.17095 (Windows 8.1 with KB2959626) [init hook + extended patch] -6.3.9600.17415 (Windows 8.1 with KB3000850) [init hook + extended patch] -6.3.9600.18692 (Windows 8.1 with KB4022720) [init hook + extended patch] -6.3.9600.18708 (Windows 8.1 with KB4025335) [init hook + extended patch] -6.3.9600.18928 (Windows 8.1 with KB4088876) [init hook + extended patch] -6.3.9600.19093 (Windows 8.1 with KB4343891) [init hook + extended patch] -6.4.9841.0 (Windows 10 Technical Preview) [init hook + extended patch] -6.4.9860.0 (Windows 10 Technical Preview UP1) [init hook + extended patch] -6.4.9879.0 (Windows 10 Technical Preview UP2) [init hook + extended patch] -10.0.9926.0 (Windows 10 Pro Technical Preview) [init hook + extended patch] -10.0.10041.0 (Windows 10 Pro Technical Preview UP1) [init hook + extended patch] -10.0.10049.0 (Windows 10 Pro Technical Preview UP2) [todo] -10.0.10061.0 (Windows 10 Pro Technical Preview UP3) [todo] -10.0.10240.16384 (Windows 10 RTM) [init hook + extended patch] -10.0.10525.0 (Windows 10 th2_release.150812-1658) [todo] -10.0.10532.0 (Windows 10 th2_release.150822-1406) [todo] -10.0.10547.0 (Windows 10 th2_release.150913-1511) [todo] -10.0.10586.0 (Windows 10 th2_release.151029-1700) [init hook + extended patch] -10.0.10586.589 (Windows 10 th2_release.160906-1759) [init hook + extended patch] -10.0.11082.1000 (Windows 10 rs1_release.151210-2021) [init hook + extended patch] -10.0.11102.1000 (Windows 10 rs1_release.160113-1800) [init hook + extended patch] -10.0.14251.1000 (Windows 10 rs1_release.160124-1059) [init hook + extended patch] -10.0.14271.1000 (Windows 10 rs1_release.160218-2310) [init hook + extended patch] -10.0.14279.1000 (Windows 10 rs1_release.160229-1700) [init hook + extended patch] -10.0.14295.1000 (Windows 10 rs1_release.160318-1628) [init hook + extended patch] -10.0.14300.1000 (Windows Server 2016 Technical Preview 5) [init hook + extended patch] -10.0.14316.1000 (Windows 10 rs1_release.160402-2227) [init hook + extended patch] -10.0.14328.1000 (Windows 10 rs1_release.160418-1609) [init hook + extended patch] -10.0.14332.1001 (Windows 10 rs1_release.160422-1940) [init hook + extended patch] -10.0.14342.1000 (Windows 10 rs1_release.160506-1708) [init hook + extended patch] -10.0.14352.1002 (Windows 10 rs1_release.160522-1930) [init hook + extended patch] -10.0.14366.0 (Windows 10 rs1_release.160610-1700) [init hook + extended patch] -10.0.14367.0 (Windows 10 rs1_release.160613-1700) [init hook + extended patch] -10.0.14372.0 (Windows 10 rs1_release.160620-2342) [init hook + extended patch] -10.0.14379.0 (Windows 10 rs1_release.160627-1607) [init hook + extended patch] -10.0.14383.0 (Windows 10 rs1_release.160701-1839) [init hook + extended patch] -10.0.14385.0 (Windows 10 rs1_release.160706-1700) [init hook + extended patch] -10.0.14388.0 (Windows 10 rs1_release.160709-1635) [init hook + extended patch] -10.0.14393.0 (Windows 10 rs1_release.160715-1616) [init hook + extended patch] -10.0.14393.1198 (Windows 10 rs1_release_sec.170427-1353) [init hook + extended patch] -10.0.14393.1737 (Windows 10 rs1_release_inmarket.170914-1249) [init hook + extended patch] -10.0.14393.2457 (Windows 10 rs1_release_inmarket.180822-1743) [init hook + extended patch] -10.0.14901.1000 (Windows 10 rs_prerelease.160805-1700) [init hook + extended patch] -10.0.14905.1000 (Windows 10 rs_prerelease.160811-1739) [init hook + extended patch] -10.0.14915.1000 (Windows 10 rs_prerelease.160826-1902) [init hook + extended patch] -10.0.14926.1000 (Windows 10 rs_prerelease.160910-1529) [init hook + extended patch] -10.0.14931.1000 (Windows 10 rs_prerelease.160916-1700) [init hook + extended patch] -10.0.14936.1000 (Windows 10 rs_prerelease.160923-1700) [init hook + extended patch] -10.0.14942.1000 (Windows 10 rs_prerelease.161003-1929) [init hook + extended patch] -10.0.14946.1000 (Windows 10 rs_prerelease.161007-1700) [init hook + extended patch] -10.0.14951.1000 (Windows 10 rs_prerelease.161014-1700) [init hook + extended patch] -10.0.14955.1000 (Windows 10 rs_prerelease.161020-1700) [init hook + extended patch] -10.0.14959.1000 (Windows 10 rs_prerelease.161026-1700) [init hook + extended patch] -10.0.14965.1001 (Windows 10 rs_prerelease.161104-1700) [init hook + extended patch] -10.0.14971.1000 (Windows 10 rs_prerelease.161111-1700) [init hook + extended patch] -10.0.14986.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.14997.1001 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15002.1001 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15007.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15014.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15019.1000 (Windows 10 rs_prerelease.170121-1513) [init hook + extended patch] -10.0.15025.1000 (Windows 10 rs_prerelease.170127-1750) [init hook + extended patch] -10.0.15031.0 (Windows 10 rs2_release.170204-1546) [init hook + extended patch] -10.0.15042.0 (Windows 10 rs2_release.170219-2329) [init hook + extended patch] -10.0.15046.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15048.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15055.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15058.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15061.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15063.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15063.296 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15063.994 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.15063.1155 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16179.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16184.1001 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16199.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16215.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16232.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16237.1001 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16241.1001 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16251.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16251.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16257.1 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16257.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16273.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16275.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16278.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16281.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16288.1 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16291.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16294.1 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16296.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16299.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16299.15 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16353.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.16362.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17004.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17017.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17025.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17035.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17040.1000 (Windows 10 WinBuild.160101.0800) [todo] -10.0.17046.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17063.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17074.1002 (Windows 10 WinBuild.160101.0800) [todo] -10.0.17083.1000 (Windows 10 WinBuild.160101.0800) [todo] -10.0.17115.1 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17128.1 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17133.1 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17134.1 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17723.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] -10.0.17763.1 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] - -Source code changelog (rdpwrap library): - -2018.10.10 : -- added support for termsrv.dll 6.1.7601.24234 x86 - -2018.10.04 : -- added support for termsrv.dll 10.0.14393.2457 x86 - -2018.10.03 : -- added support for termsrv.dll 6.1.7601.24234 x64 -- added support for termsrv.dll 10.0.15063.994 x64 -- added support for termsrv.dll 10.0.17723.1000 x64 -- added support for termsrv.dll 10.0.17763.1 - -2018.09.10 : -- added support for termsrv.dll 6.1.7600.20890 -- added support for termsrv.dll 6.1.7600.21316 -- added support for termsrv.dll 6.1.7601.21650 -- added support for termsrv.dll 6.1.7601.21866 -- added support for termsrv.dll 6.1.7601.22104 -- added support for termsrv.dll 6.3.9600.19093 -- added support for termsrv.dll 10.0.14393.2457 x64 -- added support for termsrv.dll 10.0.15063.1155 x64 - -2018.05.16 : -- added support for termsrv.dll 10.0.17115.1 -- added support for termsrv.dll 10.0.17128.1 -- added support for termsrv.dll 10.0.17133.1 -- added support for termsrv.dll 10.0.17134.1 - -2018.03.26 : -- added support for termsrv.dll 6.3.9600.18928 by 1nd1g0 - -2017.12.27 : -- added support for termsrv.dll 10.0.17017.1000 -- added support for termsrv.dll 10.0.17025.1000 -- added support for termsrv.dll 10.0.17035.1000 -- added support for termsrv.dll 10.0.17046.1000 -- added support for termsrv.dll 10.0.17063.1000 - -2017.10.13 : -- added support for termsrv.dll 10.0.14393.1737 -- added support for termsrv.dll 10.0.16299.0 -- added support for termsrv.dll 10.0.16299.15 -- added support for termsrv.dll 10.0.17004.1000 - -2017.09.24 : -- added support for termsrv.dll 10.0.16291.0 -- added support for termsrv.dll 10.0.16294.1 -- added support for termsrv.dll 10.0.16296.0 -- added support for termsrv.dll 10.0.16362.1000 - -2017.09.15 : -- added support for termsrv.dll 10.0.16288.1 - -2017.09.06 : -- added support for termsrv.dll 10.0.16273.1000 -- added support for termsrv.dll 10.0.16275.1000 -- added support for termsrv.dll 10.0.16278.1000 -- added support for termsrv.dll 10.0.16281.1000 -- added support for termsrv.dll 10.0.16353.1000 - -2017.08.04 : -- added support for termsrv.dll 10.0.16257.1 -- added support for termsrv.dll 10.0.16257.1000 - -2017.07.30 : -- added support for termsrv.dll 6.3.9600.18708 -- added support for termsrv.dll 10.0.16232.1000 -- added support for termsrv.dll 10.0.16237.1001 -- added support for termsrv.dll 10.0.16241.1001 -- added support for termsrv.dll 10.0.16251.0 -- added support for termsrv.dll 10.0.16251.1000 - -2017.06.29 : -- added support for termsrv.dll 6.3.9600.18692 - -2017.06.10 : -- added support for termsrv.dll 10.0.15063.296 -- added support for termsrv.dll 10.0.16215.1000 - -2017.05.29 : -- added support for termsrv.dll 10.0.16199.1000 - -2017.05.17 : -- added support for termsrv.dll 10.0.14997.1001 x64 - -2017.05.12 : -- added support for termsrv.dll 10.0.14393.1198 x86 - -2017.05.03 : -- added support for termsrv.dll 10.0.16179.1000 -- added support for termsrv.dll 10.0.16184.1001 - -2017.03.22 : -- added support for termsrv.dll 10.0.15063.0 - -2017.03.21 : -- added support for termsrv.dll 10.0.15061.0 - -2017.03.16 : -- added support for termsrv.dll 10.0.15058.0 - -2017.03.14 : -- added support for termsrv.dll 10.0.15055.0 - -2017.03.05 : -- added support for termsrv.dll 10.0.15048.0 - -2017.03.02 : -- added support for termsrv.dll 10.0.15046.0 - -2017.03.01 : -- added support for termsrv.dll 10.0.15031.0 -- added support for termsrv.dll 10.0.15042.0 - -2017.02.03 : -- added support for termsrv.dll 10.0.15025.1000 x64 - -2017.01.28 : -- added support for termsrv.dll 10.0.15019.1000 - -2017.01.21 : -- added support for termsrv.dll 10.0.15014.1000 - -2017.01.15 : -- added support for termsrv.dll 10.0.15007.1000 - -2017.01.12 : -- added support for termsrv.dll 10.0.15002.1001 - -2016.12.23 : -- added support for termsrv.dll 10.0.14986.1000 - -2016.11.19 : -- added support for termsrv.dll 10.0.14959.1000 -- added support for termsrv.dll 10.0.14965.1001 -- added support for termsrv.dll 10.0.14971.1000 - -2016.10.28 : -- added support for termsrv.dll 10.0.14955.1000 - -2016.10.21 : -- added support for termsrv.dll 10.0.14951.1000 - -2016.10.19 : -- added support for termsrv.dll 10.0.14946.1000 - -2016.10.08 : -- added support for termsrv.dll 10.0.14942.1000 - -2016.09.30 : -- added support for termsrv.dll 10.0.14936.1000 - -2016.09.27 : -- added support for termsrv.dll 10.0.14931.1000 - -2016.09.15 : -- added support for termsrv.dll 10.0.14926.1000 - -2016.09.14 : -- added support for termsrv.dll 10.0.10586.589 - -2016.09.03 : -- added support for termsrv.dll 10.0.14915.1000 - -2016.08.28 : -- added support for termsrv.dll 6.1.7601.23403 -- added support for termsrv.dll 10.0.14901.1000 -- added support for termsrv.dll 10.0.14905.1000 - -2016.08.12 : -- added support for termsrv.dll 10.0.14385.0 - -2016.08.01 : -- preparing the release - -2016.07.23 : -- added online install mode to installer -- added feature to keep settings on uninstall -- fixed update firewall rule on port change in config tool -- added feature to hide users on logon - -2016.07.22 : -- added support for termsrv.dll 10.0.14393.0 - -2016.07.15 : -- added support for termsrv.dll 10.0.14383.0 -- added support for termsrv.dll 10.0.14388.0 - -2016.07.06 : -- added support for termsrv.dll 10.0.14379.0 - -2016.06.27 : -- added support for termsrv.dll 10.0.14372.0 x86 - -2016.06.26 : -- added support for termsrv.dll 10.0.14372.0 x64 by kbmorris - -2016.06.17 : -- fixed issue with termsrv.dll 10.0.14352.1002 -- added support for termsrv.dll 10.0.14366.0 -- added support for termsrv.dll 10.0.14367.0 - -2016.05.30 : -- added support for termsrv.dll 10.0.14352.1002 - -2016.05.14 : -- added support for termsrv.dll 10.0.14342.1000 - -2016.05.08 : -- added support for termsrv.dll 10.0.14300.1000 x64 -- added support for termsrv.dll 10.0.14328.1000 - -2016.04.29 : -- added support for termsrv.dll 10.0.14332.1001 by maxpiva - -2016.04.14 : -- added support for termsrv.dll 10.0.14316.1000 - -2016.04.06 : -- added support for termsrv.dll 10.0.14295.1000 - -2016.03.07 : -- added experimental codes for ARMv7 architecture (see rdpwrap-arm-kb.ini) -- Windows RT / termsrv.dll 6.2.9200.16384 -- Windows RT 8.1 / termsrv.dll 6.3.9600.16384 -- Windows RT 8.1 / termsrv.dll 6.3.9600.17095 - -2016.03.06 : -- added support for termsrv.dll 10.0.14279.1000 - -2016.02.29 : -- added support for termsrv.dll 10.0.14271.1000 - -2016.01.28 : -- added support for termsrv.dll 10.0.14251.1000 - -2016.01.26 : -- added support for termsrv.dll 10.0.11102.1000 - -2016.01.15 : -- updated messages in the installer -- added support for termsrv.dll 10.0.11082.1000 - -2015.11.14 : -- added support for termsrv.dll 10.0.10586.0 - -2015.08.11 : -- embed new rdpclip versions in the installer (for NT 6.0 and 6.1) -- preparing the release - -2015.08.07 : -- added INI update feature to installer - -2015.07.30 : -- fixed issue with Windows 10 Home x86 (wrong LocalOnly offset was specified in INI file) - -2015.07.17 : -- added support for termsrv.dll 10.0.10240.16384 -- added HOW TO hints to KB (so other reverse engineers can do this hard work more easier) - -2015.07.16 : -- moved all comments from INI file to Knowledge Base text file -- now INI file have smaller size -- updated RDP checker: changed IP Address to 127.0.0.2 (sometimes client doesn't want to connect .1), updated text message -- updated RDP config: list all possible shadowing modes, also write group policy -- updated installer: added workaround for 1056 error -- updated copyright years in source code -- obtained files from build 10.0.10240.16384 -- researching Windows 10 RTM - -2015.03.23 : -- researching Windows 10 Pro Technical Preview UP1 -- added support for termsrv.dll 10.0.10041.0 - -2015.03.20 : -- new build 10.0.10041.0 was released, obtaining files... - -2015.01.26 : -- researching Windows 10 Pro Technical Preview (10.0.9926.0 x86) -- added support for termsrv.dll 10.0.9926.0 (x86) - -2015.01.22 : -- v-yadli contributed offsets for version 10.0.9926.0 (x64) - -2014.12.13 : -- added more policy values to INI file - -2014.12.10 : -- C++ version seems to work well now! -- added support for termsrv.dll 6.4.9879.0 -- preparing the new release - -2014.12.09 : -- many bug fixes in C++ version, you can track it in the git history :) -- it can be compiled now :D -- we are getting closer to the finish line! - -2014.12.03 : -- added INI reader by Fusix for C++ version -- asulwer also helped with the development - -2014.11.25 : -- corrected some typos in INI file -- added EasyPrint policy value - -2014.11.24 : -- added support for termsrv.dll 6.3.9600.17415 - -2014.11.21 : -- new LiteINI module to read INI files -- added support to store patch settings in INI file -- version support can be extended without recompilation -- C++ version needs to be updated - -2014.11.20 : -- improved comments -- researching KB3000850 -- found required files -- improving RDPWrap... -- placing signatures, offsets, values, etc in separate config file -- working with code - -2014.11.13 : -- researching KB3003743 -- added support for version 6.0.6002.19214 -- added support for version 6.0.6002.23521 -- added support for version 6.1.7601.18637 -- added support for version 6.1.7601.22843 - -2014.11.02 : -- researching termsrv.dll 6.4.9860.0 -- done - -2014.10.19 : -- added support for version 6.0.6000.16386 (x64) -- added support for version 6.0.6001.18000 (x64) -- added support for version 6.1.7600.16385 - -2014.10.18 : -- corrected some typos in source -- simplified signature constants -- added support for version 6.0.6000.16386 (x86) -- added support for version 6.0.6001.18000 (x86) -- added support for version 6.0.6002.18005 -- added support for version 6.1.7601.17514 -- added support for version 6.1.7601.18540 -- added support for version 6.1.7601.22750 -- added support for version 6.2.9200.17048 -- added support for version 6.2.9200.21166 - -2014.10.17 : -- collecting information about all versions of Terminal Services beginning from Vista -- added [todo] to the versions list - -2014.10.16 : -- got new updates: KB2984972 for Win 7 (still works with 2 concurrent users) and KB2973501 for Win 8 (doesn't work) - -2014.10.02 : -- researching Windows 10 TP Remote Desktop -- done! even without debugging symbols ^^) - -2014.07.20 : -- added support for Windows 8 Release Preview -- added support for Windows 8 Consumer Preview -- added support for Windows 8 Developer Preview - -2014.07.19 : -- improved patching of Windows 8 -- added policy patches -- will patch CDefPolicy::Query -- will patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled - -2014.07.18 : -- researched patched files from MDL forum -- CSLQuery::GetMaxSessions requires no patching -- it's better to change the default policy, so... -- will patch CDefPolicy::Query -- will patch CEnforcementCore::GetInstanceOfTSLicense -- will patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -- the function CSLQuery::Initialize is hooked correctly - -2014.07.17 : -- will hook only CSLQuery::Initialize function -- CSLQuery::GetMaxSessions will be patched -- added x86 signatures for 6.3.9431.0 (Windows 8.1 Preview) - -2014.07.16 : -- changing asm opcodes is bad, will hook CSL functions - -2014.07.15 : -- added x86 signatures for 6.3.9600.16384 (Windows 8.1) -2014.07.15 : -- added x86 signatures for 6.3.9600.17095 (Windows 8.1 with KB2959626) diff --git a/tools/RDPWrapOffsetFinder/README.md b/tools/RDPWrapOffsetFinder/README.md deleted file mode 100644 index e19777d..0000000 --- a/tools/RDPWrapOffsetFinder/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# RDPWrapOffsetFinder - -Pre-built binaries of [llccd/RDPWrapOffsetFinder](https://github.com/llccd/RDPWrapOffsetFinder), -committed here so that the CI pipeline and releases are self-contained and -reproducible without depending on an external release being available at build time. - -## Contents - -``` -x64/ - RDPWrapOffsetFinder.exe # x86-64 build - Zydis.dll # required runtime (x64) -x86/ - RDPWrapOffsetFinder.exe # x86 32-bit build - Zydis.dll # required runtime (x86) -VERSION # version tag of the upstream release -``` - -## Usage - -Extract the appropriate arch folder and run: - -``` -.\RDPWrapOffsetFinder.exe C:\Windows\System32\termsrv.dll -``` - -The output `[10.0.xxxxx.xxxxx]` section can be appended to `res/rdpwrap.ini` -and submitted as a pull request. - -## Updating - -To update the binaries when llccd releases a new version, trigger the -`Update RDPWrapOffsetFinder tools` workflow from the Actions tab -(`.github/workflows/update-finder-tools.yml`). -It will download the latest release, update this folder, and open a pull request. diff --git a/tools/RDPWrapOffsetFinder/VERSION b/tools/RDPWrapOffsetFinder/VERSION deleted file mode 100644 index 6d21a1c..0000000 --- a/tools/RDPWrapOffsetFinder/VERSION +++ /dev/null @@ -1 +0,0 @@ -v0.9 \ No newline at end of file diff --git a/tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe b/tools/RDPWrapOffsetFinder/x64/RDPWrapOffsetFinder.exe deleted file mode 100644 index 312d013724dbb07747b0ce01b22363f6e2f11f0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18432 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 diff --git a/tools/RDPWrapOffsetFinder/x64/Zydis.dll b/tools/RDPWrapOffsetFinder/x64/Zydis.dll deleted file mode 100644 index c747d83672e842364594e1ca9413e7ed2ffa220d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568832 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 diff --git a/tools/RDPWrapOffsetFinder/x86/RDPWrapOffsetFinder.exe b/tools/RDPWrapOffsetFinder/x86/RDPWrapOffsetFinder.exe deleted file mode 100644 index dd74f4f2dfaa98c2845947fc74ff5708f592b994..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 diff --git a/tools/RDPWrapOffsetFinder/x86/Zydis.dll b/tools/RDPWrapOffsetFinder/x86/Zydis.dll deleted file mode 100644 index 5909f0f5d6a0e0fbe2c2c39555ea2f166a41f16a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 545280 zcmeFae|%KM)jxiB_a?hZmfQ_2kU)eL7L9_KLTW=2bQAK6Um*}kP#|E{6sc7TcS%5g zY`D8-cgI!gqkYt;wdDDv7zVMpdxpQaEoH;Xd=FFLMW*6VEM=%M3AR@%$f^Yy&`sd<*|H&VNAY@MN z%oLtVd*#vthDEPjx_teun;jcB-SM4GH-67?(~Y;^euwP%_AQQ0?%N%=-tH)0Qs?;I z9XH=HbJVDGrv~~R%Wcd5<5r_t5BFvL!2A&2uaB5gALLJS>K^_~P5l9X8d4v@^GKE{ zmGb?^ttRs`c-|UIPYv*=G4)~o{L-vG1^&M5)|=K-9V1&*TOkOG3@O62f$ufx-%bj~ zOEV0amka4=V5M4QU=-puE=b(In)*TN}?n z>Hwlh*`uXw5Nd(TkLayQ`n}irWA*dTw9m--3oS~R{5OxI!2eK$W3&%3`b2P1>pdw3 zVZ8(7L{)!B65vO+A#KAtBsfykgjo>P@Y||J&&jmyX1MQAZDB$N3sjazPOyG#0`?~8hj6Jw4iGX0^6O1edW%Q79im3 zm%J14i7mGI4!JWxP={x2Bm483Fwvykxf0+6>56ivEwtQOu)YM~0m7klSp&#f|PHB;k-&Paakf3aLx&&5f4ctZj26_b7J3`J)~lD z5Fb5ffX(xW6d}(>i?sVm#C^vk@2~JgPcL%b7O{UsZL%mYh=FpagXUAY)5*Nfn=uaq zveSmHvZEKWQ9{5okDk6Rc_NW%DM45oy4$%9SS^ho;h4A7htOBG_;Xt=#u9z1joUHaknk*wnkdd#pB8gb{cYe?w4O4mR}f_f9Zwtvr?s4bhDiVw;& zV<~uSzPxFUN%H+02*0**%|6?z>%%1}?g?tSF->fq*i?)nZZ~~(;VU!F?r&nZIkTCd zqR|yekvh6UB^3_>C)0p5xm*x}=90KvEIoISm5EYEt%dW2<0q#c>F+VilQnF_g|gIC z{GwZ0+qloR=GaL9$Lr?5VaC}itCT_0_5-MNRu|IIurusasRMH{Sd|STOxqwVW517x zaU!n8Pie9hXmm$X)&|AO#_-x%U5#NaLE3Mv1k%NaX?B$LHilouToqA`h4s|4zqR&y z(0b(v#!PeOCQIue1Vo`(+-GSFv%j&P)?NYMlRx7-KHD0@t=-7!QI28QH)m{0QO?AX z?r03}bD@spf2hv_%8R~3%~x(R&*c@E_F2MspFr;f(X`J-@9BUu5XYMXV00+TX-i#j zTbk6-r<}ZQMLlMbjr~pP@H~?(*c#$a-&1&^PaF*WyrLm;iAt8>iP&5{)%Q{J)o2^l z1mvHz#HJ$U5}v}F^Q0}7g%oN<9IbfL5i>sN0?Ky(YNrh~W#kApRCE#*?XyIefPEl$ z=BCe-xYTS$%3P$(>WW^2$39o|YCOPvY@OLt3^w*^q-2o#Nkn(9LU)Dvr}Y>v_;l$7 zK3UXKslz|9OqvD<_%w*~X>fq1LD4&#XGtBe9YE&zeC2RFA_)fJ^JAYMnfkk_eamVi z9uCDKbsR6kfOt)+I?6JGZz^*HclOf`P($hn7rh~sb^9xGbo@N$Y@4MgZNad=F_9*x zc+NT8Ylfw~D+6Pi=V0XeC-9NG9S@8jUzafle-VG^Lk9+Y6ISc3f|kEJ>;GkblDy?%XTbVplUUUbOc0t+z>N9Ze-)w?(HBH2J|OL#J7`p z%z7)9`Xs(TX=J-S_=@B&DEU}y^b@97<`ZHp{fU%V>JzCk;}d47z{Qel4iTCctRUxYjnSx$JL`_N*`8&OP4;_HKEp$Tm5*nrQ z9sr#z+=Aho95&$n!Cb-i?|43k@Mna-BM3;75GXz#&&v?Li7*#o5yC12`n~~SE5dKJ z(1j<369|7qIEg@WOfZ=Y1{3`=8vly4&k)Wbe2!ou^5IE%O+?&*;6lhps6)63fk4na z1>-e>H;SSOe@!W=DXHqLQBGUySP#itD@Aq&%dx%n9Oq!-?Ecu8khqE!_=qzogLX-& zru~OGWZgo{Fdf23Xj_)a7PC;S1u^U(vYUK|B=2O(h*cb0j4|lw3IU5fje@79qV*jW zX&4kr1p5NoZz>Ukyh<4~$YUVG%bAdtun`&*CEuGsx-PPC4-J*Y=~#4?Q`Z$8lzcr% zC*co!lOvJUXX9~im*l0b9BQ-&QRCXi!V1e8@Ng{ARxqLSLGR+AKe=}#=nB7IsMpNqqik2E&yLjnN^SRRuQlziA; z2=(kZdo9v=hOepAs1r!sAh6?+{-LxNkan?#8YSP)5^y#Rl>rGaTE^sdtM!)Y`Q@80 z249R`Lkt_;luq50f^KquiyZ~hzZsxzkgueY^=yp@oIgbpIt{6I-iBE^e91QeK?Vc> zmsLAR19e)Jh_eW6YHwAxE0*3{;lmQxz0Vm3%FDVO5r3HP%4qx)PV$ z(Ryxxw_*K7V0uoiV;_3XI3(Y-RMzY{uoZI|_+E|I)*Yf+`bw?z@Y#*EqX&x_m7RVF2M$a8lyn%4u8O z3Xm)pa!f;TvB1t^g#)+6()hr1zBKN|!*l97pzlui?8+7--_yW^-Qk$^7F*(EFJ^Ru zZRcWhG*;fSbVcM>e*>vb&{h;F*eFPCLCXGWWfp4X7so(#SC~63E7cNp9umsEvop`c{im2eP^&j zK<`YFyu>Yom9z`S@=m*8Z1gLPO~qAtk~as-ioUb3K|m9OD=negRL?or=4*mRh}9|b z%>J-LPV24Ac12@=B<-)t3#~A2Fw~+2d;iK&@pI_=qc0IZp2;eNpr3YM5SBbUoq~)7 zs@rqM_%!d~^6nsnxNbDaDeW&WHDZCp3fCq1<`J6do>OMe8I$DwCRNoD?vA8lkvjl_ zlPZW>7#mG72gNKDb0Nm+EuJ%?d#Th>W}}7hSrQweg0Ml7a?kEB%PMhSg>MpsO~^P( z#30NakoYc^AA?MT3 zg9))B9iyj7Pam7EqpE(*O}v8YLTnVhQj=7|sJN4qMs@A)rp-RpoKDjO3fDav^8znqXy)w7($_Lm(4PYbx%Me6)d%UBY_UVWLMS{Yg_I z5E4GZr0Y6m^4H{OVg}I6B|IQ{j5jEeY7!U?NSx1R zaLLK{k=p{9$VYsXHP}OI?b;qOohXVLfCu(EOys$VcC`P3`q7t#63C97+IaAq2apr{ za7*wZ8m$_P6whngKC^^xm7p3hfKl%JlA7wkf( z^mIyym6)W8qcmZQF^eVNkC9z^t`9W7_dZ0UKU7P~zl}HBBG2DN%1N=rEZytY!N$T% zSvas78k^r?ihapvJ8kH43qdT&yBPUcD&$418;FLg>}X+bd^UE4xsliO+>&=1m7`v$?RW>`5y%Mp+ zfbD>PyVF_pxztunxYy?ZpLFc|X}9l+r9ELo&-A;@7CBYffm1%?6OJNi317uFMJhW; zNx{GQ0p5Kn&~Q3}@3>bgyPU%IWxG<9T@GQ>0?*DIhg|-oE9NTtd~?w-Ez%*#mRyU} z;GA0J081`B4GdO0FG1@_k#tMHgbV)15Y zyx9@?{6pY^;|fdgMC3oB@p#b*sqJ-q##sWY9}fmTY#s3(z_-}sVQYgI#Q=b>4U+fY zRoFD734Rqikbj&&Qu#J~gw$X`ExT_=9H>ICp}c_2baIKt{SB$(Z>+aFVp2|; zz}z3b3bI3I3$0J?aY`p&sNAEJPMK09@89tkT7g+zYr=Z2PqdHj57@($-S?K{eT6c2 zR9LV)5*r>xf5gXKvDC*gUmwRxRh6{XrDLsgo4caMnDIzd`HNZk*od9s$Kc-2aZYW0 zj;~!Q&(W%co}GQ{^M0%nkau1Mvb6l-!KIVfgadr#8pF5qF)NNoz-vfK906bujU`R}UK|1eA?xkuk&Ni4=*k4h7=O_~;$U_N$t}+Aie*XrU8ZUAU4ro4 zu2CtT(aHyDp(w^GY0>QFipZXGV3u zo2vBWn~s}yTA7iQjRy;GRD_~ASiNHwioFIwMb)$TXiZYLlAs$XkE27JCO%<_jh)NS zFvTZqvGn4|gkzp}9iAQsCQg&2rHG_Gtb0WXIU3D<=Ta^e($IJ^HsyQz9hZ~^wH zCV2;&N5^+3KoQT*X&8bAl<=GZ5L&uGnG{ShVDtb#w!1!zgS^Wqql|+Me()76qht6K zIdh*QX5}D!&!OZ#mnvdSAT{WJtDrhDH^Z~TF&p+LxgpULno;o}HrX-r?2oXO%N3YW>fpj>cT|KT zBM;n0PUo9MtPt)LieU~r9ybMV$WyHrF!-`rnKS5_feip&u(w4u?AHa?PB9$4Vc`B?;9yLqeFb*xS zt8&6n0c+eSpZM&{IL&|&3#A+J#R2L$u;96KJlj$Q>F)dRLFpS*;-=>Dap$w^i(rHV z+XK&gX3se=+s*jQ_dIfXf0-FW<=X@Z`yEzI8?P}?Fr-6DEJn{)YhU`y(oODkrG<7s z1xS-Ru#=b_58N&W>MebhR>B_2O%ge!ir27b#|!1jL5i^{uybN>KUjDPlA23dK){;cG_D{0oVZRn-)iRXMhimrKJ)kOu_3%^@nXZvVCoKSL>;h z^tBs$aVmgGdABi>5KOmt$>~h;!&oo3W%0aYW8gEn1q5 zr>#a>@cPXDutCr3;OXT^?++XGL>EuInkR~SqK7AvSkoV-y$>){P8kTjRGwzj(~Ok% zDH?>@wQN>OdIw2RaOv4>ltyYS!aQ5~z%;unqYsLUcXEFAWPRoiMO#TX$LZBh`Jma-HCw;@O$)g5A&l$M7w_p9F)*5C24r(*j-j?t7?2 zRY9;J@4~B<=d9^~j69uutt;+q?*fvg7 zm7CXbT_Y0Y^sb0FrNZ*4*?ngajDT1IF^CC+eaegJ#2SjuNW1?GrNIF!H~AyOliYA{ zu?48`4USZP0uAG>8q@WjctC)p<8RDXchI@v{%(Vuh3a)nF}1wsl(GMf35PtVz@l83 zY{<ACTP%$S(y*kg3S%vS8YUfbfi-Z0#V=-Z zV2$*_h^fd~9(`#F41Gc)tqrUwAbtz#P}zcp+XIWf1=AYjQ*nXtK=wlH4RB(!K!=p` zEK1iP#OY?36!@y=LQf89z`#tQO%{FH%9B}UXse-ko492Z$4(`LCCrS0YkNh*Ctzx0 z1osk_!3JRz#`y?NsSOzi<*|Cn=3dGi+GauiPm%F+J!8Id(ujpi##(!8wl9Un2~*qtTgdm$Ttc3zHcc0mejVC=L3j< zTR>}&_ZsB=2hZDj%8xP0vo97jxR)mKYoM=9fJT!rn}_s|dGF?h(IKD!HsB5WL}3*0igwe_s70T^WWnguzf*KCMQR@V<&D=5Jj%jDeH zr5qMyQ?J>CL7y9}$wC=t|53jMR=-FUSmvxa!?6w2oF=fB`U%0?$8~*Z3clib*AVQn z8v84AFzGPOdobC9VXNplh4&*6KBV#^fN@j*i#EBD>c2kNI38U4 zIM%Le^us9D65fir*o=U2%Ku?R8OhX(>Tm|FMxUv74H)n)em~dm3j1}A_&tY3|k#ihc5$ra; z<&=&@(@$VD1gq>_CsWc7cD-jxUor-?86WKSyd+vZo?W>Dj`E-crB#A05ix==gdOAx zfXQO=yaek&=jZ)ZIT#!2(GB`H3<*IhKgdt_YAnR-&JE+HcB08029@&P#&~$BIM)0Q zNOC)o9n_LK(BBUgpCg)Ffsv98;M6-PQGC4lH|G(`t`X|%&}St!6Id!aectIm-t}Gz z+MA#c+C%jDfanwF^cmpv8IAQG^!b3(2S+NH5FpMa7|%2#q>d#yd`^HA-N}^b!LUhC z0xaH8eCDE*FoF`{hl-;_3C{=Tl8Dgws|M+-;N!^*qCoo8W&c^R2 zal6Wb74X3dn4VpYgWMN2-Z4AaFoBu^=ApBWZg7ev}0K zTXN*&oYdt%s?YXPkOWuc{#(dv)5=^OrSrLX>MG~?R_ve95gq|ouhG> zfYa3X28?fEb7OZ({YTSJV0Nc3a%N#(b8ex|>M_N)i_Lq$D{i+`U>e^`h#*N@pHWsF zyXEN^xtPx@48`^MxEhNrdJMBU_D$@%u7(um>)Lvy%29yvYmpfki%1%ulr#s^m%8Z` z$iu2gP}xV_glV)?g_=rBcWUfTppIb?T3{%CNoxBWt!=4+8e%dMJ zRAvZNkT8DIK*M8RkOouLSR8$KoiwF`S5%F6nsEe6QFLwsfP(`7Xcb1N#sV;4DE3$? zdnEw-76NG`kfnf;9mJqLX#!LZa>59Z8w|zMrM6dSInUHU){q@KBu0e1VAUiRgL=q; z1EH>niTxg@Ho=3DCI8^t7GGD(N|G)^w~N85$;dV(-aJFgmWOP4iEQ5hmh4XilPKf9 zM5Rd<&H7@gt%g^R=J1LOlNJ|ycyt+bjtCKiZSw?M2w^WmO}Suu8qb#zK1aaN9`Kil>=jPVkrz7x)s8@|({pDIsWxoxJJ=4G zN=lPmg7ne zC-|!;K?{|IUG`dN@45%O*Z8Z)@+>fzAtg62Imy!N8p}0}lYDQvm$MZ%-!XR)NNZzh zbFyIjf$hHXnlVtg7Wl$4wW-gQBc=e_7GVxYgURW9e_{QB69(W2Dx!Ic#faVlz9QNW>blcVUU&j>pu=A~!E+9}%9lDJJVVEE z)L#qT(c)~NmJbYhGqZ`bYRrgOuPfVxH^i_XD*^sDA>4{^2Ld52z?_r*8Ptbp)Smjo zgmQmHUJ8HE%AC^6asbdv<9*opgRGWMtIYRCPG(dZ)zNU0VQsG6GcriK6{>pLME5*kn?rBMZZJ2V{ zfXblVU^rsrH$fdFbQ@N0ZjYd?)b*Ak6BDrS5~F^FCv+esuZ~fBk66M+YycA{+UT zVe~$jJnw_a^FEk7?}N$nK64@`oys6*K5`BoOz-hmjt(9H1V5b~Vb8Kit*M+oA4)&$ zuNfUYO0DO|dG67k1N@NA4KncK9T`--#E{4!r+N;HDoQR(Ntq{JRVlKo-;Pt?m6RfPk>Ru15k-ijM)m8Wa}kqgP6+3&+4j!9#$$W!->E?PJ@H2 z`@3(9>OPsObmg0lnAU2?0WH8WXo7y-AbB?-BU>gWjA(G+G7C01N(r~YG00YOK2T3z zVmZO!E^txhY})or<*apA8d{@dQiG(9d9Y;WhRuE=0Hqs{?yngawNVX23FD)5z!2>A z*I=;}Ds9nE@anJ0ibn9HbyNCj4=6j?(tQ$;^8)oVqL_QgF(%qe1qtuT@|=1|9B<-S zBv_TJo@00)#aGYHNjNEZ1Tj|cq~nlEM}&N815l9HJEJ}VP=!N^Nzi4p1x`w?amK!n z#Z65tKuTXF=YvR_=&yunL|OhrDju=ixhc=XXj)=hV8%vRx^X30$&a? z$jh>_LbjlU3fIhtS@D)una9dX(kf>_V3XK*en=q|p}%(5LPS`#R#g>UAKnuuR*jG{ zU$A8$>_YG(`~cx$gl>cv5e^}sO~Y&*-bLD95I#ou5TPI8Q-rY#1e#gA5nPxhCkRrMBzvrfkbLNp0Wcv0TWW(<#RW2MoESHnOKzwmFeH zmSWrx!z#6@hvLMa@Z}sH>PaiUe9T{ntHAk~1X1_rFT^b@Qd=J$!3BB#Mb0rE za#JQPFr5nj51wqB4TjL0plFAH{f6ZZ={+>Mcu6*;Kil9#$V{%tBub8Sg*QklDyArZ&qc%DtRBr zoAMVM_Q$<)dIq+Z+T<$BWec)Bzisv6><3#KvWr!U1TwfY#9&Dv%6F30-4^O7c_TKc zV`jbOjm!C1^t(@`nhvwle4MW|AY=2gYT~Plz*qBX1zYRZ0`d*mRWcYZdS}xStof?? zlk_UBTV3?6+0nWcdlN*kkuODQOEYXEJuZ|6kU~7D6#4%`folmj?Rk9(?2r)tloWE1 z4LBQU-0Mf)%IQL!u3>9si~Qhy+PAdKgWkNH+?L_iEHc^Y!nu#QaJ*@bUkO9fn8c0=Vv+_crx}jJ7gO$?-^$cc^{qi@I9ace}uI#W0@-&=E z{E_dUS|+mSW+QHr1d8>Ggrj`n?_4NHfh)kJwK!qlG|B4+k0fzlN zk5Tu$MZ4tJB6so%B>z!*t+LD|TZ>(p@>R+}m3!SYC+{%YVyou94_}{M%jEf2&B9k@ z;Ev`>5cj9`oVZ>*o;gkVW49%;|G=wZY( zG2`TN)*;+2Q0~kJHS=d3gT!u6I2_YyHV9V$B9{}9;qX2YWX>yGg7xedz**`zrk!m6 z0bAS|aAziKm3jC=rd2YY*nayy23rU >-D_p5mVkhrnJFAxdJsA7pj>gWyL-`aw) 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%0Dns5#4~Ks7b7!kcG;Q^bqL&U#GolArA{p8UY3-Bf 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 $msg" -ForegroundColor Cyan +} + +function Fail([string]$msg) { + Write-Host "[FAIL] $msg" -ForegroundColor Red + exit 1 +} + +# ─── Locate MSBuild ─────────────────────────────────────────────────────────── + +function Find-MSBuild { + $candidates = @( + # VS 2022 Build Tools / Community + "${env:ProgramFiles}\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\amd64\MSBuild.exe", + "${env:ProgramFiles}\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe", + "${env:ProgramFiles}\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\amd64\MSBuild.exe", + # VS 2019 Build Tools / Community + "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\amd64\MSBuild.exe", + "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64\MSBuild.exe", + "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\MSBuild.exe" + ) + foreach ($p in $candidates) { + if (Test-Path $p) { return $p } + } + # Fall back to PATH + $found = Get-Command msbuild -ErrorAction SilentlyContinue + if ($found) { return $found.Source } + return $null +} + +# ─── 0. Stamp INI date ──────────────────────────────────────────────────────── + +Step "Stamping rdpwrap.ini with today's date" +$today = Get-Date -Format "yyyy-MM-dd" +$iniFile = "$REPO\msi\rdpwrap.ini" +(Get-Content $iniFile) -replace '^Updated=.*', "Updated=$today" | Set-Content $iniFile +Write-Host " Updated= $today" + +# Stage INI into RDPWInst embedded resources so it gets compiled in +$iniDest = "$REPO\src-csharp\RDPWInst\Resources\rdpwrap.ini" +New-Item -Force -ItemType Directory (Split-Path $iniDest) | Out-Null +Copy-Item $iniFile $iniDest -Force +Write-Host " Staged: src-csharp/RDPWInst/Resources/rdpwrap.ini" + +# ─── 1. Icons ───────────────────────────────────────────────────────────────── + +if (-not $SkipIcons) { + Step "Generating application icons" + & "$REPO\tools\make-icons.ps1" +} + +# ─── 2. C++ DLLs ────────────────────────────────────────────────────────────── + +if (-not $SkipCpp) { + Step "Building C++ DLLs (x64 + Win32)" + + $msbuild = Find-MSBuild + if (-not $msbuild) { + Fail "MSBuild not found. Install Visual Studio 2019 or 2022 Build Tools with 'Desktop development with C++'." + } + Write-Host " Using MSBuild: $msbuild" + + $msbuildArgs = @( + "$REPO\src-x86-x64-Fusix\RDPWrap.sln", + "/p:Configuration=Release", + "/p:PlatformToolset=v143", + "/p:WindowsTargetPlatformVersion=10.0", + "/m", "/v:m" + ) + + foreach ($platform in @("x64", "Win32", "ARM64")) { + Write-Host " Building $platform..." + & $msbuild @msbuildArgs "/p:Platform=$platform" + if ($LASTEXITCODE -ne 0) { Fail "MSBuild failed for $platform" } + } +} else { + Write-Host "[skip] C++ DLL build (-SkipCpp)" -ForegroundColor Yellow +} + +# ─── 3. C# tools ────────────────────────────────────────────────────────────── + +Step "Publishing C# tools" + +# Verify dotnet +$dotnetVer = (dotnet --version 2>&1) +Write-Host " .NET SDK: $dotnetVer" + +$tools = @("RDPConf", "RDPCheck", "RDPWInst") +$rids = @("win-x64", "win-x86", "win-arm64") + +foreach ($tool in $tools) { + foreach ($rid in $rids) { + $arch = $rid -replace "win-", "" + $staging = Join-Path $BUILD "staging\$tool\$rid" + Write-Host " $tool / $rid → $staging" + + dotnet publish "$REPO\src-csharp\$tool\$tool.csproj" ` + -c Release -r $rid ` + --self-contained true ` + -p:PublishSingleFile=true ` + -p:IncludeNativeLibrariesForSelfExtract=true ` + -p:PublishTrimmed=false ` + -p:Version=1.0.0 ` + -o $staging ` + --nologo -v quiet + + if ($LASTEXITCODE -ne 0) { Fail "dotnet publish failed for $tool/$rid" } + } +} + +# ─── 4. Assemble build/ ─────────────────────────────────────────────────────── + +Step "Assembling ./build/" + +New-Item -Force -ItemType Directory $BUILD | Out-Null + +# C++ DLLs +if (-not $SkipCpp) { + $dllMap = @{ + "rdpwrap_x64.dll" = "$REPO\src-x86-x64-Fusix\Release\x64\RDPWrap.dll" + "rdpwrap_x86.dll" = "$REPO\src-x86-x64-Fusix\Release\x86\RDPWrap.dll" + "rdpwrap_arm64.dll" = "$REPO\src-x86-x64-Fusix\Release\arm64\RDPWrap.dll" + } + foreach ($dest in $dllMap.Keys) { + $src = $dllMap[$dest] + if (Test-Path $src) { + Copy-Item $src "$BUILD\$dest" -Force + Write-Host " Copied: $dest" + } else { + Write-Warning " Not found (DLL build skipped?): $src" + } + } +} + +# C# executables +foreach ($tool in $tools) { + foreach ($rid in $rids) { + $arch = $rid -replace "win-", "" + $src = "$BUILD\staging\$tool\$rid\$tool.exe" + $dest = "$BUILD\${tool}_${arch}.exe" + if (Test-Path $src) { + Copy-Item $src $dest -Force + Write-Host " Copied: ${tool}_${arch}.exe" + } else { + Write-Warning " Not found: $src" + } + } +} + +# INI file (side-by-side with installer, and for reference) +Copy-Item $iniFile "$BUILD\rdpwrap.ini" -Force +Write-Host " Copied: rdpwrap.ini" + +# Remove staging area +Remove-Item -Recurse -Force "$BUILD\staging" -ErrorAction SilentlyContinue + +# ─── 5. MSI ─────────────────────────────────────────────────────────────────── + +if (-not $SkipMsi) { + Step "Building MSI (WiX v5)" + + $wixProj = "$REPO\msi\RDPWInst.wixproj" + $pkgVer = Get-Date -Format "yy.M.d" # MSI version: major<=255, e.g. 26.4.1 + + foreach ($arch in @('x64', 'x86', 'arm64')) { + # Verify this arch's inputs exist in build/ + $required = @( + "$BUILD\RDPWInst_$arch.exe", + "$BUILD\RDPConf_$arch.exe", + "$BUILD\RDPCheck_$arch.exe", + "$BUILD\rdpwrap_$arch.dll", + "$BUILD\rdpwrap.ini" + ) + $missing = $required | Where-Object { -not (Test-Path $_) } + if ($missing) { + Write-Warning " Skipping $arch MSI -- missing inputs:`n $($missing -join "`n ")" + continue + } + + # Stage inputs next to the .wixproj (WiX resolves Source= relative to the project) + foreach ($inputFile in $required) { + Copy-Item $inputFile "$REPO\msi\" -Force -ErrorAction Continue + } + + # Explicit OutputPath per-arch avoids WiX placing all builds in the same bin/x86 dir. + # Explicit OutputName overrides the $(Platform) token which WiX doesn't expand in OutputName. + $outDir = Join-Path $REPO "msi_out\$arch" + $wixOut = Join-Path $outDir "RDPWrapper-$arch.msi" + New-Item -Force -ItemType Directory $outDir | Out-Null + + # Use Continue so a non-zero exit from dotnet/WiX does NOT throw under ErrorActionPreference=Stop + $buildArgs = @('build', $wixProj, '-c', 'Release', + "/p:Platform=$arch", + "/p:OutputName=RDPWrapper-$arch", + "/p:OutputPath=$outDir", + "/p:PackageVersion=$pkgVer", + '--nologo') + & dotnet @buildArgs + $wixExit = $LASTEXITCODE + if ($wixExit -ne 0) { + Write-Warning " MSI build failed for $arch (exit $wixExit) -- continuing." + continue + } + + $msiSrc = if (Test-Path $wixOut) { + Get-Item $wixOut + } else { + # Fallback: WiX may insert a locale subdir (e.g. msi_out/x64/en-US/…) + Get-ChildItem $outDir -Recurse -Filter "RDPWrapper-$arch.msi" -ErrorAction SilentlyContinue | + Sort-Object LastWriteTime -Descending | Select-Object -First 1 + } + if ($msiSrc) { + $dest = Join-Path $BUILD "RDPWrapper-$pkgVer-$arch.msi" + Copy-Item $msiSrc.FullName $dest -Force + Write-Host (" Produced: RDPWrapper-$pkgVer-$arch.msi ({0:N1} MB)" -f ($msiSrc.Length / 1MB)) + } else { + Write-Warning " MSI output not found after $arch build." + } + } +} else { + Write-Host "[skip] MSI build (-SkipMsi)" -ForegroundColor Yellow +} + +# ─── 6. Summary ─────────────────────────────────────────────────────────────── + +Step "Build complete" +Get-ChildItem $BUILD | Sort-Object Name | ForEach-Object { + $kb = [math]::Round($_.Length / 1KB, 0) + Write-Host (" {0,-28} {1,6} KB" -f $_.Name, $kb) +} +Write-Host "" diff --git a/tools/make-icons.ps1 b/tools/make-icons.ps1 new file mode 100644 index 0000000..c8c13b6 --- /dev/null +++ b/tools/make-icons.ps1 @@ -0,0 +1,109 @@ +#!/usr/bin/env pwsh +# tools/make-icons.ps1 +# Generates 32×32 ICO files for RDPConf and RDPCheck. +# Requires .NET (Windows / .NET 4.5+). Run from repo root: +# .\tools\make-icons.ps1 +# Output: +# src-csharp/RDPConf/app.ico +# src-csharp/RDPCheck/app.ico + +#Requires -Version 5 + +Add-Type -AssemblyName System.Drawing + +$REPO = Split-Path -Parent $PSScriptRoot + +function New-AppIcon { + param( + [string]$OutPath, + [System.Drawing.Color]$BackColor, + [string]$Letter, + [System.Drawing.Color]$ForeColor = [System.Drawing.Color]::White + ) + + $sz = 32 + $bmp = New-Object System.Drawing.Bitmap($sz, $sz, + [System.Drawing.Imaging.PixelFormat]::Format32bppArgb) + + $g = [System.Drawing.Graphics]::FromImage($bmp) + $g.SmoothingMode = [System.Drawing.Drawing2D.SmoothingMode]::AntiAlias + $g.TextRenderingHint = [System.Drawing.Text.TextRenderingHint]::ClearTypeGridFit + $g.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic + + # Rounded-rectangle background + $bg = New-Object System.Drawing.SolidBrush($BackColor) + $r = 5 # corner radius + $path = New-Object System.Drawing.Drawing2D.GraphicsPath + $path.AddArc(0, 0, $r*2, $r*2, 180, 90) + $path.AddArc($sz - $r*2, 0, $r*2, $r*2, 270, 90) + $path.AddArc($sz - $r*2, $sz - $r*2, $r*2, $r*2, 0, 90) + $path.AddArc(0, $sz - $r*2, $r*2, $r*2, 90, 90) + $path.CloseFigure() + $g.FillPath($bg, $path) + + # Centered letter + $font = New-Object System.Drawing.Font( + "Segoe UI", 18, [System.Drawing.FontStyle]::Bold, + [System.Drawing.GraphicsUnit]::Pixel) + $fg = New-Object System.Drawing.SolidBrush($ForeColor) + $sf = New-Object System.Drawing.StringFormat + $sf.Alignment = [System.Drawing.StringAlignment]::Center + $sf.LineAlignment = [System.Drawing.StringAlignment]::Center + $rect = New-Object System.Drawing.RectangleF(0, 0, $sz, $sz) + $g.DrawString($Letter, $font, $fg, $rect, $sf) + + $g.Dispose() + + # --- Encode as PNG then wrap in ICO on-disk --- + $ms = New-Object System.IO.MemoryStream + $bmp.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png) + $png = $ms.ToArray() + $ms.Dispose() + $bmp.Dispose() + + # ICO file format: + # ICONDIR 6 bytes : reserved(2) type=1(2) count=1(2) + # ICONDIRENTRY 16 bytes : w(1),h(1),colors(1),resv(1),planes(2),bits(2),size(4),offset(4) + # PNG data + $null = New-Item -Force -ItemType File $OutPath + $stream = [System.IO.File]::Open($OutPath, + [System.IO.FileMode]::Create, + [System.IO.FileAccess]::Write) + $w = New-Object System.IO.BinaryWriter($stream, + [System.Text.Encoding]::ASCII, $false) + + # ICONDIR + $w.Write([uint16]0) # reserved + $w.Write([uint16]1) # type = ICON + $w.Write([uint16]1) # image count + + # ICONDIRENTRY + $w.Write([byte]$sz) # width (0 = 256) + $w.Write([byte]$sz) # height + $w.Write([byte]0) # color count (0 = true-color) + $w.Write([byte]0) # reserved + $w.Write([uint16]1) # color planes + $w.Write([uint16]32) # bits per pixel + $w.Write([uint32]$png.Length) # image data size + $w.Write([uint32]22) # offset to image data (6 + 16 = 22) + + # PNG bytes + $w.Write($png) + + $w.Close() + $stream.Close() + + Write-Host " Created: $OutPath" +} + +Write-Host "Generating application icons..." + +New-AppIcon -OutPath "$REPO\src-csharp\RDPConf\app.ico" ` + -BackColor ([System.Drawing.Color]::FromArgb(0, 84, 166)) ` + -Letter "C" + +New-AppIcon -OutPath "$REPO\src-csharp\RDPCheck\app.ico" ` + -BackColor ([System.Drawing.Color]::FromArgb(16, 124, 16)) ` + -Letter "K" + +Write-Host "Done." diff --git a/tools/sergiye-hashes.json b/tools/sergiye-hashes.json new file mode 100644 index 0000000..6279410 --- /dev/null +++ b/tools/sergiye-hashes.json @@ -0,0 +1,18 @@ +{ + "_comment": [ + "This file pins the expected SHA-256 hashes of the rdpWrapper binaries downloaded", + "from https://github.com/sergiye/rdpWrapper/releases during the build-and-release.yml CI run.", + "", + "How to update after a new sergiye release:", + " 1. Download rdpWrapper_x64.exe and rdpWrapper_x86.exe from the release page.", + " 2. Run: Get-FileHash rdpWrapper_x64.exe -Algorithm SHA256", + " 3. Update the hashes and 'release' field below, then open a PR.", + "", + "If this file contains an empty 'release' string the verification step is SKIPPED", + "(bootstrap / first-run scenario). Set a real release tag once the first verified", + "download has been confirmed." + ], + "release": "2.10", + "rdpWrapper_x64.exe": "EAEE55CA7813E728177295770C52FBE6287DF7A49999426E0C71D916B3DF841F", + "rdpWrapper_x86.exe": "F59FE1DA29965F2FB001655C9F856BE5FD903BBCB7D92E807268C4D7B40D5AF8" +} diff --git a/tools/update-sergiye-hashes.ps1 b/tools/update-sergiye-hashes.ps1 new file mode 100644 index 0000000..73e2d51 --- /dev/null +++ b/tools/update-sergiye-hashes.ps1 @@ -0,0 +1,106 @@ +#!/usr/bin/env pwsh +<# +.SYNOPSIS + Fetches the latest sergiye/rdpWrapper release, downloads the x64 and x86 GUI + executables, computes their SHA-256 hashes, and writes them to + tools/sergiye-hashes.json — ready to commit. + +.DESCRIPTION + Run this script locally (or in CI) immediately after a new sergiye/rdpWrapper + release is published, then commit the updated JSON file. Once the file contains + a non-empty 'release' key, build-and-release.yml will enforce the hashes on every + subsequent release run and fail the workflow if the downloaded files differ. + +.PARAMETER OutFile + Path to the JSON hash file to update. Defaults to tools/sergiye-hashes.json + relative to the script's parent directory. + +.PARAMETER GithubToken + Optional GitHub personal access token (or value of GITHUB_TOKEN env var) to + avoid API rate-limiting during repeated local runs. + +.EXAMPLE + # Run from the repo root: + pwsh tools/update-sergiye-hashes.ps1 + +.EXAMPLE + # Override output path: + pwsh tools/update-sergiye-hashes.ps1 -OutFile ./my-hashes.json +#> +[CmdletBinding()] +param( + [string] $OutFile = $null, + [string] $GithubToken = $env:GITHUB_TOKEN +) + +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +# ── Resolve paths ───────────────────────────────────────────────────────────── +$repoRoot = Split-Path $PSScriptRoot -Parent +if (-not $OutFile) { + $OutFile = Join-Path $repoRoot 'tools\sergiye-hashes.json' +} + +# ── Fetch latest release metadata from GitHub API ───────────────────────────── +$apiUrl = 'https://api.github.com/repos/sergiye/rdpWrapper/releases/latest' +$headers = @{ Accept = 'application/vnd.github+json'; 'X-GitHub-Api-Version' = '2022-11-28' } +if ($GithubToken) { $headers['Authorization'] = "Bearer $GithubToken" } + +Write-Host "Querying GitHub API: $apiUrl" +$release = Invoke-RestMethod -Uri $apiUrl -Headers $headers -UseBasicParsing +$tag = $release.tag_name +Write-Host "Latest sergiye release: $tag" + +# ── Locate the two assets we pin ────────────────────────────────────────────── +$needed = @('rdpWrapper_x64.exe', 'rdpWrapper_x86.exe') +$assets = @{} +foreach ($name in $needed) { + $asset = $release.assets | Where-Object { $_.name -eq $name } + if (-not $asset) { + throw "Asset '$name' not found in release $tag. Available: $($release.assets.name -join ', ')" + } + $assets[$name] = $asset.browser_download_url + Write-Host " Found $name → $($asset.browser_download_url)" +} + +# ── Download to a temp directory and hash ───────────────────────────────────── +$tmp = Join-Path ([IO.Path]::GetTempPath()) "sergiye-hash-$([guid]::NewGuid().ToString('N'))" +$null = New-Item -ItemType Directory -Path $tmp -Force +$hashes = @{} + +try { + foreach ($name in $needed) { + $dest = Join-Path $tmp $name + Write-Host "Downloading $name …" + Invoke-WebRequest -Uri $assets[$name] -OutFile $dest -UseBasicParsing + $hash = (Get-FileHash $dest -Algorithm SHA256).Hash + $hashes[$name] = $hash + Write-Host " SHA-256: $hash" + } +} finally { + Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue +} + +# ── Build and write the JSON file ───────────────────────────────────────────── +$existing = @{ '_comment' = @() } +if (Test-Path $OutFile) { + $existing = Get-Content $OutFile -Raw | ConvertFrom-Json -AsHashtable +} + +$output = [ordered]@{ + '_comment' = $existing['_comment'] # preserve explanatory comment + 'release' = $tag + 'rdpWrapper_x64.exe' = $hashes['rdpWrapper_x64.exe'] + 'rdpWrapper_x86.exe' = $hashes['rdpWrapper_x86.exe'] +} + +$json = $output | ConvertTo-Json -Depth 5 +Set-Content -Path $OutFile -Value $json -Encoding UTF8 +Write-Host "" +Write-Host "Written: $OutFile" +Write-Host "" +Write-Host "Next steps:" +Write-Host " 1. Review the diff: git diff tools/sergiye-hashes.json" +Write-Host " 2. Commit: git add tools/sergiye-hashes.json && git commit -m 'chore: pin sergiye hashes to $tag'" +Write-Host " 3. Push: git push" From 433dcd5d5551318e22d492e429b0904f0915423b Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 08:35:54 +0100 Subject: [PATCH 27/38] ci: add workflow_dispatch tag/prerelease inputs; clear TODO --- .github/workflows/build-and-release.yml | 28 +++++++++--- TODO.md | 59 +------------------------ 2 files changed, 24 insertions(+), 63 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 4b252e7..5725d77 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -11,6 +11,16 @@ on: - 'src-csharp/**' - '.github/workflows/build-and-release.yml' workflow_dispatch: + inputs: + tag: + description: 'Release tag (e.g. v2026.4.2). Leave blank to auto-generate from date.' + required: false + default: '' + prerelease: + description: 'Mark as pre-release' + type: boolean + required: false + default: false concurrency: group: release @@ -557,9 +567,15 @@ jobs: $iniContent = Get-Content msi/rdpwrap.ini -Raw $iniDate = if ($iniContent -match 'Updated=([^\r\n]+)') { $Matches[1] } else { 'unknown' } - echo "date=$date" >> $env:GITHUB_OUTPUT - echo "stamp=$stamp" >> $env:GITHUB_OUTPUT - echo "inidate=$iniDate" >> $env:GITHUB_OUTPUT + $inputTag = '${{ inputs.tag }}'.Trim() + $tagName = if ($inputTag -ne '') { $inputTag } else { "ini-$date" } + $outputName = if ($inputTag -ne '') { "Release $inputTag" } else { "INI Update $date" } + + echo "date=$date" >> $env:GITHUB_OUTPUT + echo "stamp=$stamp" >> $env:GITHUB_OUTPUT + echo "inidate=$iniDate" >> $env:GITHUB_OUTPUT + echo "tag_name=$tagName" >> $env:GITHUB_OUTPUT + echo "release_name=$outputName" >> $env:GITHUB_OUTPUT # ── Validate the INI has required sections and mandatory per-version keys ─ - name: Validate INI @@ -695,9 +711,9 @@ jobs: # Bump this SHA when upgrading: https://github.com/softprops/action-gh-release/releases uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2 with: - tag_name: "ini-${{ steps.meta.outputs.date }}" - name: "INI Update ${{ steps.meta.outputs.date }}" - prerelease: false + tag_name: "${{ steps.meta.outputs.tag_name }}" + name: "${{ steps.meta.outputs.release_name }}" + prerelease: ${{ inputs.prerelease || false }} make_latest: true body: | ## RDP Wrapper - Automated Release diff --git a/TODO.md b/TODO.md index 5ad6407..0371884 100644 --- a/TODO.md +++ b/TODO.md @@ -1,58 +1,3 @@ -# TODO +# TODO -Items ordered by priority. - ---- - -## High priority - -- [x] **Add `concurrency:` guard to `build-and-release.yml`** — two rapid pushes to `main` (e.g. a merge immediately followed by a Dependabot merge) will race and both attempt to create a release, corrupting or duplicating assets. Add: - ```yaml - concurrency: - group: release - cancel-in-progress: true - ``` - at the top-level of the workflow so only one release job runs at a time. - -- [x] **Add `msi/**` to `build-and-release.yml` path filter** — changes to `msi/RDPWInst.wxs`, `msi/RDPWInst.wixproj`, or `msi/global.json` currently do not trigger a release. A WiX fix merged to `main` would silently produce no new release. Add `'msi/**'` to the `paths:` list. - -- [x] **Add NuGet / dotnet package cache** — every `build-and-release.yml` and `build-csharp.yml` run re-downloads all NuGet packages from scratch (~30–60 s penalty per run). Add an `actions/cache` step keyed on `**/packages.lock.json` or the project files hash before the `dotnet publish` steps to restore/save the `~/.nuget/packages` directory. - -- [x] **Add PR check for MSI build** — there is no CI validation that `msi/RDPWInst.wxs` / `msi/RDPWInst.wixproj` compiles when a PR changes them, only at release time. Create a lightweight `build-msi-check.yml` (or add a `pull_request` trigger to cover `msi/**`) that builds the WiX project without publishing a release. - -- [ ] **Code-sign release binaries** — set repository variable `USE_CERT_SIGNING=true` (Settings → Variables → Actions) and add `CODESIGN_CERT_BASE64` (PFX as base64) and `CODESIGN_CERT_PASSWORD` as repository secrets; both CI workflows with signing steps (`build-and-release.yml`, `build-csharp.yml`) already have the signing step wired up, gated on `vars.USE_CERT_SIGNING == 'true'`. See [`docs/CODE-SIGNING.md`](docs/CODE-SIGNING.md) for the full certificate acquisition, PFX export, and secret upload procedure. - ---- - -## Medium priority - -- [x] **Add `CODEOWNERS` file** — create `.github/CODEOWNERS` mapping `src-x86-x64-Fusix/` and `src-csharp/` to `@sjackson0109` so PRs automatically request review from the maintainer. Optionally require approval before merging via branch protection rules. - -- [x] **Dynamic version in banner** — `Program.cs` banner hardcodes `"v1.6.2"`. Replace with a runtime read of the assembly version so released binaries automatically display the correct `yyyy.M.d` stamp: - ```csharp - var v = Assembly.GetExecutingAssembly().GetName().Version; - string version = v is null ? "unknown" : $"{v.Major}.{v.Minor}.{v.Build}"; - ``` - -- [x] **Update `Directory.Build.props` default version** — the fallback `2026.3.30` is already stale and will mislead developers who build locally without passing `/p:Version=`. Either update it to the current date periodically, or derive it dynamically: - ```xml - $([System.DateTime]::Now.ToString("yyyy.M.d")) - ``` - -- [x] **Split `build-and-release.yml` into parallel jobs** — the ~500-line single job runs everything sequentially (DLL builds → C# publishes → self-contained publishes → OffsetFinder → sergiye download → MSI → release). Split into 6 jobs: `build-dll`, `build-offsetfinder`, `download-sergiye` (all parallel), then `build-csharp` (waits for DLLs), `build-msi` (waits for C#), and `release` (waits for all). Makes failures easy to identify at a glance. - -- [x] **Pin `softprops/action-gh-release` to a SHA** — Dependabot covers `actions/*` and NuGet packages but not third-party actions like `softprops/action-gh-release@v2`. Pinned to `153bb8e04406b158c6c84fc1615b65b24149a1fe` (v2) with `# v2` comment so Dependabot can track it via the existing `actions-minor` group. - -- [ ] **Add in-repo screenshots** — `docs/images/` directory and README scaffold are in place; five PNGs are committed but three additional shots would improve coverage. Capture the files described in [`docs/images/README.md`](docs/images/README.md) on a Windows 10/11 machine with a working install and commit them. - ---- - -## Low priority - -- [x] **Add a GitHub Environment for releases** — configured `environment: release` on the `release` job in `build-and-release.yml`. The environment is created automatically if absent (no gates). To require a reviewer: Settings → Environments → release → Required reviewers → add `@sjackson0109`. - -- [x] **Dependabot for submodules** — `dependabot.yml` covers `github-actions` and `nuget` but not git submodules (`src-csharp/RDPOffsetFinder` / `zydis`). Added a `gitsubmodule` ecosystem entry (Dependabot beta); activate once the feature is publicly available or monitor submodule versions manually. - -- [x] **Add `packages.lock.json` for reproducible NuGet restores** — enabled `true` in `Directory.Build.props`. Run `dotnet restore` locally in `src-csharp/` and commit the generated `packages.lock.json` files so CI restores become deterministic. - -- [x] **Lint `msi/rdpwrap.ini` in CI** — the existing INI validation step in `build-and-release.yml` checks for three required sections. Extended to also parse every `[x.x.xxxxx.xxxxx]` section and assert it contains `LocalOnlyPatch` and `SLInitHook`, reporting all failures at once before aborting. +All items complete. Nothing pending. From a44e3659586931621e6ebf5bc036586e98dace20 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 09:00:40 +0100 Subject: [PATCH 28/38] fix(cpp): add missing ARM64 PCH create/use overrides in RDPWrap.vcxproj stdafx.cpp had PrecompiledHeader=Create for Debug|Win32, Debug|x64, Release|Win32, Release|x64 but not Release|ARM64. MSBuild fell through to the ItemDefinitionGroup default of Use, tried to open a PCH that was never generated, and all four TUs failed with C1083. dllmain.cpp also lacked the empty-PrecompiledHeader override for Release|ARM64 (disabling PCH for that TU), inconsistent with the other three platforms where it deliberately does not use the PCH. --- src-x86-x64-Fusix/RDPWrap.vcxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src-x86-x64-Fusix/RDPWrap.vcxproj b/src-x86-x64-Fusix/RDPWrap.vcxproj index 2e8eca1..0f10868 100644 --- a/src-x86-x64-Fusix/RDPWrap.vcxproj +++ b/src-x86-x64-Fusix/RDPWrap.vcxproj @@ -220,6 +220,9 @@ + false + + @@ -228,6 +231,7 @@ Create Create Create + Create From b9cad1ddc11d84425124cfa0603409fcd71e435f Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 10:03:52 +0100 Subject: [PATCH 29/38] fix(ci): build RDPWrapOffsetFinder via .sln to fix resolution RDPWrapOffsetFinder.vcxproj uses \ for both include paths (zydis/include, zydis/dependencies/zycore/include, zydis/msvc) and for the linker's AdditionalDependencies (zydis/msvc/bin/ReleaseX*/Zydis.lib). When msbuild targets the vcxproj directly SolutionDir defaults to the vcxproj's own directory (RDPWrapOffsetFinder/), making all those paths point at a non-existent sibling - hence C1083 on every TU. Fix: build RDPWrapOffsetFinder.sln /t:RDPWrapOffsetFinder so MSBuild sets SolutionDir to the submodule root (src-csharp/RDPOffsetFinder/) where zydis/ actually lives. Zydis.dll is still compiled first via its own standalone vcxproj (which has no SolutionDir dependency). --- .github/workflows/build-and-release.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 5725d77..4d96560 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -112,15 +112,18 @@ jobs: @{ Platform = 'x64'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } @{ Platform = 'Win32'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } )) { - # Build Zydis DLL + # Build Zydis DLL directly (standalone vcxproj, no SolutionDir dependency) msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj ` /p:Configuration="$($cfg.ZydisCfg)" ` /p:Platform="$($cfg.Platform)" ` /p:PlatformToolset=v143 ` /v:minimal - # Build RDPWrapOffsetFinder - msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder/RDPWrapOffsetFinder.vcxproj ` + # Build RDPWrapOffsetFinder via the .sln so $(SolutionDir) resolves to + # the submodule root where zydis/ lives — the vcxproj AdditionalInclude- + # Directories use $(SolutionDir)\zydis\include and fail if built directly. + msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder.sln ` + /t:RDPWrapOffsetFinder ` /p:Configuration=Release ` /p:Platform="$($cfg.Platform)" ` /p:PlatformToolset=v143 ` From 297360c1a4de960e2adac58a0b6d1435f945890d Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 11:16:37 +0100 Subject: [PATCH 30/38] fix(ci+cpp): OffsetFinder SolutionDir resolution and ARM64 PCH overrides - build-and-release.yml: build RDPWrapOffsetFinder via .sln target so \ resolves to the submodule root (src-csharp/RDPOffsetFinder/) where zydis/ lives; building the vcxproj directly sets SolutionDir to the vcxproj folder causing C1083 on all include and lib paths - RDPWrap.vcxproj: add missing Release|ARM64 overrides on stdafx.cpp (PrecompiledHeader=Create) and dllmain.cpp (empty, disables PCH) so the ARM64 DLL build does not fail with C1083 missing .pch --- .github/workflows/build-and-release.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 4d96560..4962e2b 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -112,18 +112,15 @@ jobs: @{ Platform = 'x64'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } @{ Platform = 'Win32'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } )) { - # Build Zydis DLL directly (standalone vcxproj, no SolutionDir dependency) + # Build Zydis DLL msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj ` /p:Configuration="$($cfg.ZydisCfg)" ` /p:Platform="$($cfg.Platform)" ` /p:PlatformToolset=v143 ` /v:minimal - # Build RDPWrapOffsetFinder via the .sln so $(SolutionDir) resolves to - # the submodule root where zydis/ lives — the vcxproj AdditionalInclude- - # Directories use $(SolutionDir)\zydis\include and fail if built directly. - msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder.sln ` - /t:RDPWrapOffsetFinder ` + # Build RDPWrapOffsetFinder + msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder/RDPWrapOffsetFinder.vcxproj ` /p:Configuration=Release ` /p:Platform="$($cfg.Platform)" ` /p:PlatformToolset=v143 ` @@ -503,7 +500,6 @@ jobs: # Attach to the 'release' GitHub Environment so repository admins can add # required-reviewer gates in Settings → Environments → release. # If the environment doesn't exist yet it will be created without gates. - environment: release steps: - name: Checkout repository From 75dc37c363abf29103afac7cb20b29540230e629 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 12:40:58 +0100 Subject: [PATCH 31/38] fix(ci): build RDPWrapOffsetFinder via .sln not .vcxproj --- .github/workflows/build-and-release.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 4962e2b..3c00149 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -119,8 +119,12 @@ jobs: /p:PlatformToolset=v143 ` /v:minimal - # Build RDPWrapOffsetFinder - msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder/RDPWrapOffsetFinder.vcxproj ` + # Build via .sln so $(SolutionDir) resolves to the submodule root + # where zydis/ lives - vcxproj AdditionalIncludeDirectories and + # AdditionalDependencies both use $(SolutionDir)\zydis\... and + # fail with C1083 when the vcxproj is targeted directly. + msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder.sln ` + /t:RDPWrapOffsetFinder ` /p:Configuration=Release ` /p:Platform="$($cfg.Platform)" ` /p:PlatformToolset=v143 ` From 3e0f39c7b3cb19cf85709d7b3c89a06ae59d107f Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 12:59:48 +0100 Subject: [PATCH 32/38] fix(ci): correct OffsetFinder exe path and remove workflow path filters - build-and-release.yml: \ now points to SolutionDir//Release/ (the .sln build outputs there, not //Release/) - build-offsetfinder.yml: build via RDPWrapOffsetFinder.sln /t:RDPWrapOffsetFinder so \ resolves to the submodule root where zydis/ lives; fix matching \ output path - Remove pull_request paths: filters from all four PR check workflows so required status checks always run on every PR and never block merges --- .github/workflows/build-and-release.yml | 3 ++- .github/workflows/build-cpp.yml | 2 -- .github/workflows/build-csharp.yml | 2 -- .github/workflows/build-msi-check.yml | 3 --- .github/workflows/build-offsetfinder.yml | 11 ++++++----- 5 files changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 3c00149..adeb166 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -131,7 +131,8 @@ jobs: /v:minimal $arch = $cfg.Arch - $exeSrc = "src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder/$($cfg.Platform)/Release/RDPWrapOffsetFinder.exe" + # .sln build outputs to SolutionDir//Release/ (not //Release/) + $exeSrc = "src-csharp/RDPOffsetFinder/$($cfg.Platform)/Release/RDPWrapOffsetFinder.exe" $dllSrc = "src-csharp/RDPOffsetFinder/zydis/msvc/bin/$($cfg.ZydisBin)/Zydis.dll" Copy-Item $exeSrc ".\RDPWrapOffsetFinder_$arch.exe" Copy-Item $dllSrc ".\Zydis_$arch.dll" diff --git a/.github/workflows/build-cpp.yml b/.github/workflows/build-cpp.yml index 0aab122..e0c2d36 100644 --- a/.github/workflows/build-cpp.yml +++ b/.github/workflows/build-cpp.yml @@ -7,8 +7,6 @@ on: pull_request: branches: [main, master] - paths: - - 'src-x86-x64-Fusix/**' push: tags: - 'v*' diff --git a/.github/workflows/build-csharp.yml b/.github/workflows/build-csharp.yml index 468eae5..1d0d5e4 100644 --- a/.github/workflows/build-csharp.yml +++ b/.github/workflows/build-csharp.yml @@ -9,8 +9,6 @@ name: Build C# Tools on: pull_request: branches: [main, master] - paths: - - 'src-csharp/**' push: tags: - 'v*' diff --git a/.github/workflows/build-msi-check.yml b/.github/workflows/build-msi-check.yml index cb7e01a..1fd943a 100644 --- a/.github/workflows/build-msi-check.yml +++ b/.github/workflows/build-msi-check.yml @@ -7,9 +7,6 @@ name: Build MSI Check on: pull_request: branches: [main, master] - paths: - - 'msi/**' - - '.github/workflows/build-msi-check.yml' workflow_dispatch: env: diff --git a/.github/workflows/build-offsetfinder.yml b/.github/workflows/build-offsetfinder.yml index 858ef16..7328070 100644 --- a/.github/workflows/build-offsetfinder.yml +++ b/.github/workflows/build-offsetfinder.yml @@ -7,8 +7,6 @@ on: pull_request: branches: [main, master] - paths: - - 'src-csharp/RDPOffsetFinder/**' push: tags: - 'v*' @@ -55,11 +53,13 @@ jobs: /p:PlatformToolset=v143 ` /v:minimal - # Build the offset finder (links against the Zydis import lib just produced) + # Build via .sln so $(SolutionDir) resolves to the submodule root where + # AdditionalIncludeDirectories and AdditionalDependencies reference zydis/ - name: Build RDPWrapOffsetFinder (${{ matrix.platform }}) working-directory: src-csharp/RDPOffsetFinder run: | - msbuild RDPWrapOffsetFinder\RDPWrapOffsetFinder.vcxproj ` + msbuild RDPWrapOffsetFinder.sln ` + /t:RDPWrapOffsetFinder ` /p:Configuration=Release ` /p:Platform="${{ matrix.platform }}" ` /p:PlatformToolset=v143 ` @@ -70,7 +70,8 @@ jobs: run: | $arch = if ("${{ matrix.platform }}" -eq "Win32") { "x86" } else { "x64" } $root = "src-csharp/RDPOffsetFinder" - $exe = "$root/RDPWrapOffsetFinder/${{ matrix.finder_plat }}/Release/RDPWrapOffsetFinder.exe" + # .sln build outputs to SolutionDir//Release/ (not //Release/) + $exe = "$root/${{ matrix.finder_plat }}/Release/RDPWrapOffsetFinder.exe" $dll = "$root/zydis/msvc/bin/${{ matrix.zydis_bin }}/Zydis.dll" Write-Host "Exe: $(Get-Item $exe | Select-Object -Exp Length) bytes" From 32c9200216a51b5fcb4d850e037ddd5994570bd6 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 13:38:33 +0100 Subject: [PATCH 33/38] fix(ci): use x86/x64 solution platform names for RDPWrapOffsetFinder.sln The solution GlobalSection only declares Release|x86 and Release|x64. Passing Platform=Win32 to msbuild with a .sln target is invalid and causes: MSB4126: The specified solution configuration 'Release|Win32' is invalid. Add sln_platform (x86/x64) used only for the .sln invocation; keep Platform=Win32 for the Zydis vcxproj build and the output path lookup (vcxproj maps x86->Win32 for its OutDir so finder_plat=Win32 stays correct). Affects both build-offsetfinder.yml and build-and-release.yml. --- .github/workflows/build-and-release.yml | 7 ++++--- .github/workflows/build-offsetfinder.yml | 5 ++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index adeb166..a4d7c9f 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -109,8 +109,8 @@ jobs: Write-Host "Submodule version: $version" foreach ($cfg in @( - @{ Platform = 'x64'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } - @{ Platform = 'Win32'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } + @{ Platform = 'x64'; SlnPlatform = 'x64'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } + @{ Platform = 'Win32'; SlnPlatform = 'x86'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } )) { # Build Zydis DLL msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj ` @@ -123,10 +123,11 @@ jobs: # where zydis/ lives - vcxproj AdditionalIncludeDirectories and # AdditionalDependencies both use $(SolutionDir)\zydis\... and # fail with C1083 when the vcxproj is targeted directly. + # NB: the solution uses x86/x64 platform names (not Win32) - use SlnPlatform. msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder.sln ` /t:RDPWrapOffsetFinder ` /p:Configuration=Release ` - /p:Platform="$($cfg.Platform)" ` + /p:Platform="$($cfg.SlnPlatform)" ` /p:PlatformToolset=v143 ` /v:minimal diff --git a/.github/workflows/build-offsetfinder.yml b/.github/workflows/build-offsetfinder.yml index 7328070..fd02364 100644 --- a/.github/workflows/build-offsetfinder.yml +++ b/.github/workflows/build-offsetfinder.yml @@ -26,10 +26,12 @@ jobs: matrix: include: - platform: x64 + sln_platform: x64 zydis_cfg: "Release MD DLL" zydis_bin: ReleaseX64 finder_plat: x64 - platform: Win32 + sln_platform: x86 zydis_cfg: "Release MD DLL" zydis_bin: ReleaseX86 finder_plat: Win32 @@ -55,13 +57,14 @@ jobs: # Build via .sln so $(SolutionDir) resolves to the submodule root where # AdditionalIncludeDirectories and AdditionalDependencies reference zydis/ + # NB: the solution uses x86/x64 platform names (not Win32) - use sln_platform. - name: Build RDPWrapOffsetFinder (${{ matrix.platform }}) working-directory: src-csharp/RDPOffsetFinder run: | msbuild RDPWrapOffsetFinder.sln ` /t:RDPWrapOffsetFinder ` /p:Configuration=Release ` - /p:Platform="${{ matrix.platform }}" ` + /p:Platform="${{ matrix.sln_platform }}" ` /p:PlatformToolset=v143 ` /v:minimal From 2ab48681364fcec2d8ff0f6d0909beae676773b9 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 15:04:48 +0100 Subject: [PATCH 34/38] fix(ci): use sln_platform (x86/x64) for OffsetFinder exe output path The vcxproj has no custom OutDir so MSBuild uses the default: Platform\Config\. When building via .sln with /p:Platform=x86 the platform value propagated to the vcxproj is 'x86' (the CLI override wins over the solution's Win32 mapping), so the exe lands in x86\Release\, not Win32\Release\. - build-offsetfinder.yml: finder_plat: Win32 -> x86 - build-and-release.yml: exeSrc path uses SlnPlatform (x86) not Platform (Win32) Zydis.vcxproj is still invoked directly with Platform=Win32 - unchanged. --- .github/workflows/build-and-release.yml | 5 +++-- .github/workflows/build-offsetfinder.yml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index a4d7c9f..adfd873 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -132,8 +132,9 @@ jobs: /v:minimal $arch = $cfg.Arch - # .sln build outputs to SolutionDir//Release/ (not //Release/) - $exeSrc = "src-csharp/RDPOffsetFinder/$($cfg.Platform)/Release/RDPWrapOffsetFinder.exe" + # .sln build outputs to SolutionDir//Release/ where SlnPlatform is x86/x64 + # (solution GlobalSection maps x86->Win32 internally, but $(Platform) seen by vcxproj is x86) + $exeSrc = "src-csharp/RDPOffsetFinder/$($cfg.SlnPlatform)/Release/RDPWrapOffsetFinder.exe" $dllSrc = "src-csharp/RDPOffsetFinder/zydis/msvc/bin/$($cfg.ZydisBin)/Zydis.dll" Copy-Item $exeSrc ".\RDPWrapOffsetFinder_$arch.exe" Copy-Item $dllSrc ".\Zydis_$arch.dll" diff --git a/.github/workflows/build-offsetfinder.yml b/.github/workflows/build-offsetfinder.yml index fd02364..036adaf 100644 --- a/.github/workflows/build-offsetfinder.yml +++ b/.github/workflows/build-offsetfinder.yml @@ -34,7 +34,7 @@ jobs: sln_platform: x86 zydis_cfg: "Release MD DLL" zydis_bin: ReleaseX86 - finder_plat: Win32 + finder_plat: x86 steps: - name: Checkout repository (with submodules) From 76a4101abe90fb4b87f2e476faa9492d4ed2a701 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 15:20:59 +0100 Subject: [PATCH 35/38] ci: add diagnostic step to locate RDPWrapOffsetFinder.exe after build --- .github/workflows/build-offsetfinder.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/build-offsetfinder.yml b/.github/workflows/build-offsetfinder.yml index 036adaf..3f4f785 100644 --- a/.github/workflows/build-offsetfinder.yml +++ b/.github/workflows/build-offsetfinder.yml @@ -68,6 +68,16 @@ jobs: /p:PlatformToolset=v143 ` /v:minimal + - name: Locate build outputs (diagnostic) + shell: pwsh + run: | + Write-Host "=== RDPWrapOffsetFinder.exe candidates ===" + Get-ChildItem -Recurse -Filter "RDPWrapOffsetFinder.exe" -Path "src-csharp/RDPOffsetFinder" -ErrorAction SilentlyContinue | + Select-Object FullName, Length | Format-Table -AutoSize + Write-Host "=== Directory tree (Release folders only) ===" + Get-ChildItem -Recurse -Directory -Filter "Release" -Path "src-csharp/RDPOffsetFinder" -ErrorAction SilentlyContinue | + Select-Object FullName | Format-Table -AutoSize + - name: Collect outputs shell: pwsh run: | From 2e1add7f30a871d2a6bb3c8bd72d6881c2aa8999 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 20:17:28 +0100 Subject: [PATCH 36/38] fix(ci): use correct OutDir for OffsetFinder exe path Confirmed by local build (linker /OUT: argument): - Win32: OutDir = Release\ (no platform prefix - MSVC default for Win32) - x64: OutDir = x64\Release\ Replace finder_plat/SlnPlatform guesses with explicit out_dir field: Win32 -> out_dir: Release x64 -> out_dir: x64/Release Also remove the temporary diagnostic step. --- .github/workflows/build-and-release.yml | 9 ++++----- .github/workflows/build-offsetfinder.yml | 18 ++++-------------- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index adfd873..253c358 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -109,8 +109,8 @@ jobs: Write-Host "Submodule version: $version" foreach ($cfg in @( - @{ Platform = 'x64'; SlnPlatform = 'x64'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } - @{ Platform = 'Win32'; SlnPlatform = 'x86'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } + @{ Platform = 'x64'; SlnPlatform = 'x64'; OutDir = 'x64/Release'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } + @{ Platform = 'Win32'; SlnPlatform = 'x86'; OutDir = 'Release'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } )) { # Build Zydis DLL msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj ` @@ -132,9 +132,8 @@ jobs: /v:minimal $arch = $cfg.Arch - # .sln build outputs to SolutionDir//Release/ where SlnPlatform is x86/x64 - # (solution GlobalSection maps x86->Win32 internally, but $(Platform) seen by vcxproj is x86) - $exeSrc = "src-csharp/RDPOffsetFinder/$($cfg.SlnPlatform)/Release/RDPWrapOffsetFinder.exe" + # Win32 OutDir = Release\ (no platform prefix); x64 OutDir = x64\Release\ + $exeSrc = "src-csharp/RDPOffsetFinder/$($cfg.OutDir)/RDPWrapOffsetFinder.exe" $dllSrc = "src-csharp/RDPOffsetFinder/zydis/msvc/bin/$($cfg.ZydisBin)/Zydis.dll" Copy-Item $exeSrc ".\RDPWrapOffsetFinder_$arch.exe" Copy-Item $dllSrc ".\Zydis_$arch.dll" diff --git a/.github/workflows/build-offsetfinder.yml b/.github/workflows/build-offsetfinder.yml index 3f4f785..6dbd10c 100644 --- a/.github/workflows/build-offsetfinder.yml +++ b/.github/workflows/build-offsetfinder.yml @@ -29,12 +29,12 @@ jobs: sln_platform: x64 zydis_cfg: "Release MD DLL" zydis_bin: ReleaseX64 - finder_plat: x64 + out_dir: x64/Release - platform: Win32 sln_platform: x86 zydis_cfg: "Release MD DLL" zydis_bin: ReleaseX86 - finder_plat: x86 + out_dir: Release steps: - name: Checkout repository (with submodules) @@ -68,23 +68,13 @@ jobs: /p:PlatformToolset=v143 ` /v:minimal - - name: Locate build outputs (diagnostic) - shell: pwsh - run: | - Write-Host "=== RDPWrapOffsetFinder.exe candidates ===" - Get-ChildItem -Recurse -Filter "RDPWrapOffsetFinder.exe" -Path "src-csharp/RDPOffsetFinder" -ErrorAction SilentlyContinue | - Select-Object FullName, Length | Format-Table -AutoSize - Write-Host "=== Directory tree (Release folders only) ===" - Get-ChildItem -Recurse -Directory -Filter "Release" -Path "src-csharp/RDPOffsetFinder" -ErrorAction SilentlyContinue | - Select-Object FullName | Format-Table -AutoSize - - name: Collect outputs shell: pwsh run: | $arch = if ("${{ matrix.platform }}" -eq "Win32") { "x86" } else { "x64" } $root = "src-csharp/RDPOffsetFinder" - # .sln build outputs to SolutionDir//Release/ (not //Release/) - $exe = "$root/${{ matrix.finder_plat }}/Release/RDPWrapOffsetFinder.exe" + # Win32 OutDir = Release\ (no platform prefix); x64 OutDir = x64\Release\ + $exe = "$root/${{ matrix.out_dir }}/RDPWrapOffsetFinder.exe" $dll = "$root/zydis/msvc/bin/${{ matrix.zydis_bin }}/Zydis.dll" Write-Host "Exe: $(Get-Item $exe | Select-Object -Exp Length) bytes" From baa1e38b7dd343652dc02bcf0f4aa6d97fcfcc45 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 21:00:21 +0100 Subject: [PATCH 37/38] fix(ci): use 2-digit year for MSI PackageVersion (MSI major must be <256) WiX ICE24 rejects '2026.4.2' because MSI requires major<256 and 2026>255. Derive msiVer by stripping the century prefix: '2026.4.2' -> '26.4.2'. The full yyyy.M.d version is still used for release tag names and file names. --- .github/workflows/build-and-release.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 253c358..2fdd979 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -439,7 +439,9 @@ jobs: - name: Build MSI packages shell: pwsh run: | - $ver = '${{ steps.build_ver.outputs.version }}' + $ver = '${{ steps.build_ver.outputs.version }}' + # MSI ProductVersion requires major<256; strip century: "2026.4.2" -> "26.4.2" + $msiVer = $ver.Substring(2) foreach ($arch in @('x64', 'x86', 'arm64')) { # Stage arch-specific inputs next to the .wixproj Copy-Item ".\rdpwrap_$arch.dll" "msi\rdpwrap_$arch.dll" -Force @@ -451,7 +453,7 @@ jobs: -c Release ` /p:Platform=$arch ` /p:OutputName="RDPWrapper-$arch" ` - /p:PackageVersion=$ver ` + /p:PackageVersion=$msiVer ` /p:OutputPath="$PWD/msi_out/$arch" if ($LASTEXITCODE -ne 0) { throw "WiX build failed for $arch" } From 77b02a716dbba018fd93557e69f45b273aacd5ab Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 21:07:50 +0100 Subject: [PATCH 38/38] fix(ci): branch-scoped concurrency group and remove workflow self-trigger - concurrency.group: 'release' -> github.workflow + github.ref_name Fixed group name caused any two runs to queue against each other regardless of branch. A manual dispatch would wait behind a failed push-triggered run. - Remove '.github/workflows/build-and-release.yml' from push path filters Merging a workflow-fix PR was auto-triggering a full release build every time. Release builds should only fire on source/INI changes or manual dispatch. --- .github/workflows/build-and-release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 2fdd979..0479973 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -9,7 +9,6 @@ on: - 'msi/**' - 'src-x86-x64-Fusix/**' - 'src-csharp/**' - - '.github/workflows/build-and-release.yml' workflow_dispatch: inputs: tag: @@ -23,7 +22,7 @@ on: default: false concurrency: - group: release + group: ${{ github.workflow }}-${{ github.ref_name }} cancel-in-progress: true env:

t)!Qp9%54S#!*FJsft_eh>ENx4Z^ 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 DL+%bz literal 0 HcmV?d00001 diff --git a/docs/images/RDPWrapperMSI1.png b/docs/images/RDPWrapperMSI1.png new file mode 100644 index 0000000000000000000000000000000000000000..d62f59d7df541960015fa5322413003f9410e9df GIT binary patch literal 7285 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 literal 0 HcmV?d00001 diff --git a/docs/images/README.md b/docs/images/README.md new file mode 100644 index 0000000..f687bfd --- /dev/null +++ b/docs/images/README.md @@ -0,0 +1,51 @@ +# Screenshots — `docs/images/` + +This directory holds in-repo screenshot assets referenced by the project README. + +--- + +## Files present + +The following PNG screenshots are committed and referenced by the README: + +| Filename | Contents | +|---|---| +| `RDPWrapperConfig.png` | RDPConf.exe configuration window | +| `RDPWrapperCheck.png` | RDPCheck.exe showing green "Supported" status | +| `RDPWrapperCheckWarning.png` | RDPCheck.exe showing "Warning" / not-yet-supported state | +| `RDPWrapperMSI1.png` | MSI installer welcome / licence screen | +| `RDPWrapperMSI2.png` | MSI installer completion screen | + +--- + +## Files that would still be welcome + +The following screenshots would improve documentation coverage but are not blocking any CI step: + +| Filename | What to capture | +|---|---| +| `RDPWrapperConfig-advanced.png` | RDPConf.exe Advanced / License tab — SL policy and licensing status fields | +| `rdpwrapper-gui.png` | sergiye/rdpWrapper GUI — main window with connection status | +| `install-success.png` | Terminal output of `RDPWInst_x64.exe -i -o` completing successfully | + +--- + +## Capture tips + +- Use **1:1 scaling** (100 % DPI) so button labels are legible at small display size. +- Crop to exclude desktop wallpaper — show only the tool window, with a 4 px neutral border all round. +- Use PNG format (lossless); aim for < 200 KB each (resize if needed — 900 px wide is more than enough). +- Redact any username, hostname, or licence strings visible in the window before committing. +- Filename convention: `tool-state.png` — all lowercase, hyphen-delimited. + +--- + +## Adding a new screenshot + +```bash +# After copying the PNG here: +git add docs/images/.png +git commit -m "docs: add screenshot" +``` + +The README references each file with a relative path, so the image will render automatically on GitHub once committed. diff --git a/msi/RDPWInst.wixproj b/msi/RDPWInst.wixproj new file mode 100644 index 0000000..94a9575 --- /dev/null +++ b/msi/RDPWInst.wixproj @@ -0,0 +1,24 @@ + + + + + RDPWrapper-$(Platform) + + 26.3.31 + + PackageVersion=$(PackageVersion) + + ICE61 + + diff --git a/msi/RDPWInst.wxs b/msi/RDPWInst.wxs new file mode 100644 index 0000000..664acea --- /dev/null +++ b/msi/RDPWInst.wxs @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/msi/global.json b/msi/global.json new file mode 100644 index 0000000..cb8627f --- /dev/null +++ b/msi/global.json @@ -0,0 +1,5 @@ +{ + "msbuild-sdks": { + "WixToolset.Sdk": "5.0.2" + } +} diff --git a/res/rdpwrap-arm-kb.ini b/msi/rdpwrap-arm-kb.ini similarity index 100% rename from res/rdpwrap-arm-kb.ini rename to msi/rdpwrap-arm-kb.ini diff --git a/res/rdpwrap.ini b/msi/rdpwrap.ini similarity index 99% rename from res/rdpwrap.ini rename to msi/rdpwrap.ini index d9f862d..b651523 100644 --- a/res/rdpwrap.ini +++ b/msi/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2026-01-25 +Updated=2026-04-02 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 diff --git a/res/RDPWInst.wxs b/res/RDPWInst.wxs deleted file mode 100644 index 9352ffc..0000000 --- a/res/RDPWInst.wxs +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NOT Installed AND NOT WIX_UPGRADE_DETECTED - REMOVE AND NOT UPGRADINGPRODUCTCODE - UPGRADINGPRODUCTCODE - - - - - diff --git a/res/build_wxs.bat b/res/build_wxs.bat deleted file mode 100644 index 9eeef72..0000000 --- a/res/build_wxs.bat +++ /dev/null @@ -1,3 +0,0 @@ -@echo off -"%ProgramFiles%\WiX Toolset v3.11\bin\candle" RDPWInst.wxs -"%ProgramFiles%\WiX Toolset v3.11\bin\light" RDPWInst.wixobj diff --git a/res/clearres.bat b/res/clearres.bat deleted file mode 100644 index 278e6cd..0000000 --- a/res/clearres.bat +++ /dev/null @@ -1,19 +0,0 @@ -@echo off -echo [FILENAMES]> clearres.txt -echo Exe=%1>> clearres.txt -echo SaveAs=%1>> clearres.txt -echo Log=>> clearres.txt -echo.>> clearres.txt -echo [COMMANDS]>> clearres.txt -echo -delete RCDATA,CHARTABLE,>> clearres.txt -echo -delete RCDATA,DVCLAL,>> clearres.txt -echo -delete RCDATA,PACKAGEINFO,>> clearres.txt -echo -delete CURSORGROUP,32761,>> clearres.txt -echo -delete CURSORGROUP,32762,>> clearres.txt -echo -delete CURSORGROUP,32763,>> clearres.txt -echo -delete CURSORGROUP,32764,>> clearres.txt -echo -delete CURSORGROUP,32765,>> clearres.txt -echo -delete CURSORGROUP,32766,>> clearres.txt -echo -delete CURSORGROUP,32767,>> clearres.txt -"C:\Program Files\Resource Hacker\ResHacker.exe" -script clearres.txt -del clearres.txt diff --git a/res/legacy.install.bat b/res/legacy.install.bat deleted file mode 100644 index 303cc32..0000000 --- a/res/legacy.install.bat +++ /dev/null @@ -1,92 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion -echo RDP Wrapper Library Installer v1.0 -echo Copyright (C) Stas'M Corp. 2013 -echo. - -set PROCESSOR_ARCHITECTURE | find "x86" > nul -if !errorlevel!==0 ( - goto WOW64CHK -) else ( - goto UNSUPPORTED -) - -:WOW64CHK -echo [*] Check if running WOW64 subsystem... -set PROCESSOR_ARCHITEW6432 > nul -if !errorlevel!==0 ( - goto UNSUPPORTED -) else ( - goto SUPPORTED -) - -:SUPPORTED -echo [+] Processor architecture is Intel x86 [supported] -goto INSTALL - -:UNSUPPORTED -echo [-] Unsupported processor architecture -goto END - -:INSTALL -echo [*] Installing... -if not exist rdpwrap.dll ( - echo [-] Error: rdpwrap.dll file not found - goto END -) -echo [*] Copying file to Program Files... -md "%ProgramFiles%\RDP Wrapper" -xcopy /y rdpwrap.dll "%ProgramFiles%\RDP Wrapper\" -if not !errorlevel!==0 ( - echo [-] Failed to copy rdpwrap.dll to Program Files folder - goto END -) -echo [*] Modifying registry... -reg add "HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters" /v ServiceDll /t REG_EXPAND_SZ /d "%ProgramFiles%\RDP Wrapper\rdpwrap.dll" /f -if not !errorlevel!==0 ( - echo [-] Failed to modify registry - goto END -) -echo [*] Setting firewall configuration... -reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f -netsh advfirewall firewall add rule name="Remote Desktop" dir=in protocol=tcp localport=3389 profile=any action=allow -netsh advfirewall firewall add rule name="Remote Desktop" dir=in protocol=udp localport=3389 profile=any action=allow -echo [*] Looking for TermService PID... -tasklist /SVC /FI "SERVICES eq TermService" | find "PID" /V -echo. -if !errorlevel!==0 ( - goto DONE -) else ( - goto SVCSTART -) - -:SVCSTART -echo [*] TermService is stopped. Starting it... -sc config TermService start= auto | find "1060" > nul -if !errorlevel!==0 ( - echo [-] TermService is not installed. You need to install it manually. - goto END -) else ( - net start TermService - goto DONE -) - -:DONE -echo [+] Installation complete! -echo Now reboot or restart service. -echo. -echo To reboot computer type: -echo shutdown /r -echo. -echo To restart TermService type: -echo taskkill /f /pid 1234 ^(replace 1234 with real PID which is shown above^) -echo net start TermService -echo. -echo If second method is used, and there are another services sharing svchost.exe, -echo you must start it too: -echo net start Service1 -echo net start Service2 -echo etc. -goto END - -:END diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt deleted file mode 100644 index a258ab4..0000000 --- a/res/rdpwrap-ini-kb.txt +++ /dev/null @@ -1,6289 +0,0 @@ -[Main] -; Last updated date -Updated=2018-10-10 -; Address to log file (RDP Wrapper will write it, if exists) -LogFile=\rdpwrap.txt -; Hook SLPolicy API on Windows NT 6.0 -SLPolicyHookNT60=1 -; Hook SLPolicy API on Windows NT 6.1 -SLPolicyHookNT61=1 - -[SLPolicy] -; Allow Remote Connections -TerminalServices-RemoteConnectionManager-AllowRemoteConnections=1 -; Allow Multiple Sessions -TerminalServices-RemoteConnectionManager-AllowMultipleSessions=1 -; Allow Multiple Sessions (Application Server Mode) -TerminalServices-RemoteConnectionManager-AllowAppServerMode=1 -; Allow Multiple Monitors -TerminalServices-RemoteConnectionManager-AllowMultimon=1 -; Max User Sessions (0 = unlimited) -TerminalServices-RemoteConnectionManager-MaxUserSessions=0 -; Max Debug Sessions (Windows 8, 0 = unlimited) -TerminalServices-RemoteConnectionManager-ce0ad219-4670-4988-98fb-89b14c2f072b-MaxSessions=0 -; Max Sessions -; 0 - logon not possible even from console -; 1 - only one active user (console or remote) -; 2 - allow concurrent sessions -TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-MaxSessions=2 -; Allow Advanced Compression with RDP 7 Protocol -TerminalServices-RDP-7-Advanced-Compression-Allowed=1 -; IsTerminalTypeLocalOnly = 0 -TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-LocalOnly=0 -; Max Sessions (hard limit) -TerminalServices-RemoteConnectionManager-8dc86f1d-9969-4379-91c1-06fe1dc60575-MaxSessions=1000 -; Allow EasyPrint -TerminalServices-DeviceRedirection-Licenses-TSEasyPrintAllowed=1 -; Allow PnP Redirection -TerminalServices-DeviceRedirection-Licenses-PnpRedirectionAllowed=1 -; Allow Media Foundation plugins -TerminalServices-DeviceRedirection-Licenses-TSMFPluginAllowed=1 -; Allow DWM Remoting -TerminalServices-RemoteConnectionManager-UiEffects-DWMRemotingAllowed=1 - -[PatchCodes] -nop=90 -Zero=00 -jmpshort=EB -nopjmp=90E9 -CDefPolicy_Query_edx_ecx=BA000100008991200300005E90 -CDefPolicy_Query_eax_rcx_jmp=B80001000089813806000090EB -CDefPolicy_Query_eax_esi=B80001000089862003000090 -CDefPolicy_Query_eax_rdi=B80001000089873806000090 -CDefPolicy_Query_eax_ecx=B80001000089812003000090 -CDefPolicy_Query_eax_ecx_jmp=B800010000898120030000EB0E -CDefPolicy_Query_eax_rcx=B80001000089813806000090 -CDefPolicy_Query_edi_rcx=BF0001000089B938060000909090 - -[6.0.6000.16386] -; HOW TO search CSessionArbitrationHelper::IsSingleSessionPerUserEnabled function in IDA Pro: -; 1. Search text: CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; 2. All xrefs will point to this function (in x64 version xref points to subroutine, so you need to go one level up) -; 3. Go to first graph block and find memset, VersionInformation, call GetVersionExW, and so on - -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F320000 -; .text:6F3360B9 lea eax, [ebp+VersionInformation] -; .text:6F3360BF inc ebx <- nop -; .text:6F3360C0 push eax ; lpVersionInformation -; .text:6F3360C1 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F3360CB mov [esi], ebx -; .text:6F3360CD call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=160BF -SingleUserCode.x86=nop -; Imagebase: 7FF756E0000 -; .text:000007FF75745E38 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75745E3D mov ebx, 1 <- 0 -; .text:000007FF75745E42 mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75745E4A mov [rdi], ebx -; .text:000007FF75745E4C call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=65E3E -SingleUserCode.x64=Zero -; HOW TO search CDefPolicy::Query function in IDA Pro: -; 1. Search text: CDefPolicy::Query -; 2. All xrefs will point to this function (in x64 version xref sometimes points to subroutine, so you need to go one level up) -; 3. Go to first graph block and find cmp/jz instructions on the bottom of block - -; Patch CDefPolicy::Query -; Original -; .text:6F335CD8 cmp edx, [ecx+320h] -; .text:6F335CDE pop esi -; .text:6F335CDF jz loc_6F3426F1 -; Changed -; .text:6F335CD8 mov edx, 100h -; .text:6F335CDD mov [ecx+320h], edx -; .text:6F335CE3 pop esi -; .text:6F335CE4 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=15CD8 -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -; Original -; .text:000007FF7573C88F mov eax, [rcx+638h] -; .text:000007FF7573C895 cmp [rcx+63Ch], eax -; .text:000007FF7573C89B jnz short loc_7FF7573C8B3 -; Changed -; .text:000007FF7573C88F mov eax, 100h -; .text:000007FF7573C894 mov [rcx+638h], eax -; .text:000007FF7573C89A nop -; .text:000007FF7573C89B jmp short loc_7FF7573C8B3 -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=5C88F -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.0.6001.18000] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6E800000 -; .text:6E8185DE lea eax, [ebp+VersionInformation] -; .text:6E8185E4 inc ebx <- nop -; .text:6E8185E5 push eax ; lpVersionInformation -; .text:6E8185E6 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6E8185F0 mov [esi], ebx -; .text:6E8185F2 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=185E4 -SingleUserCode.x86=nop -; Imagebase: 7FF76220000 -; .text:000007FF76290DB4 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF76290DB9 mov ebx, 1 <- 0 -; .text:000007FF76290DBE mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF76290DC6 mov [rdi], ebx -; .text:000007FF76290DC8 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=70DBA -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6E817FD8 cmp edx, [ecx+320h] -; .text:6E817FDE pop esi -; .text:6E817FDF jz loc_6E826F16 -; Changed -; .text:6E817FD8 mov edx, 100h -; .text:6E817FDD mov [ecx+320h], edx -; .text:6E817FE3 pop esi -; .text:6E817FE4 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=17FD8 -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -; Original -; .text:000007FF76285BD7 mov eax, [rcx+638h] -; .text:000007FF76285BDD cmp [rcx+63Ch], eax -; .text:000007FF76285BE3 jnz short loc_7FF76285BFB -; Changed -; .text:000007FF76285BD7 mov eax, 100h -; .text:000007FF76285BDC mov [rcx+638h], eax -; .text:000007FF76285BE2 nop -; .text:000007FF76285BE3 jmp short loc_7FF76285BFB -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=65BD7 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.0.6002.18005] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F580000 -; .text:6F597FA2 lea eax, [ebp+VersionInformation] -; .text:6F597FA8 inc ebx <- nop -; .text:6F597FA9 push eax ; lpVersionInformation -; .text:6F597FAA mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F597FB4 mov [esi], ebx -; .text:6F597FB6 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=17FA8 -SingleUserCode.x86=nop -; Imagebase: 7FF766C0000 -; .text:000007FF76730FF0 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF76730FF5 mov ebx, 1 <- 0 -; .text:000007FF76730FFA mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF76731002 mov [rdi], ebx -; .text:000007FF76731004 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=70FF6 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F5979C0 cmp edx, [ecx+320h] -; .text:6F5979C6 pop esi -; .text:6F5979C7 jz loc_6F5A6F26 -; Changed -; .text:6F5979C0 mov edx, 100h -; .text:6F5979C5 mov [ecx+320h], edx -; .text:6F5979CB pop esi -; .text:6F5979CC nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=179C0 -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -; Original -; .text:000007FF76725E83 mov eax, [rcx+638h] -; .text:000007FF76725E89 cmp [rcx+63Ch], eax -; .text:000007FF76725E8F jz short loc_7FF76725EA7 -; Changed -; .text:000007FF76725E83 mov eax, 100h -; .text:000007FF76725E88 mov [rcx+638h], eax -; .text:000007FF76725E8E nop -; .text:000007FF76725E8F jmp short loc_7FF76725EA7 -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=65E83 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.0.6002.19214] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F580000 -; .text:6F597FBE lea eax, [ebp+VersionInformation] -; .text:6F597FC4 inc ebx <- nop -; .text:6F597FC5 push eax ; lpVersionInformation -; .text:6F597FC6 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F597FD0 mov [esi], ebx -; .text:6F597FD2 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=17FC4 -SingleUserCode.x86=nop -; Imagebase: 7FF75AC0000 -; .text:000007FF75B312A4 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75B312A9 mov ebx, 1 <- 0 -; .text:000007FF75B312AE mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75B312B6 mov [rdi], ebx -; .text:000007FF75B312B8 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=712AA -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F5979B8 cmp edx, [ecx+320h] -; .text:6F5979BE pop esi -; .text:6F5979BF jz loc_6F5A6F3E -; Changed -; .text:6F5979B8 mov edx, 100h -; .text:6F5979BD mov [ecx+320h], edx -; .text:6F5979C3 pop esi -; .text:6F5979C4 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=179B8 -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -; Original -; .text:000007FF75B25FF7 mov eax, [rcx+638h] -; .text:000007FF75B25FFD cmp [rcx+63Ch], eax -; .text:000007FF75B26003 jnz short loc_7FF75B2601B -; Changed -; .text:000007FF75B25FF7 mov eax, 100h -; .text:000007FF75B25FFC mov [rcx+638h], eax -; .text:000007FF75B26002 nop -; .text:000007FF75B26003 jmp short loc_7FF75B2601B -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=65FF7 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.0.6002.23521] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F580000 -; .text:6F597FAE lea eax, [ebp+VersionInformation] -; .text:6F597FB4 inc ebx <- nop -; .text:6F597FB5 push eax ; lpVersionInformation -; .text:6F597FB6 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F597FC0 mov [esi], ebx -; .text:6F597FC2 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=17FB4 -SingleUserCode.x86=nop -; Imagebase: 7FF75AC0000 -; .text:000007FF75B31EA4 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75B31EA9 mov ebx, 1 <- 0 -; .text:000007FF75B31EAE mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75B31EB6 mov [rdi], ebx -; .text:000007FF75B31EB8 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=71EAA -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F5979CC cmp edx, [ecx+320h] -; .text:6F5979D2 pop esi -; .text:6F5979D3 jz loc_6F5A6F2E -; Changed -; .text:6F5979CC mov edx, 100h -; .text:6F5979D1 mov [ecx+320h], edx -; .text:6F5979D7 pop esi -; .text:6F5979D8 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=179CC -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -; Original -; .text:000007FF75B269CB mov eax, [rcx+638h] -; .text:000007FF75B269D1 cmp [rcx+63Ch], eax -; .text:000007FF75B269D7 jnz short loc_7FF75B269EF -; Changed -; .text:000007FF75B269CB mov eax, 100h -; .text:000007FF75B269D0 mov [rcx+638h], eax -; .text:000007FF75B269D6 nop -; .text:000007FF75B269D7 jmp short loc_7FF75B269EF -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=669CB -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.1.7600.16385] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F2E0000 -; .text:6F2F9E1F lea eax, [ebp+VersionInformation] -; .text:6F2F9E25 inc ebx <- nop -; .text:6F2F9E26 push eax ; lpVersionInformation -; .text:6F2F9E27 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F2F9E31 mov [esi], ebx -; .text:6F2F9E33 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=19E25 -SingleUserCode.x86=nop -; Imagebase: 7FF75A80000 -; .text:000007FF75A97D90 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75A97D95 mov ebx, 1 <- 0 -; .text:000007FF75A97D9A mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75A97DA2 mov [rdi], ebx -; .text:000007FF75A97DA4 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=17D96 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F2F96F3 cmp eax, [esi+320h] -; .text:6F2F96F9 jz loc_6F30E256 -; Changed -; .text:6F2F96F3 mov eax, 100h -; .text:6F2F96F8 mov [esi+320h], eax -; .text:6F2F96FE nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=196F3 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000007FF75A97AD2 cmp [rdi+63Ch], eax -; .text:000007FF75A97AD8 jz loc_7FF75AA4978 -; Changed -; .text:000007FF75A97AD2 mov eax, 100h -; .text:000007FF75A97AD7 mov [rdi+638h], eax -; .text:000007FF75A97ADD nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17AD2 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7600.20890] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=19E2D -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17DF2 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=196FB -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17B0E -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7600.21316] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=19E2D -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17E3E -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=196FB -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17B5E -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.17514] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F2E0000 -; .text:6F2FA497 lea eax, [ebp+VersionInformation] -; .text:6F2FA49D inc ebx <- nop -; .text:6F2FA49E push eax ; lpVersionInformation -; .text:6F2FA49F mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F2FA4A9 mov [esi], ebx -; .text:6F2FA4AB call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A49D -SingleUserCode.x86=nop -; Imagebase: 7FF75A80000 -; .text:000007FF75A980DC lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75A980E1 mov ebx, 1 <- 0 -; .text:000007FF75A980E6 mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75A980EE mov [rdi], ebx -; .text:000007FF75A980F0 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=180E2 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F2F9D53 cmp eax, [esi+320h] -; .text:6F2F9D59 jz loc_6F30B25E -; Changed -; .text:6F2F9D53 mov eax, 100h -; .text:6F2F9D58 mov [esi+320h], eax -; .text:6F2F9D5E nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19D53 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000007FF75A97D8A cmp [rdi+63Ch], eax -; .text:000007FF75A97D90 jz loc_7FF75AA40F4 -; Changed -; .text:000007FF75A97D8A mov eax, 100h -; .text:000007FF75A97D8F mov [rdi+638h], eax -; .text:000007FF75A97D95 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17D8A -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.18540] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F2E0000 -; .text:6F2FA4DF lea eax, [ebp+VersionInformation] -; .text:6F2FA4E5 inc ebx <- nop -; .text:6F2FA4E6 push eax ; lpVersionInformation -; .text:6F2FA4E7 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F2FA4F1 mov [esi], ebx -; .text:6F2FA4F3 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A4E5 -SingleUserCode.x86=nop -; Imagebase: 7FF75A80000 -; .text:000007FF75A98000 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75A98005 mov ebx, 1 <- 0 -; .text:000007FF75A9800A mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75A98012 mov [rdi], ebx -; .text:000007FF75A98014 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=18006 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F2F9D9F cmp eax, [esi+320h] -; .text:6F2F9DA5 jz loc_6F30B2AE -; Changed -; .text:6F2F9D9F mov eax, 100h -; .text:6F2F9DA4 mov [esi+320h], eax -; .text:6F2F9DAA nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19D9F -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000007FF75A97C82 cmp [rdi+63Ch], eax -; .text:000007FF75A97C88 jz loc_7FF75AA3FBD -; Changed -; .text:000007FF75A97C82 mov eax, 100h -; .text:000007FF75A97C87 mov [rdi+638h], eax -; .text:000007FF75A97C8D nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17C82 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.22750] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F2E0000 -; .text:6F2FA64F lea eax, [ebp+VersionInformation] -; .text:6F2FA655 inc ebx <- nop -; .text:6F2FA656 push eax ; lpVersionInformation -; .text:6F2FA657 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F2FA661 mov [esi], ebx -; .text:6F2FA663 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A655 -SingleUserCode.x86=nop -; Imagebase: 7FF75A80000 -; .text:000007FF75A97E88 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75A97E8D mov ebx, 1 <- 0 -; .text:000007FF75A97E92 mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75A97E9A mov [rdi], ebx -; .text:000007FF75A97E9C call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=17E8E -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F2F9E21 cmp eax, [esi+320h] -; .text:6F2F9E27 jz loc_6F30B6CE -; Changed -; .text:6F2F9E21 mov eax, 100h -; .text:6F2F9E26 mov [esi+320h], eax -; .text:6F2F9E2C nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19E21 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000007FF75A97C92 cmp [rdi+63Ch], eax -; .text:000007FF75A97C98 jz loc_7FF75AA40A2 -; Changed -; .text:000007FF75A97C92 mov eax, 100h -; .text:000007FF75A97C97 mov [rdi+638h], eax -; .text:000007FF75A97C9D nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17C92 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.18637] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F2E0000 -; .text:6F2FA4D7 lea eax, [ebp+VersionInformation] -; .text:6F2FA4DD inc ebx <- nop -; .text:6F2FA4DE push eax ; lpVersionInformation -; .text:6F2FA4DF mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F2FA4E9 mov [esi], ebx -; .text:6F2FA4EB call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A4DD -SingleUserCode.x86=nop -; Imagebase: 7FF75A80000 -; .text:000007FF75A980F4 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75A980F9 mov ebx, 1 <- 0 -; .text:000007FF75A980FE mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75A98106 mov [rdi], ebx -; .text:000007FF75A98108 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=180FA -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F2F9DBB cmp eax, [esi+320h] -; .text:6F2F9DC1 jz loc_6F30B2A6 -; Changed -; .text:6F2F9DBB mov eax, 100h -; .text:6F2F9DC0 mov [esi+320h], eax -; .text:6F2F9DC6 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19DBB -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000007FF75A97DC6 cmp [rdi+63Ch], eax -; .text:000007FF75A97DCC jz loc_7FF75AA40BD -; Changed -; .text:000007FF75A97DC6 mov eax, 100h -; .text:000007FF75A97DCB mov [rdi+638h], eax -; .text:000007FF75A97DD1 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17DC6 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.21650] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A49D -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=180BE -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19D53 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17D5A -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.21866] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A49D -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=180BE -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19D53 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17D5A -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.22104] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A49D -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=180C6 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19D53 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17D5E -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.22843] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; Imagebase: 6F2E0000 -; .text:6F2FA64F lea eax, [ebp+VersionInformation] -; .text:6F2FA655 inc ebx <- nop -; .text:6F2FA656 push eax ; lpVersionInformation -; .text:6F2FA657 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:6F2FA661 mov [esi], ebx -; .text:6F2FA663 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A655 -SingleUserCode.x86=nop -; Imagebase: 7FF75A80000 -; .text:000007FF75A97F90 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation -; .text:000007FF75A97F95 mov ebx, 1 <- 0 -; .text:000007FF75A97F9A mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000007FF75A97FA2 mov [rdi], ebx -; .text:000007FF75A97FA4 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=17F96 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:6F2F9E25 cmp eax, [esi+320h] -; .text:6F2F9E2B jz loc_6F30B6D6 -; Changed -; .text:6F2F9E25 mov eax, 100h -; .text:6F2F9E2A mov [esi+320h], eax -; .text:6F2F9E30 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19E25 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000007FF75A97D6E cmp [rdi+63Ch], eax -; .text:000007FF75A97D74 jz loc_7FF75AA4182 -; Changed -; .text:000007FF75A97D6E mov eax, 100h -; .text:000007FF75A97D73 mov [rdi+638h], eax -; .text:000007FF75A97D79 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17D6E -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.23403] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A65D -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17F62 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19E29 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17CE2 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.24234] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A675 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17F56 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19E41 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17D2E -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.2.8102.0] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:1000F7E5 lea eax, [esp+150h+VersionInformation] -; .text:1000F7E9 inc esi <- nop -; .text:1000F7EA push eax ; lpVersionInformation -; .text:1000F7EB mov [esp+154h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:1000F7F3 mov [edi], esi -; .text:1000F7F5 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=F7E9 -SingleUserCode.x86=nop -; .text:000000018000D83A lea rcx, [rsp+180h+VersionInformation] ; lpVersionInformation -; .text:000000018000D83F mov ebx, 1 <- 0 -; .text:000000018000D844 mov [rsp+180h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000000018000D84C mov [rdi], ebx -; .text:000000018000D84E call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=D840 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:1000E47C cmp eax, [esi+320h] -; .text:1000E482 jz loc_1002D775 -; Changed -; .text:1000E47C mov eax, 100h -; .text:1000E481 mov [esi+320h], eax -; .text:1000E487 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=E47C -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000000018000D3E6 cmp [rdi+63Ch], eax -; .text:000000018000D3EC jz loc_180027792 -; Changed -; .text:000000018000D3E6 mov eax, 100h -; .text:000000018000D3EB mov [rdi+638h], eax -; .text:000000018000D3F1 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=D3E6 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -; Hook SLGetWindowsInformationDWORDWrapper -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=1B909 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=1A484 -SLPolicyFunc.x64=New_Win8SL - -[6.2.8250.0] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:100159C5 lea eax, [esp+150h+VersionInformation] -; .text:100159C9 inc esi <- nop -; .text:100159CA push eax ; lpVersionInformation -; .text:100159CB mov [esp+154h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:100159D3 mov [edi], esi -; .text:100159D5 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=159C9 -SingleUserCode.x86=nop -; .text:0000000180011E6E lea rcx, [rsp+180h+VersionInformation] ; lpVersionInformation -; .text:0000000180011E73 mov ebx, 1 <- 0 -; .text:0000000180011E78 mov [rsp+180h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180011E80 mov [rdi], ebx -; .text:0000000180011E82 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=11E74 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:10013520 cmp eax, [esi+320h] -; .text:10013526 jz loc_1002DB85 -; Changed -; .text:10013520 mov eax, 100h -; .text:10013525 mov [esi+320h], eax -; .text:1001352B nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=13520 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000000018001187A cmp [rdi+63Ch], eax -; .text:0000000180011880 jz loc_1800273A2 -; Changed -; .text:000000018001187A mov eax, 100h -; .text:000000018001187F mov [rdi+638h], eax -; .text:0000000180011885 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1187A -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -; Hook SLGetWindowsInformationDWORDWrapper -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=1A0A9 -SLPolicyFunc.x86=New_Win8SL_CP -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=18FAC -SLPolicyFunc.x64=New_Win8SL - -[6.2.8400.0] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:1001547E lea eax, [esp+150h+VersionInformation] -; .text:10015482 inc esi <- nop -; .text:10015483 push eax ; lpVersionInformation -; .text:10015484 mov [esp+154h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:1001548C mov [edi], esi -; .text:1001548E call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=15482 -SingleUserCode.x86=nop -; .text:000000018002081E lea rcx, [rsp+180h+VersionInformation] ; lpVersionInformation -; .text:0000000180020823 mov ebx, 1 <- 0 -; .text:0000000180020828 mov [rsp+180h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180020830 mov [rdi], ebx -; .text:0000000180020832 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=20824 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:10013E48 cmp eax, [esi+320h] -; .text:10013E4E jz loc_1002E079 -; Changed -; .text:10013E48 mov eax, 100h -; .text:10013E4D mov [esi+320h], eax -; .text:10013E53 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=13E48 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000000018001F102 cmp [rdi+63Ch], eax -; .text:000000018001F108 jz loc_18003A02E -; Changed -; .text:000000018001F102 mov eax, 100h -; .text:000000018001F107 mov [rdi+638h], eax -; .text:000000018001F10D nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1F102 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -; Hook SLGetWindowsInformationDWORDWrapper -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=19629 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=2492C -SLPolicyFunc.x64=New_Win8SL - -[6.2.9200.16384] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:1001554E lea eax, [esp+150h+VersionInformation] -; .text:10015552 inc esi <- nop -; .text:10015553 push eax ; lpVersionInformation -; .text:10015554 mov [esp+154h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:1001555C mov [edi], esi -; .text:1001555E call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=15552 -SingleUserCode.x86=nop -; .text:000000018002BAA2 lea rcx, [rsp+180h+VersionInformation] ; lpVersionInformation -; .text:000000018002BAA7 mov ebx, 1 <- 0 -; .text:000000018002BAAC mov [rsp+180h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000000018002BAB4 mov [rdi], ebx -; .text:000000018002BAB6 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=2BAA8 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:10013F08 cmp eax, [esi+320h] -; .text:10013F0E jz loc_1002E161 -; Changed -; .text:10013F08 mov eax, 100h -; .text:10013F0D mov [esi+320h], eax -; .text:10013F13 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=13F08 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000000018002A31A cmp [rdi+63Ch], eax -; .text:000000018002A320 jz loc_18003A0F9 -; Changed -; .text:000000018002A31A mov eax, 100h -; .text:000000018002A31F mov [rdi+638h], eax -; .text:000000018002A325 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=2A31A -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -; Hook SLGetWindowsInformationDWORDWrapper -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=19559 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=21FA8 -SLPolicyFunc.x64=New_Win8SL - -[6.2.9200.17048] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:1002058E lea eax, [esp+150h+VersionInformation] -; .text:10020592 inc esi <- nop -; .text:10020593 push eax ; lpVersionInformation -; .text:10020594 mov [esp+154h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:1002059C mov [edi], esi -; .text:1002059E call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=20592 -SingleUserCode.x86=nop -; .text:0000000180020942 lea rcx, [rsp+180h+VersionInformation] ; lpVersionInformation -; .text:0000000180020947 mov ebx, 1 <- 0 -; .text:000000018002094C mov [rsp+180h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180020954 mov [rdi], ebx -; .text:0000000180020956 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=20948 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:1001F408 cmp eax, [esi+320h] -; .text:1001F40E jz loc_1002E201 -; Changed -; .text:1001F408 mov eax, 100h -; .text:1001F40D mov [esi+320h], eax -; .text:1001F413 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=1F408 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000000018001F206 cmp [rdi+63Ch], eax -; .text:000000018001F20C jz loc_18003A1B4 -; Changed -; .text:000000018001F206 mov eax, 100h -; .text:000000018001F20B mov [rdi+638h], eax -; .text:000000018001F211 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1F206 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -; Hook SLGetWindowsInformationDWORDWrapper -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=17059 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=24570 -SLPolicyFunc.x64=New_Win8SL - -[6.2.9200.21166] -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:10015576 lea eax, [esp+150h+VersionInformation] -; .text:1001557A inc esi <- nop -; .text:1001557B push eax ; lpVersionInformation -; .text:1001557C mov [esp+154h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:10015584 mov [edi], esi -; .text:10015586 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=1557A -SingleUserCode.x86=nop -; .text:000000018002BAF2 lea rcx, [rsp+180h+VersionInformation] ; lpVersionInformation -; .text:000000018002BAF7 mov ebx, 1 <- 0 -; .text:000000018002BAFC mov [rsp+180h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000000018002BB04 mov [rdi], ebx -; .text:000000018002BB06 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=2BAF8 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:10013F30 cmp eax, [esi+320h] -; .text:10013F36 jz loc_1002E189 -; Changed -; .text:10013F30 mov eax, 100h -; .text:10013F35 mov [esi+320h], eax -; .text:10013F3B nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=13F30 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -; Original -; .text:000000018002A3B6 cmp [rdi+63Ch], eax -; .text:000000018002A3BC jz loc_18003A174 -; Changed -; .text:000000018002A3B6 mov eax, 100h -; .text:000000018002A3BB mov [rdi+638h], eax -; .text:000000018002A3C1 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=2A3B6 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -; Hook SLGetWindowsInformationDWORDWrapper -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=19581 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=21FD0 -SLPolicyFunc.x64=New_Win8SL - -[6.3.9431.0] -; HOW TO search CEnforcementCore::GetInstanceOfTSLicense function in IDA Pro: -; 1. Search text: CSLQuery::IsLicenseTypeLocalOnly -; 2. All xrefs will point to this function -; 3. Go to function beginning and check ; CODE XREF string, it will point to GetInstanceOfTSLicense function -; 4. Follow CODE XREF, switch to graph view, the next block below is to patch -; Another way: -; 1. Search text: CEnforcementCore::GetInstanceOfTSLicense FAILED - License type me -; 2. All xrefs will point to GetInstanceOfTSLicense -; 3. Follow xref, the previous block above is to patch - -; Patch CEnforcementCore::GetInstanceOfTSLicense -; .text:1008A604 call ?IsLicenseTypeLocalOnly@CSLQuery@@SGJAAU_GUID@@PAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:1008A609 test eax, eax -; .text:1008A60B js short loc_1008A628 -; .text:1008A60D cmp [ebp+var_8], 0 -; .text:1008A611 jz short loc_1008A628 <- jmp -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=8A611 -LocalOnlyCode.x86=jmpshort -; .text:000000018009F713 call ?IsLicenseTypeLocalOnly@CSLQuery@@SAJAEAU_GUID@@PEAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:000000018009F718 test eax, eax -; .text:000000018009F71A js short loc_18009F73B -; .text:000000018009F71C cmp [rsp+48h+arg_18], 0 -; .text:000000018009F721 jz short loc_18009F73B <- jmp -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=9F721 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:100306A4 lea eax, [esp+150h+VersionInformation] -; .text:100306A8 inc ebx <- nop -; .text:100306A9 mov [edi], ebx -; .text:100306AB push eax ; lpVersionInformation -; .text:100306AC call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=306A8 -SingleUserCode.x86=nop -; .text:00000001800367F3 lea rcx, [rsp+190h+VersionInformation] ; lpVersionInformation -; .text:00000001800367F8 mov ebx, 1 <- 0 -; .text:00000001800367FD mov [rsp+190h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180036805 mov [rdi], ebx -; .text:0000000180036807 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=367F9 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:1002EA25 cmp eax, [ecx+320h] -; .text:1002EA2B jz loc_100348C1 -; Changed -; .text:1002EA25 mov eax, 100h -; .text:1002EA2A mov [ecx+320h], eax -; .text:1002EA30 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2EA25 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Original -; .text:00000001800350FD cmp [rcx+63Ch], eax -; .text:0000000180035103 jz loc_18004F6AE -; Changed -; .text:00000001800350FD mov eax, 100h -; .text:0000000180035102 mov [rcx+638h], eax -; .text:0000000180035108 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=350FD -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; HOW TO search CSLQuery::Initialize function in IDA Pro: -; 1. Search text: CSLQuery::Initialize - SLGetWindowsInformationDWORD failed -; 2. All xrefs will point to this function - -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=196B0 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2F9C0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.3.9600.16384] -; Patch CEnforcementCore::GetInstanceOfTSLicense -; .text:100A271C call ?IsLicenseTypeLocalOnly@CSLQuery@@SGJAAU_GUID@@PAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:100A2721 test eax, eax -; .text:100A2723 js short loc_100A2740 -; .text:100A2725 cmp [ebp+var_8], 0 -; .text:100A2729 jz short loc_100A2740 <- jmp -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A2729 -LocalOnlyCode.x86=jmpshort -; .text:000000018008181F cmp [rsp+48h+arg_18], 0 -; .text:0000000180081824 jz loc_180031DEF <- nop + jmp -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=81824 -LocalOnlyCode.x64=nopjmp -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:10018024 lea eax, [esp+150h+VersionInformation] -; .text:10018028 inc ebx <- nop -; .text:10018029 mov [edi], ebx -; .text:1001802B push eax ; lpVersionInformation -; .text:1001802C call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=18028 -SingleUserCode.x86=nop -; .text:000000018002023B lea rcx, [rsp+190h+VersionInformation] ; lpVersionInformation -; .text:0000000180020240 mov ebx, 1 <- 0 -; .text:0000000180020245 mov [rsp+190h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:000000018002024D mov [rdi], ebx -; .text:000000018002024F call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=20241 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:10016115 cmp eax, [ecx+320h] -; .text:1001611B jz loc_10034DE1 -; Changed -; .text:10016115 mov eax, 100h -; .text:1001611A mov [ecx+320h], eax -; .text:10016120 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=16115 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Original -; .text:0000000180057829 cmp [rcx+63Ch], eax -; .text:000000018005782F jz loc_18005E850 -; Changed -; .text:0000000180057829 mov eax, 100h -; .text:000000018005782E mov [rcx+638h], eax -; .text:0000000180057834 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=57829 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=1CEB0 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=554C0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.3.9600.17095] -; Patch CEnforcementCore::GetInstanceOfTSLicense -; .text:100A36C4 call ?IsLicenseTypeLocalOnly@CSLQuery@@SGJAAU_GUID@@PAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:100A36C9 test eax, eax -; .text:100A36CB js short loc_100A36E8 -; .text:100A36CD cmp [ebp+var_8], 0 -; .text:100A36D1 jz short loc_100A36E8 <- jmp -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A36D1 -LocalOnlyCode.x86=jmpshort -; .text:00000001800B914B call ?IsLicenseTypeLocalOnly@CSLQuery@@SAJAEAU_GUID@@PEAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:00000001800B9150 test eax, eax -; .text:00000001800B9152 js short loc_1800B9173 -; .text:00000001800B9154 cmp [rsp+48h+arg_18], 0 -; .text:00000001800B9159 jz short loc_1800B9173 <- jmp -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=B9159 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:10036BA5 lea eax, [esp+150h+VersionInformation] -; .text:10036BA9 inc ebx <- nop -; .text:10036BAA mov [edi], ebx -; .text:10036BAC push eax ; lpVersionInformation -; .text:10036BAD call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=36BA9 -SingleUserCode.x86=nop -; .text:0000000180021823 lea rcx, [rsp+190h+VersionInformation] ; lpVersionInformation -; .text:0000000180021828 mov ebx, 1 <- 0 -; .text:000000018002182D mov [rsp+190h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180021835 mov [rdi], ebx -; .text:0000000180021837 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=21829 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:10037529 cmp eax, [ecx+320h] -; .text:1003752F jz loc_10043662 -; Changed -; .text:10037529 mov eax, 100h -; .text:1003752E mov [ecx+320h], eax -; .text:10037534 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=37529 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Original -; .text:000000018001F6A1 cmp [rcx+63Ch], eax -; .text:000000018001F6A7 jz loc_18007284B -; Changed -; .text:000000018001F6A1 mov eax, 100h -; .text:000000018001F6A6 mov [rcx+638h], eax -; .text:000000018001F6AC nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1F6A1 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=117F1 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=3B110 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.3.9600.17415] -; Patch CEnforcementCore::GetInstanceOfTSLicense -; .text:100B33EB call ?IsLicenseTypeLocalOnly@CSLQuery@@SGJAAU_GUID@@PAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:100B33F0 test eax, eax -; .text:100B33F2 js short loc_100B340F -; .text:100B33F4 cmp [ebp+var_C], 0 -; .text:100B33F8 jz short loc_100B340F <- jmp -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=B33F8 -LocalOnlyCode.x86=jmpshort -; .text:000000018008B2D4 cmp [rsp+58h+arg_18], 0 -; .text:000000018008B2D9 jz loc_180025C39 <- nop + jmp -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8B2D9 -LocalOnlyCode.x64=nopjmp -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:10037111 lea eax, [esp+150h+VersionInformation] -; .text:10037115 inc ebx <- nop -; .text:10037116 mov [edi], ebx -; .text:10037118 push eax ; lpVersionInformation -; .text:10037119 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=37115 -SingleUserCode.x86=nop -; .text:0000000180033CE3 lea rcx, [rsp+190h+VersionInformation] ; lpVersionInformation -; .text:0000000180033CE8 mov ebx, 1 <- 0 -; .text:0000000180033CED mov [rsp+190h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180033CF5 mov [rdi], ebx -; .text:0000000180033CF7 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=33CE9 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:1003CFF9 cmp eax, [ecx+320h] -; .text:1003CFFF jz loc_1004A52F -; Changed -; .text:1003CFF9 mov eax, 100h -; .text:1003CFFE mov [ecx+320h], eax -; .text:1003D004 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3CFF9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Original -; .text:0000000180045825 cmp [rcx+63Ch], eax -; .text:000000018004582B jz loc_180067704 -; Changed -; .text:0000000180045825 mov eax, 100h -; .text:000000018004582A mov [rcx+638h], eax -; .text:0000000180045830 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=45825 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=18478 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=5DBC0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.3.9600.18692] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=B3458 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8B2E9 -LocalOnlyCode.x64=nopjmp -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=37105 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=37039 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3CFE9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=45835 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=18488 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=5DBD0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.3.9600.18708] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=B35D8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8B376 -LocalOnlyCode.x64=nopjmp -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=370F5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=36FE9 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3CFD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=457D5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=18308 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=5DB70 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.3.9600.18928] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=B39D8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8B25D -LocalOnlyCode.x64=nopjmp -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=37D25 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=36C09 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3D6F9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=45495 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=18328 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=5D830 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.3.9600.19093] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=B3958 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8AE4E -LocalOnlyCode.x64=nopjmp -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=3F045 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=36BC9 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3D899 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=45305 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=18288 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=5D660 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.4.9841.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -; .text:1009569B call sub_100B7EE5 -; .text:100956A0 test eax, eax -; .text:100956A2 js short loc_100956BF -; .text:100956A4 cmp [ebp+var_C], 0 -; .text:100956A8 jz short loc_100956BF <- jmp -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=956A8 -LocalOnlyCode.x86=jmpshort -; .text:0000000180081133 call sub_1800A9048 -; .text:0000000180081138 test eax, eax -; .text:000000018008113A js short loc_18008115B -; .text:000000018008113C cmp [rsp+58h+arg_18], 0 -; .text:0000000180081141 jz short loc_18008115B <- jmp -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=81141 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:10030121 lea eax, [esp+150h+VersionInformation] -; .text:10030125 inc ebx <- nop -; .text:10030126 mov [edi], ebx -; .text:10030128 push eax ; lpVersionInformation -; .text:10030129 call ds:GetVersionExW -SingleUserPatch.x86=1 -SingleUserOffset.x86=30125 -SingleUserCode.x86=nop -; .text:0000000180012153 lea rcx, [rsp+190h+VersionInformation] ; lpVersionInformation -; .text:0000000180012158 mov ebx, 1 <- 0 -; .text:000000018001215D mov [rsp+190h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180012165 mov [rdi], ebx -; .text:0000000180012167 call cs:GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=12159 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:1003B989 cmp eax, [ecx+320h] -; .text:1003B98F jz loc_1005E809 -; Changed -; .text:1003B989 mov eax, 100h -; .text:1003B98E mov [ecx+320h], eax -; .text:1003B994 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3B989 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Original -; .text:000000018000C125 cmp [rcx+63Ch], eax -; .text:000000018000C12B jz sub_18003BABC -; Changed -; .text:000000018000C125 mov eax, 100h -; .text:000000018000C12A mov [rcx+638h], eax -; .text:000000018000C130 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=C125 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46A68 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=1EA50 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.4.9860.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -; .text:100962BB call ?IsLicenseTypeLocalOnly@CSLQuery@@SGJAAU_GUID@@PAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:100962C0 test eax, eax -; .text:100962C2 js short loc_100962DF -; .text:100962C4 cmp [ebp+var_C], 0 -; .text:100962C8 jz short loc_100962DF <- jmp -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=962C8 -LocalOnlyCode.x86=jmpshort -; .text:0000000180081083 call ?IsLicenseTypeLocalOnly@CSLQuery@@SAJAEAU_GUID@@PEAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:0000000180081088 test eax, eax -; .text:000000018008108A js short loc_1800810AB -; .text:000000018008108C cmp [rsp+58h+arg_18], 0 -; .text:0000000180081091 jz short loc_1800810AB <- jmp -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=81091 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:10030841 lea eax, [esp+150h+VersionInformation] -; .text:10030845 inc ebx <- nop -; .text:10030846 mov [edi], ebx -; .text:10030848 push eax ; lpVersionInformation -; .text:10030849 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=30845 -SingleUserCode.x86=nop -; .text:0000000180011AA3 lea rcx, [rsp+190h+VersionInformation] ; lpVersionInformation -; .text:0000000180011AA8 mov ebx, 1 <- 0 -; .text:0000000180011AAD mov [rsp+190h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180011AB5 mov [rdi], ebx -; .text:0000000180011AB7 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=11AA9 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:1003BEC9 cmp eax, [ecx+320h] -; .text:1003BECF jz loc_1005EE1A -; Changed -; .text:1003BEC9 mov eax, 100h -; .text:1003BECE mov [ecx+320h], eax -; .text:1003BED4 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3BEC9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Original -; .text:000000018000B9F5 cmp [rcx+63Ch], eax -; .text:000000018000B9FB jz sub_18003B9C8 -; Changed -; .text:000000018000B9F5 mov eax, 100h -; .text:000000018000B9FA mov [rcx+638h], eax -; .text:000000018000BA00 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=B9F5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46F18 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=1EB00 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.4.9879.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -; .text:100A9CBB call ?IsLicenseTypeLocalOnly@CSLQuery@@SGJAAU_GUID@@PAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:100A9CC0 test eax, eax -; .text:100A9CC2 js short loc_100A9CDF -; .text:100A9CC4 cmp [ebp+var_C], 0 -; .text:100A9CC8 jz short loc_100A9CDF <- jmp -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9CC8 -LocalOnlyCode.x86=jmpshort -; .text:0000000180095603 call ?IsLicenseTypeLocalOnly@CSLQuery@@SAJAEAU_GUID@@PEAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:0000000180095608 test eax, eax -; .text:000000018009560A js short loc_18009562B -; .text:000000018009560C cmp [rsp+58h+arg_18], 0 -; .text:0000000180095611 jz short loc_18009562B <- jmp -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=95611 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:10030C51 lea eax, [esp+150h+VersionInformation] -; .text:10030C55 inc ebx <- nop -; .text:10030C56 mov [edi], ebx -; .text:10030C58 push eax ; lpVersionInformation -; .text:10030C59 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=30C55 -SingleUserCode.x86=nop -; .text:0000000180016A2E call memset_0 -; .text:0000000180016A33 mov ebx, 1 <- 0 -; .text:0000000180016A38 mov [rsp+190h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180016A40 lea rcx, [rsp+190h+VersionInformation] ; lpVersionInformation -; .text:0000000180016A45 mov [rdi], ebx -; .text:0000000180016A47 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=16A34 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:1002DAB9 cmp eax, [ecx+320h] -; .text:1002DABF jz loc_1006C38A -; Changed -; .text:1002DAB9 mov eax, 100h -; .text:1002DABE mov [ecx+320h], eax -; .text:1002DAC4 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2DAB9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Original -; .text:000000018001BDC5 cmp [rcx+63Ch], eax -; .text:000000018001BDCB jz sub_180045540 -; Changed -; .text:000000018001BDC5 mov eax, 100h -; .text:000000018001BDCA mov [rcx+638h], eax -; .text:000000018001BDD0 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1BDC5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=41132 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=24750 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.9926.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8C28 -LocalOnlyCode.x86=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=31725 -SingleUserCode.x86=nop -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3CF99 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=3F140 -SLInitFunc.x86=New_CSLQuery_Initialize -; x64 contributed by v-yadli -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x64=1 -;;;OFFSET = 0x61 -;;;BASE = 0x95F90 -LocalOnlyOffset.x64=95FF1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x64=1 -;;;OFFSET = 0x43 -;;;BASE = 0x12F90 -;;;;instruction = 0xBB 0x01 0x00 0x00 0x00 -;;; ^^^ +1 offset -SingleUserOffset.x64=12A34 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x64=1 -;;; -;;;BASE = 0xBDF0 -;;;OFFSET = 0x15 -DefPolicyOffset.x64=BE05 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x64=1 -SLInitOffset.x64=24EC0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.10041.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -; .text:100A9D7B call ?IsLicenseTypeLocalOnly@CSLQuery@@SGJAAU_GUID@@PAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:100A9D80 test eax, eax -; .text:100A9D82 js short loc_100A9D9F -; .text:100A9D84 cmp [ebp+var_C], 0 -; .text:100A9D88 jz short loc_100A9D9F <- jmp -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9D88 -LocalOnlyCode.x86=jmpshort -; .text:0000000180097133 call ?IsLicenseTypeLocalOnly@CSLQuery@@SAJAEAU_GUID@@PEAH@Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) -; .text:0000000180097138 test eax, eax -; .text:000000018009713A js short loc_18009715B -; .text:000000018009713C cmp [rsp+58h+arg_18], 0 -; .text:0000000180097141 jz short loc_18009715B <- jmp -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=97141 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -; .text:10032211 lea eax, [esp+150h+VersionInformation] -; .text:10032215 inc ebx <- nop -; .text:10032216 mov [edi], ebx -; .text:10032218 push eax ; lpVersionInformation -; .text:10032219 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) -SingleUserPatch.x86=1 -SingleUserOffset.x86=32215 -SingleUserCode.x86=nop -; .text:0000000180015C5E call memset_0 -; .text:0000000180015C63 mov ebx, 1 <- 0 -; .text:0000000180015C68 mov [rsp+190h+VersionInformation.dwOSVersionInfoSize], 11Ch -; .text:0000000180015C70 lea rcx, [rsp+190h+VersionInformation] ; lpVersionInformation -; .text:0000000180015C75 mov [rdi], ebx -; .text:0000000180015C77 call cs:__imp_GetVersionExW -SingleUserPatch.x64=1 -SingleUserOffset.x64=15C64 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -; Original -; .text:1002DFC9 cmp eax, [ecx+320h] -; .text:1002DFCF jz loc_10056550 -; Changed -; .text:1002DFC9 mov eax, 100h -; .text:1002DFCE mov [ecx+320h], eax -; .text:1002DFD4 nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2DFC9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Original -; .text:000000018000B795 cmp [rcx+63Ch], eax -; .text:000000018000B79B jz sub_18003A79A -; Changed -; .text:000000018000B795 mov eax, 100h -; .text:000000018000B79A mov [rcx+638h], eax -; .text:000000018000B7A0 nop -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=B795 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46960 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22E40 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.10240.16384] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7D38 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=96901 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=32A95 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=18F74 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2F5B9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=22865 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46581 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=250F0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.10586.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7C18 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=96AA1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=353B5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=190D4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30B69 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=229A5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=469DE -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=25220 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.10586.589] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7BE8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=96A51 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=353B5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=190D4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30B69 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=229A5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=469DE -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=25220 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.11082.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7C98 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=96AB1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35405 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=190D4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30BB9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=229A5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46A3E -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=25220 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.11102.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5D58 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=95CD1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35A85 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=2A9C4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30159 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B5D5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=44FD2 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=D160 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14251.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5D58 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=95CD1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35A85 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=2A9C4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30159 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B5D5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=44FD2 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=D160 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14271.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A4CE8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=941E1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35915 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=263F4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF79 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1C185 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=47725 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CE50 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14279.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A4D28 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=94191 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35915 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=263F4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF79 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1C185 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=47725 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CE50 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14295.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A4D28 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D691 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35925 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=25514 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1BA35 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=47748 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C860 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14300.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F5F1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x64=1 -SingleUserOffset.x64=26B04 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1D125 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CC60 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14316.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E88 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F5F1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=32B55 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=26B04 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3C1C9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1D295 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46ABD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CC60 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14328.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E88 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F5F1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=32B55 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=26B04 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3C1C9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1D365 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46ABD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CC60 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14332.1001] -; contributed by maxpiva -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E98 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F601 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=357E5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=2AE44 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=316A9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1C025 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4755F -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CAD0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14342.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E98 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8EF31 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=357E5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=26774 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=316A9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1CEF5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4755F -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CA20 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14352.1002] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A4478 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D911 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35465 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=24474 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30099 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1AC05 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=44792 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CDB0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14366.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9088 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FB01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34F65 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=21DE4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=316E9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1A855 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4793E -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CCE0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14367.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9088 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FB01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34F65 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=21DE4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=316E9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1A855 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4793E -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CCE0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14372.0] -; x64 contributed by kbmorris -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7698 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F931 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34635 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=295A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF69 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B295 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=460D2 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CC10 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14379.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7698 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F941 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34635 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=295A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF69 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B295 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=460D2 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CC10 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14383.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7698 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F941 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34635 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=295A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF69 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B295 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=460D2 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CC10 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14385.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7698 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F941 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34635 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=295A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF69 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B295 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=460D2 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CC10 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14388.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6038 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D781 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=359C5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=299A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF29 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1AFC5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45636 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C930 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14393.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6038 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D781 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=359C5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=299A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF29 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1AFC5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45636 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C930 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14393.1198] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6088 -LocalOnlyCode.x86=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=359C5 -SingleUserCode.x86=nop -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF29 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45636 -SLInitFunc.x86=New_CSLQuery_Initialize - -[10.0.14393.1737] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6198 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D861 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35AD5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=299A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30039 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1AFC5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45724 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C930 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14393.2457] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6248 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D811 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=36CE5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=29CF4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31209 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B545 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45824 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C920 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14901.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6038 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D781 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=359C5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=299A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF29 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1AFC5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45636 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C930 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14905.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6038 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D781 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=359C5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=299A4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF29 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1AFC5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45636 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C930 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14915.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6D98 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E241 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35E35 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=29EB4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30399 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B4A5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46092 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CE40 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14926.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A6D18 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E071 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35E55 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=29EB4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=303B9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1B4A5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=460A2 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=CE40 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14931.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A4908 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8B411 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35705 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=29264 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FF69 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1AD05 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=452FD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C7FC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14936.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A3F38 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8B9A1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35355 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=25174 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FCD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1BB55 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=44CFE -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=C62C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14942.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A3F38 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=9115B -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35355 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=199BD -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FCD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1064E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=44CFE -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=258EC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14946.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A4018 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=911AB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35355 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=199AD -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FCD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1064E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=44CFD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=258DC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14951.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A78D8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=94A6B -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=3BA85 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1CEDD -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=32629 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=11E9E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=3F680 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22EE0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14955.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A78D8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=94A6B -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=3BA85 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1CEDD -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=32629 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=11E9E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=3F680 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22EE0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14959.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A79B8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=934AB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=2EF05 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=16A0D -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2A4E9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10A8E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=448A0 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=26960 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14965.1001] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7868 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=9345B -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=3BA85 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17DFD -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=32A59 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1212E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=3F680 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=26610 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14971.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7968 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=925FB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=36FE5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1803D -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3D9A9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=11FBE -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46500 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=26180 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14986.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7878 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=926BB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=36FA5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17FFD -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3D979 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=11F7E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=464A0 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=26140 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.14997.1001] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=931EB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x64=1 -SingleUserOffset.x64=274ED -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1D95E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x64=1 -SLInitOffset.x64=E000 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15002.1001] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9698 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=931EB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=346B5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=274ED -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3D779 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1D95E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=47D90 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=E000 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15007.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9648 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=931EB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34665 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=274ED -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3D719 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1D95E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=47D30 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=E000 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15014.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9648 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=931EB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34685 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=274ED -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3D739 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1D95E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=47D50 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=E000 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15019.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A39F8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=928FB -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=BADF5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=FBDD -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=A8479 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx_jmp -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=20AAE -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=3C240 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=24480 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15025.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=9259B -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x64=1 -SingleUserOffset.x64=2C08D -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1DD0E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x64=1 -SLInitOffset.x64=E5B8 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15031.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5BA8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E221 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=30A75 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=2A114 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2B1D9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1C7B5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4532D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=D80C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15042.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5BA8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E221 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=30A75 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=2A114 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2B1D9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1C7B5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4532D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=D80C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15046.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=80BB8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E361 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=31E95 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=15E14 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=38A19 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=E745 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=9422D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=21FFC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15048.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=80BB8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E361 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=31E95 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=15E14 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=38A19 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=E745 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=9422D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=21FFC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15055.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5348 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D2E1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=374C5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=181E4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3BAD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10B65 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=44EFF -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22AEC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15058.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5D68 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8CAA1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35075 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=24E74 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FCD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=2DD65 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4549D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=D1EC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15061.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5D68 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8CAA1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35075 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=24E74 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FCD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=2DD65 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4549D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=D1EC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15063.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5D68 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8CAA1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35075 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=24E74 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FCD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=2DD65 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4549D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=D1EC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15063.296] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A5D68 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8CAA1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=35075 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=24E74 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2FCD9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=2DD65 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4549D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=D1EC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15063.994] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8CB01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x64=1 -SingleUserOffset.x64=15EA4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=FAE5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x64=1 -SLInitOffset.x64=234DC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.15063.1155] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8CB01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x64=1 -SingleUserOffset.x64=15EA4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=FAE5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x64=1 -SLInitOffset.x64=234DC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16179.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AA568 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8C141 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34425 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=16F84 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31219 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1E7F5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45F30 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=21700 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16184.1001] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AA568 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8C141 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=34425 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=16F84 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31219 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1E7F5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45F30 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=21700 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16199.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=ABA68 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8CED1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=348C5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=28C14 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=319B9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=CB25 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=469B0 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=FA30 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16215.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7CE8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8DE21 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39F05 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=28724 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3E019 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=CC15 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=46462 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=FB00 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16232.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7D38 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8DD41 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39F35 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=287B4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3E0C9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=CC15 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4650F -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=FB00 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16237.1001] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7F38 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E911 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39F85 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1BC84 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3E119 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=DA55 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4655D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2180C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16241.1001] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7F38 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E911 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39F85 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1BC84 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3E119 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=DA55 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4655D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2180C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16251.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=ABC88 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8EC21 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=3A525 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1BCB4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31779 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=DAF5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=447FD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2183C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16251.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=ABC88 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8EC21 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=3A525 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1BCB4 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31779 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=DAF5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=447FD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2183C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16257.1] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AB718 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E841 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=33925 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=11364 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3C409 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1EFD5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4504D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2495C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16257.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AB718 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E841 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=33925 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=11364 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3C409 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1EFD5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4504D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2495C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16273.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AB798 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8E871 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=33925 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=11364 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3C409 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1EFD5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4504D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2495C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16275.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9388 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=90001 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39435 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C724 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DE89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D75 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=463D4 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D0C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16278.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9388 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=90001 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39435 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C724 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DE89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D75 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=463D4 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D0C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16281.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E08 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FD01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39215 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C774 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DC89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=461BD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D5C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16288.1] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E08 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FD01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39215 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C774 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DC89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=461BD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D5C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16291.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E08 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FD01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39215 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C774 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DC89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=461BD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D5C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16294.1] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E08 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FD01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39215 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C774 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DC89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=461BD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D5C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16296.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E08 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FD01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39215 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C774 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DC89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=461BD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D5C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16299.0] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E08 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FD01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39215 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C774 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DC89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=461BD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D5C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16299.15] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E08 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FD01 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39215 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C774 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DC89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=461BD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D5C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16353.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9388 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=90001 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=39435 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1C724 -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DE89 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D75 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=463D4 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D0C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.16362.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8E38 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FBA1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=2F61C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=19D1C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DE99 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=463D4 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D9C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17004.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8EB8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8FB41 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=2F65C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=19D1C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3DF09 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=12D85 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=4643F -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22D9C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17017.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AB388 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F291 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=3477C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1977C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31049 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=125A5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45CDD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=227DC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17025.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AB498 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F291 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=3477C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1977C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31049 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=125A5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45CDD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=227DC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17035.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AB3F8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F271 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=354AC -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=14E7C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31F19 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10CB5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45C4D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22AEC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17046.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AB3F8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8F281 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=354AC -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=14E8C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=31F19 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10CC5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=45C4D -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22AFC -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17063.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AD7F8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=92671 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=36B0C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=153CC -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=33569 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=111CE -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=474AD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=2318C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17115.1] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AD738 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=925D1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=36B0C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1511C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=33569 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E78 -DefPolicyCode.x64=CDefPolicy_Query_edi_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=474AD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22E6C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17128.1] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AD738 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=925D1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=36B0C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1511C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=33569 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E78 -DefPolicyCode.x64=CDefPolicy_Query_edi_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=474AD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22E6C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17133.1] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AD738 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=925D1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=36B0C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1511C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=33569 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E78 -DefPolicyCode.x64=CDefPolicy_Query_edi_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=474AD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22E6C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17134.1] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AD738 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=925D1 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=36B0C -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1511C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=33569 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E78 -DefPolicyCode.x64=CDefPolicy_Query_edi_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=474AD -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=22E6C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17723.1000] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=75D91 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelperMgr::IsSingleSessionPerUserEnabled -SingleUserPatch.x64=1 -SingleUserOffset.x64=1296C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17A45 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x64=1 -SLInitOffset.x64=1B10C -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.17763.1] -; Patch CEnforcementCore::GetInstanceOfTSLicense -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=AF8E4 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=77941 -LocalOnlyCode.x64=jmpshort -; Patch CSessionArbitrationHelperMgr::IsSingleSessionPerUserEnabled -SingleUserPatch.x86=1 -SingleUserOffset.x86=4D505 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=1322C -SingleUserCode.x64=Zero -; Patch CDefPolicy::Query -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=4BD09 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17F45 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -; Hook CSLQuery::Initialize -SLInitHook.x86=1 -SLInitOffset.x86=5B02A -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=1ABFC -SLInitFunc.x64=New_CSLQuery_Initialize - -[SLInit] -; Is server -bServerSku=1 -; Enable listener - allow remote connections -bRemoteConnAllowed=1 -; Allow fast user switching -bFUSEnabled=1 -; Allow RemoteApp server -bAppServerAllowed=1 -; Allow multi monitor -bMultimonAllowed=1 -; Maximum user sessions (0 - unlimited) -lMaxUserSessions=0 -; Maximum debug/glass sessions (0 - unlimited) -ulMaxDebugSessions=0 -; SLInit function is succeeded -bInitialized=1 - -[6.3.9431.0-SLInit] -; HOW TO search SLInit global variables in IDA Pro: -; 1. Search text: The SL policy for ',27h,'Allow Multiple Sessions',27h,' is not defined -; 2. Xref will point to CSLQuery::Initialize function -; 3. Follow xref, look for cmp instruction nearby -; 4. It will be comparsion with CSLQuery::bServerSku constant -; 5. Now it's easy to find other constants - -; Strings to find other values: -; CSLQuery::GetMaxUserSessions -; CSLQuery::IsAppServerInstalled failed: -; CSLQuery::AreRemoteConnectionsAllowed f -; CSLQuery::IsMultimonAllowed -; CSLQuery::GetMaxDebugSessions -; CSLQuery::IsFUSEnabled - -bFUSEnabled.x86 =A22A8 -lMaxUserSessions.x86 =A22AC -bAppServerAllowed.x86 =A22B0 -bInitialized.x86 =A22B4 -bMultimonAllowed.x86 =A22B8 -bServerSku.x86 =A22BC -ulMaxDebugSessions.x86=A22C0 -bRemoteConnAllowed.x86=A22C4 - -bFUSEnabled.x64 =C4490 -lMaxUserSessions.x64 =C4494 -bAppServerAllowed.x64 =C4498 -bInitialized.x64 =C449C -bMultimonAllowed.x64 =C44A0 -bServerSku.x64 =C44A4 -ulMaxDebugSessions.x64=C44A8 -bRemoteConnAllowed.x64=C44AC - -[6.3.9600.16384-SLInit] -bFUSEnabled.x86 =C02A8 -lMaxUserSessions.x86 =C02AC -bAppServerAllowed.x86 =C02B0 -bInitialized.x86 =C02B4 -bMultimonAllowed.x86 =C02B8 -bServerSku.x86 =C02BC -ulMaxDebugSessions.x86=C02C0 -bRemoteConnAllowed.x86=C02C4 - -bServerSku.x64 =E6494 -ulMaxDebugSessions.x64=E6498 -bRemoteConnAllowed.x64=E649C -bFUSEnabled.x64 =E64A0 -lMaxUserSessions.x64 =E64A4 -bAppServerAllowed.x64 =E64A8 -bInitialized.x64 =E64AC -bMultimonAllowed.x64 =E64B0 - -[6.3.9600.17095-SLInit] -bFUSEnabled.x86 =C12A8 -lMaxUserSessions.x86 =C12AC -bAppServerAllowed.x86 =C12B0 -bInitialized.x86 =C12B4 -bMultimonAllowed.x86 =C12B8 -bServerSku.x86 =C12BC -ulMaxDebugSessions.x86=C12C0 -bRemoteConnAllowed.x86=C12C4 - -bServerSku.x64 =E4494 -ulMaxDebugSessions.x64=E4498 -bRemoteConnAllowed.x64=E449C -bFUSEnabled.x64 =E44A0 -lMaxUserSessions.x64 =E44A4 -bAppServerAllowed.x64 =E44A8 -bInitialized.x64 =E44AC -bMultimonAllowed.x64 =E44B0 - -[6.3.9600.17415-SLInit] -bFUSEnabled.x86 =D3068 -lMaxUserSessions.x86 =D306C -bAppServerAllowed.x86 =D3070 -bInitialized.x86 =D3074 -bMultimonAllowed.x86 =D3078 -bServerSku.x86 =D307C -ulMaxDebugSessions.x86=D3080 -bRemoteConnAllowed.x86=D3084 - -bFUSEnabled.x64 =F9054 -lMaxUserSessions.x64 =F9058 -bAppServerAllowed.x64 =F905C -bInitialized.x64 =F9060 -bMultimonAllowed.x64 =F9064 -bServerSku.x64 =F9068 -ulMaxDebugSessions.x64=F906C -bRemoteConnAllowed.x64=F9070 - -[6.3.9600.18692-SLInit] -bFUSEnabled.x86 =D3068 -lMaxUserSessions.x86 =D306C -bAppServerAllowed.x86 =D3070 -bInitialized.x86 =D3074 -bMultimonAllowed.x86 =D3078 -bServerSku.x86 =D307C -ulMaxDebugSessions.x86=D3080 -bRemoteConnAllowed.x86=D3084 - -bFUSEnabled.x64 =F9054 -lMaxUserSessions.x64 =F9058 -bAppServerAllowed.x64 =F905C -bInitialized.x64 =F9060 -bMultimonAllowed.x64 =F9064 -bServerSku.x64 =F9068 -ulMaxDebugSessions.x64=F906C -bRemoteConnAllowed.x64=F9070 - -[6.3.9600.18708-SLInit] -bFUSEnabled.x86 =D3068 -lMaxUserSessions.x86 =D306C -bAppServerAllowed.x86 =D3070 -bInitialized.x86 =D3074 -bMultimonAllowed.x86 =D3078 -bServerSku.x86 =D307C -ulMaxDebugSessions.x86=D3080 -bRemoteConnAllowed.x86=D3084 - -bFUSEnabled.x64 =FA054 -lMaxUserSessions.x64 =FA058 -bAppServerAllowed.x64 =FA05C -bInitialized.x64 =FA060 -bMultimonAllowed.x64 =FA064 -bServerSku.x64 =FA068 -ulMaxDebugSessions.x64=FA06C -bRemoteConnAllowed.x64=FA070 - -[6.3.9600.18928-SLInit] -bFUSEnabled.x86 =D3068 -lMaxUserSessions.x86 =D306C -bAppServerAllowed.x86 =D3070 -bInitialized.x86 =D3074 -bMultimonAllowed.x86 =D3078 -bServerSku.x86 =D307C -ulMaxDebugSessions.x86=D3080 -bRemoteConnAllowed.x86=D3084 - -bFUSEnabled.x64 =FA054 -lMaxUserSessions.x64 =FA058 -bAppServerAllowed.x64 =FA05C -bInitialized.x64 =FA060 -bMultimonAllowed.x64 =FA064 -bServerSku.x64 =FA068 -ulMaxDebugSessions.x64=FA06C -bRemoteConnAllowed.x64=FA070 - -[6.3.9600.19093-SLInit] -bFUSEnabled.x86 =D3068 -lMaxUserSessions.x86 =D306C -bAppServerAllowed.x86 =D3070 -bInitialized.x86 =D3074 -bMultimonAllowed.x86 =D3078 -bServerSku.x86 =D307C -ulMaxDebugSessions.x86=D3080 -bRemoteConnAllowed.x86=D3084 - -bFUSEnabled.x64 =FA054 -lMaxUserSessions.x64 =FA058 -bAppServerAllowed.x64 =FA05C -bInitialized.x64 =FA060 -bMultimonAllowed.x64 =FA064 -bServerSku.x64 =FA068 -ulMaxDebugSessions.x64=FA06C -bRemoteConnAllowed.x64=FA070 - -[6.4.9841.0-SLInit] -bFUSEnabled.x86 =BF9F0 -lMaxUserSessions.x86 =BF9F4 -bAppServerAllowed.x86 =BF9F8 -bInitialized.x86 =BF9FC -bMultimonAllowed.x86 =BFA00 -bServerSku.x86 =BFA04 -ulMaxDebugSessions.x86=BFA08 -bRemoteConnAllowed.x86=BFA0C - -bFUSEnabled.x64 =ECFF8 -lMaxUserSessions.x64 =ECFFC -bAppServerAllowed.x64 =ED000 -bInitialized.x64 =ED004 -bMultimonAllowed.x64 =ED008 -bServerSku.x64 =ED00C -ulMaxDebugSessions.x64=ED010 -bRemoteConnAllowed.x64=ED014 - -[6.4.9860.0-SLInit] -bFUSEnabled.x86 =BF7E0 -lMaxUserSessions.x86 =BF7E4 -bAppServerAllowed.x86 =BF7E8 -bInitialized.x86 =BF7EC -bMultimonAllowed.x86 =BF7F0 -bServerSku.x86 =BF7F4 -ulMaxDebugSessions.x86=BF7F8 -bRemoteConnAllowed.x86=BF7FC - -bFUSEnabled.x64 =ECBD8 -lMaxUserSessions.x64 =ECBDC -bAppServerAllowed.x64 =ECBE0 -bInitialized.x64 =ECBE4 -bMultimonAllowed.x64 =ECBE8 -bServerSku.x64 =ECBEC -ulMaxDebugSessions.x64=ECBF0 -bRemoteConnAllowed.x64=ECBF4 - -[6.4.9879.0-SLInit] -bFUSEnabled.x86 =C27D8 -lMaxUserSessions.x86 =C27DC -bAppServerAllowed.x86 =C27E0 -bInitialized.x86 =C27E4 -bMultimonAllowed.x86 =C27E8 -bServerSku.x86 =C27EC -ulMaxDebugSessions.x86=C27F0 -bRemoteConnAllowed.x86=C27F4 - -bFUSEnabled.x64 =EDBF0 -lMaxUserSessions.x64 =EDBF4 -bAppServerAllowed.x64 =EDBF8 -bInitialized.x64 =EDBFC -bMultimonAllowed.x64 =EDC00 -bServerSku.x64 =EDC04 -ulMaxDebugSessions.x64=EDC08 -bRemoteConnAllowed.x64=EDC0C - -[10.0.9926.0-SLInit] -bFUSEnabled.x86 =C17D8 -lMaxUserSessions.x86 =C17DC -bAppServerAllowed.x86 =C17E0 -bInitialized.x86 =C17E4 -bMultimonAllowed.x86 =C17E8 -bServerSku.x86 =C17EC -ulMaxDebugSessions.x86=C17F0 -bRemoteConnAllowed.x86=C17F4 -; x64 contributed by v-yadli -bFUSEnabled.x64 =EEBF0 -lMaxUserSessions.x64 =EEBF4 -bAppServerAllowed.x64 =EEBF8 -bInitialized.x64 =EEBFC -bMultimonAllowed.x64 =EEC00 -bServerSku.x64 =EEC04 -ulMaxDebugSessions.x64=EEC08 -bRemoteConnAllowed.x64=EEC0C - -[10.0.10041.0-SLInit] -bFUSEnabled.x86 =C5F60 -lMaxUserSessions.x86 =C5F64 -bAppServerAllowed.x86 =C5F68 -bInitialized.x86 =C5F6C -bMultimonAllowed.x86 =C5F70 -bServerSku.x86 =C5F74 -ulMaxDebugSessions.x86=C5F78 -bRemoteConnAllowed.x86=C5F7C - -bFUSEnabled.x64 =F3448 -lMaxUserSessions.x64 =F344C -bAppServerAllowed.x64 =F3450 -bInitialized.x64 =F3454 -bMultimonAllowed.x64 =F3458 -bServerSku.x64 =F345C -ulMaxDebugSessions.x64=F3460 -bRemoteConnAllowed.x64=F3464 - -[10.0.10240.16384-SLInit] -bFUSEnabled.x86 =C3F60 -lMaxUserSessions.x86 =C3F64 -bAppServerAllowed.x86 =C3F68 -bInitialized.x86 =C3F6C -bMultimonAllowed.x86 =C3F70 -bServerSku.x86 =C3F74 -ulMaxDebugSessions.x86=C3F78 -bRemoteConnAllowed.x86=C3F7C - -lMaxUserSessions.x64 =F23B0 -bAppServerAllowed.x64 =F23B4 -bServerSku.x64 =F23B8 -bFUSEnabled.x64 =F3460 -bInitialized.x64 =F3464 -bMultimonAllowed.x64 =F3468 -ulMaxDebugSessions.x64=F346C -bRemoteConnAllowed.x64=F3470 - -[10.0.10586.0-SLInit] -bFUSEnabled.x86 =C3F60 -lMaxUserSessions.x86 =C3F64 -bAppServerAllowed.x86 =C3F68 -bInitialized.x86 =C3F6C -bMultimonAllowed.x86 =C3F70 -bServerSku.x86 =C3F74 -ulMaxDebugSessions.x86=C3F78 -bRemoteConnAllowed.x86=C3F7C - -lMaxUserSessions.x64 =F23B0 -bAppServerAllowed.x64 =F23B4 -bServerSku.x64 =F23B8 -bFUSEnabled.x64 =F3460 -bInitialized.x64 =F3464 -bMultimonAllowed.x64 =F3468 -ulMaxDebugSessions.x64=F346C -bRemoteConnAllowed.x64=F3470 - -[10.0.10586.589-SLInit] -bFUSEnabled.x86 =C3F60 -lMaxUserSessions.x86 =C3F64 -bAppServerAllowed.x86 =C3F68 -bInitialized.x86 =C3F6C -bMultimonAllowed.x86 =C3F70 -bServerSku.x86 =C3F74 -ulMaxDebugSessions.x86=C3F78 -bRemoteConnAllowed.x86=C3F7C - -lMaxUserSessions.x64 =F23B0 -bAppServerAllowed.x64 =F23B4 -bServerSku.x64 =F23B8 -bFUSEnabled.x64 =F3460 -bInitialized.x64 =F3464 -bMultimonAllowed.x64 =F3468 -ulMaxDebugSessions.x64=F346C -bRemoteConnAllowed.x64=F3470 - -[10.0.11082.1000-SLInit] -bFUSEnabled.x86 =C3F60 -lMaxUserSessions.x86 =C3F64 -bAppServerAllowed.x86 =C3F68 -bInitialized.x86 =C3F6C -bMultimonAllowed.x86 =C3F70 -bServerSku.x86 =C3F74 -ulMaxDebugSessions.x86=C3F78 -bRemoteConnAllowed.x86=C3F7C - -lMaxUserSessions.x64 =F23B0 -bAppServerAllowed.x64 =F23B4 -bServerSku.x64 =F23B8 -bFUSEnabled.x64 =F3460 -bInitialized.x64 =F3464 -bMultimonAllowed.x64 =F3468 -ulMaxDebugSessions.x64=F346C -bRemoteConnAllowed.x64=F3470 - -[10.0.11102.1000-SLInit] -bInitialized.x86 =C1F5C -bServerSku.x86 =C1F60 -lMaxUserSessions.x86 =C1F64 -bAppServerAllowed.x86 =C1F68 -bRemoteConnAllowed.x86=C1F6C -bMultimonAllowed.x86 =C1F70 -ulMaxDebugSessions.x86=C1F74 -bFUSEnabled.x86 =C1F78 - -bInitialized.x64 =F2430 -bRemoteConnAllowed.x64=F2434 -bMultimonAllowed.x64 =F2438 -ulMaxDebugSessions.x64=F243C -bFUSEnabled.x64 =F2440 -bServerSku.x64 =F244C -lMaxUserSessions.x64 =F2450 -bAppServerAllowed.x64 =F2454 - -[10.0.14251.1000-SLInit] -bInitialized.x86 =C1F5C -bServerSku.x86 =C1F60 -lMaxUserSessions.x86 =C1F64 -bAppServerAllowed.x86 =C1F68 -bRemoteConnAllowed.x86=C1F6C -bMultimonAllowed.x86 =C1F70 -ulMaxDebugSessions.x86=C1F74 -bFUSEnabled.x86 =C1F78 - -bInitialized.x64 =F2430 -bRemoteConnAllowed.x64=F2434 -bMultimonAllowed.x64 =F2438 -ulMaxDebugSessions.x64=F243C -bFUSEnabled.x64 =F2440 -bServerSku.x64 =F244C -lMaxUserSessions.x64 =F2450 -bAppServerAllowed.x64 =F2454 - -[10.0.14271.1000-SLInit] -bInitialized.x86 =C0F5C -bServerSku.x86 =C0F60 -lMaxUserSessions.x86 =C0F64 -bAppServerAllowed.x86 =C0F68 -bRemoteConnAllowed.x86=C0F6C -bMultimonAllowed.x86 =C0F70 -ulMaxDebugSessions.x86=C0F74 -bFUSEnabled.x86 =C0F78 - -bServerSku.x64 =EF3C0 -lMaxUserSessions.x64 =EF3C4 -bAppServerAllowed.x64 =EF3C8 -bInitialized.x64 =F0460 -bRemoteConnAllowed.x64=F0464 -bMultimonAllowed.x64 =F0468 -ulMaxDebugSessions.x64=F046C -bFUSEnabled.x64 =F0470 - -[10.0.14279.1000-SLInit] -bInitialized.x86 =C0F5C -bServerSku.x86 =C0F60 -lMaxUserSessions.x86 =C0F64 -bAppServerAllowed.x86 =C0F68 -bRemoteConnAllowed.x86=C0F6C -bMultimonAllowed.x86 =C0F70 -ulMaxDebugSessions.x86=C0F74 -bFUSEnabled.x86 =C0F78 - -bServerSku.x64 =EF3C0 -lMaxUserSessions.x64 =EF3C4 -bAppServerAllowed.x64 =EF3C8 -bInitialized.x64 =F0460 -bRemoteConnAllowed.x64=F0464 -bMultimonAllowed.x64 =F0468 -ulMaxDebugSessions.x64=F046C -bFUSEnabled.x64 =F0470 - -[10.0.14295.1000-SLInit] -bInitialized.x86 =C0F5C -bServerSku.x86 =C0F60 -lMaxUserSessions.x86 =C0F64 -bAppServerAllowed.x86 =C0F68 -bRemoteConnAllowed.x86=C0F6C -bMultimonAllowed.x86 =C0F70 -ulMaxDebugSessions.x86=C0F74 -bFUSEnabled.x86 =C0F78 - -bServerSku.x64 =E73C0 -lMaxUserSessions.x64 =E73C4 -bAppServerAllowed.x64 =E73C8 -bInitialized.x64 =E8460 -bRemoteConnAllowed.x64=E8464 -bMultimonAllowed.x64 =E8468 -ulMaxDebugSessions.x64=E846C -bFUSEnabled.x64 =E8470 - -[10.0.14300.1000-SLInit] -bServerSku.x64 =E93C0 -lMaxUserSessions.x64 =E93C4 -bAppServerAllowed.x64 =E93C8 -bInitialized.x64 =EA460 -bRemoteConnAllowed.x64=EA464 -bMultimonAllowed.x64 =EA468 -ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 - -[10.0.14316.1000-SLInit] -bInitialized.x86 =C4F58 -bServerSku.x86 =C4F5C -lMaxUserSessions.x86 =C4F60 -bAppServerAllowed.x86 =C4F64 -bRemoteConnAllowed.x86=C4F68 -bMultimonAllowed.x86 =C4F6C -ulMaxDebugSessions.x86=C4F70 -bFUSEnabled.x86 =C4F74 - -bServerSku.x64 =E93C0 -lMaxUserSessions.x64 =E93C4 -bAppServerAllowed.x64 =E93C8 -bInitialized.x64 =EA460 -bRemoteConnAllowed.x64=EA464 -bMultimonAllowed.x64 =EA468 -ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 - -[10.0.14328.1000-SLInit] -bInitialized.x86 =C4F58 -bServerSku.x86 =C4F5C -lMaxUserSessions.x86 =C4F60 -bAppServerAllowed.x86 =C4F64 -bRemoteConnAllowed.x86=C4F68 -bMultimonAllowed.x86 =C4F6C -ulMaxDebugSessions.x86=C4F70 -bFUSEnabled.x86 =C4F74 - -bServerSku.x64 =E93C0 -lMaxUserSessions.x64 =E93C4 -bAppServerAllowed.x64 =E93C8 -bInitialized.x64 =EA460 -bRemoteConnAllowed.x64=EA464 -bMultimonAllowed.x64 =EA468 -ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 - -[10.0.14332.1001-SLInit] -; contributed by maxpiva -bInitialized.x86 =C4F58 -bServerSku.x86 =C4F5C -lMaxUserSessions.x86 =C4F60 -bAppServerAllowed.x86 =C4F64 -bRemoteConnAllowed.x86=C4F68 -bMultimonAllowed.x86 =C4F6C -ulMaxDebugSessions.x86=C4F70 -bFUSEnabled.x86 =C4F74 - -bServerSku.x64 =E93C0 -lMaxUserSessions.x64 =E93C4 -bAppServerAllowed.x64 =E93C8 -bInitialized.x64 =EA460 -bRemoteConnAllowed.x64=EA464 -bMultimonAllowed.x64 =EA468 -ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 - -[10.0.14342.1000-SLInit] -bInitialized.x86 =C4F58 -bServerSku.x86 =C4F5C -lMaxUserSessions.x86 =C4F60 -bAppServerAllowed.x86 =C4F64 -bRemoteConnAllowed.x86=C4F68 -bMultimonAllowed.x86 =C4F6C -ulMaxDebugSessions.x86=C4F70 -bFUSEnabled.x86 =C4F74 - -bInitialized.x64 =E9430 -bRemoteConnAllowed.x64=E9434 -bMultimonAllowed.x64 =E9438 -ulMaxDebugSessions.x64=E943C -bFUSEnabled.x64 =E9440 -bServerSku.x64 =E944C -lMaxUserSessions.x64 =E9450 -bAppServerAllowed.x64 =E9454 - -[10.0.14352.1002-SLInit] -bInitialized.x86 =C0F5C -bServerSku.x86 =C0F60 -lMaxUserSessions.x86 =C0F64 -bAppServerAllowed.x86 =C0F68 -bRemoteConnAllowed.x86=C0F6C -bMultimonAllowed.x86 =C0F70 -ulMaxDebugSessions.x86=C0F74 -bFUSEnabled.x86 =C0F78 - -bServerSku.x64 =E73C0 -lMaxUserSessions.x64 =E73C4 -bAppServerAllowed.x64 =E73C8 -bInitialized.x64 =E8460 -bRemoteConnAllowed.x64=E8464 -bMultimonAllowed.x64 =E8468 -ulMaxDebugSessions.x64=E846C -bFUSEnabled.x64 =E8470 - -[10.0.14366.0-SLInit] -bInitialized.x86 =C4F68 -bServerSku.x86 =C4F6C -lMaxUserSessions.x86 =C4F70 -bAppServerAllowed.x86 =C4F74 -bRemoteConnAllowed.x86=C4F78 -bMultimonAllowed.x86 =C4F7C -ulMaxDebugSessions.x86=C4F80 -bFUSEnabled.x86 =C4F84 - -bServerSku.x64 =E93E0 -lMaxUserSessions.x64 =E93E4 -bAppServerAllowed.x64 =E93E8 -bInitialized.x64 =EA480 -bRemoteConnAllowed.x64=EA484 -bMultimonAllowed.x64 =EA488 -ulMaxDebugSessions.x64=EA48C -bFUSEnabled.x64 =EA490 - -[10.0.14367.0-SLInit] -bInitialized.x86 =C4F68 -bServerSku.x86 =C4F6C -lMaxUserSessions.x86 =C4F70 -bAppServerAllowed.x86 =C4F74 -bRemoteConnAllowed.x86=C4F78 -bMultimonAllowed.x86 =C4F7C -ulMaxDebugSessions.x86=C4F80 -bFUSEnabled.x86 =C4F84 - -bServerSku.x64 =E93E0 -lMaxUserSessions.x64 =E93E4 -bAppServerAllowed.x64 =E93E8 -bInitialized.x64 =EA480 -bRemoteConnAllowed.x64=EA484 -bMultimonAllowed.x64 =EA488 -ulMaxDebugSessions.x64=EA48C -bFUSEnabled.x64 =EA490 - -[10.0.14372.0-SLInit] -bInitialized.x86 =C3F68 -bServerSku.x86 =C3F6C -lMaxUserSessions.x86 =C3F70 -bAppServerAllowed.x86 =C3F74 -bRemoteConnAllowed.x86=C3F78 -bMultimonAllowed.x86 =C3F7C -ulMaxDebugSessions.x86=C3F80 -bFUSEnabled.x86 =C3F84 -; x64 contributed by kbmorris -bInitialized.x64 =EA460 -bRemoteConnAllowed.x64=EA464 -bMultimonAllowed.x64 =EA468 -ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 -bServerSku.x64 =EA47C -lMaxUserSessions.x64 =EA480 -bAppServerAllowed.x64 =EA484 - -[10.0.14379.0-SLInit] -bInitialized.x86 =C3F68 -bServerSku.x86 =C3F6C -lMaxUserSessions.x86 =C3F70 -bAppServerAllowed.x86 =C3F74 -bRemoteConnAllowed.x86=C3F78 -bMultimonAllowed.x86 =C3F7C -ulMaxDebugSessions.x86=C3F80 -bFUSEnabled.x86 =C3F84 - -bInitialized.x64 =EA460 -bRemoteConnAllowed.x64=EA464 -bMultimonAllowed.x64 =EA468 -ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 -bServerSku.x64 =EA47C -lMaxUserSessions.x64 =EA480 -bAppServerAllowed.x64 =EA484 - -[10.0.14383.0-SLInit] -bInitialized.x86 =C3F68 -bServerSku.x86 =C3F6C -lMaxUserSessions.x86 =C3F70 -bAppServerAllowed.x86 =C3F74 -bRemoteConnAllowed.x86=C3F78 -bMultimonAllowed.x86 =C3F7C -ulMaxDebugSessions.x86=C3F80 -bFUSEnabled.x86 =C3F84 - -bInitialized.x64 =EA460 -bRemoteConnAllowed.x64=EA464 -bMultimonAllowed.x64 =EA468 -ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 -bServerSku.x64 =EA47C -lMaxUserSessions.x64 =EA480 -bAppServerAllowed.x64 =EA484 - -[10.0.14385.0-SLInit] -bInitialized.x86 =C3F68 -bServerSku.x86 =C3F6C -lMaxUserSessions.x86 =C3F70 -bAppServerAllowed.x86 =C3F74 -bRemoteConnAllowed.x86=C3F78 -bMultimonAllowed.x86 =C3F7C -ulMaxDebugSessions.x86=C3F80 -bFUSEnabled.x86 =C3F84 - -bInitialized.x64 =EA460 -bRemoteConnAllowed.x64=EA464 -bMultimonAllowed.x64 =EA468 -ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 -bServerSku.x64 =EA47C -lMaxUserSessions.x64 =EA480 -bAppServerAllowed.x64 =EA484 - -[10.0.14388.0-SLInit] -bInitialized.x86 =C1F6C -bServerSku.x86 =C1F70 -lMaxUserSessions.x86 =C1F74 -bAppServerAllowed.x86 =C1F78 -bRemoteConnAllowed.x86=C1F7C -bMultimonAllowed.x86 =C1F80 -ulMaxDebugSessions.x86=C1F84 -bFUSEnabled.x86 =C1F88 - -bServerSku.x64 =E73D0 -lMaxUserSessions.x64 =E73D4 -bAppServerAllowed.x64 =E73D8 -bInitialized.x64 =E8470 -bRemoteConnAllowed.x64=E8474 -bMultimonAllowed.x64 =E8478 -ulMaxDebugSessions.x64=E847C -bFUSEnabled.x64 =E8480 - -[10.0.14393.0-SLInit] -bInitialized.x86 =C1F6C -bServerSku.x86 =C1F70 -lMaxUserSessions.x86 =C1F74 -bAppServerAllowed.x86 =C1F78 -bRemoteConnAllowed.x86=C1F7C -bMultimonAllowed.x86 =C1F80 -ulMaxDebugSessions.x86=C1F84 -bFUSEnabled.x86 =C1F88 - -bServerSku.x64 =E73D0 -lMaxUserSessions.x64 =E73D4 -bAppServerAllowed.x64 =E73D8 -bInitialized.x64 =E8470 -bRemoteConnAllowed.x64=E8474 -bMultimonAllowed.x64 =E8478 -ulMaxDebugSessions.x64=E847C -bFUSEnabled.x64 =E8480 - -[10.0.14393.1198-SLInit] -bInitialized.x86 =C1F6C -bServerSku.x86 =C1F70 -lMaxUserSessions.x86 =C1F74 -bAppServerAllowed.x86 =C1F78 -bRemoteConnAllowed.x86=C1F7C -bMultimonAllowed.x86 =C1F80 -ulMaxDebugSessions.x86=C1F84 -bFUSEnabled.x86 =C1F88 - -[10.0.14393.1737-SLInit] -bInitialized.x86 =C1F6C -bServerSku.x86 =C1F70 -lMaxUserSessions.x86 =C1F74 -bAppServerAllowed.x86 =C1F78 -bRemoteConnAllowed.x86=C1F7C -bMultimonAllowed.x86 =C1F80 -ulMaxDebugSessions.x86=C1F84 -bFUSEnabled.x86 =C1F88 - -bServerSku.x64 =E73D0 -lMaxUserSessions.x64 =E73D4 -bAppServerAllowed.x64 =E73D8 -bInitialized.x64 =E8470 -bRemoteConnAllowed.x64=E8474 -bMultimonAllowed.x64 =E8478 -ulMaxDebugSessions.x64=E847C -bFUSEnabled.x64 =E8480 - -[10.0.14393.2457-SLInit] -bInitialized.x86 =C1F94 -bServerSku.x86 =C1F98 -lMaxUserSessions.x86 =C1F9C -bAppServerAllowed.x86 =C1FA0 -bRemoteConnAllowed.x86=C1FA4 -bMultimonAllowed.x86 =C1FA8 -ulMaxDebugSessions.x86=C1FAC -bFUSEnabled.x86 =C1FB0 - -bServerSku.x64 =E73D0 -lMaxUserSessions.x64 =E73D4 -bAppServerAllowed.x64 =E73D8 -bInitialized.x64 =E8470 -bRemoteConnAllowed.x64=E8474 -bMultimonAllowed.x64 =E8478 -ulMaxDebugSessions.x64=E847C -bFUSEnabled.x64 =E8480 - -[10.0.14901.1000-SLInit] -bInitialized.x86 =C1F6C -bServerSku.x86 =C1F70 -lMaxUserSessions.x86 =C1F74 -bAppServerAllowed.x86 =C1F78 -bRemoteConnAllowed.x86=C1F7C -bMultimonAllowed.x86 =C1F80 -ulMaxDebugSessions.x86=C1F84 -bFUSEnabled.x86 =C1F88 - -bServerSku.x64 =E73D0 -lMaxUserSessions.x64 =E73D4 -bAppServerAllowed.x64 =E73D8 -bInitialized.x64 =E8470 -bRemoteConnAllowed.x64=E8474 -bMultimonAllowed.x64 =E8478 -ulMaxDebugSessions.x64=E847C -bFUSEnabled.x64 =E8480 - -[10.0.14905.1000-SLInit] -bInitialized.x86 =C1F6C -bServerSku.x86 =C1F70 -lMaxUserSessions.x86 =C1F74 -bAppServerAllowed.x86 =C1F78 -bRemoteConnAllowed.x86=C1F7C -bMultimonAllowed.x86 =C1F80 -ulMaxDebugSessions.x86=C1F84 -bFUSEnabled.x86 =C1F88 - -bServerSku.x64 =E73D0 -lMaxUserSessions.x64 =E73D4 -bAppServerAllowed.x64 =E73D8 -bInitialized.x64 =E8470 -bRemoteConnAllowed.x64=E8474 -bMultimonAllowed.x64 =E8478 -ulMaxDebugSessions.x64=E847C -bFUSEnabled.x64 =E8480 - -[10.0.14915.1000-SLInit] -bInitialized.x86 =C4F6C -bServerSku.x86 =C4F70 -lMaxUserSessions.x86 =C4F74 -bAppServerAllowed.x86 =C4F78 -bRemoteConnAllowed.x86=C4F7C -bMultimonAllowed.x86 =C4F80 -ulMaxDebugSessions.x86=C4F84 -bFUSEnabled.x86 =C4F88 - -bServerSku.x64 =E93D0 -lMaxUserSessions.x64 =E93D4 -bAppServerAllowed.x64 =E93D8 -bInitialized.x64 =EA470 -bRemoteConnAllowed.x64=EA474 -bMultimonAllowed.x64 =EA478 -ulMaxDebugSessions.x64=EA47C -bFUSEnabled.x64 =EA480 - -[10.0.14926.1000-SLInit] -bInitialized.x86 =C4F6C -bServerSku.x86 =C4F70 -lMaxUserSessions.x86 =C4F74 -bAppServerAllowed.x86 =C4F78 -bRemoteConnAllowed.x86=C4F7C -bMultimonAllowed.x86 =C4F80 -ulMaxDebugSessions.x86=C4F84 -bFUSEnabled.x86 =C4F88 - -bServerSku.x64 =E93D0 -lMaxUserSessions.x64 =E93D4 -bAppServerAllowed.x64 =E93D8 -bInitialized.x64 =EA470 -bRemoteConnAllowed.x64=EA474 -bMultimonAllowed.x64 =EA478 -ulMaxDebugSessions.x64=EA47C -bFUSEnabled.x64 =EA480 - -[10.0.14931.1000-SLInit] -bInitialized.x86 =C1F6C -bServerSku.x86 =C1F70 -lMaxUserSessions.x86 =C1F74 -bAppServerAllowed.x86 =C1F78 -bRemoteConnAllowed.x86=C1F7C -bMultimonAllowed.x86 =C1F80 -ulMaxDebugSessions.x86=C1F84 -bFUSEnabled.x86 =C1F88 - -bServerSku.x64 =E63D0 -lMaxUserSessions.x64 =E63D4 -bAppServerAllowed.x64 =E63D8 -bInitialized.x64 =E7470 -bRemoteConnAllowed.x64=E7474 -bMultimonAllowed.x64 =E7478 -ulMaxDebugSessions.x64=E747C -bFUSEnabled.x64 =E7480 - -[10.0.14936.1000-SLInit] -bInitialized.x86 =C0F6C -bServerSku.x86 =C0F70 -lMaxUserSessions.x86 =C0F74 -bAppServerAllowed.x86 =C0F78 -bRemoteConnAllowed.x86=C0F7C -bMultimonAllowed.x86 =C0F80 -ulMaxDebugSessions.x86=C0F84 -bFUSEnabled.x86 =C0F88 - -bInitialized.x64 =E8460 -bRemoteConnAllowed.x64=E8464 -bMultimonAllowed.x64 =E8468 -ulMaxDebugSessions.x64=E846C -bFUSEnabled.x64 =E8470 -bServerSku.x64 =E847C -lMaxUserSessions.x64 =E8480 -bAppServerAllowed.x64 =E8484 - -[10.0.14942.1000-SLInit] -bInitialized.x86 =C0F6C -bServerSku.x86 =C0F70 -lMaxUserSessions.x86 =C0F74 -bAppServerAllowed.x86 =C0F78 -bRemoteConnAllowed.x86=C0F7C -bMultimonAllowed.x86 =C0F80 -ulMaxDebugSessions.x86=C0F84 -bFUSEnabled.x86 =C0F88 - -bInitialized.x64 =EC460 -bRemoteConnAllowed.x64=EC464 -bMultimonAllowed.x64 =EC468 -ulMaxDebugSessions.x64=EC46C -bFUSEnabled.x64 =EC470 -bServerSku.x64 =EC47C -lMaxUserSessions.x64 =EC480 -bAppServerAllowed.x64 =EC484 - -[10.0.14946.1000-SLInit] -bInitialized.x86 =C0F6C -bServerSku.x86 =C0F70 -lMaxUserSessions.x86 =C0F74 -bAppServerAllowed.x86 =C0F78 -bRemoteConnAllowed.x86=C0F7C -bMultimonAllowed.x86 =C0F80 -ulMaxDebugSessions.x86=C0F84 -bFUSEnabled.x86 =C0F88 - -bInitialized.x64 =EC460 -bRemoteConnAllowed.x64=EC464 -bMultimonAllowed.x64 =EC468 -ulMaxDebugSessions.x64=EC46C -bFUSEnabled.x64 =EC470 -bServerSku.x64 =EC47C -lMaxUserSessions.x64 =EC480 -bAppServerAllowed.x64 =EC484 - -[10.0.14951.1000-SLInit] -bInitialized.x86 =C5F68 -bServerSku.x86 =C5F6C -lMaxUserSessions.x86 =C5F70 -bAppServerAllowed.x86 =C5F74 -bRemoteConnAllowed.x86=C5F78 -bMultimonAllowed.x86 =C5F7C -ulMaxDebugSessions.x86=C5F80 -bFUSEnabled.x86 =C5F84 - -bServerSku.x64 =EF3D0 -lMaxUserSessions.x64 =EF3D4 -bAppServerAllowed.x64 =EF3D8 -bInitialized.x64 =F0470 -bRemoteConnAllowed.x64=F0474 -bMultimonAllowed.x64 =F0478 -ulMaxDebugSessions.x64=F047C -bFUSEnabled.x64 =F0480 - -[10.0.14955.1000-SLInit] -bInitialized.x86 =C5F68 -bServerSku.x86 =C5F6C -lMaxUserSessions.x86 =C5F70 -bAppServerAllowed.x86 =C5F74 -bRemoteConnAllowed.x86=C5F78 -bMultimonAllowed.x86 =C5F7C -ulMaxDebugSessions.x86=C5F80 -bFUSEnabled.x86 =C5F84 - -bServerSku.x64 =EF3D0 -lMaxUserSessions.x64 =EF3D4 -bAppServerAllowed.x64 =EF3D8 -bInitialized.x64 =F0470 -bRemoteConnAllowed.x64=F0474 -bMultimonAllowed.x64 =F0478 -ulMaxDebugSessions.x64=F047C -bFUSEnabled.x64 =F0480 - -[10.0.14959.1000-SLInit] -bInitialized.x86 =C4F68 -bServerSku.x86 =C4F6C -lMaxUserSessions.x86 =C4F70 -bAppServerAllowed.x86 =C4F74 -bRemoteConnAllowed.x86=C4F78 -bMultimonAllowed.x86 =C4F7C -ulMaxDebugSessions.x86=C4F80 -bFUSEnabled.x86 =C4F84 - -bServerSku.x64 =EE3D0 -lMaxUserSessions.x64 =EE3D4 -bAppServerAllowed.x64 =EE3D8 -bInitialized.x64 =EF470 -bRemoteConnAllowed.x64=EF474 -bMultimonAllowed.x64 =EF478 -ulMaxDebugSessions.x64=EF47C -bFUSEnabled.x64 =EF480 - -[10.0.14965.1001-SLInit] -bInitialized.x86 =C5F68 -bServerSku.x86 =C5F6C -lMaxUserSessions.x86 =C5F70 -bAppServerAllowed.x86 =C5F74 -bRemoteConnAllowed.x86=C5F78 -bMultimonAllowed.x86 =C5F7C -ulMaxDebugSessions.x86=C5F80 -bFUSEnabled.x86 =C5F84 - -bInitialized.x64 =EF460 -bRemoteConnAllowed.x64=EF464 -bMultimonAllowed.x64 =EF468 -ulMaxDebugSessions.x64=EF46C -bFUSEnabled.x64 =EF470 -bServerSku.x64 =EF47C -lMaxUserSessions.x64 =EF480 -bAppServerAllowed.x64 =EF484 - -[10.0.14971.1000-SLInit] -bInitialized.x86 =C5F68 -bServerSku.x86 =C5F6C -lMaxUserSessions.x86 =C5F70 -bAppServerAllowed.x86 =C5F74 -bRemoteConnAllowed.x86=C5F78 -bMultimonAllowed.x86 =C5F7C -ulMaxDebugSessions.x86=C5F80 -bFUSEnabled.x86 =C5F84 - -bServerSku.x64 =EE3C0 -lMaxUserSessions.x64 =EE3C4 -bAppServerAllowed.x64 =EE3C8 -bInitialized.x64 =EE470 -bRemoteConnAllowed.x64=EE474 -bMultimonAllowed.x64 =EE478 -ulMaxDebugSessions.x64=EE47C -bFUSEnabled.x64 =EE480 - -[10.0.14986.1000-SLInit] -bInitialized.x86 =C5F68 -bServerSku.x86 =C5F6C -lMaxUserSessions.x86 =C5F70 -bAppServerAllowed.x86 =C5F74 -bRemoteConnAllowed.x86=C5F78 -bMultimonAllowed.x86 =C5F7C -ulMaxDebugSessions.x86=C5F80 -bFUSEnabled.x86 =C5F84 - -bServerSku.x64 =EE3C0 -lMaxUserSessions.x64 =EE3C4 -bAppServerAllowed.x64 =EE3C8 -bInitialized.x64 =EE470 -bRemoteConnAllowed.x64=EE474 -bMultimonAllowed.x64 =EE478 -ulMaxDebugSessions.x64=EE47C -bFUSEnabled.x64 =EE480 - -[10.0.14997.1001-SLInit] -bServerSku.x64 =F0408 -lMaxUserSessions.x64 =F040C -bAppServerAllowed.x64 =F0410 -bInitialized.x64 =F0480 -bRemoteConnAllowed.x64=F0484 -bMultimonAllowed.x64 =F0488 -ulMaxDebugSessions.x64=F048C -bFUSEnabled.x64 =F0490 - -[10.0.15002.1001-SLInit] -bInitialized.x86 =C6F74 -bServerSku.x86 =C6F78 -lMaxUserSessions.x86 =C6F7C -bAppServerAllowed.x86 =C6F80 -bRemoteConnAllowed.x86=C6F84 -bMultimonAllowed.x86 =C6F88 -ulMaxDebugSessions.x86=C6F8C -bFUSEnabled.x86 =C6F90 - -bServerSku.x64 =F0408 -lMaxUserSessions.x64 =F040C -bAppServerAllowed.x64 =F0410 -bInitialized.x64 =F0480 -bRemoteConnAllowed.x64=F0484 -bMultimonAllowed.x64 =F0488 -ulMaxDebugSessions.x64=F048C -bFUSEnabled.x64 =F0490 - -[10.0.15007.1000-SLInit] -bInitialized.x86 =C6F74 -bServerSku.x86 =C6F78 -lMaxUserSessions.x86 =C6F7C -bAppServerAllowed.x86 =C6F80 -bRemoteConnAllowed.x86=C6F84 -bMultimonAllowed.x86 =C6F88 -ulMaxDebugSessions.x86=C6F8C -bFUSEnabled.x86 =C6F90 - -bServerSku.x64 =F0408 -lMaxUserSessions.x64 =F040C -bAppServerAllowed.x64 =F0410 -bInitialized.x64 =F0480 -bRemoteConnAllowed.x64=F0484 -bMultimonAllowed.x64 =F0488 -ulMaxDebugSessions.x64=F048C -bFUSEnabled.x64 =F0490 - -[10.0.15014.1000-SLInit] -bInitialized.x86 =C6F74 -bServerSku.x86 =C6F78 -lMaxUserSessions.x86 =C6F7C -bAppServerAllowed.x86 =C6F80 -bRemoteConnAllowed.x86=C6F84 -bMultimonAllowed.x86 =C6F88 -ulMaxDebugSessions.x86=C6F8C -bFUSEnabled.x86 =C6F90 - -bServerSku.x64 =F0408 -lMaxUserSessions.x64 =F040C -bAppServerAllowed.x64 =F0410 -bInitialized.x64 =F0480 -bRemoteConnAllowed.x64=F0484 -bMultimonAllowed.x64 =F0488 -ulMaxDebugSessions.x64=F048C -bFUSEnabled.x64 =F0490 - -[10.0.15019.1000-SLInit] -bInitialized.x86 =C5F68 -bServerSku.x86 =C5F6C -lMaxUserSessions.x86 =C5F70 -bAppServerAllowed.x86 =C5F74 -bRemoteConnAllowed.x86=C5F78 -bMultimonAllowed.x86 =C5F7C -ulMaxDebugSessions.x86=C5F80 -bFUSEnabled.x86 =C5F84 - -bServerSku.x64 =ECBDC -lMaxUserSessions.x64 =ECBE0 -bAppServerAllowed.x64 =ECBE4 -bInitialized.x64 =F0490 -bRemoteConnAllowed.x64=F0494 -bMultimonAllowed.x64 =F0498 -ulMaxDebugSessions.x64=F049C -bFUSEnabled.x64 =F04A0 - -[10.0.15025.1000-SLInit] -bServerSku.x64 =EE3E0 -lMaxUserSessions.x64 =EE3E4 -bAppServerAllowed.x64 =EE3E8 -bInitialized.x64 =EF488 -bRemoteConnAllowed.x64=EF48C -bMultimonAllowed.x64 =EF490 -ulMaxDebugSessions.x64=EF494 -bFUSEnabled.x64 =EF498 - -[10.0.15031.0-SLInit] -bInitialized.x86 =C2F6C -bServerSku.x86 =C2F70 -lMaxUserSessions.x86 =C2F74 -bAppServerAllowed.x86 =C2F78 -bRemoteConnAllowed.x86=C2F7C -bMultimonAllowed.x86 =C2F80 -ulMaxDebugSessions.x86=C2F84 -bFUSEnabled.x86 =C2F88 - -bServerSku.x64 =E93E0 -lMaxUserSessions.x64 =E93E4 -bAppServerAllowed.x64 =E93E8 -bInitialized.x64 =EA488 -bRemoteConnAllowed.x64=EA48C -bMultimonAllowed.x64 =EA490 -ulMaxDebugSessions.x64=EA494 -bFUSEnabled.x64 =EA498 - -[10.0.15042.0-SLInit] -bInitialized.x86 =C2F6C -bServerSku.x86 =C2F70 -lMaxUserSessions.x86 =C2F74 -bAppServerAllowed.x86 =C2F78 -bRemoteConnAllowed.x86=C2F7C -bMultimonAllowed.x86 =C2F80 -ulMaxDebugSessions.x86=C2F84 -bFUSEnabled.x86 =C2F88 - -bServerSku.x64 =E93E0 -lMaxUserSessions.x64 =E93E4 -bAppServerAllowed.x64 =E93E8 -bInitialized.x64 =EA488 -bRemoteConnAllowed.x64=EA48C -bMultimonAllowed.x64 =EA490 -ulMaxDebugSessions.x64=EA494 -bFUSEnabled.x64 =EA498 - -[10.0.15046.0-SLInit] -bInitialized.x86 =C4F18 -bServerSku.x86 =C4F1C -lMaxUserSessions.x86 =C4F20 -bAppServerAllowed.x86 =C4F24 -bRemoteConnAllowed.x86=C4F28 -ulMaxDebugSessions.x86=C4F2C -bMultimonAllowed.x86 =C5010 -bFUSEnabled.x86 =C5014 - -bInitialized.x64 =EB468 -bRemoteConnAllowed.x64=EB46C -bMultimonAllowed.x64 =EB470 -ulMaxDebugSessions.x64=EB474 -bFUSEnabled.x64 =EB478 -bServerSku.x64 =EB484 -lMaxUserSessions.x64 =EB488 -bAppServerAllowed.x64 =EB48C - -[10.0.15048.0-SLInit] -bInitialized.x86 =C4F18 -bServerSku.x86 =C4F1C -lMaxUserSessions.x86 =C4F20 -bAppServerAllowed.x86 =C4F24 -bRemoteConnAllowed.x86=C4F28 -ulMaxDebugSessions.x86=C4F2C -bMultimonAllowed.x86 =C5010 -bFUSEnabled.x86 =C5014 - -bInitialized.x64 =EB468 -bRemoteConnAllowed.x64=EB46C -bMultimonAllowed.x64 =EB470 -ulMaxDebugSessions.x64=EB474 -bFUSEnabled.x64 =EB478 -bServerSku.x64 =EB484 -lMaxUserSessions.x64 =EB488 -bAppServerAllowed.x64 =EB48C - -[10.0.15055.0-SLInit] -bInitialized.x86 =C2F70 -bServerSku.x86 =C2F74 -lMaxUserSessions.x86 =C2F78 -bAppServerAllowed.x86 =C2F7C -bRemoteConnAllowed.x86=C2F80 -bMultimonAllowed.x86 =C2F84 -ulMaxDebugSessions.x86=C2F88 -bFUSEnabled.x86 =C2F8C - -bServerSku.x64 =E83D8 -lMaxUserSessions.x64 =E83DC -bAppServerAllowed.x64 =E83E0 -bInitialized.x64 =E9490 -bRemoteConnAllowed.x64=E9494 -bMultimonAllowed.x64 =E9498 -ulMaxDebugSessions.x64=E949C -bFUSEnabled.x64 =E94A0 - -[10.0.15058.0-SLInit] -bInitialized.x86 =C2F70 -bServerSku.x86 =C2F74 -lMaxUserSessions.x86 =C2F78 -bAppServerAllowed.x86 =C2F7C -bRemoteConnAllowed.x86=C2F80 -bMultimonAllowed.x86 =C2F84 -ulMaxDebugSessions.x86=C2F88 -bFUSEnabled.x86 =C2F8C - -bInitialized.x64 =E9468 -bRemoteConnAllowed.x64=E946C -bMultimonAllowed.x64 =E9470 -ulMaxDebugSessions.x64=E9474 -bFUSEnabled.x64 =E9478 -bServerSku.x64 =E9484 -lMaxUserSessions.x64 =E9488 -bAppServerAllowed.x64 =E948C - -[10.0.15061.0-SLInit] -bInitialized.x86 =C2F70 -bServerSku.x86 =C2F74 -lMaxUserSessions.x86 =C2F78 -bAppServerAllowed.x86 =C2F7C -bRemoteConnAllowed.x86=C2F80 -bMultimonAllowed.x86 =C2F84 -ulMaxDebugSessions.x86=C2F88 -bFUSEnabled.x86 =C2F8C - -bInitialized.x64 =E9468 -bRemoteConnAllowed.x64=E946C -bMultimonAllowed.x64 =E9470 -ulMaxDebugSessions.x64=E9474 -bFUSEnabled.x64 =E9478 -bServerSku.x64 =E9484 -lMaxUserSessions.x64 =E9488 -bAppServerAllowed.x64 =E948C - -[10.0.15063.0-SLInit] -bInitialized.x86 =C2F70 -bServerSku.x86 =C2F74 -lMaxUserSessions.x86 =C2F78 -bAppServerAllowed.x86 =C2F7C -bRemoteConnAllowed.x86=C2F80 -bMultimonAllowed.x86 =C2F84 -ulMaxDebugSessions.x86=C2F88 -bFUSEnabled.x86 =C2F8C - -bInitialized.x64 =E9468 -bRemoteConnAllowed.x64=E946C -bMultimonAllowed.x64 =E9470 -ulMaxDebugSessions.x64=E9474 -bFUSEnabled.x64 =E9478 -bServerSku.x64 =E9484 -lMaxUserSessions.x64 =E9488 -bAppServerAllowed.x64 =E948C - -[10.0.15063.296-SLInit] -bInitialized.x86 =C2F70 -bServerSku.x86 =C2F74 -lMaxUserSessions.x86 =C2F78 -bAppServerAllowed.x86 =C2F7C -bRemoteConnAllowed.x86=C2F80 -bMultimonAllowed.x86 =C2F84 -ulMaxDebugSessions.x86=C2F88 -bFUSEnabled.x86 =C2F8C - -bInitialized.x64 =E9468 -bRemoteConnAllowed.x64=E946C -bMultimonAllowed.x64 =E9470 -ulMaxDebugSessions.x64=E9474 -bFUSEnabled.x64 =E9478 -bServerSku.x64 =E9484 -lMaxUserSessions.x64 =E9488 -bAppServerAllowed.x64 =E948C - -[10.0.15063.994-SLInit] -bInitialized.x64 =E9468 -bRemoteConnAllowed.x64=E946C -bMultimonAllowed.x64 =E9470 -ulMaxDebugSessions.x64=E9474 -bFUSEnabled.x64 =E9478 -bServerSku.x64 =E9484 -lMaxUserSessions.x64 =E9488 -bAppServerAllowed.x64 =E948C - -[10.0.15063.1155-SLInit] -bInitialized.x64 =E9468 -bRemoteConnAllowed.x64=E946C -bMultimonAllowed.x64 =E9470 -ulMaxDebugSessions.x64=E9474 -bFUSEnabled.x64 =E9478 -bServerSku.x64 =E9484 -lMaxUserSessions.x64 =E9488 -bAppServerAllowed.x64 =E948C - -[10.0.16179.1000-SLInit] -bInitialized.x86 =C7F6C -bServerSku.x86 =C7F70 -lMaxUserSessions.x86 =C7F74 -bAppServerAllowed.x86 =C7F78 -bRemoteConnAllowed.x86=C7F7C -bMultimonAllowed.x86 =C7F80 -ulMaxDebugSessions.x86=C7F84 -bFUSEnabled.x86 =C7F88 - -bServerSku.x64 =E83D8 -lMaxUserSessions.x64 =E83DC -bAppServerAllowed.x64 =E83E0 -bInitialized.x64 =E9490 -bRemoteConnAllowed.x64=E9494 -bMultimonAllowed.x64 =E9498 -ulMaxDebugSessions.x64=E949C -bFUSEnabled.x64 =E94A0 - -[10.0.16184.1001-SLInit] -bInitialized.x86 =C7F6C -bServerSku.x86 =C7F70 -lMaxUserSessions.x86 =C7F74 -bAppServerAllowed.x86 =C7F78 -bRemoteConnAllowed.x86=C7F7C -bMultimonAllowed.x86 =C7F80 -ulMaxDebugSessions.x86=C7F84 -bFUSEnabled.x86 =C7F88 - -bServerSku.x64 =E83D8 -lMaxUserSessions.x64 =E83DC -bAppServerAllowed.x64 =E83E0 -bInitialized.x64 =E9490 -bRemoteConnAllowed.x64=E9494 -bMultimonAllowed.x64 =E9498 -ulMaxDebugSessions.x64=E949C -bFUSEnabled.x64 =E94A0 - -[10.0.16199.1000-SLInit] -bInitialized.x86 =C8F74 -bServerSku.x86 =C8F78 -lMaxUserSessions.x86 =C8F7C -bAppServerAllowed.x86 =C8F80 -bRemoteConnAllowed.x86=C8F84 -bMultimonAllowed.x86 =C8F88 -ulMaxDebugSessions.x86=C8F8C -bFUSEnabled.x86 =C8F90 - -bServerSku.x64 =E83E8 -lMaxUserSessions.x64 =E83EC -bAppServerAllowed.x64 =E83F0 -bInitialized.x64 =E94A0 -bRemoteConnAllowed.x64=E94A4 -bMultimonAllowed.x64 =E94A8 -ulMaxDebugSessions.x64=E94AC -bFUSEnabled.x64 =E94B0 - -[10.0.16215.1000-SLInit] -bInitialized.x86 =C5F78 -bServerSku.x86 =C5F7C -lMaxUserSessions.x86 =C5F80 -bAppServerAllowed.x86 =C5F84 -bRemoteConnAllowed.x86=C5F88 -bMultimonAllowed.x86 =C5F8C -ulMaxDebugSessions.x86=C5F90 -bFUSEnabled.x86 =C5F94 - -bServerSku.x64 =EA3E8 -lMaxUserSessions.x64 =EA3EC -bAppServerAllowed.x64 =EA3F0 -bInitialized.x64 =EB4A0 -bRemoteConnAllowed.x64=EB4A4 -bMultimonAllowed.x64 =EB4A8 -ulMaxDebugSessions.x64=EB4AC -bFUSEnabled.x64 =EB4B0 - -[10.0.16232.1000-SLInit] -bInitialized.x86 =C5F78 -bServerSku.x86 =C5F7C -lMaxUserSessions.x86 =C5F80 -bAppServerAllowed.x86 =C5F84 -bRemoteConnAllowed.x86=C5F88 -bMultimonAllowed.x86 =C5F8C -ulMaxDebugSessions.x86=C5F90 -bFUSEnabled.x86 =C5F94 - -bServerSku.x64 =EA3E8 -lMaxUserSessions.x64 =EA3EC -bAppServerAllowed.x64 =EA3F0 -bInitialized.x64 =EB4A0 -bRemoteConnAllowed.x64=EB4A4 -bMultimonAllowed.x64 =EB4A8 -ulMaxDebugSessions.x64=EB4AC -bFUSEnabled.x64 =EB4B0 - -[10.0.16237.1001-SLInit] -bInitialized.x86 =C5F78 -bServerSku.x86 =C5F7C -lMaxUserSessions.x86 =C5F80 -bAppServerAllowed.x86 =C5F84 -bRemoteConnAllowed.x86=C5F88 -bMultimonAllowed.x86 =C5F8C -ulMaxDebugSessions.x86=C5F90 -bFUSEnabled.x86 =C5F94 - -bServerSku.x64 =EB3EC -lMaxUserSessions.x64 =EB3F0 -bAppServerAllowed.x64 =EB3F4 -bInitialized.x64 =EC4A0 -bRemoteConnAllowed.x64=EC4A4 -bMultimonAllowed.x64 =EC4A8 -ulMaxDebugSessions.x64=EC4AC -bFUSEnabled.x64 =EC4B0 - -[10.0.16241.1001-SLInit] -bInitialized.x86 =C5F78 -bServerSku.x86 =C5F7C -lMaxUserSessions.x86 =C5F80 -bAppServerAllowed.x86 =C5F84 -bRemoteConnAllowed.x86=C5F88 -bMultimonAllowed.x86 =C5F8C -ulMaxDebugSessions.x86=C5F90 -bFUSEnabled.x86 =C5F94 - -bServerSku.x64 =EB3EC -lMaxUserSessions.x64 =EB3F0 -bAppServerAllowed.x64 =EB3F4 -bInitialized.x64 =EC4A0 -bRemoteConnAllowed.x64=EC4A4 -bMultimonAllowed.x64 =EC4A8 -ulMaxDebugSessions.x64=EC4AC -bFUSEnabled.x64 =EC4B0 - -[10.0.16251.0-SLInit] -bInitialized.x86 =C9F78 -bServerSku.x86 =C9F7C -lMaxUserSessions.x86 =C9F80 -bAppServerAllowed.x86 =C9F84 -bRemoteConnAllowed.x86=C9F88 -bMultimonAllowed.x86 =C9F8C -ulMaxDebugSessions.x86=C9F90 -bFUSEnabled.x86 =C9F94 - -bServerSku.x64 =EB3EC -lMaxUserSessions.x64 =EB3F0 -bAppServerAllowed.x64 =EB3F4 -bInitialized.x64 =EC4A0 -bRemoteConnAllowed.x64=EC4A4 -bMultimonAllowed.x64 =EC4A8 -ulMaxDebugSessions.x64=EC4AC -bFUSEnabled.x64 =EC4B0 - -[10.0.16251.1000-SLInit] -bInitialized.x86 =C9F78 -bServerSku.x86 =C9F7C -lMaxUserSessions.x86 =C9F80 -bAppServerAllowed.x86 =C9F84 -bRemoteConnAllowed.x86=C9F88 -bMultimonAllowed.x86 =C9F8C -ulMaxDebugSessions.x86=C9F90 -bFUSEnabled.x86 =C9F94 - -bServerSku.x64 =EB3EC -lMaxUserSessions.x64 =EB3F0 -bAppServerAllowed.x64 =EB3F4 -bInitialized.x64 =EC4A0 -bRemoteConnAllowed.x64=EC4A4 -bMultimonAllowed.x64 =EC4A8 -ulMaxDebugSessions.x64=EC4AC -bFUSEnabled.x64 =EC4B0 - -[10.0.16257.1-SLInit] -bInitialized.x86 =C9F7C -bServerSku.x86 =C9F80 -lMaxUserSessions.x86 =C9F84 -bAppServerAllowed.x86 =C9F88 -bRemoteConnAllowed.x86=C9F8C -bMultimonAllowed.x86 =C9F90 -ulMaxDebugSessions.x86=C9F94 -bFUSEnabled.x86 =C9F98 - -bServerSku.x64 =EB3F0 -lMaxUserSessions.x64 =EB3F4 -bAppServerAllowed.x64 =EB3F8 -bInitialized.x64 =EC4A0 -bRemoteConnAllowed.x64=EC4A4 -bMultimonAllowed.x64 =EC4A8 -ulMaxDebugSessions.x64=EC4AC -bFUSEnabled.x64 =EC4B0 - -[10.0.16257.1000-SLInit] -bInitialized.x86 =C9F7C -bServerSku.x86 =C9F80 -lMaxUserSessions.x86 =C9F84 -bAppServerAllowed.x86 =C9F88 -bRemoteConnAllowed.x86=C9F8C -bMultimonAllowed.x86 =C9F90 -ulMaxDebugSessions.x86=C9F94 -bFUSEnabled.x86 =C9F98 - -bServerSku.x64 =EB3F0 -lMaxUserSessions.x64 =EB3F4 -bAppServerAllowed.x64 =EB3F8 -bInitialized.x64 =EC4A0 -bRemoteConnAllowed.x64=EC4A4 -bMultimonAllowed.x64 =EC4A8 -ulMaxDebugSessions.x64=EC4AC -bFUSEnabled.x64 =EC4B0 - -[10.0.16273.1000-SLInit] -bInitialized.x86 =C9F7C -bServerSku.x86 =C9F80 -lMaxUserSessions.x86 =C9F84 -bAppServerAllowed.x86 =C9F88 -bRemoteConnAllowed.x86=C9F8C -bMultimonAllowed.x86 =C9F90 -ulMaxDebugSessions.x86=C9F94 -bFUSEnabled.x86 =C9F98 - -bServerSku.x64 =EB3F0 -lMaxUserSessions.x64 =EB3F4 -bAppServerAllowed.x64 =EB3F8 -bInitialized.x64 =EC4A0 -bRemoteConnAllowed.x64=EC4A4 -bMultimonAllowed.x64 =EC4A8 -ulMaxDebugSessions.x64=EC4AC -bFUSEnabled.x64 =EC4B0 - -[10.0.16275.1000-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16278.1000-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16281.1000-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16288.1-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16291.0-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16294.1-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16296.0-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16299.0-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16299.15-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16353.1000-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.16362.1000-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.17004.1000-SLInit] -bInitialized.x86 =C6F7C -bServerSku.x86 =C6F80 -lMaxUserSessions.x86 =C6F84 -bAppServerAllowed.x86 =C6F88 -bRemoteConnAllowed.x86=C6F8C -bMultimonAllowed.x86 =C6F90 -ulMaxDebugSessions.x86=C6F94 -bFUSEnabled.x86 =C6F98 - -bServerSku.x64 =ED3E8 -lMaxUserSessions.x64 =ED3EC -bAppServerAllowed.x64 =ED3F0 -bInitialized.x64 =EE4A0 -bRemoteConnAllowed.x64=EE4A4 -bMultimonAllowed.x64 =EE4A8 -ulMaxDebugSessions.x64=EE4AC -bFUSEnabled.x64 =EE4B0 - -[10.0.17017.1000-SLInit] -bInitialized.x86 =C9EB8 -bServerSku.x86 =C9EBC -lMaxUserSessions.x86 =C9EC0 -bAppServerAllowed.x86 =C9EC4 -bRemoteConnAllowed.x86=C9EC8 -bMultimonAllowed.x86 =C9ECC -ulMaxDebugSessions.x86=C9ED0 -bFUSEnabled.x86 =C9ED4 - -bServerSku.x64 =EC2E8 -lMaxUserSessions.x64 =EC2EC -bAppServerAllowed.x64 =EC2F0 -bInitialized.x64 =ED3A0 -bRemoteConnAllowed.x64=ED3A4 -bMultimonAllowed.x64 =ED3A8 -ulMaxDebugSessions.x64=ED3AC -bFUSEnabled.x64 =ED3B0 - -[10.0.17025.1000-SLInit] -bInitialized.x86 =C9EB8 -bServerSku.x86 =C9EBC -lMaxUserSessions.x86 =C9EC0 -bAppServerAllowed.x86 =C9EC4 -bRemoteConnAllowed.x86=C9EC8 -bMultimonAllowed.x86 =C9ECC -ulMaxDebugSessions.x86=C9ED0 -bFUSEnabled.x86 =C9ED4 - -bServerSku.x64 =EC2E8 -lMaxUserSessions.x64 =EC2EC -bAppServerAllowed.x64 =EC2F0 -bInitialized.x64 =ED3A0 -bRemoteConnAllowed.x64=ED3A4 -bMultimonAllowed.x64 =ED3A8 -ulMaxDebugSessions.x64=ED3AC -bFUSEnabled.x64 =ED3B0 - -[10.0.17035.1000-SLInit] -bInitialized.x86 =C9ED8 -bServerSku.x86 =C9EDC -lMaxUserSessions.x86 =C9EE0 -bAppServerAllowed.x86 =C9EE4 -bRemoteConnAllowed.x86=C9EE8 -bMultimonAllowed.x86 =C9EEC -ulMaxDebugSessions.x86=C9EF0 -bFUSEnabled.x86 =C9EF4 - -bServerSku.x64 =EC2E8 -lMaxUserSessions.x64 =EC2EC -bAppServerAllowed.x64 =EC2F0 -bInitialized.x64 =ED3A0 -bRemoteConnAllowed.x64=ED3A4 -bMultimonAllowed.x64 =ED3A8 -ulMaxDebugSessions.x64=ED3AC -bFUSEnabled.x64 =ED3B0 - -[10.0.17046.1000-SLInit] -bInitialized.x86 =C9ED8 -bServerSku.x86 =C9EDC -lMaxUserSessions.x86 =C9EE0 -bAppServerAllowed.x86 =C9EE4 -bRemoteConnAllowed.x86=C9EE8 -bMultimonAllowed.x86 =C9EEC -ulMaxDebugSessions.x86=C9EF0 -bFUSEnabled.x86 =C9EF4 - -bServerSku.x64 =EC2E8 -lMaxUserSessions.x64 =EC2EC -bAppServerAllowed.x64 =EC2F0 -bInitialized.x64 =ED3A0 -bRemoteConnAllowed.x64=ED3A4 -bMultimonAllowed.x64 =ED3A8 -ulMaxDebugSessions.x64=ED3AC -bFUSEnabled.x64 =ED3B0 - -[10.0.17063.1000-SLInit] -bInitialized.x86 =CBF38 -bServerSku.x86 =CBF3C -lMaxUserSessions.x86 =CBF40 -bAppServerAllowed.x86 =CBF44 -bRemoteConnAllowed.x86=CBF48 -bMultimonAllowed.x86 =CBF4C -ulMaxDebugSessions.x86=CBF50 -bFUSEnabled.x86 =CBF54 - -bServerSku.x64 =F1378 -lMaxUserSessions.x64 =F137C -bAppServerAllowed.x64 =F1380 -bInitialized.x64 =F2430 -bRemoteConnAllowed.x64=F2434 -bMultimonAllowed.x64 =F2438 -ulMaxDebugSessions.x64=F243C -bFUSEnabled.x64 =F2440 - -[10.0.17115.1-SLInit] -bInitialized.x86 =CBF38 -bServerSku.x86 =CBF3C -lMaxUserSessions.x86 =CBF40 -bAppServerAllowed.x86 =CBF44 -bRemoteConnAllowed.x86=CBF48 -bMultimonAllowed.x86 =CBF4C -ulMaxDebugSessions.x86=CBF50 -bFUSEnabled.x86 =CBF54 - -bServerSku.x64 =F1378 -lMaxUserSessions.x64 =F137C -bAppServerAllowed.x64 =F1380 -bInitialized.x64 =F2430 -bRemoteConnAllowed.x64=F2434 -bMultimonAllowed.x64 =F2438 -ulMaxDebugSessions.x64=F243C -bFUSEnabled.x64 =F2440 - -[10.0.17128.1-SLInit] -bInitialized.x86 =CBF38 -bServerSku.x86 =CBF3C -lMaxUserSessions.x86 =CBF40 -bAppServerAllowed.x86 =CBF44 -bRemoteConnAllowed.x86=CBF48 -bMultimonAllowed.x86 =CBF4C -ulMaxDebugSessions.x86=CBF50 -bFUSEnabled.x86 =CBF54 - -bServerSku.x64 =F1378 -lMaxUserSessions.x64 =F137C -bAppServerAllowed.x64 =F1380 -bInitialized.x64 =F2430 -bRemoteConnAllowed.x64=F2434 -bMultimonAllowed.x64 =F2438 -ulMaxDebugSessions.x64=F243C -bFUSEnabled.x64 =F2440 - -[10.0.17133.1-SLInit] -bInitialized.x86 =CBF38 -bServerSku.x86 =CBF3C -lMaxUserSessions.x86 =CBF40 -bAppServerAllowed.x86 =CBF44 -bRemoteConnAllowed.x86=CBF48 -bMultimonAllowed.x86 =CBF4C -ulMaxDebugSessions.x86=CBF50 -bFUSEnabled.x86 =CBF54 - -bServerSku.x64 =F1378 -lMaxUserSessions.x64 =F137C -bAppServerAllowed.x64 =F1380 -bInitialized.x64 =F2430 -bRemoteConnAllowed.x64=F2434 -bMultimonAllowed.x64 =F2438 -ulMaxDebugSessions.x64=F243C -bFUSEnabled.x64 =F2440 - -[10.0.17134.1-SLInit] -bInitialized.x86 =CBF38 -bServerSku.x86 =CBF3C -lMaxUserSessions.x86 =CBF40 -bAppServerAllowed.x86 =CBF44 -bRemoteConnAllowed.x86=CBF48 -bMultimonAllowed.x86 =CBF4C -ulMaxDebugSessions.x86=CBF50 -bFUSEnabled.x86 =CBF54 - -bServerSku.x64 =F1378 -lMaxUserSessions.x64 =F137C -bAppServerAllowed.x64 =F1380 -bInitialized.x64 =F2430 -bRemoteConnAllowed.x64=F2434 -bMultimonAllowed.x64 =F2438 -ulMaxDebugSessions.x64=F243C -bFUSEnabled.x64 =F2440 - -[10.0.17723.1000-SLInit] -bInitialized.x64 =E9AB0 -bServerSku.x64 =E9AB4 -lMaxUserSessions.x64 =E9AB8 -bAppServerAllowed.x64 =E9AC0 -bRemoteConnAllowed.x64=E9AC4 -bMultimonAllowed.x64 =E9AC8 -ulMaxDebugSessions.x64=E9ACC -bFUSEnabled.x64 =E9AD0 - -[10.0.17763.1-SLInit] -bInitialized.x86 =CD798 -bServerSku.x86 =CD79C -lMaxUserSessions.x86 =CD7A0 -bAppServerAllowed.x86 =CD7A8 -bRemoteConnAllowed.x86=CD7AC -bMultimonAllowed.x86 =CD7B0 -ulMaxDebugSessions.x86=CD7B4 -bFUSEnabled.x86 =CD7B8 - -bInitialized.x64 =ECAB0 -bServerSku.x64 =ECAB4 -lMaxUserSessions.x64 =ECAB8 -bAppServerAllowed.x64 =ECAC0 -bRemoteConnAllowed.x64=ECAC4 -bMultimonAllowed.x64 =ECAC8 -ulMaxDebugSessions.x64=ECACC -bFUSEnabled.x64 =ECAD0 diff --git a/src-csharp/Directory.Build.props b/src-csharp/Directory.Build.props index 83ab81e..48868ce 100644 --- a/src-csharp/Directory.Build.props +++ b/src-csharp/Directory.Build.props @@ -1,7 +1,7 @@ - net8.0-windows - x86;x64 + net10.0-windows + x86;x64;arm64 latest enable enable @@ -11,5 +11,34 @@ false true + + + $([System.DateTime]::Now.ToString("yyyy.M.d")) + $([System.DateTime]::Now.ToString("yyyy.M.d")).0 + $([System.DateTime]::Now.ToString("yyyy.M.d")).0 + + Simon Jackson + Simon Jackson (@sjackson0109) + Copyright © 2026 Simon Jackson (@sjackson0109) + RDP Wrapper + https://github.com/sjackson0109/rdpwrap + git + https://github.com/sjackson0109/rdpwrap + + + true diff --git a/src-csharp/RDPCheck/MainForm.cs b/src-csharp/RDPCheck/MainForm.cs new file mode 100644 index 0000000..bc33caf --- /dev/null +++ b/src-csharp/RDPCheck/MainForm.cs @@ -0,0 +1,160 @@ +// Copyright 2026 sjackson0109 — Apache License 2.0 +// +// Hosts the MsRdpClient2 ActiveX control, connects to 127.0.0.2, and +// reports the disconnect reason, mirroring the Delphi RDPDisconnected handler. + +using RDPWrap.Common; + +namespace RDPCheck; + +internal sealed class MainForm : Form +{ + private readonly AxRdpClient2 _rdp; + + // Registry values saved on load — restored on disconnect + private int _savedSecurityLayer; + private int _savedUserAuthentication; + + // ── Constructor / Layout ────────────────────────────────────────────────── + + public MainForm() + { + SuspendLayout(); + + Text = "RDP Wrapper Check"; + ClientSize = new Size(800, 600); + StartPosition = FormStartPosition.CenterScreen; + FormBorderStyle = FormBorderStyle.Sizable; + + _rdp = new AxRdpClient2 + { + Dock = DockStyle.Fill + }; + + Controls.Add(_rdp); + ResumeLayout(false); + + _rdp.Disconnected += OnRdpDisconnected; + Load += OnFormLoad; + } + + // ── FormLoad — mirrors TFrm.FormCreate ──────────────────────────────────── + + private void OnFormLoad(object? sender, EventArgs e) + { + const string rdpTcpKey = + @"SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"; + + _rdp.DisconnectedText = "Disconnected."; + _rdp.ConnectingText = "Connecting..."; + _rdp.ConnectedStatusText = "Connected."; + _rdp.UserName = string.Empty; + _rdp.Server = "127.0.0.2"; + + // Read, then zero-out SecurityLayer / UserAuthentication + _savedSecurityLayer = RegistryHelper.ReadInt(rdpTcpKey, "SecurityLayer", 0); + _savedUserAuthentication = RegistryHelper.ReadInt(rdpTcpKey, "UserAuthentication", 0); + + try + { + RegistryHelper.WriteInt(rdpTcpKey, "SecurityLayer", 0); + RegistryHelper.WriteInt(rdpTcpKey, "UserAuthentication", 0); + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine($"[RDP] Registry write failed: {ex.Message}"); + } + + // Read port + int port = RegistryHelper.ReadInt(rdpTcpKey, "PortNumber", 3389); + _rdp.SetPort(port); + + // Subscribe to COM events now that the handle exists + _rdp.SubscribeEvents(); + + // Brief delay then connect — matches Delphi Sleep(1000); RDP.Connect; + Task.Delay(1000).ContinueWith(_ => Invoke((Action)_rdp.Connect)); + } + + // ── OnDisconnected — mirrors TFrm.RDPDisconnected ───────────────────────── + + private void OnRdpDisconnected(object? sender, int discReason) + { + string errStr = discReason switch + { + 0x001 => "Local disconnection.", + 0x002 => "Disconnected by user.", + 0x003 => "Disconnected by server.", + 0x904 => "Socket closed.", + 0xC08 => "Decompress error.", + 0x108 => "Connection timed out.", + 0xC06 => "Decryption error.", + 0x104 => "DNS name lookup failure.", + 0x508 => "DNS lookup failed.", + 0xB06 => "Encryption error.", + 0x604 => "Windows Sockets gethostbyname() call failed.", + 0x208 => "Host not found error.", + 0x408 => "Internal error.", + 0x906 => "Internal security error.", + 0xA06 => "Internal security error.", + 0x506 => "The encryption method specified is not valid.", + 0x804 => "Bad IP address specified.", + 0x606 => "Server security data is not valid.", + 0x406 => "Security data is not valid.", + 0x308 => "The IP address specified is not valid.", + 0x808 => "License negotiation failed.", + 0x908 => "Licensing time-out.", + 0x106 => "Out of memory.", + 0x206 => "Out of memory.", + 0x306 => "Out of memory.", + 0x706 => "Failed to unpack server certificate.", + 0x204 => "Socket connection failed.", + 0x404 => "Windows Sockets recv() call failed.", + 0x704 => "Time-out occurred.", + 0x608 => "Internal timer error.", + 0x304 => "Windows Sockets send() call failed.", + 0xB07 => "The account is disabled.", + 0xE07 => "The account is expired.", + 0xD07 => "The account is locked out.", + 0xC07 => "The account is restricted.", + 0x1B07 => "The received certificate is expired.", + 0x1607 => "The policy does not support delegation of credentials to the target server.", + 0x2107 => "The server authentication policy does not allow connection requests using saved credentials. The user must enter new credentials.", + 0x807 => "Login failed.", + 0x1807 => "No authority could be contacted for authentication. The domain name of the authenticating party could be wrong, the domain could be unreachable, or there might have been a trust relationship failure.", + 0xA07 => "The specified user has no account.", + 0xF07 => "The password is expired.", + 0x1207 => "The user password must be changed before logging on for the first time.", + 0x1707 => "Delegation of credentials to the target server is not allowed unless mutual authentication has been achieved.", + 0x2207 => "The smart card is blocked.", + 0x1C07 => "An incorrect PIN was presented to the smart card.", + 0xB09 => "Network Level Authentication is required, run RDPCheck as administrator.", + 0x708 => "RDP is working, but the client doesn't allow loopback connections. Try to connect to your PC from another device in the network.", + _ => $"Unknown code 0x{discReason:X}" + }; + + if (discReason > 2) + { + MessageBox.Show(errStr, "Disconnected", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + // Restore registry + const string rdpTcpKey = + @"SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"; + try + { + RegistryHelper.WriteInt(rdpTcpKey, "SecurityLayer", _savedSecurityLayer); + RegistryHelper.WriteInt(rdpTcpKey, "UserAuthentication", _savedUserAuthentication); + } + catch { } + + Application.Exit(); + } + + protected override void Dispose(bool disposing) + { + if (disposing) _rdp.Dispose(); + base.Dispose(disposing); + } +} diff --git a/src-csharp/RDPCheck/Program.cs b/src-csharp/RDPCheck/Program.cs new file mode 100644 index 0000000..f4af297 --- /dev/null +++ b/src-csharp/RDPCheck/Program.cs @@ -0,0 +1,15 @@ +// Copyright 2026 sjackson0109 — Apache License 2.0 +// +// RDPCheck — WinForms RDP tester entry point. + +namespace RDPCheck; + +internal static class Program +{ + [STAThread] + internal static void Main() + { + ApplicationConfiguration.Initialize(); + Application.Run(new MainForm()); + } +} diff --git a/src-csharp/RDPCheck/RDPCheck.csproj b/src-csharp/RDPCheck/RDPCheck.csproj index 2e16a06..a97d497 100644 --- a/src-csharp/RDPCheck/RDPCheck.csproj +++ b/src-csharp/RDPCheck/RDPCheck.csproj @@ -5,10 +5,16 @@ RDPCheck RDPCheck app.manifest + app.ico + WinForms RDP loopback connection tester — validates that RDP Wrapper is installed and accepting connections correctly. - + + + + + + + diff --git a/src-csharp/RDPConf/app.ico b/src-csharp/RDPConf/app.ico new file mode 100644 index 0000000000000000000000000000000000000000..b083a31de250537a37f204bb8464205a062cf5fe GIT binary patch literal 418 zcmZQzU<5)11qKkw(8I{UAjZJJ&>7(8&dVjm1!VGidbk7uX`l)Q1r9bKSzJ~11xPU# z2e~^jtUD+363Agmcl32+VA$Bt{U?zX$mcBZh%9Dc;5!V$jK}j=qyRN2db&7cgrZTrZ~6281o_GsWjXZOOQo+UxE?ybCV zVTp)Mg}2_9xJlUx3>JG9u*VrNn#Wx2`}3~g`f=6!io!kd4TXs^=01&u?BdIXeU-~u zj@7Y8RH%Ad-YTSj3G9C zr+$_ug(b*kulpi>mF3D+^(4PfQXxVSbB^k+pFgj)`Lk7sP{3}v`Fr)=3I+5pm?)Rv zzR|baH{*f+g6;AX4Qly4<{VzE(s+2sf!Uu5MLr7LW}Ww&xwdiE4{j5E1Fq>Q7u0SF zbMoI}VXG65`KQ7eo$`<^c+!SLb-^|PsronWa>noTj(>1dwtLot94250GI+ZBxvX + + + + + + + + + + + + + + + + + + + diff --git a/src-csharp/RDPConf/packages.lock.json b/src-csharp/RDPConf/packages.lock.json new file mode 100644 index 0000000..59ebcea --- /dev/null +++ b/src-csharp/RDPConf/packages.lock.json @@ -0,0 +1,10 @@ +{ + "version": 1, + "dependencies": { + "net10.0-windows7.0": { + "rdpwrap": { + "type": "Project" + } + } + } +} \ No newline at end of file diff --git a/src-csharp/RDPOffsetFinder b/src-csharp/RDPOffsetFinder new file mode 160000 index 0000000..68da37a --- /dev/null +++ b/src-csharp/RDPOffsetFinder @@ -0,0 +1 @@ +Subproject commit 68da37acab6593c329776644944f55695a131731 diff --git a/src-csharp/RDPWInst/InstallerEngine.cs b/src-csharp/RDPWInst/InstallerEngine.cs index 36936e3..d22b93d 100644 --- a/src-csharp/RDPWInst/InstallerEngine.cs +++ b/src-csharp/RDPWInst/InstallerEngine.cs @@ -1,7 +1,6 @@ -// Copyright 2024 sjackson0109 — Apache License 2.0 +// Copyright 2026 sjackson0109 — Apache License 2.0 // // InstallerEngine — translates every procedure in RDPWInst.dpr to C#. -// Consult src-installer/RDPWInst.dpr for the authoritative Delphi source. using System.Reflection; using RDPWrap.Common; @@ -35,12 +34,25 @@ internal sealed class InstallerEngine ///