From eadebe921b0301afe16b97072bcd47401ce5d60c Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 12 Aug 2015 19:48:13 +0300 Subject: [PATCH 001/120] Update instructions --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6127101..237d677 100644 --- a/README.md +++ b/README.md @@ -229,13 +229,13 @@ Change log:

Installation instructions:
1. Download latest release binaries and unpack files
-2. Run Command Prompt (cmd) as administrator
-3. Change directory to where you extracted the files
-4. Type install.bat and press Enter
-5. See command output for details
+2. Right-click on install.bat and select Run as Administrator
+3. See command output for details

To uninstall:
-1. Run Command Prompt as administrator
-2. Change directory to where you extracted the files
-3. Type uninstall.bat and press Enter
-4. See command output for details
+1. Go to the directory where you extracted the files
+2. Right-click on uninstall.bat and select Run as Administrator
+3. See command output for details
+To update INI file:
+1. Right-click on update.bat and select Run as Administrator
+2. See command output for details
From 00e4c3bf19d642f96bce474e8b1504446f2fff03 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 12 Aug 2015 20:06:31 +0300 Subject: [PATCH 002/120] Update links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 237d677..638e349 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ Building the binaries:
http://superuser.com/questions/680572/

Tutorial videos:
-• Updating RDP Wrapper INI file manually
+• Updating RDP Wrapper INI file manually (now use installer to update INI file)
How to find offsets for new termsrv.dll versions

Files description:
From 0c89dc564f522393cfd3e02444757584625d9cd2 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 12 Aug 2015 20:13:24 +0300 Subject: [PATCH 003/120] More info --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 638e349..6fda7bc 100644 --- a/README.md +++ b/README.md @@ -221,7 +221,8 @@ Change log:
• Windows 10 Enterprise

Known issues:
-• Beginning with Windows 8 (non-server editions) you can't connect to existing sessions (they will be logged out by system)
+• Beginning with Windows 8 (non-server editions) you can't connect to existing sessions (they will be logged out by system) - more info
+• Beginning with Windows 10 you can accidentally lock yourself from PC - more info
• RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll 6.0.6000.16386)
• If Terminal Services hangs at startup, try to add rdpwrap.dll to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command:
sc config TermService type= own
@@ -236,6 +237,7 @@ Change log:
1. Go to the directory where you extracted the files
2. Right-click on uninstall.bat and select Run as Administrator
3. See command output for details
+
To update INI file:
1. Right-click on update.bat and select Run as Administrator
2. See command output for details
From 733e617a1f1937a9dfe250b92d7514dbdfadee2b Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 12 Aug 2015 22:01:19 +0300 Subject: [PATCH 004/120] Forgot about version --- src-installer/RDPWInst.dpr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index db0a3ba..05bf36b 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -1028,8 +1028,8 @@ end; var I: Integer; begin - Writeln('RDP Wrapper Library v1.5'); - Writeln('Installer v2.2'); + Writeln('RDP Wrapper Library v1.6'); + Writeln('Installer v2.3'); Writeln('Copyright (C) Stas''M Corp. 2015'); Writeln(''); From 3d1f7c9e6621fc2d472d80e79eacc81cc1e51506 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 14 Nov 2015 15:59:55 +0300 Subject: [PATCH 005/120] Tech update --- README.md | 5 +++++ technical.txt | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/README.md b/README.md index 6fda7bc..dc1ea29 100644 --- a/README.md +++ b/README.md @@ -194,12 +194,14 @@ Change log:
• Windows Vista Business
• Windows Vista Enterprise
• Windows Vista Ultimate
+• Windows Server 2008
• Windows 7 Starter
• Windows 7 Home Basic
• Windows 7 Home Premium
• Windows 7 Professional
• Windows 7 Enterprise
• Windows 7 Ultimate
+• Windows Server 2008 R2
• Windows 8 Developer Preview
• Windows 8 Consumer Preview
• Windows 8 Release Preview
@@ -207,6 +209,7 @@ Change log:
• Windows 8 Single Language
• Windows 8 Pro
• Windows 8 Enterprise
+• Windows Server 2012
• Windows 8.1 Preview
• Windows 8.1
• Windows 8.1 Connected (with Bing)
@@ -214,9 +217,11 @@ Change log:
• Windows 8.1 Connected Single Language (with Bing)
• Windows 8.1 Pro
• Windows 8.1 Enterprise
+• Windows Server 2012 R2
• Windows 10 Technical Preview
• Windows 10 Pro Technical Preview
• Windows 10 Home
+• Windows 10 Home Single Language
• Windows 10 Pro
• Windows 10 Enterprise

diff --git a/technical.txt b/technical.txt index 75981a8..a178c4b 100644 --- a/technical.txt +++ b/technical.txt @@ -60,6 +60,10 @@ Terminal Services supported versions 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) [!todo] Known failures 6.0.6000.16386 (Windows Vista RTM x86, crashes on logon attempt) From 741527eccd088d8363247bf492250e4bcc2b23dc Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 14 Nov 2015 16:44:08 +0300 Subject: [PATCH 006/120] Support for build 10.0.10586.0 --- res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 5 ++++- 3 files changed, 100 insertions(+), 3 deletions(-) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 688ec67..c607eee 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2015-07-30 +Updated=2015-11-14 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1436,6 +1436,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -1650,3 +1680,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 5c67d17..7c59d08 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2015-07-30 +Updated=2015-11-14 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -569,6 +569,32 @@ SLInitHook.x64=1 SLInitOffset.x64=250F0 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.10586.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7C18 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=96AA1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=353B5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=190D4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30B69 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=229A5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=469DE +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=25220 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -768,3 +794,22 @@ 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 diff --git a/technical.txt b/technical.txt index a178c4b..20eb8ed 100644 --- a/technical.txt +++ b/technical.txt @@ -63,13 +63,16 @@ Terminal Services supported versions 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) [!todo] +10.0.10586.0 (Windows 10 th2_release.151029-1700) [init hook + extended patch] Known failures 6.0.6000.16386 (Windows Vista RTM x86, crashes on logon attempt) Source code changelog (rdpwrap library): +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 From b4a0fe1a7af3e755a6e0982b3eaa502a715b1042 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 14 Nov 2015 17:25:15 +0300 Subject: [PATCH 007/120] Update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dc1ea29..e3a9868 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,7 @@ Change log:
10.0.9926.0 (Windows 10 Pro Technical Preview)
10.0.10041.0 (Windows 10 Pro Technical Preview Update 1)
10.0.10240.16384 (Windows 10 RTM)
+• 10.0.10586.0 (Windows 10 TH2 Release 151029-1700)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
From b0c471660b2e80c0e9ea652d44bd6d454e426fb2 Mon Sep 17 00:00:00 2001 From: fig2k4 Date: Fri, 15 Jan 2016 16:00:36 +0000 Subject: [PATCH 008/120] dwResumeHandle initialized before calling EnumServicesStatusEx() --- src-installer/RDPWInst.dpr | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 05bf36b..dd120a0 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -349,6 +349,8 @@ begin 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, From c881f80f60e8b4abefcc3021a860d0f9abf474a3 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 15 Jan 2016 19:22:39 +0300 Subject: [PATCH 009/120] Installer: Update messages --- src-installer/RDPWInst.dpr | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index dd120a0..a2c8251 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -349,7 +349,7 @@ begin Halt(Code); end; - dwResumeHandle:=0; + dwResumeHandle := 0; SetLength(Svc, 1489); FillChar(Svc[0], sizeof(Svc[0])*Length(Svc), 0); @@ -725,6 +725,12 @@ 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', @@ -766,12 +772,12 @@ begin case SuppLvl of 0: begin Writeln('[-] This version of Terminal Services is not supported.'); - Writeln('Send your termsrv.dll to project developer for support.'); + 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.'); - Writeln('Send your termsrv.dll to project developer for adding full support.'); + UpdateMsg; end; 2: begin Writeln('[+] This version of Terminal Services is fully supported.'); @@ -1045,7 +1051,7 @@ begin ) then begin Writeln('USAGE:'); - Writeln('RDPWInst.exe [-l|-i[-s]|-u|-r]'); + Writeln('RDPWInst.exe [-l|-i[-s]|-w|-u|-r]'); Writeln(''); Writeln('-l display the license agreement'); Writeln('-i install wrapper to Program Files folder (default)'); From 669c2bd20f45f7ebe4283e7696ad7535acf823de Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 15 Jan 2016 22:57:51 +0300 Subject: [PATCH 010/120] Repository: Add .gitattributes --- .gitattributes | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f9347da --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Plain text (Windows) +*.txt diff=astextplain eol=crlf +*.ini diff=astextplain eol=crlf From fdfbf0e1aa617d9d39ffdcf1b38fdc3d56b67b36 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 15 Jan 2016 22:59:48 +0300 Subject: [PATCH 011/120] Support: Add termsrv 10.0.11082.1000 --- README.md | 9 +- res/rdpwrap-ini-kb.txt | 49 ++ res/rdpwrap.ini | 1675 +++++++++++++++++++++------------------- technical.txt | 5 + 4 files changed, 919 insertions(+), 819 deletions(-) diff --git a/README.md b/README.md index e3a9868..00dbc65 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,7 @@ Change log:
10.0.10041.0 (Windows 10 Pro Technical Preview Update 1)
10.0.10240.16384 (Windows 10 RTM)
10.0.10586.0 (Windows 10 TH2 Release 151029-1700)
+• 10.0.11082.1000 (Windows 10 RS1 Release 151210-2021)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
@@ -239,11 +240,11 @@ Change log:
2. Right-click on install.bat and select Run as Administrator
3. See command output for details

+To update INI file:
+1. Right-click on update.bat and select Run as Administrator
+2. See command output for details
+
To uninstall:
1. Go to the directory where you extracted the files
2. Right-click on uninstall.bat and select Run as Administrator
3. See command output for details
-
-To update INI file:
-1. Right-click on update.bat and select Run as Administrator
-2. See command output for details
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index c607eee..b76b220 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1466,6 +1466,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -1699,3 +1729,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 7c59d08..29a8fe2 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -1,815 +1,860 @@ -; RDP Wrapper Library configuration -; Do not modify without special knowledge - -[Main] -Updated=2015-11-14 -LogFile=\rdpwrap.txt -SLPolicyHookNT60=1 -SLPolicyHookNT61=1 - -[SLPolicy] -TerminalServices-RemoteConnectionManager-AllowRemoteConnections=1 -TerminalServices-RemoteConnectionManager-AllowMultipleSessions=1 -TerminalServices-RemoteConnectionManager-AllowAppServerMode=1 -TerminalServices-RemoteConnectionManager-AllowMultimon=1 -TerminalServices-RemoteConnectionManager-MaxUserSessions=0 -TerminalServices-RemoteConnectionManager-ce0ad219-4670-4988-98fb-89b14c2f072b-MaxSessions=0 -TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-MaxSessions=2 -TerminalServices-RDP-7-Advanced-Compression-Allowed=1 -TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-LocalOnly=0 -TerminalServices-RemoteConnectionManager-8dc86f1d-9969-4379-91c1-06fe1dc60575-MaxSessions=1000 -TerminalServices-DeviceRedirection-Licenses-TSEasyPrintAllowed=1 -TerminalServices-DeviceRedirection-Licenses-PnpRedirectionAllowed=1 -TerminalServices-DeviceRedirection-Licenses-TSMFPluginAllowed=1 -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_rcx=B80001000089813806000090 - -[6.0.6000.16386] -SingleUserPatch.x86=1 -SingleUserOffset.x86=160BF -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=65E3E -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=15CD8 -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=5C88F -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.0.6001.18000] -SingleUserPatch.x86=1 -SingleUserOffset.x86=185E4 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=70DBA -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=17FD8 -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=65BD7 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.0.6002.18005] -SingleUserPatch.x86=1 -SingleUserOffset.x86=17FA8 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=70FF6 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=179C0 -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=65E83 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.0.6002.19214] -SingleUserPatch.x86=1 -SingleUserOffset.x86=17FC4 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=712AA -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=179B8 -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=65FF7 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.0.6002.23521] -SingleUserPatch.x86=1 -SingleUserOffset.x86=17FB4 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=71EAA -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=179CC -DefPolicyCode.x86=CDefPolicy_Query_edx_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=669CB -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp - -[6.1.7600.16385] -SingleUserPatch.x86=1 -SingleUserOffset.x86=19E25 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17D96 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=196F3 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17AD2 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.17514] -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A49D -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=180E2 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19D53 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17D8A -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.18540] -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A4E5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=18006 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19D9F -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17C82 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.22750] -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A655 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17E8E -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19E21 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17C92 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.18637] -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A4DD -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=180FA -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19DBB -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17DC6 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.1.7601.22843] -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A655 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17F96 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19E25 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17D6E -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - -[6.2.8102.0] -SingleUserPatch.x86=1 -SingleUserOffset.x86=F7E9 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=D840 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=E47C -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=D3E6 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=1B909 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=1A484 -SLPolicyFunc.x64=New_Win8SL - -[6.2.8250.0] -SingleUserPatch.x86=1 -SingleUserOffset.x86=159C9 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=11E74 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=13520 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1187A -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -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] -SingleUserPatch.x86=1 -SingleUserOffset.x86=15482 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=20824 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=13E48 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1F102 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=19629 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=2492C -SLPolicyFunc.x64=New_Win8SL - -[6.2.9200.16384] -SingleUserPatch.x86=1 -SingleUserOffset.x86=15552 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=2BAA8 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=13F08 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=2A31A -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=19559 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=21FA8 -SLPolicyFunc.x64=New_Win8SL - -[6.2.9200.17048] -SingleUserPatch.x86=1 -SingleUserOffset.x86=20592 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=20948 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=1F408 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1F206 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=17059 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=24570 -SLPolicyFunc.x64=New_Win8SL - -[6.2.9200.21166] -SingleUserPatch.x86=1 -SingleUserOffset.x86=1557A -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=2BAF8 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=13F30 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=2A3B6 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -SLPolicyInternal.x86=1 -SLPolicyOffset.x86=19581 -SLPolicyFunc.x86=New_Win8SL -SLPolicyInternal.x64=1 -SLPolicyOffset.x64=21FD0 -SLPolicyFunc.x64=New_Win8SL - -[6.3.9431.0] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=8A611 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=9F721 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=306A8 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=367F9 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2EA25 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=350FD -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -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] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A2729 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=81824 -LocalOnlyCode.x64=nopjmp -SingleUserPatch.x86=1 -SingleUserOffset.x86=18028 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=20241 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=16115 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=57829 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -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] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A36D1 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=B9159 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=36BA9 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=21829 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=37529 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1F6A1 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -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] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=B33F8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8B2D9 -LocalOnlyCode.x64=nopjmp -SingleUserPatch.x86=1 -SingleUserOffset.x86=37115 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=33CE9 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3CFF9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=45825 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -SLInitHook.x86=1 -SLInitOffset.x86=18478 -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=5DBC0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[6.4.9841.0] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=956A8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=81141 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=30125 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=12159 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3B989 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=C125 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -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] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=962C8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=81091 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=30845 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=11AA9 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3BEC9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=B9F5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -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] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9CC8 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=95611 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=30C55 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=16A34 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2DAB9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=1BDC5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -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] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A8C28 -LocalOnlyCode.x86=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=31725 -SingleUserCode.x86=nop -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=3CF99 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -SLInitHook.x86=1 -SLInitOffset.x86=3F140 -SLInitFunc.x86=New_CSLQuery_Initialize -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=95FF1 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x64=1 -SingleUserOffset.x64=12A34 -SingleUserCode.x64=Zero -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=BE05 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -SLInitHook.x64=1 -SLInitOffset.x64=24EC0 -SLInitFunc.x64=New_CSLQuery_Initialize - -[10.0.10041.0] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A9D88 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=97141 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=32215 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=15C64 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2DFC9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=B795 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -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] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7D38 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=96901 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=32A95 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=18F74 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=2F5B9 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=22865 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -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] -LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A7C18 -LocalOnlyCode.x86=jmpshort -LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=96AA1 -LocalOnlyCode.x64=jmpshort -SingleUserPatch.x86=1 -SingleUserOffset.x86=353B5 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=190D4 -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=30B69 -DefPolicyCode.x86=CDefPolicy_Query_eax_ecx -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=229A5 -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx -SLInitHook.x86=1 -SLInitOffset.x86=469DE -SLInitFunc.x86=New_CSLQuery_Initialize -SLInitHook.x64=1 -SLInitOffset.x64=25220 -SLInitFunc.x64=New_CSLQuery_Initialize - -[SLInit] -bServerSku=1 -bRemoteConnAllowed=1 -bFUSEnabled=1 -bAppServerAllowed=1 -bMultimonAllowed=1 -lMaxUserSessions=0 -ulMaxDebugSessions=0 -bInitialized=1 - -[6.3.9431.0-SLInit] -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.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 - -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 +; RDP Wrapper Library configuration +; Do not modify without special knowledge + +[Main] +Updated=2016-01-15 +LogFile=\rdpwrap.txt +SLPolicyHookNT60=1 +SLPolicyHookNT61=1 + +[SLPolicy] +TerminalServices-RemoteConnectionManager-AllowRemoteConnections=1 +TerminalServices-RemoteConnectionManager-AllowMultipleSessions=1 +TerminalServices-RemoteConnectionManager-AllowAppServerMode=1 +TerminalServices-RemoteConnectionManager-AllowMultimon=1 +TerminalServices-RemoteConnectionManager-MaxUserSessions=0 +TerminalServices-RemoteConnectionManager-ce0ad219-4670-4988-98fb-89b14c2f072b-MaxSessions=0 +TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-MaxSessions=2 +TerminalServices-RDP-7-Advanced-Compression-Allowed=1 +TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-LocalOnly=0 +TerminalServices-RemoteConnectionManager-8dc86f1d-9969-4379-91c1-06fe1dc60575-MaxSessions=1000 +TerminalServices-DeviceRedirection-Licenses-TSEasyPrintAllowed=1 +TerminalServices-DeviceRedirection-Licenses-PnpRedirectionAllowed=1 +TerminalServices-DeviceRedirection-Licenses-TSMFPluginAllowed=1 +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_rcx=B80001000089813806000090 + +[6.0.6000.16386] +SingleUserPatch.x86=1 +SingleUserOffset.x86=160BF +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=65E3E +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=15CD8 +DefPolicyCode.x86=CDefPolicy_Query_edx_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=5C88F +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp + +[6.0.6001.18000] +SingleUserPatch.x86=1 +SingleUserOffset.x86=185E4 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=70DBA +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=17FD8 +DefPolicyCode.x86=CDefPolicy_Query_edx_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=65BD7 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp + +[6.0.6002.18005] +SingleUserPatch.x86=1 +SingleUserOffset.x86=17FA8 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=70FF6 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=179C0 +DefPolicyCode.x86=CDefPolicy_Query_edx_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=65E83 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp + +[6.0.6002.19214] +SingleUserPatch.x86=1 +SingleUserOffset.x86=17FC4 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=712AA +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=179B8 +DefPolicyCode.x86=CDefPolicy_Query_edx_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=65FF7 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp + +[6.0.6002.23521] +SingleUserPatch.x86=1 +SingleUserOffset.x86=17FB4 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=71EAA +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=179CC +DefPolicyCode.x86=CDefPolicy_Query_edx_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=669CB +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx_jmp + +[6.1.7600.16385] +SingleUserPatch.x86=1 +SingleUserOffset.x86=19E25 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17D96 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=196F3 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17AD2 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi + +[6.1.7601.17514] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A49D +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=180E2 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=19D53 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17D8A +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi + +[6.1.7601.18540] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A4E5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=18006 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=19D9F +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17C82 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi + +[6.1.7601.22750] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A655 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17E8E +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=19E21 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17C92 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi + +[6.1.7601.18637] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A4DD +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=180FA +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=19DBB +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17DC6 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi + +[6.1.7601.22843] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A655 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17F96 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=19E25 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17D6E +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi + +[6.2.8102.0] +SingleUserPatch.x86=1 +SingleUserOffset.x86=F7E9 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=D840 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=E47C +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=D3E6 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +SLPolicyInternal.x86=1 +SLPolicyOffset.x86=1B909 +SLPolicyFunc.x86=New_Win8SL +SLPolicyInternal.x64=1 +SLPolicyOffset.x64=1A484 +SLPolicyFunc.x64=New_Win8SL + +[6.2.8250.0] +SingleUserPatch.x86=1 +SingleUserOffset.x86=159C9 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=11E74 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=13520 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1187A +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +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] +SingleUserPatch.x86=1 +SingleUserOffset.x86=15482 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=20824 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=13E48 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1F102 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +SLPolicyInternal.x86=1 +SLPolicyOffset.x86=19629 +SLPolicyFunc.x86=New_Win8SL +SLPolicyInternal.x64=1 +SLPolicyOffset.x64=2492C +SLPolicyFunc.x64=New_Win8SL + +[6.2.9200.16384] +SingleUserPatch.x86=1 +SingleUserOffset.x86=15552 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=2BAA8 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=13F08 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=2A31A +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +SLPolicyInternal.x86=1 +SLPolicyOffset.x86=19559 +SLPolicyFunc.x86=New_Win8SL +SLPolicyInternal.x64=1 +SLPolicyOffset.x64=21FA8 +SLPolicyFunc.x64=New_Win8SL + +[6.2.9200.17048] +SingleUserPatch.x86=1 +SingleUserOffset.x86=20592 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=20948 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=1F408 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1F206 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +SLPolicyInternal.x86=1 +SLPolicyOffset.x86=17059 +SLPolicyFunc.x86=New_Win8SL +SLPolicyInternal.x64=1 +SLPolicyOffset.x64=24570 +SLPolicyFunc.x64=New_Win8SL + +[6.2.9200.21166] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1557A +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=2BAF8 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=13F30 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=2A3B6 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +SLPolicyInternal.x86=1 +SLPolicyOffset.x86=19581 +SLPolicyFunc.x86=New_Win8SL +SLPolicyInternal.x64=1 +SLPolicyOffset.x64=21FD0 +SLPolicyFunc.x64=New_Win8SL + +[6.3.9431.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=8A611 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=9F721 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=306A8 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=367F9 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2EA25 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=350FD +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A2729 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=81824 +LocalOnlyCode.x64=nopjmp +SingleUserPatch.x86=1 +SingleUserOffset.x86=18028 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=20241 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=16115 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=57829 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A36D1 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=B9159 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36BA9 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=21829 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=37529 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1F6A1 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=B33F8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8B2D9 +LocalOnlyCode.x64=nopjmp +SingleUserPatch.x86=1 +SingleUserOffset.x86=37115 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=33CE9 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3CFF9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=45825 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=18478 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=5DBC0 +SLInitFunc.x64=New_CSLQuery_Initialize + +[6.4.9841.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=956A8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=81141 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=30125 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=12159 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3B989 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=C125 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=962C8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=81091 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=30845 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=11AA9 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3BEC9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=B9F5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9CC8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=95611 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=30C55 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=16A34 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2DAB9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1BDC5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8C28 +LocalOnlyCode.x86=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=31725 +SingleUserCode.x86=nop +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3CF99 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +SLInitHook.x86=1 +SLInitOffset.x86=3F140 +SLInitFunc.x86=New_CSLQuery_Initialize +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=95FF1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=12A34 +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=BE05 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x64=1 +SLInitOffset.x64=24EC0 +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.10041.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9D88 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=97141 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=32215 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=15C64 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2DFC9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=B795 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7D38 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=96901 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=32A95 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=18F74 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2F5B9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=22865 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7C18 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=96AA1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=353B5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=190D4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30B69 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=229A5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7C98 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=96AB1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35405 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=190D4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30BB9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=229A5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=46A3E +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=25220 +SLInitFunc.x64=New_CSLQuery_Initialize + +[SLInit] +bServerSku=1 +bRemoteConnAllowed=1 +bFUSEnabled=1 +bAppServerAllowed=1 +bMultimonAllowed=1 +lMaxUserSessions=0 +ulMaxDebugSessions=0 +bInitialized=1 + +[6.3.9431.0-SLInit] +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.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 + +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.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 diff --git a/technical.txt b/technical.txt index 20eb8ed..b0d78e1 100644 --- a/technical.txt +++ b/technical.txt @@ -64,12 +64,17 @@ Terminal Services supported versions 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.11082.1000 (Windows 10 rs1_release.151210-2021) [init hook + extended patch] Known failures 6.0.6000.16386 (Windows Vista RTM x86, crashes on logon attempt) Source code changelog (rdpwrap library): +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 From 9c6a8f491411f7dc6870c2ff38b38889bcbc65fb Mon Sep 17 00:00:00 2001 From: fig2k4 Date: Fri, 15 Jan 2016 21:17:20 +0000 Subject: [PATCH 012/120] Support for Delphi XE2 and above --- src-x86-binarymaster/rdpwrap.dpr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-x86-binarymaster/rdpwrap.dpr b/src-x86-binarymaster/rdpwrap.dpr index f7024b2..38b85f6 100644 --- a/src-x86-binarymaster/rdpwrap.dpr +++ b/src-x86-binarymaster/rdpwrap.dpr @@ -73,7 +73,7 @@ const var INI: INIFile; LogFile: String = '\rdpwrap.txt'; - bw: DWORD; + bw: {$if CompilerVersion>=16} NativeUInt {$else} DWORD {$endif}; IsHooked: Boolean = False; // Unhooked import From 103a687689866caa2cfca88c8560cf5ab839996e Mon Sep 17 00:00:00 2001 From: binarymaster Date: Tue, 26 Jan 2016 18:37:44 +0300 Subject: [PATCH 013/120] INI: Add support for 10.0.11102.1000 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 00dbc65..7e74150 100644 --- a/README.md +++ b/README.md @@ -188,6 +188,7 @@ Change log:
10.0.10240.16384 (Windows 10 RTM)
10.0.10586.0 (Windows 10 TH2 Release 151029-1700)
10.0.11082.1000 (Windows 10 RS1 Release 151210-2021)
+• 10.0.11102.1000 (Windows 10 RS1 Release 160113-1800)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index b76b220..6fc8849 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2015-11-14 +Updated=2016-01-26 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1496,6 +1496,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -1748,3 +1778,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 29a8fe2..ca39278 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-01-15 +Updated=2016-01-26 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -621,6 +621,32 @@ SLInitHook.x64=1 SLInitOffset.x64=25220 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.11102.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5D58 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=95CD1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35A85 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=2A9C4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30159 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B5D5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=44FD2 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=D160 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -858,3 +884,22 @@ 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 diff --git a/technical.txt b/technical.txt index b0d78e1..a7b37ca 100644 --- a/technical.txt +++ b/technical.txt @@ -65,12 +65,16 @@ Terminal Services supported versions 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.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] Known failures 6.0.6000.16386 (Windows Vista RTM x86, crashes on logon attempt) Source code changelog (rdpwrap library): +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 From ff3df89647fa34e815ebc0150fd7181c5da1d33e Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 28 Jan 2016 20:52:46 +0300 Subject: [PATCH 014/120] INI: Add support for 10.0.14251.1000 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 55 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++- technical.txt | 4 +++ 4 files changed, 105 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e74150..adfac2c 100644 --- a/README.md +++ b/README.md @@ -189,6 +189,7 @@ Change log:
10.0.10586.0 (Windows 10 TH2 Release 151029-1700)
10.0.11082.1000 (Windows 10 RS1 Release 151210-2021)
10.0.11102.1000 (Windows 10 RS1 Release 160113-1800)
+• 10.0.14251.1000 (Windows 10 RS1 Release 160124-1059)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 6fc8849..43d9545 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-01-26 +Updated=2016-01-28 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -850,6 +850,10 @@ SLPolicyFunc.x64=New_Win8SL ; 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 *) @@ -1526,6 +1530,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -1797,3 +1831,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index ca39278..6a3d7f3 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-01-26 +Updated=2016-01-28 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -647,6 +647,32 @@ SLInitHook.x64=1 SLInitOffset.x64=D160 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14251.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5D58 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=95CD1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35A85 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=2A9C4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30159 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B5D5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=44FD2 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=D160 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -903,3 +929,22 @@ 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 diff --git a/technical.txt b/technical.txt index a7b37ca..1160def 100644 --- a/technical.txt +++ b/technical.txt @@ -66,12 +66,16 @@ Terminal Services supported versions 10.0.10586.0 (Windows 10 th2_release.151029-1700) [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] Known failures 6.0.6000.16386 (Windows Vista RTM x86, crashes on logon attempt) Source code changelog (rdpwrap library): +2016.01.28 : +- added support for termsrv.dll 10.0.14251.1000 + 2016.01.26 : - added support for termsrv.dll 10.0.11102.1000 From 2c007fbb1db5a9ac2441b4bfb07476c497ef333d Mon Sep 17 00:00:00 2001 From: binarymaster Date: Mon, 29 Feb 2016 14:37:49 +0300 Subject: [PATCH 015/120] INI: Add support for 10.0.14271.1000 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 7 +++--- 4 files changed, 101 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index adfac2c..e68e445 100644 --- a/README.md +++ b/README.md @@ -190,6 +190,7 @@ Change log:
10.0.11082.1000 (Windows 10 RS1 Release 151210-2021)
10.0.11102.1000 (Windows 10 RS1 Release 160113-1800)
10.0.14251.1000 (Windows 10 RS1 Release 160124-1059)
+• 10.0.14271.1000 (Windows 10 RS1 Release 160218-2310)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 43d9545..e588733 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-01-28 +Updated=2016-02-29 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1560,6 +1560,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -1850,3 +1880,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 6a3d7f3..9a9f23a 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-01-28 +Updated=2016-02-29 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -673,6 +673,32 @@ SLInitHook.x64=1 SLInitOffset.x64=D160 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14271.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A4CE8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=941E1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35915 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=263F4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF79 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1C185 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=47725 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CE50 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -948,3 +974,22 @@ 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 diff --git a/technical.txt b/technical.txt index 1160def..52d0e27 100644 --- a/technical.txt +++ b/technical.txt @@ -67,12 +67,13 @@ Terminal Services supported versions 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] - -Known failures -6.0.6000.16386 (Windows Vista RTM x86, crashes on logon attempt) +10.0.14271.1000 (Windows 10 rs1_release.160218-2310) [init hook + extended patch] Source code changelog (rdpwrap library): +2016.02.29 : +- added support for termsrv.dll 10.0.14271.1000 + 2016.01.28 : - added support for termsrv.dll 10.0.14251.1000 From 50e745942154afe13bb56f3ca576befc390cef9e Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 6 Mar 2016 05:58:29 +0300 Subject: [PATCH 016/120] Repository: Update links --- README.md | 6 +++--- src-installer/RDPWInst.dpr | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e68e445..475420f 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Building the binaries:

Links:
• Official GitHub repository:
-https://github.com/binarymaster/rdpwrap/
+https://github.com/stascorp/rdpwrap/
• Active discussion in the comments here:
Enable remote desktop on Windows 8 core / basic - Andrew Block .net
• MDL Projects and Applications thread here:
@@ -231,8 +231,8 @@ Change log:
• Windows 10 Enterprise

Known issues:
-• Beginning with Windows 8 (non-server editions) you can't connect to existing sessions (they will be logged out by system) - more info
-• Beginning with Windows 10 you can accidentally lock yourself from PC - more info
+• Beginning with Windows 8 (non-server editions) you can't connect to existing sessions (they will be logged out by system) - more info
+• Beginning with Windows 10 you can accidentally lock yourself from PC - more info
• RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll 6.0.6000.16386)
• If Terminal Services hangs at startup, try to add rdpwrap.dll to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command:
sc config TermService type= own
diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index a2c8251..626a932 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -948,7 +948,7 @@ end; function GitINIFile(var Content: String): Boolean; const - URL = 'https://raw.githubusercontent.com/binarymaster/rdpwrap/master/res/rdpwrap.ini'; + URL = 'https://raw.githubusercontent.com/stascorp/rdpwrap/master/res/rdpwrap.ini'; var NetHandle: HINTERNET; UrlHandle: HINTERNET; From fc58cf13c86cc24e9d3118d707a9c3a22157e9a0 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 6 Mar 2016 14:19:32 +0300 Subject: [PATCH 017/120] INI: Add support for 10.0.14279.1000 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 475420f..982718d 100644 --- a/README.md +++ b/README.md @@ -191,6 +191,7 @@ Change log:
10.0.11102.1000 (Windows 10 RS1 Release 160113-1800)
10.0.14251.1000 (Windows 10 RS1 Release 160124-1059)
10.0.14271.1000 (Windows 10 RS1 Release 160218-2310)
+• 10.0.14279.1000 (Windows 10 RS1 Release 160229-1700)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index e588733..1f79171 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-02-29 +Updated=2016-03-06 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1590,6 +1590,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -1899,3 +1929,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 9a9f23a..47b8db1 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-02-29 +Updated=2016-03-06 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -699,6 +699,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CE50 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14279.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A4D28 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=94191 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35915 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=263F4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF79 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1C185 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=47725 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CE50 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -993,3 +1019,22 @@ 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 diff --git a/technical.txt b/technical.txt index 52d0e27..5f2f966 100644 --- a/technical.txt +++ b/technical.txt @@ -68,9 +68,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.03.06 : +- added support for termsrv.dll 10.0.14279.1000 + 2016.02.29 : - added support for termsrv.dll 10.0.14271.1000 From a7d7972ca4b03665f9ca48c0f4c1c3a517962371 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Mon, 7 Mar 2016 21:15:52 +0300 Subject: [PATCH 018/120] INI: Experimental codes for ARMv7 --- res/rdpwrap-arm-kb.ini | 172 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 res/rdpwrap-arm-kb.ini diff --git a/res/rdpwrap-arm-kb.ini b/res/rdpwrap-arm-kb.ini new file mode 100644 index 0000000..7376c9a --- /dev/null +++ b/res/rdpwrap-arm-kb.ini @@ -0,0 +1,172 @@ +; RDP Wrapper Library configuration +; for Windows RT (ARMv7) + +; This is experimental file + +[Main] +Updated=2016-03-07 +LogFile=\rdpwrap.txt + +[SLPolicy] +TerminalServices-RemoteConnectionManager-AllowRemoteConnections=1 +TerminalServices-RemoteConnectionManager-AllowMultipleSessions=1 +TerminalServices-RemoteConnectionManager-AllowAppServerMode=1 +TerminalServices-RemoteConnectionManager-AllowMultimon=1 +TerminalServices-RemoteConnectionManager-MaxUserSessions=0 +TerminalServices-RemoteConnectionManager-ce0ad219-4670-4988-98fb-89b14c2f072b-MaxSessions=0 +TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-MaxSessions=2 +TerminalServices-RDP-7-Advanced-Compression-Allowed=1 +TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-LocalOnly=0 +TerminalServices-RemoteConnectionManager-8dc86f1d-9969-4379-91c1-06fe1dc60575-MaxSessions=1000 +TerminalServices-DeviceRedirection-Licenses-TSEasyPrintAllowed=1 +TerminalServices-DeviceRedirection-Licenses-PnpRedirectionAllowed=1 +TerminalServices-DeviceRedirection-Licenses-TSMFPluginAllowed=1 +TerminalServices-RemoteConnectionManager-UiEffects-DWMRemotingAllowed=1 + +[PatchCodes] +Zero=00 +bjmp5=05E0 +CDefPolicy_Query_r3_r5=40F20013C5F8203305E0 +CDefPolicy_Query_r3_r0=40F20013C0F8203305E0 + +[6.2.9200.16384] +; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled +; .text:10066DCC MOV.W R3, #0x11C +; .text:10066DD0 STR R3, [SP,#0x16C+var_13C] +; .text:10066DD2 LDR R3, =__imp_GetVersionExW +; .text:10066DD4 MOVS R4, #1 <- 0 +; .text:10066DD6 ADD R0, SP, #0x16C+var_13C +; .text:10066DD8 LDR R3, [R3] +SingleUserPatch.arm=1 +SingleUserOffset.arm=66DD4 +SingleUserCode.arm=Zero +; Patch CDefPolicy::Query +; Original +; .text:10059164 LDR.W R2, [R5,#0x324] ; D5 F8 24 23 ; [R5,#0x324] -> R2 +; .text:10059168 LDR.W R3, [R5,#0x320] ; D5 F8 20 33 ; [R5,#0x320] -> R3 +; .text:1005916C CMP R2, R3 ; 9A 42 ; compare +; .text:1005916E BNE loc_1005917A ; 04 D1 ; jump if (R2 != R3) +; Changed +; .text:10059164 MOVW R3, #0x100 ; 40 F2 00 13 ; 0x100 -> R3 +; .text:10059168 STR.W R3, [R5,#0x320] ; C5 F8 20 33 ; R3 -> [R5,#0x320] +; .text:1005916C B loc_1005917A ; 05 E0 ; jump +; .text:1005916E BNE loc_1005917A ; 04 D1 ; / never executed / +DefPolicyPatch.arm=1 +DefPolicyOffset.arm=59164 +DefPolicyCode.arm=CDefPolicy_Query_r3_r5 +; Hook SLGetWindowsInformationDWORDWrapper +SLPolicyInternal.arm=1 +SLPolicyOffset.arm=5F934 +SLPolicyFunc.arm=New_Win8SL + +[6.3.9600.16384] +; Patch CEnforcementCore::GetInstanceOfTSLicense +; .text:1008E6C2 BL _IsLicenseTypeLocalOnly_CSLQuery__SAJAAU_GUID__PAH_Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) +; .text:1008E6C6 CMP R0, #0 +; .text:1008E6C8 BLT loc_1008E6DA +; .text:1008E6CA LDR R3, [SP,#0x20+var_14] +; .text:1008E6CC CBZ R3, loc_1008E6DA ; 2B B1 ; jump if (R3 == 0) +; Changed +; .text:1008E6CC B loc_1008E6DA ; 05 E0 ; jump +LocalOnlyPatch.arm=1 +LocalOnlyOffset.arm=8E6CC +LocalOnlyCode.arm=bjmp5 +; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled +; .text:10069E74 MOV.W R3, #0x11C +; .text:10069E78 STR R3, [SP,#0x164+var_13C] +; .text:10069E7A LDR R3, =__imp_GetVersionExW +; .text:10069E7C MOVS R4, #1 <- 0 +; .text:10069E7E ADD R0, SP, #0x164+var_13C +; .text:10069E80 LDR R3, [R3] +SingleUserPatch.arm=1 +SingleUserOffset.arm=69E7C +SingleUserCode.arm=Zero +; Patch CDefPolicy::Query +; Original +; .text:10064D54 LDR.W R2, [R0,#0x324] ; D0 F8 24 23 ; [R0,#0x324] -> R2 +; .text:10064D58 LDR.W R3, [R0,#0x320] ; D0 F8 20 33 ; [R0,#0x320] -> R3 +; .text:10064D5C CMP R2, R3 ; 9A 42 ; compare +; .text:10064D5E BNE loc_10064D6A ; 04 D1 ; jump if (R2 != R3) +; Changed +; .text:10064D54 MOVW R3, #0x100 ; 40 F2 00 13 ; 0x100 -> R3 +; .text:10064D58 STR.W R3, [R0,#0x320] ; C0 F8 20 33 ; R3 -> [R0,#0x320] +; .text:10064D5C B loc_10064D6A ; 05 E0 ; jump +; .text:10064D5E BNE loc_10064D6A ; 04 D1 ; / never executed / +DefPolicyPatch.arm=1 +DefPolicyOffset.arm=64D54 +DefPolicyCode.arm=CDefPolicy_Query_r3_r0 +; Hook CSLQuery::Initialize +SLInitHook.arm=1 +SLInitOffset.arm=32188 +SLInitFunc.arm=New_CSLQuery_Initialize + +[6.3.9600.17095] +; Patch CEnforcementCore::GetInstanceOfTSLicense +; .text:1008E35A BL _IsLicenseTypeLocalOnly_CSLQuery__SAJAAU_GUID__PAH_Z ; CSLQuery::IsLicenseTypeLocalOnly(_GUID &,int *) +; .text:1008E35E CMP R0, #0 +; .text:1008E360 BLT loc_1008E372 +; .text:1008E362 LDR R3, [SP,#0x20+var_14] +; .text:1008E364 CBZ R3, loc_1008E372 ; 2B B1 ; jump if (R3 == 0) +; Changed +; .text:1008E364 B loc_1008E372 ; 05 E0 ; jump +LocalOnlyPatch.arm=1 +LocalOnlyOffset.arm=8E364 +LocalOnlyCode.arm=bjmp5 +; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled +; .text:10069C2C MOV.W R3, #0x11C +; .text:10069C30 STR R3, [SP,#0x164+var_13C] +; .text:10069C32 LDR R3, =GetVersionExW +; .text:10069C34 MOVS R4, #1 <- 0 +; .text:10069C36 ADD R0, SP, #0x164+var_13C +; .text:10069C38 LDR R3, [R3] +SingleUserPatch.arm=1 +SingleUserOffset.arm=69C34 +SingleUserCode.arm=Zero +; Patch CDefPolicy::Query +; Original +; .text:100649E0 LDR.W R2, [R0,#0x324] ; D0 F8 24 23 ; [R0,#0x324] -> R2 +; .text:100649E4 LDR.W R3, [R0,#0x320] ; D0 F8 20 33 ; [R0,#0x320] -> R3 +; .text:100649E8 CMP R2, R3 ; 9A 42 ; compare +; .text:100649EA BNE loc_100649F6 ; 04 D1 ; jump if (R2 != R3) +; Changed +; .text:100649E0 MOVW R3, #0x100 ; 40 F2 00 13 ; 0x100 -> R3 +; .text:100649E4 STR.W R3, [R0,#0x320] ; C0 F8 20 33 ; R3 -> [R0,#0x320] +; .text:100649E8 B loc_10064D6A ; 05 E0 ; jump +; .text:100649EA BNE loc_10064D6A ; 04 D1 ; / never executed / +DefPolicyPatch.arm=1 +DefPolicyOffset.arm=649E0 +DefPolicyCode.arm=CDefPolicy_Query_r3_r0 +; Hook CSLQuery::Initialize +SLInitHook.arm=1 +SLInitOffset.arm=32E3C +SLInitFunc.arm=New_CSLQuery_Initialize + +[SLInit] +bServerSku=1 +bRemoteConnAllowed=1 +bFUSEnabled=1 +bAppServerAllowed=1 +bMultimonAllowed=1 +lMaxUserSessions=0 +ulMaxDebugSessions=0 +bInitialized=1 + +[6.3.9600.16384-SLInit] +bFUSEnabled.arm =A57E0 +lMaxUserSessions.arm =A57E4 +bAppServerAllowed.arm =A57E8 +bInitialized.arm =A57EC +bMultimonAllowed.arm =A57F0 +bServerSku.arm =A57F4 +ulMaxDebugSessions.arm=A57F8 +bRemoteConnAllowed.arm=A57FC + +[6.3.9600.17095-SLInit] +bFUSEnabled.arm =A67E0 +lMaxUserSessions.arm =A67E4 +bAppServerAllowed.arm =A67E8 +bInitialized.arm =A67EC +bMultimonAllowed.arm =A67F0 +bServerSku.arm =A67F4 +ulMaxDebugSessions.arm=A67F8 +bRemoteConnAllowed.arm=A67FC From 6c58b69306def64c96a1fb2a7cb27b5e104d43ea Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 6 Apr 2016 14:12:47 +0300 Subject: [PATCH 019/120] INI: Add support for 10.0.14295.1000 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 10 +++++++++ 4 files changed, 107 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 982718d..459fa6a 100644 --- a/README.md +++ b/README.md @@ -192,6 +192,7 @@ Change log:
10.0.14251.1000 (Windows 10 RS1 Release 160124-1059)
10.0.14271.1000 (Windows 10 RS1 Release 160218-2310)
10.0.14279.1000 (Windows 10 RS1 Release 160229-1700)
+• 10.0.14295.1000 (Windows 10 RS1 Release 160318-1628)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 1f79171..9938548 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-03-06 +Updated=2016-04-06 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1620,6 +1620,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -1948,3 +1978,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 47b8db1..d5fe829 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-03-06 +Updated=2016-04-06 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -725,6 +725,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CE50 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14295.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A4D28 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D691 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35925 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=25514 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1BA35 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=47748 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=C860 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1038,3 +1064,22 @@ 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 diff --git a/technical.txt b/technical.txt index 5f2f966..f1e4c49 100644 --- a/technical.txt +++ b/technical.txt @@ -69,9 +69,19 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From 37bcdd641410505476d9ebb3d9719f54ef91dd5c Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 14 Apr 2016 19:28:00 +0300 Subject: [PATCH 020/120] INI: Add support for 10.0.14316.1000 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 459fa6a..c9b01bf 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ Change log:
10.0.14271.1000 (Windows 10 RS1 Release 160218-2310)
10.0.14279.1000 (Windows 10 RS1 Release 160229-1700)
10.0.14295.1000 (Windows 10 RS1 Release 160318-1628)
+• 10.0.14316.1000 (Windows 10 RS1 Release 160402-2227)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 9938548..978bfa3 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-04-06 +Updated=2016-04-14 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1650,6 +1650,36 @@ SLInitHook.x64=1 SLInitOffset.x64=C860 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 + [SLInit] ; Is server bServerSku=1 @@ -1997,3 +2027,22 @@ bRemoteConnAllowed.x64=E8464 bMultimonAllowed.x64 =E8468 ulMaxDebugSessions.x64=E846C bFUSEnabled.x64 =E8470 + +[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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index d5fe829..6840b4f 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-04-06 +Updated=2016-04-14 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -751,6 +751,32 @@ SLInitHook.x64=1 SLInitOffset.x64=C860 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14316.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E88 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F5F1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=32B55 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=26B04 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3C1C9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1D295 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=46ABD +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CC60 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1083,3 +1109,22 @@ bRemoteConnAllowed.x64=E8464 bMultimonAllowed.x64 =E8468 ulMaxDebugSessions.x64=E846C bFUSEnabled.x64 =E8470 + +[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 diff --git a/technical.txt b/technical.txt index f1e4c49..f7d739f 100644 --- a/technical.txt +++ b/technical.txt @@ -70,9 +70,13 @@ Terminal Services supported versions 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.14316.1000 (Windows 10 rs1_release.160402-2227) [init hook + extended patch] Source code changelog (rdpwrap library): +2016.04.14 : +- added support for termsrv.dll 10.0.14316.1000 + 2016.04.06 : - added support for termsrv.dll 10.0.14295.1000 From d02238218cb3fc812c0939c540fd2d4c76922efd Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Sat, 23 Apr 2016 23:07:44 +0800 Subject: [PATCH 021/120] Update immediately after install --- bin/install.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/install.bat b/bin/install.bat index 9731cfd..6163594 100644 --- a/bin/install.bat +++ b/bin/install.bat @@ -1,6 +1,7 @@ @echo off if not exist "%~dp0RDPWInst.exe" goto :error "%~dp0RDPWInst" -i +"%~dp0RDPWInst" -w echo ______________________________________________________________ echo. echo You can check RDP functionality with RDPCheck program. From 69f46c6caf7c620122cd8cb1c785aee4414aaf48 Mon Sep 17 00:00:00 2001 From: Maximo Piva Date: Fri, 29 Apr 2016 01:34:19 -0300 Subject: [PATCH 022/120] INI: Add support for 10.0.14332.1001 --- res/rdpwrap-ini-kb.txt | 45 ++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 91 insertions(+), 1 deletion(-) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 978bfa3..f5e5cc7 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1680,6 +1680,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CC60 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14332.1001] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E98 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F601 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=357E5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=2AE44 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=316A9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1C025 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4755F +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CAD0 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] ; Is server bServerSku=1 @@ -2046,3 +2072,22 @@ bRemoteConnAllowed.x64=EA464 bMultimonAllowed.x64 =EA468 ulMaxDebugSessions.x64=EA46C bFUSEnabled.x64 =EA470 + +[10.0.14332.1001-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 \ No newline at end of file diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 6840b4f..4c97c4f 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-04-14 +Updated=2016-04-29 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -777,6 +777,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CC60 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14332.1001] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E98 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F601 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=357E5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=2AE44 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=316A9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1C025 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4755F +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CAD0 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1128,3 +1154,22 @@ bRemoteConnAllowed.x64=EA464 bMultimonAllowed.x64 =EA468 ulMaxDebugSessions.x64=EA46C bFUSEnabled.x64 =EA470 + +[10.0.14332.1001-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 From 53897b40c7c6dda734f981039a25f347a3386e86 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 8 May 2016 18:39:11 +0300 Subject: [PATCH 023/120] INI: Add support for new builds 10.0.14300.1000 x64 10.0.14328.1000 x86/x64 --- README.md | 3 + res/rdpwrap-ini-kb.txt | 89 +++++++++++++++++++++++- res/rdpwrap.ini | 71 ++++++++++++++++++- technical.txt | 150 ++++++++++++++++++++++------------------- 4 files changed, 239 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index c9b01bf..cdfb828 100644 --- a/README.md +++ b/README.md @@ -193,7 +193,10 @@ Change log:
10.0.14271.1000 (Windows 10 RS1 Release 160218-2310)
10.0.14279.1000 (Windows 10 RS1 Release 160229-1700)
10.0.14295.1000 (Windows 10 RS1 Release 160318-1628)
+• 10.0.14300.1000 (Windows Server 2016 Technical Preview 5)
10.0.14316.1000 (Windows 10 RS1 Release 160402-2227)
+• 10.0.14328.1000 (Windows 10 RS1 Release 160418-1609)
+• 10.0.14332.1001 (Windows 10 RS1 Release 160422-1940)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index f5e5cc7..1b7e167 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-04-14 +Updated=2016-05-08 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1650,6 +1650,24 @@ 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 @@ -1680,25 +1698,60 @@ 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 @@ -2054,6 +2107,16 @@ 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 @@ -2073,7 +2136,7 @@ bMultimonAllowed.x64 =EA468 ulMaxDebugSessions.x64=EA46C bFUSEnabled.x64 =EA470 -[10.0.14332.1001-SLInit] +[10.0.14328.1000-SLInit] bInitialized.x86 =C4F58 bServerSku.x86 =C4F5C lMaxUserSessions.x86 =C4F60 @@ -2090,4 +2153,24 @@ bInitialized.x64 =EA460 bRemoteConnAllowed.x64=EA464 bMultimonAllowed.x64 =EA468 ulMaxDebugSessions.x64=EA46C -bFUSEnabled.x64 =EA470 \ No newline at end of file +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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 4c97c4f..a38978e 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-04-29 +Updated=2016-05-08 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -751,6 +751,20 @@ SLInitHook.x64=1 SLInitOffset.x64=C860 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14300.1000] +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F5F1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=26B04 +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1D125 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x64=1 +SLInitOffset.x64=CC60 +SLInitFunc.x64=New_CSLQuery_Initialize + [10.0.14316.1000] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A8E88 @@ -777,6 +791,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CC60 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14328.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E88 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F5F1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=32B55 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=26B04 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3C1C9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1D365 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A8E98 @@ -1136,6 +1176,16 @@ 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 @@ -1155,6 +1205,25 @@ 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] bInitialized.x86 =C4F58 bServerSku.x86 =C4F5C diff --git a/technical.txt b/technical.txt index f7d739f..a56b5e7 100644 --- a/technical.txt +++ b/technical.txt @@ -1,79 +1,89 @@ 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) [todo] -6.1.7600.21316 (Windows 7 with KB2750090) [todo] -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) [todo] -6.1.7601.21866 (Windows 7 SP1 with KB2647409) [todo] -6.1.7601.22104 (Windows 7 SP1 with KB2750090) [todo] -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.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.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.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.14316.1000 (Windows 10 rs1_release.160402-2227) [init hook + extended patch] +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) [todo] +6.1.7600.21316 (Windows 7 with KB2750090) [todo] +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) [todo] +6.1.7601.21866 (Windows 7 SP1 with KB2647409) [todo] +6.1.7601.22104 (Windows 7 SP1 with KB2750090) [todo] +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.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.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.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] Source code changelog (rdpwrap library): +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 From bb6d905b8d7f216b9d77f7b924196a1f06db7ecc Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 14 May 2016 20:41:16 +0300 Subject: [PATCH 024/120] INI: Add support for new builds 10.0.14342.1000 x86/x64 --- README.md | 2 ++ res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 102 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cdfb828..be8fd3d 100644 --- a/README.md +++ b/README.md @@ -197,6 +197,7 @@ Change log:
10.0.14316.1000 (Windows 10 RS1 Release 160402-2227)
10.0.14328.1000 (Windows 10 RS1 Release 160418-1609)
10.0.14332.1001 (Windows 10 RS1 Release 160422-1940)
+• 10.0.14342.1000 (Windows 10 RS1 Release 160506-1708)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
@@ -235,6 +236,7 @@ Change log:
• Windows 10 Home Single Language
• Windows 10 Pro
• Windows 10 Enterprise
+• Windows Server 2016 Technical Preview

Known issues:
• Beginning with Windows 8 (non-server editions) you can't connect to existing sessions (they will be logged out by system) - more info
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 1b7e167..8916513 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-05-08 +Updated=2016-05-14 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1759,6 +1759,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -2174,3 +2204,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index a38978e..2fc59c0 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-05-08 +Updated=2016-05-14 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -843,6 +843,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CAD0 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14342.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E98 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8EF31 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=357E5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=26774 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=316A9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1CEF5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4755F +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CA20 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1242,3 +1268,22 @@ 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 diff --git a/technical.txt b/technical.txt index a56b5e7..1f1199e 100644 --- a/technical.txt +++ b/technical.txt @@ -74,9 +74,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From d19a8cf733b05dc075b347b088e205200a02eaf6 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Mon, 30 May 2016 17:40:06 +0300 Subject: [PATCH 025/120] INI: Add support for new builds (fix #119) 10.0.14352.1002 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index be8fd3d..dfc69bf 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,7 @@ Change log:
10.0.14328.1000 (Windows 10 RS1 Release 160418-1609)
10.0.14332.1001 (Windows 10 RS1 Release 160422-1940)
10.0.14342.1000 (Windows 10 RS1 Release 160506-1708)
+• 10.0.14352.1002 (Windows 10 RS1 Release 160522-1930)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 8916513..fccd20a 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-05-14 +Updated=2016-05-30 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1789,6 +1789,36 @@ SLInitHook.x64=1 SLInitOffset.x64=CA20 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14352.1002] +; Patch CEnforcementCore::GetInstanceOfTSLicense +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A4474 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D90C +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 + [SLInit] ; Is server bServerSku=1 @@ -2223,3 +2253,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 2fc59c0..2a7ea31 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-05-14 +Updated=2016-05-30 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -869,6 +869,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CA20 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14352.1002] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A4474 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D90C +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35465 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=24474 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30099 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1AC05 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=44792 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CDB0 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1287,3 +1313,22 @@ 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 diff --git a/technical.txt b/technical.txt index 1f1199e..929fb7b 100644 --- a/technical.txt +++ b/technical.txt @@ -75,9 +75,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.05.30 : +- added support for termsrv.dll 10.0.14352.1002 + 2016.05.14 : - added support for termsrv.dll 10.0.14342.1000 From 078e5cd1cbd933740c1ae8de29675351059a571b Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 17 Jun 2016 22:09:18 +0300 Subject: [PATCH 026/120] Correct offsets for 14352 (fix #121) --- res/rdpwrap-ini-kb.txt | 6 +++--- res/rdpwrap.ini | 6 +++--- technical.txt | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index fccd20a..9dfecfa 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-05-30 +Updated=2016-06-17 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1792,10 +1792,10 @@ SLInitFunc.x64=New_CSLQuery_Initialize [10.0.14352.1002] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A4474 +LocalOnlyOffset.x86=A4478 LocalOnlyCode.x86=jmpshort LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D90C +LocalOnlyOffset.x64=8D911 LocalOnlyCode.x64=jmpshort ; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled SingleUserPatch.x86=1 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 2a7ea31..baf54cb 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-05-30 +Updated=2016-06-17 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -871,10 +871,10 @@ SLInitFunc.x64=New_CSLQuery_Initialize [10.0.14352.1002] LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86=A4474 +LocalOnlyOffset.x86=A4478 LocalOnlyCode.x86=jmpshort LocalOnlyPatch.x64=1 -LocalOnlyOffset.x64=8D90C +LocalOnlyOffset.x64=8D911 LocalOnlyCode.x64=jmpshort SingleUserPatch.x86=1 SingleUserOffset.x86=35465 diff --git a/technical.txt b/technical.txt index 929fb7b..a109695 100644 --- a/technical.txt +++ b/technical.txt @@ -79,6 +79,8 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +2016.06.17 : +- fixed issue with termsrv.dll 10.0.14352.1002 2016.05.30 : - added support for termsrv.dll 10.0.14352.1002 From cabb00fc78ef865b91338ff7db1882fa43e329dc Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 17 Jun 2016 22:11:05 +0300 Subject: [PATCH 027/120] INI: Add support for new builds (fix #123) 10.0.14366.0 x86/x64 10.0.14367.0 x86/x64 --- README.md | 2 + res/rdpwrap-ini-kb.txt | 106 +++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 90 ++++++++++++++++++++++++++++++++++ technical.txt | 5 ++ 4 files changed, 203 insertions(+) diff --git a/README.md b/README.md index dfc69bf..3ca5591 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,8 @@ Change log:
10.0.14332.1001 (Windows 10 RS1 Release 160422-1940)
10.0.14342.1000 (Windows 10 RS1 Release 160506-1708)
10.0.14352.1002 (Windows 10 RS1 Release 160522-1930)
+• 10.0.14366.0 (Windows 10 RS1 Release 160610-1700)
+• 10.0.14367.0 (Windows 10 RS1 Release 160613-1700)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 9dfecfa..519d9a9 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1819,6 +1819,66 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -1845,6 +1905,14 @@ bInitialized=1 ; 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 @@ -2272,3 +2340,41 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index baf54cb..051c4b4 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -895,6 +895,58 @@ SLInitHook.x64=1 SLInitOffset.x64=CDB0 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14366.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9088 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FB01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34F65 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=21DE4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=316E9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1A855 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9088 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FB01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34F65 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=21DE4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=316E9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1A855 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4793E +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CCE0 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1332,3 +1384,41 @@ 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 diff --git a/technical.txt b/technical.txt index a109695..f3f8455 100644 --- a/technical.txt +++ b/technical.txt @@ -76,11 +76,16 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): 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 From 533c3978a697f460e12648a39f97858857bf9454 Mon Sep 17 00:00:00 2001 From: kbmorris Date: Sun, 26 Jun 2016 14:36:12 -0400 Subject: [PATCH 028/120] Add support for new x64 architecture builds Add support for 10.0.14372.0 x64 architecture. --- res/rdpwrap.ini | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 051c4b4..3df2b65 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -947,6 +947,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CCE0 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14372.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86= +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F931 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86= +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=295A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86= +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B295 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86= +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CC10 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1422,3 +1448,22 @@ bRemoteConnAllowed.x64=EA484 bMultimonAllowed.x64 =EA488 ulMaxDebugSessions.x64=EA48C bFUSEnabled.x64 =EA490 + +[10.0.14372.0-SLInit] +bInitialized.x86 = +bServerSku.x86 = +lMaxUserSessions.x86 = +bAppServerAllowed.x86 = +bRemoteConnAllowed.x86= +bMultimonAllowed.x86 = +ulMaxDebugSessions.x86= +bFUSEnabled.x86 = + +bServerSku.x64 =EA47C +lMaxUserSessions.x64 =EA480 +bAppServerAllowed.x64 =EA484 +bInitialized.x64 =EA460 +bRemoteConnAllowed.x64=EA464 +bMultimonAllowed.x64 =EA468 +ulMaxDebugSessions.x64=EA46C +bFUSEnabled.x64 =EA470 From f6b125331ea8770a19ecb2ad8b5bcfde28c34089 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Mon, 27 Jun 2016 09:44:49 +0300 Subject: [PATCH 029/120] INI: Add support for new builds 10.0.14372.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 52 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 32 +++++++++++++------------- technical.txt | 7 ++++++ 4 files changed, 75 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 3ca5591..ce6b036 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,7 @@ Change log:
10.0.14352.1002 (Windows 10 RS1 Release 160522-1930)
10.0.14366.0 (Windows 10 RS1 Release 160610-1700)
10.0.14367.0 (Windows 10 RS1 Release 160613-1700)
+• 10.0.14372.0 (Windows 10 RS1 Release 160620-2342)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 519d9a9..bfae6ae 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-06-17 +Updated=2016-06-27 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1879,6 +1879,37 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -2378,3 +2409,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 3df2b65..d98b65f 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-06-17 +Updated=2016-06-27 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -949,25 +949,25 @@ SLInitFunc.x64=New_CSLQuery_Initialize [10.0.14372.0] LocalOnlyPatch.x86=1 -LocalOnlyOffset.x86= +LocalOnlyOffset.x86=A7698 LocalOnlyCode.x86=jmpshort LocalOnlyPatch.x64=1 LocalOnlyOffset.x64=8F931 LocalOnlyCode.x64=jmpshort SingleUserPatch.x86=1 -SingleUserOffset.x86= +SingleUserOffset.x86=34635 SingleUserCode.x86=nop SingleUserPatch.x64=1 SingleUserOffset.x64=295A4 SingleUserCode.x64=Zero DefPolicyPatch.x86=1 -DefPolicyOffset.x86= +DefPolicyOffset.x86=2FF69 DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 DefPolicyOffset.x64=1B295 DefPolicyCode.x64=CDefPolicy_Query_eax_rcx SLInitHook.x86=1 -SLInitOffset.x86= +SLInitOffset.x86=460D2 SLInitFunc.x86=New_CSLQuery_Initialize SLInitHook.x64=1 SLInitOffset.x64=CC10 @@ -1450,20 +1450,20 @@ ulMaxDebugSessions.x64=EA48C bFUSEnabled.x64 =EA490 [10.0.14372.0-SLInit] -bInitialized.x86 = -bServerSku.x86 = -lMaxUserSessions.x86 = -bAppServerAllowed.x86 = -bRemoteConnAllowed.x86= -bMultimonAllowed.x86 = -ulMaxDebugSessions.x86= -bFUSEnabled.x86 = +bInitialized.x86 =C3F68 +bServerSku.x86 =C3F6C +lMaxUserSessions.x86 =C3F70 +bAppServerAllowed.x86 =C3F74 +bRemoteConnAllowed.x86=C3F78 +bMultimonAllowed.x86 =C3F7C +ulMaxDebugSessions.x86=C3F80 +bFUSEnabled.x86 =C3F84 -bServerSku.x64 =EA47C -lMaxUserSessions.x64 =EA480 -bAppServerAllowed.x64 =EA484 bInitialized.x64 =EA460 bRemoteConnAllowed.x64=EA464 bMultimonAllowed.x64 =EA468 ulMaxDebugSessions.x64=EA46C bFUSEnabled.x64 =EA470 +bServerSku.x64 =EA47C +lMaxUserSessions.x64 =EA480 +bAppServerAllowed.x64 =EA484 diff --git a/technical.txt b/technical.txt index f3f8455..c5e2a76 100644 --- a/technical.txt +++ b/technical.txt @@ -78,9 +78,16 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From 92bc50b6db8c660666cf8b32bb5a49d599cf8752 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 6 Jul 2016 21:26:53 +0300 Subject: [PATCH 030/120] INI: Add support for new builds (fix #126) 10.0.14379.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ce6b036..baf3904 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,7 @@ Change log:
10.0.14366.0 (Windows 10 RS1 Release 160610-1700)
10.0.14367.0 (Windows 10 RS1 Release 160613-1700)
10.0.14372.0 (Windows 10 RS1 Release 160620-2342)
+• 10.0.14379.0 (Windows 10 RS1 Release 160627-1607)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index bfae6ae..8f3c2ef 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-06-27 +Updated=2016-07-06 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1910,6 +1910,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -2428,3 +2458,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index d98b65f..ee63102 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-06-27 +Updated=2016-07-06 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -973,6 +973,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CC10 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14379.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7698 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F941 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34635 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=295A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF69 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B295 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=460D2 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CC10 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1467,3 +1493,22 @@ 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 diff --git a/technical.txt b/technical.txt index c5e2a76..24e3cff 100644 --- a/technical.txt +++ b/technical.txt @@ -79,9 +79,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From 1395ea22bb48df7cb73ed85d4b523982f153ab87 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 15 Jul 2016 21:55:02 +0300 Subject: [PATCH 031/120] INI: Add support for new builds (fix #128) 10.0.14383.0 x86/x64 10.0.14388.0 x86/x64 --- README.md | 2 + res/rdpwrap-ini-kb.txt | 100 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 92 ++++++++++++++++++++++++++++++++++++- technical.txt | 6 +++ 4 files changed, 198 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index baf3904..d45feb8 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,8 @@ Change log:
10.0.14367.0 (Windows 10 RS1 Release 160613-1700)
10.0.14372.0 (Windows 10 RS1 Release 160620-2342)
10.0.14379.0 (Windows 10 RS1 Release 160627-1607)
+• 10.0.14383.0 (Windows 10 RS1 Release 160701-1839)
+• 10.0.14388.0 (Windows 10 RS1 Release 160709-1635)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 8f3c2ef..2f9a60d 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-07-06 +Updated=2016-07-15 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1940,6 +1940,66 @@ 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.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 + [SLInit] ; Is server bServerSku=1 @@ -2477,3 +2537,41 @@ 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.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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index ee63102..7c7c133 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-07-06 +Updated=2016-07-15 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -999,6 +999,58 @@ SLInitHook.x64=1 SLInitOffset.x64=CC10 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14383.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7698 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F941 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34635 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=295A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF69 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B295 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6038 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D781 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=359C5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=299A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF29 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1AFC5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=45636 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=C930 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1512,3 +1564,41 @@ 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.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 diff --git a/technical.txt b/technical.txt index 24e3cff..9208c9b 100644 --- a/technical.txt +++ b/technical.txt @@ -80,9 +80,15 @@ Terminal Services supported versions 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.14388.0 (Windows 10 rs1_release.160709-1635) [init hook + extended patch] Source code changelog (rdpwrap library): +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 From 558925a865589389149f55a7050f2edb6c9a85db Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 22 Jul 2016 21:15:53 +0300 Subject: [PATCH 032/120] INI: Add support for new builds (fix #130) 10.0.14393.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d45feb8..8f1f966 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,7 @@ Change log:
10.0.14379.0 (Windows 10 RS1 Release 160627-1607)
10.0.14383.0 (Windows 10 RS1 Release 160701-1839)
10.0.14388.0 (Windows 10 RS1 Release 160709-1635)
+• 10.0.14393.0 (Windows 10 RS1 Release 160715-1616)

Confirmed working on:
• Windows Vista Starter (x86 - Service Pack 1 and higher)
diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 2f9a60d..bcd0df6 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-07-15 +Updated=2016-07-22 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2000,6 +2000,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -2575,3 +2605,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 7c7c133..3010ce5 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-07-15 +Updated=2016-07-22 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1051,6 +1051,32 @@ SLInitHook.x64=1 SLInitOffset.x64=C930 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14393.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6038 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D781 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=359C5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=299A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF29 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1AFC5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=45636 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=C930 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1602,3 +1628,22 @@ 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 diff --git a/technical.txt b/technical.txt index 9208c9b..680fa77 100644 --- a/technical.txt +++ b/technical.txt @@ -82,9 +82,13 @@ Terminal Services supported versions 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.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] Source code changelog (rdpwrap library): +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 From 64e0987053b919988c449217edb8dd389fb0230d Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 23 Jul 2016 19:27:33 +0300 Subject: [PATCH 033/120] Installer: Add online install mode --- bin/install.bat | 3 +- src-installer/RDPWInst.dpr | 95 +++++++++++++++++++++++--------------- 2 files changed, 60 insertions(+), 38 deletions(-) diff --git a/bin/install.bat b/bin/install.bat index 6163594..5e6ed34 100644 --- a/bin/install.bat +++ b/bin/install.bat @@ -1,7 +1,6 @@ @echo off if not exist "%~dp0RDPWInst.exe" goto :error -"%~dp0RDPWInst" -i -"%~dp0RDPWInst" -w +"%~dp0RDPWInst" -i -o echo ______________________________________________________________ echo. echo You can check RDP functionality with RDPCheck program. diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 626a932..98125c9 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -1,5 +1,5 @@ { - Copyright 2015 Stas'M Corp. + Copyright 2016 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. @@ -76,6 +76,7 @@ const TermService = 'TermService'; var Installed: Boolean; + Online: Boolean; WrapPath: String; Arch: Byte; OldWow64RedirectionValue: LongBool; @@ -607,9 +608,41 @@ begin Str.Free; end; +function GitINIFile(var Content: String): Boolean; +const + URL = 'https://raw.githubusercontent.com/stascorp/rdpwrap/master/res/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 ExtractFiles; var - RDPClipRes: String; + RDPClipRes, S: String; + OnlineINI: TStringList; begin if not DirectoryExists(ExtractFilePath(ExpandPath(WrapPath))) then if ForceDirectories(ExtractFilePath(ExpandPath(WrapPath))) then @@ -619,7 +652,26 @@ begin Writeln('[*] Path: ', ExtractFilePath(ExpandPath(WrapPath))); Halt(0); end; - ExtractRes('config', ExtractFilePath(ExpandPath(WrapPath)) + 'rdpwrap.ini'); + 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 + ExtractRes('config', ExtractFilePath(ExpandPath(WrapPath)) + 'rdpwrap.ini'); + RDPClipRes := ''; case Arch of 32: begin @@ -946,37 +998,6 @@ begin Result := True; end; -function GitINIFile(var Content: String): Boolean; -const - URL = 'https://raw.githubusercontent.com/stascorp/rdpwrap/master/res/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 CheckUpdate; var INIPath, S: String; @@ -1038,7 +1059,7 @@ var begin Writeln('RDP Wrapper Library v1.6'); Writeln('Installer v2.3'); - Writeln('Copyright (C) Stas''M Corp. 2015'); + Writeln('Copyright (C) Stas''M Corp. 2016'); Writeln(''); if (ParamCount < 1) @@ -1051,11 +1072,12 @@ begin ) then begin Writeln('USAGE:'); - Writeln('RDPWInst.exe [-l|-i[-s]|-w|-u|-r]'); + Writeln('RDPWInst.exe [-l|-i[-s][-o]|-w|-u|-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('-r force restart Terminal Services'); @@ -1103,6 +1125,7 @@ begin CheckTermsrvProcess; Writeln('[*] Extracting files...'); + Online := (ParamStr(2) = '-o') or (ParamStr(3) = '-o'); ExtractFiles; Writeln('[*] Configuring service library...'); From 11be8c683315b6cbf237106db3ddbc1388bffae2 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 23 Jul 2016 19:33:35 +0300 Subject: [PATCH 034/120] Installer: Allow to keep settings on uninstall (fix #106) --- src-installer/RDPWInst.dpr | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 98125c9..497d4e1 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -1072,7 +1072,7 @@ begin ) then begin Writeln('USAGE:'); - Writeln('RDPWInst.exe [-l|-i[-s][-o]|-w|-u|-r]'); + 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)'); @@ -1080,6 +1080,7 @@ begin 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; @@ -1188,10 +1189,13 @@ begin SvcStart(TermService); Sleep(500); - Writeln('[*] Configuring registry...'); - TSConfigRegistry(False); - Writeln('[*] Configuring firewall...'); - TSConfigFirewall(False); + if ParamStr(2) <> '-k' then + begin + Writeln('[*] Configuring registry...'); + TSConfigRegistry(False); + Writeln('[*] Configuring firewall...'); + TSConfigFirewall(False); + end; if Arch = 64 then RevertWowRedirection; From 2d482b29be3a5f9aa1c4e88bf4d1b7495d3b7670 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 23 Jul 2016 19:56:58 +0300 Subject: [PATCH 035/120] RDPConf: Update firewall rule on port change (fix #86) --- src-rdpconfig/MainUnit.pas | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src-rdpconfig/MainUnit.pas b/src-rdpconfig/MainUnit.pas index d8608cb..3375c65 100644 --- a/src-rdpconfig/MainUnit.pas +++ b/src-rdpconfig/MainUnit.pas @@ -1,5 +1,5 @@ { - Copyright 2015 Stas'M Corp. + Copyright 2016 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. @@ -61,6 +61,7 @@ type { Private declarations } public { Public declarations } + function ExecWait(Cmdline: String): Boolean; procedure ReadSettings; procedure WriteSettings; end; @@ -89,6 +90,7 @@ var Ready: Boolean = False; Arch: Byte; OldWow64RedirectionValue: LongBool; + OldPort: Word; INI: String; function WinStationEnumerateW(hServer: THandle; @@ -329,6 +331,29 @@ begin 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; @@ -356,6 +381,7 @@ begin except end; + OldPort := seRDPPort.Value; SecurityLayer := 0; UserAuthentication := 0; try @@ -404,6 +430,11 @@ begin 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 From 3edd0e5300aeddc5078c19088613b6ee96f4fabf Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 23 Jul 2016 22:08:44 +0300 Subject: [PATCH 036/120] RDPConf: Add feature to hide users on logon --- src-rdpconfig/MainUnit.dfm | 161 ++++++++++++++++++++----------------- src-rdpconfig/MainUnit.pas | 16 ++++ 2 files changed, 105 insertions(+), 72 deletions(-) diff --git a/src-rdpconfig/MainUnit.dfm b/src-rdpconfig/MainUnit.dfm index d67ee28..7361f19 100644 --- a/src-rdpconfig/MainUnit.dfm +++ b/src-rdpconfig/MainUnit.dfm @@ -3,8 +3,8 @@ object MainForm: TMainForm Top = 0 BorderStyle = bsDialog Caption = 'RDP Wrapper Configuration' - ClientHeight = 352 - ClientWidth = 351 + ClientHeight = 314 + ClientWidth = 404 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -18,78 +18,53 @@ object MainForm: TMainForm OnDestroy = FormDestroy PixelsPerInch = 96 TextHeight = 13 - object lRDPPort: TLabel - Left = 225 - Top = 103 - Width = 47 - Height = 13 - Caption = 'RDP Port:' - end object bOK: TButton - Left = 10 - Top = 319 + Left = 40 + Top = 281 Width = 75 Height = 25 Caption = 'OK' ModalResult = 1 - TabOrder = 0 + TabOrder = 4 OnClick = bOKClick end object bCancel: TButton - Left = 91 - Top = 319 + Left = 121 + Top = 281 Width = 75 Height = 25 Caption = 'Cancel' ModalResult = 2 - TabOrder = 1 + TabOrder = 5 OnClick = bCancelClick end object bApply: TButton - Left = 172 - Top = 319 + Left = 202 + Top = 281 Width = 75 Height = 25 Caption = 'Apply' Enabled = False - TabOrder = 2 + TabOrder = 6 OnClick = bApplyClick end - object cbSingleSessionPerUser: TCheckBox - Left = 8 - Top = 112 - Width = 130 - Height = 17 - Caption = 'Single Session Per User' - TabOrder = 3 - OnClick = cbAllowTSConnectionsClick - end object rgNLA: TRadioGroup - Left = 8 - Top = 132 - Width = 335 - Height = 73 - Caption = 'Security Mode' - Items.Strings = ( - 'Disable Security (not recommended)' - 'Default Authentication (compatibility with older clients)' - 'Network Level Authentication (best)') - TabOrder = 4 - OnClick = cbAllowTSConnectionsClick - end - object cbAllowTSConnections: TCheckBox - Left = 8 + Left = 202 Top = 89 - Width = 174 - Height = 17 - Caption = 'Enable Remote Desktop Protocol' - TabOrder = 5 + Width = 194 + Height = 73 + Caption = 'Authentication Mode' + Items.Strings = ( + 'GUI Authentication Only' + 'Default RDP Authentication' + 'Network Level Authentication') + TabOrder = 2 OnClick = cbAllowTSConnectionsClick end object rgShadow: TRadioGroup - Left = 8 - Top = 208 - Width = 335 + Left = 202 + Top = 168 + Width = 194 Height = 105 Caption = 'Session Shadowing Mode' Items.Strings = ( @@ -98,36 +73,25 @@ object MainForm: TMainForm 'Full access without permission' 'View only with user'#39's permission' 'View only without permission') - TabOrder = 6 + TabOrder = 3 OnClick = cbAllowTSConnectionsClick end - object seRDPPort: TSpinEdit - Left = 278 - Top = 100 - Width = 62 - Height = 22 - MaxValue = 65535 - MinValue = 0 - TabOrder = 7 - Value = 0 - OnChange = seRDPPortChange - end object bLicense: TButton - Left = 253 - Top = 319 + Left = 283 + Top = 281 Width = 87 Height = 25 Caption = 'View license...' - TabOrder = 8 + TabOrder = 7 OnClick = bLicenseClick end object gbDiag: TGroupBox Left = 8 Top = 6 - Width = 335 + Width = 388 Height = 77 Caption = 'Diagnostics' - TabOrder = 9 + TabOrder = 0 object lListener: TLabel Left = 11 Top = 55 @@ -157,7 +121,7 @@ object MainForm: TMainForm Caption = 'Unknown' end object lsTSVer: TLabel - Left = 206 + Left = 226 Top = 36 Width = 44 Height = 13 @@ -171,14 +135,14 @@ object MainForm: TMainForm Caption = 'Unknown' end object lsWrapVer: TLabel - Left = 206 + Left = 226 Top = 17 Width = 44 Height = 13 Caption = 'Unknown' end object lTSVer: TLabel - Left = 182 + Left = 202 Top = 36 Width = 20 Height = 13 @@ -192,24 +156,77 @@ object MainForm: TMainForm Caption = 'Wrapper state:' end object lWrapVer: TLabel - Left = 182 + Left = 202 Top = 17 Width = 20 Height = 13 Caption = 'ver.' end object lsSuppVer: TLabel - Left = 182 + Left = 202 Top = 55 Width = 70 Height = 13 Caption = '[support level]' end end + object gbGeneral: TGroupBox + Left = 8 + Top = 89 + Width = 188 + Height = 184 + Caption = 'General Settings' + TabOrder = 1 + object lRDPPort: TLabel + Left = 8 + Top = 44 + Width = 47 + Height = 13 + Caption = 'RDP port:' + end + object cbAllowTSConnections: TCheckBox + Left = 8 + Top = 18 + Width = 132 + Height = 17 + Caption = 'Enable Remote Desktop' + TabOrder = 0 + OnClick = cbAllowTSConnectionsClick + end + object cbSingleSessionPerUser: TCheckBox + Left = 8 + Top = 69 + Width = 129 + Height = 17 + Caption = 'Single session per user' + TabOrder = 2 + OnClick = cbAllowTSConnectionsClick + end + object cbHideUsers: TCheckBox + Left = 8 + Top = 92 + Width = 149 + Height = 17 + Caption = 'Hide users on logon screen' + TabOrder = 3 + OnClick = cbAllowTSConnectionsClick + end + object seRDPPort: TSpinEdit + Left = 61 + Top = 41 + Width = 62 + Height = 22 + MaxValue = 65535 + MinValue = 0 + TabOrder = 1 + Value = 0 + OnChange = seRDPPortChange + end + end object Timer: TTimer Interval = 250 OnTimer = TimerTimer - Left = 280 - Top = 19 + Left = 352 + Top = 27 end end diff --git a/src-rdpconfig/MainUnit.pas b/src-rdpconfig/MainUnit.pas index 3375c65..c6841d0 100644 --- a/src-rdpconfig/MainUnit.pas +++ b/src-rdpconfig/MainUnit.pas @@ -47,6 +47,8 @@ type bLicense: TButton; gbDiag: TGroupBox; lsSuppVer: TLabel; + cbHideUsers: TCheckBox; + gbGeneral: TGroupBox; procedure FormCreate(Sender: TObject); procedure cbAllowTSConnectionsClick(Sender: TObject); procedure seRDPPortChange(Sender: TObject); @@ -400,6 +402,13 @@ begin 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; @@ -477,6 +486,13 @@ begin 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; From 0e9385490b8211450bdcb35375116cfed05a7f6f Mon Sep 17 00:00:00 2001 From: Stas'M Date: Sun, 24 Jul 2016 01:11:25 +0300 Subject: [PATCH 037/120] README: Replace HTML with Markdown --- README.md | 568 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 299 insertions(+), 269 deletions(-) diff --git a/README.md b/README.md index 8f1f966..e1add70 100644 --- a/README.md +++ b/README.md @@ -1,269 +1,299 @@ -RDP Wrapper Library by Stas'M
-
-The goal of this project is to enable Remote Desktop Host support and concurrent RDP sessions on reduced functionality systems for home usage.
-
-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.
-
-Screenshots:
-
-  -  -  -  -  -  -  -  -  -  -  -  -  -

-This solution was inspired by Windows Product Policy Editor, big thanks to kost :)
-- binarymaster
-
-Attention:
-It's recommended to have original termsrv.dll file with the RDP Wrapper installation. If you have modified it before with other patchers, it may become unstable and crash in any moment.
-
-Information:
-• Source code is available, so you can build it on your own
-• RDP Wrapper does not patch termsrv.dll, it loads termsrv with different parameters
-• RDPWInst and RDPChecker can be redistributed without development folder and batch files
-• RDPWInst can be used for unattended installation / deployment
-• Windows 2000, XP and Server 2003 will not be supported
-
-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
-
-Links:
-• Official GitHub repository:
-https://github.com/stascorp/rdpwrap/
-• Active discussion in the comments here:
-Enable remote desktop on Windows 8 core / basic - Andrew Block .net
-• MDL Projects and Applications thread here:
-RDP Wrapper Library (works with Windows 8.1 Basic)
-• Some ideas about porting to ARM for Windows RT (post #23):
-[Q] Mod Windows RT to enable Remote Desktop
-• Adding «Remote Desktop Users» group:
-http://superuser.com/questions/680572/
-
-Tutorial videos:
-• Updating RDP Wrapper INI file manually (now use installer to update INI file)
-• How to find offsets for new termsrv.dll versions
-
-Files description:
-
- - - - - - - - - -
RDPWInst.exeRDP Wrapper Library installer/uninstaller
RDPCheck.exeLocal RDP Checker (you can check the RDP is working)
RDPConf.exeRDP Wrapper Configuration
install.batQuick install batch file
uninstall.batQuick uninstall batch file
update.batQuick update batch file

-Change log:
-
-2015.08.12
-• Version 1.6
-• Added support for Windows 10
-• INI file has smaller size now - all comments are moved to KB file
-• Installer updated
-• Added workaround for 1056 error (although it isn't an error)
-• Added update support to installer
-• Newest RDPClip versions are included with installer
-• RDP Checker updated
-• Changed connect IP to 127.0.0.2
-• Updated some text messages
-• RDP Config updated
-• Added all possible shadowing modes
-• Also it will write settings to the group policy
-
-2014.12.11
-• Version 1.5
-• Added INI config support
-• Configuration is stored in INI file now
-• We can extend version support without building new binaries
-• Added support for Windows 8.1 with KB3000850
-• Added support for Windows 10 Technical Preview Update 2
-• Installer updated
-• RDP Config updated
-• Diagnostics feature added to RDP Config
-
-2014.11.14
-• Version 1.4
-• Added support for Windows 10 Technical Preview Update 1
-• Added support for Windows Vista SP2 with KB3003743
-• Added support for Windows 7 SP1 with KB3003743
-• Added new RDP Configuration Program
-
-2014.10.21
-• Installer updated
-• Added feature to install RDP Wrapper to System32 directory
-• Fixed issue in the installer - NLA setting now remains unchanged
-• Local RDP Checker updated
-• SecurityLayer and UserAuthentification values changed on check start
-• RDP Checker restores values on exit
-
-2014.10.20
-• Version 1.3
-• Added support for Windows 10 Technical Preview
-• Added support for Windows 7 with KB2984972
-• Added support for Windows 8 with KB2973501
-• Added extended support for Windows Vista (SP0, SP1 and SP2)
-• Added extended support for Windows 7 (SP0 and SP1)
-• Some improvements in the source code
-• Installer updated to v2.2
-• Fixed installation bug in Vista x64 (wrong expand path)
-• Local RDP Checker updated
-• Added description to error 0x708
-
-2014.07.26
-• Version 1.2
-• Added support for Windows 8 Developer Preview
-• Added support for Windows 8 Consumer Preview
-• Added support for Windows 8 Release Preview
-• Added support for Windows 8.1 Preview
-• Added support for Windows 8.1
-• More details you will see in the source code
-• Installer updated to v2.1
-
-2013.12.09
-• C++ port of RDP Wrapper was made by Fusix
-• x64 architecture is supported now
-• Added new command line installer v2.0
-• Added local RDP checker
-• Source code (C++ port, installer 2.0, local RDP checker) is also included
-
-2013.10.25
-• Version 1.1 source code is available
-
-2013.10.22
-• Version 1.1
-• Stable release
-• Improved wrapper (now it can wrap internal unexported termsrv.dll SL Policy function)
-• Added support for Windows 8 Single Language (tested on Acer Tablet PC with Intel Atom Z2760)
-
-2013.10.19
-• Version 1.0
-• First [beta] version
-• Basic SL Policy wrapper
-
-Supported Terminal Services versions:
-• 6.0.X.X (Windows Vista / Server 2008)
-• 6.0.6000.16386 (Windows Vista)
-• 6.0.6001.18000 (Windows Vista SP1)
-• 6.0.6002.18005 (Windows Vista SP2)
-• 6.0.6002.19214 (Windows Vista SP2 with KB3003743 GDR)
-• 6.0.6002.23521 (Windows Vista SP2 with KB3003743 LDR)
-• 6.1.X.X (Windows 7 / Server 2008 R2)
-• 6.1.7600.16385 (Windows 7)
-• 6.1.7601.17514 (Windows 7 SP1)
-• 6.1.7601.18540 (Windows 7 SP1 with KB2984972 GDR)
-• 6.1.7601.22750 (Windows 7 SP1 with KB2984972 LDR)
-• 6.1.7601.18637 (Windows 7 SP1 with KB3003743 GDR)
-• 6.1.7601.22843 (Windows 7 SP1 with KB3003743 LDR)
-• 6.2.8102.0 (Windows 8 Developer Preview)
-• 6.2.8250.0 (Windows 8 Consumer Preview)
-• 6.2.8400.0 (Windows 8 Release Preview)
-• 6.2.9200.16384 (Windows 8 / Server 2012)
-• 6.2.9200.17048 (Windows 8 with KB2973501 GDR)
-• 6.2.9200.21166 (Windows 8 with KB2973501 LDR)
-• 6.3.9431.0 (Windows 8.1 Preview)
-• 6.3.9600.16384 (Windows 8.1 / Server 2012 R2)
-• 6.3.9600.17095 (Windows 8.1 with KB2959626)
-• 6.3.9600.17415 (Windows 8.1 with KB3000850)
-• 6.4.9841.0 (Windows 10 Technical Preview)
-• 6.4.9860.0 (Windows 10 Technical Preview Update 1)
-• 6.4.9879.0 (Windows 10 Technical Preview Update 2)
-• 10.0.9926.0 (Windows 10 Pro Technical Preview)
-• 10.0.10041.0 (Windows 10 Pro Technical Preview Update 1)
-• 10.0.10240.16384 (Windows 10 RTM)
-• 10.0.10586.0 (Windows 10 TH2 Release 151029-1700)
-• 10.0.11082.1000 (Windows 10 RS1 Release 151210-2021)
-• 10.0.11102.1000 (Windows 10 RS1 Release 160113-1800)
-• 10.0.14251.1000 (Windows 10 RS1 Release 160124-1059)
-• 10.0.14271.1000 (Windows 10 RS1 Release 160218-2310)
-• 10.0.14279.1000 (Windows 10 RS1 Release 160229-1700)
-• 10.0.14295.1000 (Windows 10 RS1 Release 160318-1628)
-• 10.0.14300.1000 (Windows Server 2016 Technical Preview 5)
-• 10.0.14316.1000 (Windows 10 RS1 Release 160402-2227)
-• 10.0.14328.1000 (Windows 10 RS1 Release 160418-1609)
-• 10.0.14332.1001 (Windows 10 RS1 Release 160422-1940)
-• 10.0.14342.1000 (Windows 10 RS1 Release 160506-1708)
-• 10.0.14352.1002 (Windows 10 RS1 Release 160522-1930)
-• 10.0.14366.0 (Windows 10 RS1 Release 160610-1700)
-• 10.0.14367.0 (Windows 10 RS1 Release 160613-1700)
-• 10.0.14372.0 (Windows 10 RS1 Release 160620-2342)
-• 10.0.14379.0 (Windows 10 RS1 Release 160627-1607)
-• 10.0.14383.0 (Windows 10 RS1 Release 160701-1839)
-• 10.0.14388.0 (Windows 10 RS1 Release 160709-1635)
-• 10.0.14393.0 (Windows 10 RS1 Release 160715-1616)
-
-Confirmed working on:
-• Windows Vista Starter (x86 - Service Pack 1 and higher)
-• Windows Vista Home Basic
-• Windows Vista Home Premium
-• Windows Vista Business
-• Windows Vista Enterprise
-• Windows Vista Ultimate
-• Windows Server 2008
-• Windows 7 Starter
-• Windows 7 Home Basic
-• Windows 7 Home Premium
-• Windows 7 Professional
-• Windows 7 Enterprise
-• Windows 7 Ultimate
-• Windows Server 2008 R2
-• Windows 8 Developer Preview
-• Windows 8 Consumer Preview
-• Windows 8 Release Preview
-• Windows 8
-• Windows 8 Single Language
-• Windows 8 Pro
-• Windows 8 Enterprise
-• Windows Server 2012
-• Windows 8.1 Preview
-• Windows 8.1
-• Windows 8.1 Connected (with Bing)
-• Windows 8.1 Single Language
-• Windows 8.1 Connected Single Language (with Bing)
-• Windows 8.1 Pro
-• Windows 8.1 Enterprise
-• Windows Server 2012 R2
-• Windows 10 Technical Preview
-• Windows 10 Pro Technical Preview
-• Windows 10 Home
-• Windows 10 Home Single Language
-• Windows 10 Pro
-• Windows 10 Enterprise
-• Windows Server 2016 Technical Preview
-
-Known issues:
-• Beginning with Windows 8 (non-server editions) you can't connect to existing sessions (they will be logged out by system) - more info
-• Beginning with Windows 10 you can accidentally lock yourself from PC - more info
-• RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll 6.0.6000.16386)
-• If Terminal Services hangs at startup, try to add rdpwrap.dll to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command:
-sc config TermService type= own
-• RDP Wrapper Installer can be removed by AVG Free Antivirus after reboot - add it to exclusions.
-
-Installation instructions:
-1. Download latest release binaries and unpack files
-2. Right-click on install.bat and select Run as Administrator
-3. See command output for details
-
-To update INI file:
-1. Right-click on update.bat and select Run as Administrator
-2. See command output for details
-
-To uninstall:
-1. Go to the directory where you extracted the files
-2. Right-click on uninstall.bat and select Run as Administrator
-3. See command output for details
+# RDP Wrapper Library by Stas'M + +The goal of this project is to enable Remote Desktop Host support and concurrent RDP sessions on reduced functionality systems for home usage. + +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. + +Screenshots: + +[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] | +--- +[WinPPE]: http://forums.mydigitallife.info/threads/39411-Windows-Product-Policy-Editor + +This solution was inspired by [Windows Product Policy Editor][WinPPE], big thanks to **kost** :) + +— binarymaster + +### Attention: +It's recommended to have original termsrv.dll file with the RDP Wrapper installation. If you have modified it before with other patchers, it may become unstable and crash in any moment. + +### Information: +- Source code is available, so you can build it on your own +- RDP Wrapper does not patch termsrv.dll, it loads termsrv with different parameters +- RDPWInst and RDPChecker can be redistributed without development folder and batch files +- RDPWInst can be used for unattended installation / deployment +- Windows 2000, XP and Server 2003 will not be supported + +### 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* + +[andrewblock]: http://andrewblock.net/2013/07/19/enable-remote-desktop-on-windows-8-core/ +[mydigitallife]: http://forums.mydigitallife.info/threads/55935-RDP-Wrapper-Library-(works-with-Windows-8-1-Basic) +[xda-dev]: http://forum.xda-developers.com/showthread.php?t=2093525&page=3 +[yt-updating]: http://www.youtube.com/watch?v=W9BpbEt1yJw +[yt-offsets]: http://www.youtube.com/watch?v=FiD86tmRBtk + +### Links: +- Official GitHub repository: +https://github.com/stascorp/rdpwrap/ +- Active discussion in the comments here: +[Enable remote desktop on Windows 8 core / basic - Andrew Block .net][andrewblock] +- MDL Projects and Applications thread here: +[RDP Wrapper Library (works with Windows 8.1 Basic)][mydigitallife] +- Some ideas about porting to ARM for Windows RT (post #23): +[\[Q\] Mod Windows RT to enable Remote Desktop][xda-dev] +- Adding «Remote Desktop Users» group: +http://superuser.com/questions/680572/ + +### Tutorial videos: +- [~~Updating RDP Wrapper INI file manually~~][yt-updating] (now use installer to update INI file) +- [How to find offsets for new termsrv.dll versions][yt-offsets] + +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 | + +Change log: + +#### 2015.08.12 +- Version 1.6 +- Added support for Windows 10 +- INI file has smaller size now - all comments are moved to KB file +- Installer updated +- Added workaround for 1056 error (although it isn't an error) +- Added update support to installer +- Newest RDPClip versions are included with installer +- RDP Checker updated +- Changed connect IP to 127.0.0.2 +- Updated some text messages +- RDP Config updated +- Added all possible shadowing modes +- Also it will write settings to the group policy + +#### 2014.12.11 +- Version 1.5 +- Added INI config support +- Configuration is stored in INI file now +- We can extend version support without building new binaries +- Added support for Windows 8.1 with KB3000850 +- Added support for Windows 10 Technical Preview Update 2 +- Installer updated +- RDP Config updated +- Diagnostics feature added to RDP Config + +#### 2014.11.14 +- Version 1.4 +- Added support for Windows 10 Technical Preview Update 1 +- Added support for Windows Vista SP2 with KB3003743 +- Added support for Windows 7 SP1 with KB3003743 +- Added new RDP Configuration Program + +#### 2014.10.21 +- Installer updated +- Added feature to install RDP Wrapper to System32 directory +- Fixed issue in the installer - NLA setting now remains unchanged +- Local RDP Checker updated +- SecurityLayer and UserAuthentification values changed on check start +- RDP Checker restores values on exit + +#### 2014.10.20 +- Version 1.3 +- Added support for Windows 10 Technical Preview +- Added support for Windows 7 with KB2984972 +- Added support for Windows 8 with KB2973501 +- Added extended support for Windows Vista (SP0, SP1 and SP2) +- Added extended support for Windows 7 (SP0 and SP1) +- Some improvements in the source code +- Installer updated to v2.2 +- Fixed installation bug in Vista x64 (wrong expand path) +- Local RDP Checker updated +- Added description to error 0x708 + +#### 2014.07.26 +- Version 1.2 +- Added support for Windows 8 Developer Preview +- Added support for Windows 8 Consumer Preview +- Added support for Windows 8 Release Preview +- Added support for Windows 8.1 Preview +- Added support for Windows 8.1 +- More details you will see in the source code +- Installer updated to v2.1 + +#### 2013.12.09 +- C++ port of RDP Wrapper was made by Fusix +- x64 architecture is supported now +- Added new command line installer v2.0 +- Added local RDP checker +- Source code (C++ port, installer 2.0, local RDP checker) is also included + +#### 2013.10.25 +- Version 1.1 source code is available + +#### 2013.10.22 +- Version 1.1 +- Stable release +- Improved wrapper (now it can wrap internal unexported termsrv.dll SL Policy function) +- Added support for Windows 8 Single Language (tested on Acer Tablet PC with Intel Atom Z2760) + +#### 2013.10.19 +- Version 1.0 +- First [beta] version +- Basic SL Policy wrapper + +### Supported Terminal Services versions: +- 6.0.X.X (Windows Vista / Server 2008) +- 6.0.6000.16386 (Windows Vista) +- 6.0.6001.18000 (Windows Vista SP1) +- 6.0.6002.18005 (Windows Vista SP2) +- 6.0.6002.19214 (Windows Vista SP2 with KB3003743 GDR) +- 6.0.6002.23521 (Windows Vista SP2 with KB3003743 LDR) +- 6.1.X.X (Windows 7 / Server 2008 R2) +- 6.1.7600.16385 (Windows 7) +- 6.1.7601.17514 (Windows 7 SP1) +- 6.1.7601.18540 (Windows 7 SP1 with KB2984972 GDR) +- 6.1.7601.22750 (Windows 7 SP1 with KB2984972 LDR) +- 6.1.7601.18637 (Windows 7 SP1 with KB3003743 GDR) +- 6.1.7601.22843 (Windows 7 SP1 with KB3003743 LDR) +- 6.2.8102.0 (Windows 8 Developer Preview) +- 6.2.8250.0 (Windows 8 Consumer Preview) +- 6.2.8400.0 (Windows 8 Release Preview) +- 6.2.9200.16384 (Windows 8 / Server 2012) +- 6.2.9200.17048 (Windows 8 with KB2973501 GDR) +- 6.2.9200.21166 (Windows 8 with KB2973501 LDR) +- 6.3.9431.0 (Windows 8.1 Preview) +- 6.3.9600.16384 (Windows 8.1 / Server 2012 R2) +- 6.3.9600.17095 (Windows 8.1 with KB2959626) +- 6.3.9600.17415 (Windows 8.1 with KB3000850) +- 6.4.9841.0 (Windows 10 Technical Preview) +- 6.4.9860.0 (Windows 10 Technical Preview Update 1) +- 6.4.9879.0 (Windows 10 Technical Preview Update 2) +- 10.0.9926.0 (Windows 10 Pro Technical Preview) +- 10.0.10041.0 (Windows 10 Pro Technical Preview Update 1) +- 10.0.10240.16384 (Windows 10 RTM) +- 10.0.10586.0 (Windows 10 TH2 Release 151029-1700) +- 10.0.11082.1000 (Windows 10 RS1 Release 151210-2021) +- 10.0.11102.1000 (Windows 10 RS1 Release 160113-1800) +- 10.0.14251.1000 (Windows 10 RS1 Release 160124-1059) +- 10.0.14271.1000 (Windows 10 RS1 Release 160218-2310) +- 10.0.14279.1000 (Windows 10 RS1 Release 160229-1700) +- 10.0.14295.1000 (Windows 10 RS1 Release 160318-1628) +- 10.0.14300.1000 (Windows Server 2016 Technical Preview 5) +- 10.0.14316.1000 (Windows 10 RS1 Release 160402-2227) +- 10.0.14328.1000 (Windows 10 RS1 Release 160418-1609) +- 10.0.14332.1001 (Windows 10 RS1 Release 160422-1940) +- 10.0.14342.1000 (Windows 10 RS1 Release 160506-1708) +- 10.0.14352.1002 (Windows 10 RS1 Release 160522-1930) +- 10.0.14366.0 (Windows 10 RS1 Release 160610-1700) +- 10.0.14367.0 (Windows 10 RS1 Release 160613-1700) +- 10.0.14372.0 (Windows 10 RS1 Release 160620-2342) +- 10.0.14379.0 (Windows 10 RS1 Release 160627-1607) +- 10.0.14383.0 (Windows 10 RS1 Release 160701-1839) +- 10.0.14388.0 (Windows 10 RS1 Release 160709-1635) +- 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) + +### Confirmed working on: +- Windows Vista Starter (x86 - Service Pack 1 and higher) +- Windows Vista Home Basic +- Windows Vista Home Premium +- Windows Vista Business +- Windows Vista Enterprise +- Windows Vista Ultimate +- Windows Server 2008 +- Windows 7 Starter +- Windows 7 Home Basic +- Windows 7 Home Premium +- Windows 7 Professional +- Windows 7 Enterprise +- Windows 7 Ultimate +- Windows Server 2008 R2 +- Windows 8 Developer Preview +- Windows 8 Consumer Preview +- Windows 8 Release Preview +- Windows 8 +- Windows 8 Single Language +- Windows 8 Pro +- Windows 8 Enterprise +- Windows Server 2012 +- Windows 8.1 Preview +- Windows 8.1 +- Windows 8.1 Connected (with Bing) +- Windows 8.1 Single Language +- Windows 8.1 Connected Single Language (with Bing) +- Windows 8.1 Pro +- Windows 8.1 Enterprise +- Windows Server 2012 R2 +- Windows 10 Technical Preview +- Windows 10 Pro Technical Preview +- Windows 10 Home +- Windows 10 Home Single Language +- Windows 10 Pro +- Windows 10 Enterprise +- Windows Server 2016 Technical Preview + +### Known issues: +- Beginning with Windows 8 **on tablet PCs** inactive sessions will be logged out by system - [more info](https://github.com/stascorp/rdpwrap/issues/37) +- Beginning with Windows 10 you can accidentally lock yourself from PC - [more info](https://github.com/stascorp/rdpwrap/issues/50) +- RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll 6.0.6000.16386) +- If Terminal Services hangs at startup, try to add **`rdpwrap.dll`** to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command: +`sc config TermService type= own` +- RDP Wrapper Installer can be removed by AVG Free Antivirus after reboot - add it to exclusions. + +Installation instructions: +- Download latest release binaries and unpack files +- Right-click on **`install.bat`** and select Run as Administrator +- See command output for details + +To update INI file: +- Right-click on **`update.bat`** and select Run as Administrator +- 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 From 1254ac3b3b30c05566341a7545b3c3327a7e90ef Mon Sep 17 00:00:00 2001 From: Stas'M Date: Sun, 24 Jul 2016 01:21:30 +0300 Subject: [PATCH 038/120] README: Quick fixes --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index e1add70..495c2b2 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,6 @@ 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. -Screenshots: - [pVistaST]: http://stascorp.com/images/rdpwrap/pVistaST.jpg [pVistaHB]: http://stascorp.com/images/rdpwrap/pVistaHB.jpg [pWin7ST]: http://stascorp.com/images/rdpwrap/pWin7ST.jpg @@ -74,15 +72,15 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa ### Links: - Official GitHub repository: -https://github.com/stascorp/rdpwrap/ +
https://github.com/stascorp/rdpwrap/ - Active discussion in the comments here: -[Enable remote desktop on Windows 8 core / basic - Andrew Block .net][andrewblock] +
[Enable remote desktop on Windows 8 core / basic - Andrew Block .net][andrewblock] - MDL Projects and Applications thread here: -[RDP Wrapper Library (works with Windows 8.1 Basic)][mydigitallife] +
[RDP Wrapper Library (works with Windows 8.1 Basic)][mydigitallife] - Some ideas about porting to ARM for Windows RT (post #23): -[\[Q\] Mod Windows RT to enable Remote Desktop][xda-dev] +
[\[Q\] Mod Windows RT to enable Remote Desktop][xda-dev] - Adding «Remote Desktop Users» group: -http://superuser.com/questions/680572/ +
http://superuser.com/questions/680572/ ### Tutorial videos: - [~~Updating RDP Wrapper INI file manually~~][yt-updating] (now use installer to update INI file) @@ -186,7 +184,9 @@ Change log: - First [beta] version - Basic SL Policy wrapper -### Supported Terminal Services versions: +--- + +#### Supported Terminal Services versions: - 6.0.X.X (Windows Vista / Server 2008) - 6.0.6000.16386 (Windows Vista) - 6.0.6001.18000 (Windows Vista SP1) @@ -237,7 +237,7 @@ Change log: - 10.0.14388.0 (Windows 10 RS1 Release 160709-1635) - 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) -### Confirmed working on: +#### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) - Windows Vista Home Basic - Windows Vista Home Premium @@ -276,12 +276,12 @@ Change log: - Windows 10 Enterprise - Windows Server 2016 Technical Preview -### Known issues: +#### Known issues: - Beginning with Windows 8 **on tablet PCs** inactive sessions will be logged out by system - [more info](https://github.com/stascorp/rdpwrap/issues/37) - Beginning with Windows 10 you can accidentally lock yourself from PC - [more info](https://github.com/stascorp/rdpwrap/issues/50) -- RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll 6.0.6000.16386) +- RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll `6.0.6000.16386`) - If Terminal Services hangs at startup, try to add **`rdpwrap.dll`** to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command: -`sc config TermService type= own` +
`sc config TermService type= own` - RDP Wrapper Installer can be removed by AVG Free Antivirus after reboot - add it to exclusions. Installation instructions: From e45fde37c264698b12aae4cb2fd005e29106b2a2 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Mon, 1 Aug 2016 16:32:00 +0300 Subject: [PATCH 039/120] Pre-release updates --- README.md | 36 ++++++++++++++++++++++++++++++++++++ src-installer/resource.res | Bin 973380 -> 996464 bytes src-rdpconfig/resource.res | Bin 12936 -> 12936 bytes technical.txt | 9 +++++++++ 4 files changed, 45 insertions(+) diff --git a/README.md b/README.md index 495c2b2..c0f7345 100644 --- a/README.md +++ b/README.md @@ -97,8 +97,44 @@ Files in release package: | `uninstall.bat` | Quick uninstall batch file | | `update.bat` | Quick update batch file | +### Frequently Asked Questions + +> Where can I download the installer or binaries? + +In the [GitHub Releases](https://github.com/stascorp/rdpwrap/releases) section. + +> Is it legal to use this application? + +There is no definitive answer, see [this discussion](https://github.com/stascorp/rdpwrap/issues/26). + +> 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. + +> Config Tool reports version 1.5, but I installed higher version. What's the matter? + +Beginning with version 1.5 the `rdpwrap.dll` is not updated anymore, since all settings are stored in INI file. Deal with it. + +> 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`. + +> 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. + Change log: +#### 2016.08.01 +- Version 1.6.1 +- Include updated INI file for latest Windows builds +- Installer updated +- Added online install mode +- Added feature to keep settings on uninstall +- RDP Config updated +- Fixed update firewall rule on RDP port change +- Added feature to hide users on logon + #### 2015.08.12 - Version 1.6 - Added support for Windows 10 diff --git a/src-installer/resource.res b/src-installer/resource.res index 4dd12973b891c02e0e9cc5adabea17ed1629574b..ebdf66da3653c4e06d961c03430c244a3e05e96b 100644 GIT binary patch delta 5253 zcmdT{O>10L81CGAXR4!_G;P|FJB=n0L`yO`_v@T zf)oXpjXjGXZtB*BAT89DP;jLp?V{?k?p(J2z~`KEKjtO~q6s*Glk?s=ci#6o&-*z) z+*^A3=c%n3}ZNVow?f3j=*^z$d#5m@ps?c~=YlR}Am()jOnAZ$&{8h$qfDBL-NBKH^fj z=|-V=+Mdk8I|0C7GlB%rFIj$;xCM4Iap(|q-wm7s`rhkirS4|r$El{pcT$Pm2tsk^ z{kR#&buA99Q1X;Z5`a?bnt0=U0}(hOIWE;9v|}e$94BrFkXMX;QbF9I+~xmL zxsiC{;?fl}+O2$CCynoUDykhZvAEETc&f5SLZ`U8jBJ)_f}_+g3HBTsN$^HY1nFJ2 zSb&S>X=%n$QX|+e(`HzInt65ol(Aj<%{a}p2kQn@+Lt#7lmS=Y!1q~Bei9-g+mho)LN4>bI+ zsw)Vcw62`#lDIF*nVZ*JS~@n=#QW6Kw1fdFa9(hc`Lf_%GgMGsHpx)QiesmSn}v1N zCeKj(=Fgk|Su^+cO*7Y;De;OZLAa4SN5rGkb9aBf@MGg}c~CUJ>ddar^3FvTE)CYMzx)2%f<#?2 z3u19&#cnv_m%+5@Wc2n~+lsM^n{OT$cg{5ph_i#EV�xaxzB5*78&nFEC$xziPK2 z@Uga-SelGs=|DlTlaEXW*RI(Cry%j#gZZ_9Vlh@Y%?P2Z2jv;O4m z(@pucKs;DK@vVea^(+s0DsKlT}Eo0>wZ3x(Dkga zZ_wE=>v&MCW0$PkCI_RpvaZ@?3VhRVS@^7^Je4oZ_PaBD2jlq&Qo)uU4u@^wLD|Bt zZAG~)xfiw|SGMGVv=!~Nr3aPD7Kv;$u|RAt+szn4EFKNyClvX3OpLEJF}G4*Y^~W+ z;Ns$nKHXgF;saC#SqmT_Z&hUO7j8WRjUMiNyc#OKqrtbH+V+QUnJpn2h0GSY7ZD7( ziePzw2*wM(SQ&IJ?5ba=k{7CeVb7)zY8}JNhrwaK_pWeA#Oc`8}A5!+IX8jr9W7i&$g#w>LVEKOMIY7zgBE>p%nl n8}~na+?j4P{OvD(?R?pw+nYai&TfD7TjyTGx$pemIb!?;S0`FC delta 139 zcmezH!sf^p>j?@>UI7!8`q@o&4a{|o4L0s5u-@FBpC`h|(0q7R`{7lLK+FWh%s|Wn z#H>Kf2E^<@%mKulK+FZi+(66&#Jt-Nuj0Gf!pY3Q!~gS7(^h87c-_xh4@%L@~ diff --git a/src-rdpconfig/resource.res b/src-rdpconfig/resource.res index 5a18ec83f3934215c6468cf0609a78986b435b51..9cd36450a4ac2e894b2743929d553a9033280974 100644 GIT binary patch delta 47 xcmeB3?MU5lMw_3Rfsp|O*uXU7=G)q$jEu&UKk7_pG@IP1`<>BnbE6(R3jhv`3;h59 delta 47 wcmeB3?MU5lMw_3Bfsp|O*dX-g+uEXxj7F0`>P%-eo!qJWozY-(qaHg801hY%_y7O^ diff --git a/technical.txt b/technical.txt index 680fa77..d91cfc6 100644 --- a/technical.txt +++ b/technical.txt @@ -86,6 +86,15 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +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 From ef2561fe7902a1ff5620ab242ed62dbab4858e0f Mon Sep 17 00:00:00 2001 From: binarymaster Date: Tue, 2 Aug 2016 14:20:16 +0300 Subject: [PATCH 040/120] Update README (fix #132) --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c0f7345..6e39387 100644 --- a/README.md +++ b/README.md @@ -82,11 +82,11 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa - Adding «Remote Desktop Users» group:
http://superuser.com/questions/680572/ -### Tutorial videos: +#### Tutorial videos: - [~~Updating RDP Wrapper INI file manually~~][yt-updating] (now use installer to update INI file) - [How to find offsets for new termsrv.dll versions][yt-offsets] -Files in release package: +### Files in release package: | File name | Description | | --------- | ----------- | @@ -111,6 +111,14 @@ There is no definitive answer, see [this discussion](https://github.com/stascorp Yes, it works in online mode by default. You may disable it by removing `-o` flag in the `install.bat` file. +> 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). + +> What is INI file and why we need it? + +INI file was introduced in version 1.5. It stores system configuration for RDP Wrapper — general wrapping settings, binary patch codes, and per build specific data. When new `termsrv.dll` build comes out, developer adds support for it by updating INI file in repository. + > Config Tool reports version 1.5, but I installed higher version. What's the matter? Beginning with version 1.5 the `rdpwrap.dll` is not updated anymore, since all settings are stored in INI file. Deal with it. @@ -123,7 +131,9 @@ Make sure you're connected to the Internet and run `update.bat`. 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. -Change log: +--- + +### Change log: #### 2016.08.01 - Version 1.6.1 From 13c0932252c2cebc766c9fc49a60901f18b9b60b Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 12 Aug 2016 11:57:41 +0300 Subject: [PATCH 041/120] INI: Add support for new builds (fix #137) 10.0.14385.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6e39387..7dccf62 100644 --- a/README.md +++ b/README.md @@ -280,6 +280,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14372.0 (Windows 10 RS1 Release 160620-2342) - 10.0.14379.0 (Windows 10 RS1 Release 160627-1607) - 10.0.14383.0 (Windows 10 RS1 Release 160701-1839) +- 10.0.14385.0 (Windows 10 RS1 Release 160706-1700) - 10.0.14388.0 (Windows 10 RS1 Release 160709-1635) - 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index bcd0df6..56b0bff 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-07-22 +Updated=2016-08-12 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1970,6 +1970,36 @@ 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 @@ -2587,6 +2617,25 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 3010ce5..cfcecb6 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-07-22 +Updated=2016-08-12 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1025,6 +1025,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CC10 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14385.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7698 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F941 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34635 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=295A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF69 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B295 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A6038 @@ -1610,6 +1636,25 @@ 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 diff --git a/technical.txt b/technical.txt index d91cfc6..2ff2bb8 100644 --- a/technical.txt +++ b/technical.txt @@ -81,11 +81,15 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.08.12 : +- added support for termsrv.dll 10.0.14385.0 + 2016.08.01 : - preparing the release From af6a3c7194e92a32e5cf8bb62695c3e904e49e55 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 14 Aug 2016 03:04:17 +0300 Subject: [PATCH 042/120] README: FAQ about RDPCheck (fix #139) --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 7dccf62..a74e560 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,10 @@ Make sure you're connected to the Internet and run `update.bat`. 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. +> Why `RDPCheck` doesn't allow to change resolution and other settings? + +`RDPCheck` is a very simple application and only for testing purposes. You need to use Microsoft Remote Desktop Client (`mstsc.exe`) if you want to customize the settings. You can use `127.0.0.1` or `127.0.0.2` address for loopback connection. + --- ### Change log: From a60c7f4351f86c0ba8703217d0863f662ad3021d Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 28 Aug 2016 16:32:09 +0300 Subject: [PATCH 043/120] INI: Add support for new builds (fix #141) 6.1.7601.23403 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 18 +++++++++++++++++- res/rdpwrap.ini | 16 +++++++++++++++- technical.txt | 4 ++++ 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a74e560..d54551e 100644 --- a/README.md +++ b/README.md @@ -250,6 +250,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 6.1.7601.22750 (Windows 7 SP1 with KB2984972 LDR) - 6.1.7601.18637 (Windows 7 SP1 with KB3003743 GDR) - 6.1.7601.22843 (Windows 7 SP1 with KB3003743 LDR) +- 6.1.7601.23403 (Windows 7 SP1 with KB3125574) - 6.2.8102.0 (Windows 8 Developer Preview) - 6.2.8250.0 (Windows 8 Consumer Preview) - 6.2.8400.0 (Windows 8 Release Preview) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 56b0bff..c4287cc 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-08-12 +Updated=2016-08-28 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -556,6 +556,22 @@ 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.2.8102.0] ; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled ; .text:1000F7E5 lea eax, [esp+150h+VersionInformation] diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index cfcecb6..cea0f00 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-08-12 +Updated=2016-08-28 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -189,6 +189,20 @@ DefPolicyPatch.x64=1 DefPolicyOffset.x64=17D6E DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +[6.1.7601.23403] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A65D +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17F62 +SingleUserCode.x64=Zero +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.2.8102.0] SingleUserPatch.x86=1 SingleUserOffset.x86=F7E9 diff --git a/technical.txt b/technical.txt index 2ff2bb8..44de6ca 100644 --- a/technical.txt +++ b/technical.txt @@ -42,6 +42,7 @@ Terminal Services supported versions 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.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] @@ -87,6 +88,9 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +2016.08.28 : +- added support for termsrv.dll 6.1.7601.23403 + 2016.08.12 : - added support for termsrv.dll 10.0.14385.0 From d556f4373f94d2482261b2b7d4ff1b55bb7735d1 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 28 Aug 2016 16:58:49 +0300 Subject: [PATCH 044/120] INI: Add support for new builds (fix #140) 10.0.14901.1000 x86/x64 10.0.14905.1000 x86/x64 --- README.md | 2 + res/rdpwrap-ini-kb.txt | 98 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 90 ++++++++++++++++++++++++++++++++++++++ technical.txt | 4 ++ 4 files changed, 194 insertions(+) diff --git a/README.md b/README.md index d54551e..8f37188 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,8 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14385.0 (Windows 10 RS1 Release 160706-1700) - 10.0.14388.0 (Windows 10 RS1 Release 160709-1635) - 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) +- 10.0.14901.1000 (Windows 10 RS Pre-Release 160805-1700) +- 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index c4287cc..fd16875 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -2076,6 +2076,66 @@ SLInitHook.x64=1 SLInitOffset.x64=C930 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 + [SLInit] ; Is server bServerSku=1 @@ -2689,3 +2749,41 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index cea0f00..f02e261 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -1117,6 +1117,58 @@ SLInitHook.x64=1 SLInitOffset.x64=C930 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14901.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6038 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D781 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=359C5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=299A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF29 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1AFC5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6038 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D781 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=359C5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=299A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF29 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1AFC5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=45636 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=C930 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1706,3 +1758,41 @@ 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 diff --git a/technical.txt b/technical.txt index 44de6ca..d022376 100644 --- a/technical.txt +++ b/technical.txt @@ -85,11 +85,15 @@ Terminal Services supported versions 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.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] Source code changelog (rdpwrap library): 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 From 59b1924af9f4d510a6974baa7f6d9fd99e61a060 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 3 Sep 2016 14:36:22 +0300 Subject: [PATCH 045/120] INI: Add support for new builds (fix #150) 10.0.14915.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8f37188..dcfcafd 100644 --- a/README.md +++ b/README.md @@ -290,6 +290,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) - 10.0.14901.1000 (Windows 10 RS Pre-Release 160805-1700) - 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739) +- 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index fd16875..c6fa1eb 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-08-28 +Updated=2016-09-03 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2136,6 +2136,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -2787,3 +2817,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index f02e261..6bc8da0 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-08-28 +Updated=2016-09-03 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1169,6 +1169,32 @@ SLInitHook.x64=1 SLInitOffset.x64=C930 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14915.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6D98 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E241 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35E35 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=29EB4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30399 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B4A5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=46092 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CE40 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1796,3 +1822,22 @@ 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 diff --git a/technical.txt b/technical.txt index d022376..fb7face 100644 --- a/technical.txt +++ b/technical.txt @@ -87,9 +87,13 @@ Terminal Services supported versions 10.0.14393.0 (Windows 10 rs1_release.160715-1616) [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] Source code changelog (rdpwrap library): +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 From 121f893c0c9adbcbc098628cc2c0822230386465 Mon Sep 17 00:00:00 2001 From: cher-nov Date: Sat, 10 Sep 2016 19:47:50 +1000 Subject: [PATCH 046/120] Installer: Add check for supported Windows version --- src-installer/RDPWInst.dpr | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 497d4e1..3a97730 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -1091,6 +1091,13 @@ begin 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.'); From 743b53ca169085b67aa8b2efa561e3238efedcc7 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 14 Sep 2016 23:09:20 +0300 Subject: [PATCH 047/120] INI: Add support for new builds (fix #157) 10.0.10586.589 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dcfcafd..73f3a30 100644 --- a/README.md +++ b/README.md @@ -268,6 +268,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.10041.0 (Windows 10 Pro Technical Preview Update 1) - 10.0.10240.16384 (Windows 10 RTM) - 10.0.10586.0 (Windows 10 TH2 Release 151029-1700) +- 10.0.10586.589 (Windows 10 TH2 Release 160906-1759 with KB3185614) - 10.0.11082.1000 (Windows 10 RS1 Release 151210-2021) - 10.0.11102.1000 (Windows 10 RS1 Release 160113-1800) - 10.0.14251.1000 (Windows 10 RS1 Release 160124-1059) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index c6fa1eb..1a0061c 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-09-03 +Updated=2016-09-14 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1486,6 +1486,36 @@ 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 @@ -2408,6 +2438,25 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 6bc8da0..7a83121 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-09-03 +Updated=2016-09-14 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -609,6 +609,32 @@ SLInitHook.x64=1 SLInitOffset.x64=25220 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.10586.589] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7BE8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=96A51 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=353B5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=190D4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30B69 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=229A5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A7C98 @@ -1414,6 +1440,25 @@ 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 diff --git a/technical.txt b/technical.txt index fb7face..b20b758 100644 --- a/technical.txt +++ b/technical.txt @@ -65,6 +65,7 @@ Terminal Services supported versions 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] @@ -91,6 +92,9 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +2016.09.14 : +- added support for termsrv.dll 10.0.10586.589 + 2016.09.03 : - added support for termsrv.dll 10.0.14915.1000 From 73c2583a4692f7875eb51d312dd358f96692e419 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 15 Sep 2016 23:58:24 +0300 Subject: [PATCH 048/120] INI: Add support for new builds (fix #160) 10.0.14926.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 73f3a30..fa2212b 100644 --- a/README.md +++ b/README.md @@ -292,6 +292,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14901.1000 (Windows 10 RS Pre-Release 160805-1700) - 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739) - 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902) +- 10.0.14926.1000 (Windows 10 RS Pre-Release 160910-1529) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 1a0061c..3bfc0a4 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-09-14 +Updated=2016-09-15 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2196,6 +2196,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -2885,3 +2915,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 7a83121..558d11c 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-09-14 +Updated=2016-09-15 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1221,6 +1221,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CE40 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14926.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6D18 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E071 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35E55 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=29EB4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=303B9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B4A5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=460A2 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=CE40 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1886,3 +1912,22 @@ 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 diff --git a/technical.txt b/technical.txt index b20b758..5e193ad 100644 --- a/technical.txt +++ b/technical.txt @@ -89,9 +89,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.09.15 : +- added support for termsrv.dll 10.0.14926.1000 + 2016.09.14 : - added support for termsrv.dll 10.0.10586.589 From 1bbeee751b1086e708ebf8352291ddf22e1a1b3a Mon Sep 17 00:00:00 2001 From: binarymaster Date: Tue, 27 Sep 2016 18:07:45 +0300 Subject: [PATCH 049/120] INI: Add support for new builds (fix #167) 10.0.14931.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa2212b..2e1e801 100644 --- a/README.md +++ b/README.md @@ -293,6 +293,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739) - 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902) - 10.0.14926.1000 (Windows 10 RS Pre-Release 160910-1529) +- 10.0.14931.1000 (Windows 10 RS Pre-Release 160916-1700) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 3bfc0a4..ff0f499 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-09-15 +Updated=2016-09-27 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2226,6 +2226,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -2934,3 +2964,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 558d11c..86cb19c 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-09-15 +Updated=2016-09-27 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1247,6 +1247,32 @@ SLInitHook.x64=1 SLInitOffset.x64=CE40 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14931.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A4908 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8B411 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35705 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=29264 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF69 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1AD05 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=452FD +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=C7FC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1931,3 +1957,22 @@ 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 diff --git a/technical.txt b/technical.txt index 5e193ad..f9c8d4c 100644 --- a/technical.txt +++ b/technical.txt @@ -90,9 +90,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.09.27 : +- added support for termsrv.dll 10.0.14931.1000 + 2016.09.15 : - added support for termsrv.dll 10.0.14926.1000 From ae54efba8e59c0b5d509556604bdcaaff53191bd Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 30 Sep 2016 01:32:31 +0300 Subject: [PATCH 050/120] INI: Add support for new builds (fix #168) 10.0.14936.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2e1e801..e038097 100644 --- a/README.md +++ b/README.md @@ -294,6 +294,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902) - 10.0.14926.1000 (Windows 10 RS Pre-Release 160910-1529) - 10.0.14931.1000 (Windows 10 RS Pre-Release 160916-1700) +- 10.0.14936.1000 (Windows 10 RS Pre-Release 160923-1700) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index ff0f499..69c5469 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-09-27 +Updated=2016-09-30 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2256,6 +2256,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -2983,3 +3013,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 86cb19c..3728bd9 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-09-27 +Updated=2016-09-30 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1273,6 +1273,32 @@ SLInitHook.x64=1 SLInitOffset.x64=C7FC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14936.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A3F38 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8B9A1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35355 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=25174 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FCD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1BB55 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=44CFE +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=C62C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -1976,3 +2002,22 @@ 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 diff --git a/technical.txt b/technical.txt index f9c8d4c..de434f4 100644 --- a/technical.txt +++ b/technical.txt @@ -91,9 +91,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.09.30 : +- added support for termsrv.dll 10.0.14936.1000 + 2016.09.27 : - added support for termsrv.dll 10.0.14931.1000 From 59a3a5b305f8efa444173d171f956517d26d5b26 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 8 Oct 2016 23:47:40 +0300 Subject: [PATCH 051/120] INI: Add support for new builds (fix #172) 10.0.14942.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e038097..91b4e98 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14926.1000 (Windows 10 RS Pre-Release 160910-1529) - 10.0.14931.1000 (Windows 10 RS Pre-Release 160916-1700) - 10.0.14936.1000 (Windows 10 RS Pre-Release 160923-1700) +- 10.0.14942.1000 (Windows 10 RS Pre-Release 161003-1929) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 69c5469..039c526 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-09-30 +Updated=2016-10-08 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2286,6 +2286,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3032,3 +3062,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 3728bd9..4712d4b 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-09-30 +Updated=2016-10-08 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1299,6 +1299,32 @@ SLInitHook.x64=1 SLInitOffset.x64=C62C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14942.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A3F38 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=9115B +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35355 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=199BD +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FCD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1064E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=44CFE +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=258EC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2021,3 +2047,22 @@ 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 diff --git a/technical.txt b/technical.txt index de434f4..18b2fb7 100644 --- a/technical.txt +++ b/technical.txt @@ -92,9 +92,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.10.08 : +- added support for termsrv.dll 10.0.14942.1000 + 2016.09.30 : - added support for termsrv.dll 10.0.14936.1000 From fe43b60f5c5401b8c6d43eeccf719009f1874ad6 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 19 Oct 2016 20:52:05 +0300 Subject: [PATCH 052/120] INI: Add support for new builds (fix #173) 10.0.14946.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 91b4e98..a69c924 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14931.1000 (Windows 10 RS Pre-Release 160916-1700) - 10.0.14936.1000 (Windows 10 RS Pre-Release 160923-1700) - 10.0.14942.1000 (Windows 10 RS Pre-Release 161003-1929) +- 10.0.14946.1000 (Windows 10 RS Pre-Release 161007-1700) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 039c526..64b4bb3 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-10-08 +Updated=2016-10-19 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2316,6 +2316,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3081,3 +3111,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 4712d4b..d8bd7b1 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-10-08 +Updated=2016-10-19 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1325,6 +1325,32 @@ SLInitHook.x64=1 SLInitOffset.x64=258EC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14946.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A4018 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=911AB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35355 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=199AD +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FCD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1064E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=44CFD +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=258DC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2066,3 +2092,22 @@ 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 diff --git a/technical.txt b/technical.txt index 18b2fb7..a5f4345 100644 --- a/technical.txt +++ b/technical.txt @@ -93,9 +93,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.10.19 : +- added support for termsrv.dll 10.0.14946.1000 + 2016.10.08 : - added support for termsrv.dll 10.0.14942.1000 From 0175a08fd1ed7a42ce46ae32bd783b6e3303f356 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 21 Oct 2016 22:12:56 +0300 Subject: [PATCH 053/120] INI: Add support for new builds (fix #175) 10.0.14951.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a69c924..2582e76 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14936.1000 (Windows 10 RS Pre-Release 160923-1700) - 10.0.14942.1000 (Windows 10 RS Pre-Release 161003-1929) - 10.0.14946.1000 (Windows 10 RS Pre-Release 161007-1700) +- 10.0.14951.1000 (Windows 10 RS Pre-Release 161014-1700) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 64b4bb3..370749d 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-10-19 +Updated=2016-10-21 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2346,6 +2346,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3130,3 +3160,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index d8bd7b1..077f8ff 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-10-19 +Updated=2016-10-21 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1351,6 +1351,32 @@ SLInitHook.x64=1 SLInitOffset.x64=258DC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14951.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A78D8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=94A6B +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=3BA85 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1CEDD +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=32629 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=11E9E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=3F680 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=22EE0 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2111,3 +2137,22 @@ 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 diff --git a/technical.txt b/technical.txt index a5f4345..85961e2 100644 --- a/technical.txt +++ b/technical.txt @@ -94,9 +94,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.10.21 : +- added support for termsrv.dll 10.0.14951.1000 + 2016.10.19 : - added support for termsrv.dll 10.0.14946.1000 From 47830889eb13e4e3ba5130906353685a34ed8326 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 28 Oct 2016 20:51:09 +0300 Subject: [PATCH 054/120] INI: Add support for new builds (fix #177) 10.0.14955.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2582e76..29af703 100644 --- a/README.md +++ b/README.md @@ -298,6 +298,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14942.1000 (Windows 10 RS Pre-Release 161003-1929) - 10.0.14946.1000 (Windows 10 RS Pre-Release 161007-1700) - 10.0.14951.1000 (Windows 10 RS Pre-Release 161014-1700) +- 10.0.14955.1000 (Windows 10 RS Pre-Release 161020-1700) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 370749d..edebe02 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-10-21 +Updated=2016-10-28 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2376,6 +2376,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3179,3 +3209,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 077f8ff..1b94f32 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-10-21 +Updated=2016-10-28 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1377,6 +1377,32 @@ SLInitHook.x64=1 SLInitOffset.x64=22EE0 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14955.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A78D8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=94A6B +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=3BA85 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1CEDD +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=32629 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=11E9E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=3F680 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=22EE0 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2156,3 +2182,22 @@ 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 diff --git a/technical.txt b/technical.txt index 85961e2..f9be0f3 100644 --- a/technical.txt +++ b/technical.txt @@ -95,9 +95,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2016.10.28 : +- added support for termsrv.dll 10.0.14955.1000 + 2016.10.21 : - added support for termsrv.dll 10.0.14951.1000 From 3cb1ed5944d0d223db58468f797f62ceeac39c56 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 19 Nov 2016 23:33:26 +0300 Subject: [PATCH 055/120] INI: Add support for new builds (fix #181) 10.0.14959.1000 x86/x64 10.0.14965.1001 x86/x64 10.0.14971.1000 x86/x64 --- README.md | 3 + res/rdpwrap-ini-kb.txt | 149 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 137 ++++++++++++++++++++++++++++++++++++- technical.txt | 8 +++ 4 files changed, 295 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 29af703..1969c5a 100644 --- a/README.md +++ b/README.md @@ -299,6 +299,9 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14946.1000 (Windows 10 RS Pre-Release 161007-1700) - 10.0.14951.1000 (Windows 10 RS Pre-Release 161014-1700) - 10.0.14955.1000 (Windows 10 RS Pre-Release 161020-1700) +- 10.0.14959.1000 (Windows 10 RS Pre-Release 161026-1700) +- 10.0.14965.1001 (Windows 10 RS Pre-Release 161104-1700) +- 10.0.14971.1000 (Windows 10 RS Pre-Release 161111-1700) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index edebe02..eef0321 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-10-28 +Updated=2016-11-19 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2406,6 +2406,96 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3228,3 +3318,60 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 1b94f32..27e0db8 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-10-28 +Updated=2016-11-19 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1403,6 +1403,84 @@ SLInitHook.x64=1 SLInitOffset.x64=22EE0 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14959.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A79B8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=934AB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=2EF05 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=16A0D +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2A4E9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=10A8E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7868 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=9345B +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=3BA85 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17DFD +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=32A59 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1212E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7968 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=925FB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36FE5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1803D +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3D9A9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=11FBE +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=46500 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=26180 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2201,3 +2279,60 @@ 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 diff --git a/technical.txt b/technical.txt index f9be0f3..a5b2deb 100644 --- a/technical.txt +++ b/technical.txt @@ -96,9 +96,17 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From e69261a495e63c8dfe8c15713fe2326776fbbcd3 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 23 Dec 2016 21:26:18 +0300 Subject: [PATCH 056/120] INI: Add support for new builds (fix #189) 10.0.14986.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1969c5a..c8d6485 100644 --- a/README.md +++ b/README.md @@ -302,6 +302,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14959.1000 (Windows 10 RS Pre-Release 161026-1700) - 10.0.14965.1001 (Windows 10 RS Pre-Release 161104-1700) - 10.0.14971.1000 (Windows 10 RS Pre-Release 161111-1700) +- 10.0.14986.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index eef0321..02370c4 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-11-19 +Updated=2016-12-23 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2496,6 +2496,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3375,3 +3405,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 27e0db8..2a3ca74 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-11-19 +Updated=2016-12-23 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1481,6 +1481,32 @@ SLInitHook.x64=1 SLInitOffset.x64=26180 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14986.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7878 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=926BB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36FA5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17FFD +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3D979 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=11F7E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=464A0 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=26140 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2336,3 +2362,22 @@ 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 diff --git a/technical.txt b/technical.txt index a5b2deb..508bd8b 100644 --- a/technical.txt +++ b/technical.txt @@ -99,9 +99,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From e9ad5e709fd5522acf04c414f296d5c49011b74b Mon Sep 17 00:00:00 2001 From: Stas'M Date: Tue, 10 Jan 2017 16:49:33 +0300 Subject: [PATCH 057/120] Update README.md - Add badges --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index c8d6485..c73413e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # RDP Wrapper Library by Stas'M +![Environment](https://img.shields.io/badge/Windows-Vista, 7, 8, 10-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) + The goal of this project is to enable Remote Desktop Host support and concurrent RDP sessions on reduced functionality systems for home usage. 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. From fe535fd34b103fe9ca476585a190e11d89d989fb Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 12 Jan 2017 21:18:08 +0300 Subject: [PATCH 058/120] INI: Add support for new builds (fix #193) 10.0.15002.1001 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c73413e..5375af7 100644 --- a/README.md +++ b/README.md @@ -309,6 +309,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14965.1001 (Windows 10 RS Pre-Release 161104-1700) - 10.0.14971.1000 (Windows 10 RS Pre-Release 161111-1700) - 10.0.14986.1000 (Windows 10 Build 160101.0800) +- 10.0.15002.1001 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 02370c4..de1d891 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2016-12-23 +Updated=2017-01-12 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2526,6 +2526,36 @@ SLInitHook.x64=1 SLInitOffset.x64=26140 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 + [SLInit] ; Is server bServerSku=1 @@ -3424,3 +3454,22 @@ bRemoteConnAllowed.x64=EE474 bMultimonAllowed.x64 =EE478 ulMaxDebugSessions.x64=EE47C bFUSEnabled.x64 =EE480 + +[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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 2a3ca74..ab73f5c 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2016-12-23 +Updated=2017-01-12 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1507,6 +1507,32 @@ SLInitHook.x64=1 SLInitOffset.x64=26140 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15002.1001] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9698 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=931EB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=346B5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=274ED +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3D779 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1D95E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=47D90 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=E000 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2381,3 +2407,22 @@ bRemoteConnAllowed.x64=EE474 bMultimonAllowed.x64 =EE478 ulMaxDebugSessions.x64=EE47C bFUSEnabled.x64 =EE480 + +[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 diff --git a/technical.txt b/technical.txt index 508bd8b..219906b 100644 --- a/technical.txt +++ b/technical.txt @@ -100,9 +100,13 @@ Terminal Services supported versions 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.15002.1001 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] Source code changelog (rdpwrap library): +2017.01.12 : +- added support for termsrv.dll 10.0.15002.1001 + 2016.12.23 : - added support for termsrv.dll 10.0.14986.1000 From e1f1d7c123a8b390d88c8594d1c4adf70ac9fb7d Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 12 Jan 2017 21:30:31 +0300 Subject: [PATCH 059/120] Update README (fix #191) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5375af7..9807663 100644 --- a/README.md +++ b/README.md @@ -356,7 +356,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll `6.0.6000.16386`) - If Terminal Services hangs at startup, try to add **`rdpwrap.dll`** to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command:
`sc config TermService type= own` -- RDP Wrapper Installer can be removed by AVG Free Antivirus after reboot - add it to exclusions. +- RDP Wrapper can be removed by AVG Free Antivirus and [Norton Antivirus](https://github.com/stascorp/rdpwrap/issues/191) - first make sure you downloaded [official release](https://github.com/stascorp/rdpwrap/releases) from GitHub, then add it to exclusions. Installation instructions: - Download latest release binaries and unpack files From 7412f7a732418b8488e36415c0d22a79ef28cf47 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 12 Jan 2017 21:57:44 +0300 Subject: [PATCH 060/120] Update README (fix #163) --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 9807663..9203e6d 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,15 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa - RDPWInst can be used for unattended installation / deployment - Windows 2000, XP and Server 2003 will not be supported +### Key features: +- RDP host server on any Windows edition beginning from Vista +- 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 (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) ;) + ### Porting to other platforms: - **ARM** for Windows RT (see links below) - **IA-64** for Itanium-based Windows Server? *Well, I have no idea* :) From 091a0b8e92491458da98b38d6deda394078293d7 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 12 Jan 2017 22:00:53 +0300 Subject: [PATCH 061/120] Update README (fix #192) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9203e6d..b2424e0 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa - RDP host server on any Windows edition beginning from Vista - 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 (the actual limitation depends on your hardware and OS version) +- 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) ;) From 5814e3fcf126989f1a5d5ecdcffdadb884a16245 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 15 Jan 2017 18:33:49 +0300 Subject: [PATCH 062/120] INI: Add support for new builds (fix #195) 10.0.15007.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b2424e0..948bc2c 100644 --- a/README.md +++ b/README.md @@ -319,6 +319,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14971.1000 (Windows 10 RS Pre-Release 161111-1700) - 10.0.14986.1000 (Windows 10 Build 160101.0800) - 10.0.15002.1001 (Windows 10 Build 160101.0800) +- 10.0.15007.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index de1d891..90efe2a 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-01-12 +Updated=2017-01-15 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2556,6 +2556,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3473,3 +3503,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index ab73f5c..b144d38 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-01-12 +Updated=2017-01-15 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1533,6 +1533,32 @@ SLInitHook.x64=1 SLInitOffset.x64=E000 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15007.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9648 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=931EB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34665 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=274ED +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3D719 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1D95E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=47D30 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=E000 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2426,3 +2452,22 @@ 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 diff --git a/technical.txt b/technical.txt index 219906b..7982344 100644 --- a/technical.txt +++ b/technical.txt @@ -101,9 +101,13 @@ Terminal Services supported versions 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.15002.1001 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] +10.0.15007.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] Source code changelog (rdpwrap library): +2017.01.15 : +- added support for termsrv.dll 10.0.15007.1000 + 2017.01.12 : - added support for termsrv.dll 10.0.15002.1001 From 9699e08d1a193ba5f0137276fb3f9e1a29646077 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 21 Jan 2017 19:32:23 +0300 Subject: [PATCH 063/120] INI: Add support for new builds (fix #199) 10.0.15014.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 948bc2c..201fcc7 100644 --- a/README.md +++ b/README.md @@ -320,6 +320,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14986.1000 (Windows 10 Build 160101.0800) - 10.0.15002.1001 (Windows 10 Build 160101.0800) - 10.0.15007.1000 (Windows 10 Build 160101.0800) +- 10.0.15014.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 90efe2a..47aad07 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-01-15 +Updated=2017-01-21 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2586,6 +2586,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3522,3 +3552,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index b144d38..1eca027 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-01-15 +Updated=2017-01-21 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1559,6 +1559,32 @@ SLInitHook.x64=1 SLInitOffset.x64=E000 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15014.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9648 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=931EB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34685 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=274ED +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3D739 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1D95E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=47D50 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=E000 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2471,3 +2497,22 @@ 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 diff --git a/technical.txt b/technical.txt index 7982344..223ae32 100644 --- a/technical.txt +++ b/technical.txt @@ -102,9 +102,13 @@ Terminal Services supported versions 10.0.14986.1000 (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] Source code changelog (rdpwrap library): +2017.01.21 : +- added support for termsrv.dll 10.0.15014.1000 + 2017.01.15 : - added support for termsrv.dll 10.0.15007.1000 From 9b666a396107bedaa41b814746f052b23b678528 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 25 Jan 2017 15:15:39 +0300 Subject: [PATCH 064/120] README: Web archive link for Andrew Block --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 201fcc7..e513a9e 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa - **x86 Delphi version** can be built with *Embarcadero RAD Studio 2010* - **x86/x64 C++ version** can be built with *Microsoft Visual Studio 2013* -[andrewblock]: http://andrewblock.net/2013/07/19/enable-remote-desktop-on-windows-8-core/ +[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) [xda-dev]: http://forum.xda-developers.com/showthread.php?t=2093525&page=3 [yt-updating]: http://www.youtube.com/watch?v=W9BpbEt1yJw From 0f0fbeb71f1bb2509a3b229412da954781541ade Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 28 Jan 2017 21:16:33 +0300 Subject: [PATCH 065/120] INI: Add support for new builds (fix #203) 10.0.15019.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 52 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 48 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 103 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e513a9e..ae1ae87 100644 --- a/README.md +++ b/README.md @@ -321,6 +321,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15002.1001 (Windows 10 Build 160101.0800) - 10.0.15007.1000 (Windows 10 Build 160101.0800) - 10.0.15014.1000 (Windows 10 Build 160101.0800) +- 10.0.15019.1000 (Windows 10 RS Pre-Release 170121-1513) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 47aad07..38e7680 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-01-21 +Updated=2017-01-28 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -51,6 +51,7 @@ 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 [6.0.6000.16386] @@ -2616,6 +2617,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3571,3 +3602,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 1eca027..3280615 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-01-21 +Updated=2017-01-28 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -33,6 +33,7 @@ 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 [6.0.6000.16386] @@ -1585,6 +1586,32 @@ SLInitHook.x64=1 SLInitOffset.x64=E000 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15019.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A39F8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=928FB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=BADF5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=FBDD +SingleUserCode.x64=Zero +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 +SLInitHook.x86=1 +SLInitOffset.x86=3C240 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=24480 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2516,3 +2543,22 @@ 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 diff --git a/technical.txt b/technical.txt index 223ae32..557217e 100644 --- a/technical.txt +++ b/technical.txt @@ -103,9 +103,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2017.01.28 : +- added support for termsrv.dll 10.0.15019.1000 + 2017.01.21 : - added support for termsrv.dll 10.0.15014.1000 From 1e93d3ca2024d129f72f83ec68c18fd101fa2e64 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 3 Feb 2017 01:53:42 +0300 Subject: [PATCH 066/120] INI: Add support for new builds (fix #204) 10.0.15025.1000 (x64 only) --- README.md | 1 + res/rdpwrap-ini-kb.txt | 30 +++++++++++++++++++++++++++++- res/rdpwrap.ini | 26 +++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 59 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ae1ae87..44ce24b 100644 --- a/README.md +++ b/README.md @@ -322,6 +322,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15007.1000 (Windows 10 Build 160101.0800) - 10.0.15014.1000 (Windows 10 Build 160101.0800) - 10.0.15019.1000 (Windows 10 RS Pre-Release 170121-1513) +- 10.0.15025.1000 (Windows 10 RS Pre-Release 170127-1750) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 38e7680..0609bc7 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-01-28 +Updated=2017-02-03 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2647,6 +2647,24 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3621,3 +3639,13 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 3280615..8c416c9 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-01-28 +Updated=2017-02-03 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1612,6 +1612,20 @@ SLInitHook.x64=1 SLInitOffset.x64=24480 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15025.1000] +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=9259B +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=2C08D +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1DD0E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x64=1 +SLInitOffset.x64=E5B8 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2562,3 +2576,13 @@ 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 diff --git a/technical.txt b/technical.txt index 557217e..23ec30f 100644 --- a/technical.txt +++ b/technical.txt @@ -104,9 +104,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From acaf2b2f7246cf9ed70354b651eb232a85d9b534 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 1 Mar 2017 21:21:49 +0300 Subject: [PATCH 067/120] INI: Add support for new builds (fix #207) 10.0.15031.0 x86/x64 10.0.15042.0 x86/x64 --- README.md | 2 + res/rdpwrap-ini-kb.txt | 100 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 92 ++++++++++++++++++++++++++++++++++++- technical.txt | 6 +++ 4 files changed, 198 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 44ce24b..d85d954 100644 --- a/README.md +++ b/README.md @@ -323,6 +323,8 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15014.1000 (Windows 10 Build 160101.0800) - 10.0.15019.1000 (Windows 10 RS Pre-Release 170121-1513) - 10.0.15025.1000 (Windows 10 RS Pre-Release 170127-1750) +- 10.0.15031.0 (Windows 10 RS2 Release 170204-1546) +- 10.0.15042.0 (Windows 10 RS2 Release 170219-2329) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 0609bc7..ff13c77 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-02-03 +Updated=2017-03-01 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2665,6 +2665,66 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3649,3 +3709,41 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 8c416c9..9392f60 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-02-03 +Updated=2017-03-01 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1626,6 +1626,58 @@ SLInitHook.x64=1 SLInitOffset.x64=E5B8 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15031.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5BA8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E221 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=30A75 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=2A114 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2B1D9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1C7B5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5BA8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E221 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=30A75 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=2A114 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2B1D9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1C7B5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4532D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=D80C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2586,3 +2638,41 @@ 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 diff --git a/technical.txt b/technical.txt index 23ec30f..469cb67 100644 --- a/technical.txt +++ b/technical.txt @@ -105,9 +105,15 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From ee1fa16bf5add4feb28e69b029640606cc3600cf Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 2 Mar 2017 20:36:12 +0300 Subject: [PATCH 068/120] INI: Add support for new builds (fix #211) 10.0.15046.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d85d954..e81b9b4 100644 --- a/README.md +++ b/README.md @@ -325,6 +325,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15025.1000 (Windows 10 RS Pre-Release 170127-1750) - 10.0.15031.0 (Windows 10 RS2 Release 170204-1546) - 10.0.15042.0 (Windows 10 RS2 Release 170219-2329) +- 10.0.15046.0 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index ff13c77..1450ff6 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-03-01 +Updated=2017-03-02 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2725,6 +2725,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3747,3 +3777,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 9392f60..d5baf63 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-03-01 +Updated=2017-03-02 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1678,6 +1678,32 @@ SLInitHook.x64=1 SLInitOffset.x64=D80C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15046.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=80BB8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E361 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=31E95 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=15E14 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=38A19 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=E745 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=9422D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=21FFC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2676,3 +2702,22 @@ 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 diff --git a/technical.txt b/technical.txt index 469cb67..3aa906d 100644 --- a/technical.txt +++ b/technical.txt @@ -107,9 +107,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From fe3a61fa245a793038a53aa547636ba017335972 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 5 Mar 2017 00:39:53 +0300 Subject: [PATCH 069/120] INI: Add support for new builds (fix #212) 10.0.15048.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e81b9b4..d9dd763 100644 --- a/README.md +++ b/README.md @@ -326,6 +326,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15031.0 (Windows 10 RS2 Release 170204-1546) - 10.0.15042.0 (Windows 10 RS2 Release 170219-2329) - 10.0.15046.0 (Windows 10 Build 160101.0800) +- 10.0.15048.0 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 1450ff6..61d4782 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-03-02 +Updated=2017-03-05 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2755,6 +2755,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3796,3 +3826,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index d5baf63..5fdbdfc 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-03-02 +Updated=2017-03-05 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1704,6 +1704,32 @@ SLInitHook.x64=1 SLInitOffset.x64=21FFC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15048.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=80BB8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E361 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=31E95 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=15E14 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=38A19 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=E745 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=9422D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=21FFC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2721,3 +2747,22 @@ 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 diff --git a/technical.txt b/technical.txt index 3aa906d..79d3085 100644 --- a/technical.txt +++ b/technical.txt @@ -108,9 +108,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2017.03.05 : +- added support for termsrv.dll 10.0.15048.0 + 2017.03.02 : - added support for termsrv.dll 10.0.15046.0 From 7d31342dcf559b38de6d02185652bdf8b294390d Mon Sep 17 00:00:00 2001 From: binarymaster Date: Tue, 14 Mar 2017 23:41:47 +0300 Subject: [PATCH 070/120] INI: Add support for new builds (fix #218) 10.0.15055.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d9dd763..8046a87 100644 --- a/README.md +++ b/README.md @@ -327,6 +327,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15042.0 (Windows 10 RS2 Release 170219-2329) - 10.0.15046.0 (Windows 10 Build 160101.0800) - 10.0.15048.0 (Windows 10 Build 160101.0800) +- 10.0.15055.0 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 61d4782..4f3e387 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-03-05 +Updated=2017-03-14 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2785,6 +2785,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3845,3 +3875,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 5fdbdfc..e715bd9 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-03-05 +Updated=2017-03-14 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1730,6 +1730,32 @@ SLInitHook.x64=1 SLInitOffset.x64=21FFC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15055.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5348 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D2E1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=374C5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=181E4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3BAD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=10B65 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=44EFF +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=22AEC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2766,3 +2792,22 @@ 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 diff --git a/technical.txt b/technical.txt index 79d3085..256e724 100644 --- a/technical.txt +++ b/technical.txt @@ -109,9 +109,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2017.03.14 : +- added support for termsrv.dll 10.0.15055.0 + 2017.03.05 : - added support for termsrv.dll 10.0.15048.0 From df2b23e2c037165b8848188480027c7127b53885 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 16 Mar 2017 20:18:44 +0300 Subject: [PATCH 071/120] INI: Add support for new builds (fix #219) 10.0.15058.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8046a87..7723104 100644 --- a/README.md +++ b/README.md @@ -328,6 +328,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15046.0 (Windows 10 Build 160101.0800) - 10.0.15048.0 (Windows 10 Build 160101.0800) - 10.0.15055.0 (Windows 10 Build 160101.0800) +- 10.0.15058.0 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 4f3e387..f4138fd 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-03-14 +Updated=2017-03-16 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2815,6 +2815,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3894,3 +3924,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index e715bd9..e14bce7 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-03-14 +Updated=2017-03-16 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1756,6 +1756,32 @@ SLInitHook.x64=1 SLInitOffset.x64=22AEC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15058.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5D68 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8CAA1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35075 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=24E74 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FCD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=2DD65 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4549D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=D1EC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2811,3 +2837,22 @@ 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 diff --git a/technical.txt b/technical.txt index 256e724..277e241 100644 --- a/technical.txt +++ b/technical.txt @@ -110,9 +110,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2017.03.16 : +- added support for termsrv.dll 10.0.15058.0 + 2017.03.14 : - added support for termsrv.dll 10.0.15055.0 From 51dd6cd440c5e8a3d286edcae236b8e42efdbef9 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Mon, 20 Mar 2017 11:08:23 +0300 Subject: [PATCH 072/120] README: Fix badge image link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7723104..0fa61e3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # RDP Wrapper Library by Stas'M -![Environment](https://img.shields.io/badge/Windows-Vista, 7, 8, 10-brightgreen.svg) +![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) From 4f85c52a45ab759545696a0b39dcf13e3edb4d31 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Mon, 20 Mar 2017 11:22:56 +0300 Subject: [PATCH 073/120] README: Add RemoteFX known issue --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0fa61e3..0e7f59e 100644 --- a/README.md +++ b/README.md @@ -372,6 +372,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh #### Known issues: - Beginning with Windows 8 **on tablet PCs** inactive sessions will be logged out by system - [more info](https://github.com/stascorp/rdpwrap/issues/37) - Beginning with Windows 10 you can accidentally lock yourself from PC - [more info](https://github.com/stascorp/rdpwrap/issues/50) +- RDP Wrapper does not work with RemoteFX enabled hosts - [#127](https://github.com/stascorp/rdpwrap/issues/127), [#208](https://github.com/stascorp/rdpwrap/issues/208), [#216](https://github.com/stascorp/rdpwrap/issues/216) - RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll `6.0.6000.16386`) - If Terminal Services hangs at startup, try to add **`rdpwrap.dll`** to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command:
`sc config TermService type= own` From 2ea06e79e71b945b480f19cef76406c0ed732d53 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Mon, 20 Mar 2017 11:25:19 +0300 Subject: [PATCH 074/120] README: Move known issues higher --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 0e7f59e..a26e0c3 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,15 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh `RDPCheck` is a very simple application and only for testing purposes. You need to use Microsoft Remote Desktop Client (`mstsc.exe`) if you want to customize the settings. You can use `127.0.0.1` or `127.0.0.2` address for loopback connection. +### Known issues: +- Beginning with Windows 8 **on tablet PCs** inactive sessions will be logged out by system - [more info](https://github.com/stascorp/rdpwrap/issues/37) +- Beginning with Windows 10 you can accidentally lock yourself from PC - [more info](https://github.com/stascorp/rdpwrap/issues/50) +- RDP Wrapper does not work with RemoteFX enabled hosts - [#127](https://github.com/stascorp/rdpwrap/issues/127), [#208](https://github.com/stascorp/rdpwrap/issues/208), [#216](https://github.com/stascorp/rdpwrap/issues/216) +- RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll `6.0.6000.16386`) +- If Terminal Services hangs at startup, try to add **`rdpwrap.dll`** to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command: +
`sc config TermService type= own` +- RDP Wrapper can be removed by AVG Free Antivirus and [Norton Antivirus](https://github.com/stascorp/rdpwrap/issues/191) - first make sure you downloaded [official release](https://github.com/stascorp/rdpwrap/releases) from GitHub, then add it to exclusions. + --- ### Change log: @@ -369,15 +378,6 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - Windows 10 Enterprise - Windows Server 2016 Technical Preview -#### Known issues: -- Beginning with Windows 8 **on tablet PCs** inactive sessions will be logged out by system - [more info](https://github.com/stascorp/rdpwrap/issues/37) -- Beginning with Windows 10 you can accidentally lock yourself from PC - [more info](https://github.com/stascorp/rdpwrap/issues/50) -- RDP Wrapper does not work with RemoteFX enabled hosts - [#127](https://github.com/stascorp/rdpwrap/issues/127), [#208](https://github.com/stascorp/rdpwrap/issues/208), [#216](https://github.com/stascorp/rdpwrap/issues/216) -- RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll `6.0.6000.16386`) -- If Terminal Services hangs at startup, try to add **`rdpwrap.dll`** to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command: -
`sc config TermService type= own` -- RDP Wrapper can be removed by AVG Free Antivirus and [Norton Antivirus](https://github.com/stascorp/rdpwrap/issues/191) - first make sure you downloaded [official release](https://github.com/stascorp/rdpwrap/releases) from GitHub, then add it to exclusions. - Installation instructions: - Download latest release binaries and unpack files - Right-click on **`install.bat`** and select Run as Administrator From ea1c0dd97dcb7edc50a9cb9c343f32207c723e78 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Mon, 20 Mar 2017 11:48:40 +0300 Subject: [PATCH 075/120] README: Add known issue (fix #215) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a26e0c3..9935023 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh ### Known issues: - Beginning with Windows 8 **on tablet PCs** inactive sessions will be logged out by system - [more info](https://github.com/stascorp/rdpwrap/issues/37) - Beginning with Windows 10 you can accidentally lock yourself from PC - [more info](https://github.com/stascorp/rdpwrap/issues/50) +- Terminal Service does not start after installing some updates or "Access Denied" issue - [#215](https://github.com/stascorp/rdpwrap/issues/215), [#101](https://github.com/stascorp/rdpwrap/issues/101) - RDP Wrapper does not work with RemoteFX enabled hosts - [#127](https://github.com/stascorp/rdpwrap/issues/127), [#208](https://github.com/stascorp/rdpwrap/issues/208), [#216](https://github.com/stascorp/rdpwrap/issues/216) - RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll `6.0.6000.16386`) - If Terminal Services hangs at startup, try to add **`rdpwrap.dll`** to antivirus exclusions. Also try to isolate RDP Wrapper from other shared services by the command: From baddaab28eb63a08a6f32d0934f87cd896baeeb2 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Tue, 21 Mar 2017 21:07:52 +0300 Subject: [PATCH 076/120] INI: Add support for new builds (fix #222) 10.0.15061.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9935023..56e2051 100644 --- a/README.md +++ b/README.md @@ -339,6 +339,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15048.0 (Windows 10 Build 160101.0800) - 10.0.15055.0 (Windows 10 Build 160101.0800) - 10.0.15058.0 (Windows 10 Build 160101.0800) +- 10.0.15061.0 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index f4138fd..cabbe22 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-03-16 +Updated=2017-03-21 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2845,6 +2845,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3943,3 +3973,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index e14bce7..1079695 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-03-16 +Updated=2017-03-21 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1782,6 +1782,32 @@ SLInitHook.x64=1 SLInitOffset.x64=D1EC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15061.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5D68 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8CAA1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35075 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=24E74 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FCD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=2DD65 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4549D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=D1EC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2856,3 +2882,22 @@ 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 diff --git a/technical.txt b/technical.txt index 277e241..354f3f6 100644 --- a/technical.txt +++ b/technical.txt @@ -111,9 +111,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2017.03.21 : +- added support for termsrv.dll 10.0.15061.0 + 2017.03.16 : - added support for termsrv.dll 10.0.15058.0 From 49770e6bb8bbb78f09679421c6294a6613519ed5 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 22 Mar 2017 20:38:58 +0300 Subject: [PATCH 077/120] INI: Add support for new builds (fix #224) 10.0.15063.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 56e2051..c6ff371 100644 --- a/README.md +++ b/README.md @@ -340,6 +340,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15055.0 (Windows 10 Build 160101.0800) - 10.0.15058.0 (Windows 10 Build 160101.0800) - 10.0.15061.0 (Windows 10 Build 160101.0800) +- 10.0.15063.0 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index cabbe22..875aa72 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-03-21 +Updated=2017-03-22 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2875,6 +2875,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -3992,3 +4022,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 1079695..89a91ce 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-03-21 +Updated=2017-03-22 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1808,6 +1808,32 @@ SLInitHook.x64=1 SLInitOffset.x64=D1EC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15063.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5D68 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8CAA1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35075 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=24E74 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FCD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=2DD65 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4549D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=D1EC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2901,3 +2927,22 @@ 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 diff --git a/technical.txt b/technical.txt index 354f3f6..2a852b4 100644 --- a/technical.txt +++ b/technical.txt @@ -112,9 +112,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2017.03.22 : +- added support for termsrv.dll 10.0.15063.0 + 2017.03.21 : - added support for termsrv.dll 10.0.15061.0 From 8b2e24cecf62dba1cbcbec07cc033541de5516f1 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 3 May 2017 23:27:12 +0300 Subject: [PATCH 078/120] INI: Add support for new builds - 10.0.16179.1000 (x86/x64) - 10.0.16184.1001 (x86/x64) --- README.md | 2 + res/rdpwrap-ini-kb.txt | 100 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 92 ++++++++++++++++++++++++++++++++++++- technical.txt | 6 +++ 4 files changed, 198 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c6ff371..257f28e 100644 --- a/README.md +++ b/README.md @@ -341,6 +341,8 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15058.0 (Windows 10 Build 160101.0800) - 10.0.15061.0 (Windows 10 Build 160101.0800) - 10.0.15063.0 (Windows 10 Build 160101.0800) +- 10.0.16179.1000 (Windows 10 Build 160101.0800) +- 10.0.16184.1001 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 875aa72..acbbda7 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-03-22 +Updated=2017-05-03 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2905,6 +2905,66 @@ SLInitHook.x64=1 SLInitOffset.x64=D1EC 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 + [SLInit] ; Is server bServerSku=1 @@ -4041,3 +4101,41 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 89a91ce..870ebb3 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-03-22 +Updated=2017-05-03 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1834,6 +1834,58 @@ SLInitHook.x64=1 SLInitOffset.x64=D1EC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16179.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AA568 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8C141 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34425 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=16F84 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31219 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1E7F5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AA568 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8C141 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=34425 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=16F84 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31219 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1E7F5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=45F30 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=21700 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -2946,3 +2998,41 @@ 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 diff --git a/technical.txt b/technical.txt index 2a852b4..aa759f0 100644 --- a/technical.txt +++ b/technical.txt @@ -113,9 +113,15 @@ Terminal Services supported versions 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.16179.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] +10.0.16184.1001 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] Source code changelog (rdpwrap library): +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 From 890006de99625c194aa48dfd27c5c9a53bdb656e Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 12 May 2017 21:10:38 +0300 Subject: [PATCH 079/120] INI: Add support for new builds (fix #245) 10.0.14393.1198 (x86 only) --- README.md | 1 + res/rdpwrap-ini-kb.txt | 30 +++++++++++++++++++++++++++++- res/rdpwrap.ini | 26 +++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 59 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 257f28e..0717590 100644 --- a/README.md +++ b/README.md @@ -314,6 +314,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14385.0 (Windows 10 RS1 Release 160706-1700) - 10.0.14388.0 (Windows 10 RS1 Release 160709-1635) - 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) +- 10.0.14393.1198 (Windows 10 RS1 Release Sec 170427-1353 with KB4019472) - 10.0.14901.1000 (Windows 10 RS Pre-Release 160805-1700) - 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739) - 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index acbbda7..eddd69c 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-05-03 +Updated=2017-05-12 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2107,6 +2107,24 @@ 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.14901.1000] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 @@ -3598,6 +3616,16 @@ 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.14901.1000-SLInit] bInitialized.x86 =C1F6C bServerSku.x86 =C1F70 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 870ebb3..6d280eb 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-05-03 +Updated=2017-05-12 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1144,6 +1144,20 @@ SLInitHook.x64=1 SLInitOffset.x64=C930 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14393.1198] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6088 +LocalOnlyCode.x86=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=359C5 +SingleUserCode.x86=nop +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FF29 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +SLInitHook.x86=1 +SLInitOffset.x86=45636 +SLInitFunc.x86=New_CSLQuery_Initialize + [10.0.14901.1000] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A6038 @@ -2495,6 +2509,16 @@ 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.14901.1000-SLInit] bInitialized.x86 =C1F6C bServerSku.x86 =C1F70 diff --git a/technical.txt b/technical.txt index aa759f0..2ae82ec 100644 --- a/technical.txt +++ b/technical.txt @@ -86,6 +86,7 @@ Terminal Services supported versions 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.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] @@ -118,6 +119,9 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +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 From 85f2b39568df0425c19a96b9a83d07f75c995263 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 17 May 2017 15:01:07 +0300 Subject: [PATCH 080/120] INI: Add support for new builds (relates to #194) 10.0.14997.1001 (x64 only) --- README.md | 1 + res/rdpwrap-ini-kb.txt | 30 +++++++++++++++++++++++++++++- res/rdpwrap.ini | 26 +++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 59 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0717590..bf5ec16 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14965.1001 (Windows 10 RS Pre-Release 161104-1700) - 10.0.14971.1000 (Windows 10 RS Pre-Release 161111-1700) - 10.0.14986.1000 (Windows 10 Build 160101.0800) +- 10.0.14997.1001 (Windows 10 Build 160101.0800) - 10.0.15002.1001 (Windows 10 Build 160101.0800) - 10.0.15007.1000 (Windows 10 Build 160101.0800) - 10.0.15014.1000 (Windows 10 Build 160101.0800) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index eddd69c..005db48 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-05-12 +Updated=2017-05-17 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2545,6 +2545,24 @@ 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 @@ -3892,6 +3910,16 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 6d280eb..244e03e 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-05-12 +Updated=2017-05-17 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1522,6 +1522,20 @@ SLInitHook.x64=1 SLInitOffset.x64=26140 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14997.1001] +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=931EB +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=274ED +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1D95E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x64=1 +SLInitOffset.x64=E000 +SLInitFunc.x64=New_CSLQuery_Initialize + [10.0.15002.1001] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A9698 @@ -2785,6 +2799,16 @@ 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 diff --git a/technical.txt b/technical.txt index 2ae82ec..b5975fe 100644 --- a/technical.txt +++ b/technical.txt @@ -101,6 +101,7 @@ Terminal Services supported versions 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] @@ -119,6 +120,9 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +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 From 49c9cbf379cce2d4dc60a87aa5def01699bb95b3 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Mon, 29 May 2017 13:30:07 +0300 Subject: [PATCH 081/120] INI: Add support for new builds (fix #254) 10.0.16199.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bf5ec16..09a6516 100644 --- a/README.md +++ b/README.md @@ -345,6 +345,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15063.0 (Windows 10 Build 160101.0800) - 10.0.16179.1000 (Windows 10 Build 160101.0800) - 10.0.16184.1001 (Windows 10 Build 160101.0800) +- 10.0.16199.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 005db48..7b7de00 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-05-17 +Updated=2017-05-29 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -3001,6 +3001,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -4195,3 +4225,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 244e03e..a75982b 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-05-17 +Updated=2017-05-29 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1914,6 +1914,32 @@ SLInitHook.x64=1 SLInitOffset.x64=21700 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16199.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=ABA68 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8CED1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=348C5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=28C14 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=319B9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=CB25 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=469B0 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=FA30 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3084,3 +3110,22 @@ 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 diff --git a/technical.txt b/technical.txt index b5975fe..a447968 100644 --- a/technical.txt +++ b/technical.txt @@ -117,9 +117,13 @@ Terminal Services supported versions 10.0.15063.0 (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] Source code changelog (rdpwrap library): +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 From f0e21b8802c7a69263703a01a24478e046900697 Mon Sep 17 00:00:00 2001 From: Alexander Georgievskiy Date: Thu, 1 Jun 2017 12:08:39 +0300 Subject: [PATCH 082/120] Add MSI installer fixes #14 --- RDPWInst.wxs | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 RDPWInst.wxs diff --git a/RDPWInst.wxs b/RDPWInst.wxs new file mode 100644 index 0000000..358ce31 --- /dev/null +++ b/RDPWInst.wxs @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NOT Installed AND NOT WIX_UPGRADE_DETECTED + REMOVE AND NOT UPGRADINGPRODUCTCODE + UPGRADINGPRODUCTCODE + + + + + From f71684aa264d8a04d63aa177ff9bf7ced87b4583 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 10 Jun 2017 15:42:35 +0300 Subject: [PATCH 083/120] INI: Add support for new builds (fix #258) 10.0.15063.296 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 09a6516..5ab388b 100644 --- a/README.md +++ b/README.md @@ -343,6 +343,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15058.0 (Windows 10 Build 160101.0800) - 10.0.15061.0 (Windows 10 Build 160101.0800) - 10.0.15063.0 (Windows 10 Build 160101.0800) +- 10.0.15063.296 (Windows 10 Build 160101.0800) - 10.0.16179.1000 (Windows 10 Build 160101.0800) - 10.0.16184.1001 (Windows 10 Build 160101.0800) - 10.0.16199.1000 (Windows 10 Build 160101.0800) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 7b7de00..c199399 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-05-29 +Updated=2017-06-10 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2941,6 +2941,36 @@ 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.16179.1000] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 @@ -4188,6 +4218,25 @@ 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.16179.1000-SLInit] bInitialized.x86 =C7F6C bServerSku.x86 =C7F70 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index a75982b..7bb1ff7 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-05-29 +Updated=2017-06-10 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1862,6 +1862,32 @@ SLInitHook.x64=1 SLInitOffset.x64=D1EC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15063.296] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A5D68 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8CAA1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35075 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=24E74 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=2FCD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=2DD65 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4549D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=D1EC +SLInitFunc.x64=New_CSLQuery_Initialize + [10.0.16179.1000] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=AA568 @@ -3073,6 +3099,25 @@ 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.16179.1000-SLInit] bInitialized.x86 =C7F6C bServerSku.x86 =C7F70 diff --git a/technical.txt b/technical.txt index a447968..c7290c7 100644 --- a/technical.txt +++ b/technical.txt @@ -115,12 +115,16 @@ Terminal Services supported versions 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.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] Source code changelog (rdpwrap library): +2017.06.10 : +- added support for termsrv.dll 10.0.15063.296 + 2017.05.29 : - added support for termsrv.dll 10.0.16199.1000 From 7b809a887d551ca319135d3acea7aa68fd85a4eb Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sat, 10 Jun 2017 18:16:01 +0300 Subject: [PATCH 084/120] INI: Add support for new builds (fix #261) 10.0.16215.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 45 ++++++++++++++++++++++++++++++++++++++ technical.txt | 2 ++ 4 files changed, 97 insertions(+) diff --git a/README.md b/README.md index 5ab388b..8ee1604 100644 --- a/README.md +++ b/README.md @@ -347,6 +347,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16179.1000 (Windows 10 Build 160101.0800) - 10.0.16184.1001 (Windows 10 Build 160101.0800) - 10.0.16199.1000 (Windows 10 Build 160101.0800) +- 10.0.16215.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index c199399..0871c9f 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -3061,6 +3061,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -4293,3 +4323,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 7bb1ff7..b120c96 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -1966,6 +1966,32 @@ SLInitHook.x64=1 SLInitOffset.x64=FA30 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16215.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7CE8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8DE21 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39F05 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=28724 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3E019 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=CC15 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=46462 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=FB00 +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3174,3 +3200,22 @@ 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 diff --git a/technical.txt b/technical.txt index c7290c7..f015525 100644 --- a/technical.txt +++ b/technical.txt @@ -119,11 +119,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): 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 From 7ef04f27c2242e111c8932ae1c36c9f28fe7aabc Mon Sep 17 00:00:00 2001 From: Alexander Georgievskiy Date: Tue, 13 Jun 2017 23:46:19 +0300 Subject: [PATCH 085/120] Create RDPWInst.wxs --- RDPWInst.wxs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RDPWInst.wxs b/RDPWInst.wxs index 358ce31..fa37565 100644 --- a/RDPWInst.wxs +++ b/RDPWInst.wxs @@ -19,7 +19,7 @@ - + @@ -27,8 +27,8 @@ - - + + From f26edcb6f8c02bb9a4af315aebd7d834d528df03 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 29 Jun 2017 23:44:44 +0300 Subject: [PATCH 086/120] INI: Add support for new builds (fix #269) 6.3.9600.18692 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 100 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ee1604..79e5040 100644 --- a/README.md +++ b/README.md @@ -286,6 +286,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 6.3.9600.16384 (Windows 8.1 / Server 2012 R2) - 6.3.9600.17095 (Windows 8.1 with KB2959626) - 6.3.9600.17415 (Windows 8.1 with KB3000850) +- 6.3.9600.18692 (Windows 8.1 with KB4022720) - 6.4.9841.0 (Windows 10 Technical Preview) - 6.4.9860.0 (Windows 10 Technical Preview Update 1) - 6.4.9879.0 (Windows 10 Technical Preview Update 2) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 0871c9f..49634e9 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1125,6 +1125,36 @@ 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.4.9841.0] ; Patch CEnforcementCore::GetInstanceOfTSLicense ; .text:1009569B call sub_100B7EE5 @@ -3200,6 +3230,25 @@ 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.4.9841.0-SLInit] bFUSEnabled.x86 =BF9F0 lMaxUserSessions.x86 =BF9F4 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index b120c96..ea7ed71 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-06-10 +Updated=2017-06-29 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -428,6 +428,32 @@ SLInitHook.x64=1 SLInitOffset.x64=5DBC0 SLInitFunc.x64=New_CSLQuery_Initialize +[6.3.9600.18692] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=B3458 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8B2E9 +LocalOnlyCode.x64=nopjmp +SingleUserPatch.x86=1 +SingleUserOffset.x86=37105 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=37039 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3CFE9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=45835 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=18488 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=5DBD0 +SLInitFunc.x64=New_CSLQuery_Initialize + [6.4.9841.0] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=956A8 @@ -2078,6 +2104,25 @@ 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.4.9841.0-SLInit] bFUSEnabled.x86 =BF9F0 lMaxUserSessions.x86 =BF9F4 diff --git a/technical.txt b/technical.txt index f015525..5d75566 100644 --- a/technical.txt +++ b/technical.txt @@ -53,6 +53,7 @@ Terminal Services supported versions 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.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] @@ -123,6 +124,9 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +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 From 2ba5baa34f4f0762323959de65154e814548b557 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 30 Jul 2017 20:55:21 +0300 Subject: [PATCH 087/120] INI: Add support for new builds (fix #285) 6.3.9600.18708 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 79e5040..784fcc8 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 6.3.9600.17095 (Windows 8.1 with KB2959626) - 6.3.9600.17415 (Windows 8.1 with KB3000850) - 6.3.9600.18692 (Windows 8.1 with KB4022720) +- 6.3.9600.18708 (Windows 8.1 with KB4025335) - 6.4.9841.0 (Windows 10 Technical Preview) - 6.4.9860.0 (Windows 10 Technical Preview Update 1) - 6.4.9879.0 (Windows 10 Technical Preview Update 2) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 49634e9..dd8ad51 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-06-10 +Updated=2017-07-30 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1155,6 +1155,36 @@ 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.4.9841.0] ; Patch CEnforcementCore::GetInstanceOfTSLicense ; .text:1009569B call sub_100B7EE5 @@ -3249,6 +3279,25 @@ 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.4.9841.0-SLInit] bFUSEnabled.x86 =BF9F0 lMaxUserSessions.x86 =BF9F4 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index ea7ed71..cd6bf76 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-06-29 +Updated=2017-07-30 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -454,6 +454,32 @@ SLInitHook.x64=1 SLInitOffset.x64=5DBD0 SLInitFunc.x64=New_CSLQuery_Initialize +[6.3.9600.18708] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=B35D8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8B376 +LocalOnlyCode.x64=nopjmp +SingleUserPatch.x86=1 +SingleUserOffset.x86=370F5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=36FE9 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3CFD9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=457D5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=18308 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=5DB70 +SLInitFunc.x64=New_CSLQuery_Initialize + [6.4.9841.0] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=956A8 @@ -2123,6 +2149,25 @@ 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.4.9841.0-SLInit] bFUSEnabled.x86 =BF9F0 lMaxUserSessions.x86 =BF9F4 diff --git a/technical.txt b/technical.txt index 5d75566..359edb2 100644 --- a/technical.txt +++ b/technical.txt @@ -54,6 +54,7 @@ Terminal Services supported versions 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.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] @@ -124,6 +125,9 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +2017.07.30 : +- added support for termsrv.dll 6.3.9600.18708 + 2017.06.29 : - added support for termsrv.dll 6.3.9600.18692 From 3e7c0ebfd20de9150507dfc00adbb01713a0bee9 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 30 Jul 2017 21:19:32 +0300 Subject: [PATCH 088/120] INI: Add support for new builds (fix #286) 10.0.16251.0 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 45 ++++++++++++++++++++++++++++++++++++++ technical.txt | 2 ++ 4 files changed, 97 insertions(+) diff --git a/README.md b/README.md index 784fcc8..a6a4d14 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16184.1001 (Windows 10 Build 160101.0800) - 10.0.16199.1000 (Windows 10 Build 160101.0800) - 10.0.16215.1000 (Windows 10 Build 160101.0800) +- 10.0.16251.0 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index dd8ad51..a6bb17b 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -3151,6 +3151,36 @@ SLInitHook.x64=1 SLInitOffset.x64=FB00 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 + [SLInit] ; Is server bServerSku=1 @@ -4440,3 +4470,22 @@ bRemoteConnAllowed.x64=EB4A4 bMultimonAllowed.x64 =EB4A8 ulMaxDebugSessions.x64=EB4AC bFUSEnabled.x64 =EB4B0 + +[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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index cd6bf76..8f0d8e5 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2044,6 +2044,32 @@ SLInitHook.x64=1 SLInitOffset.x64=FB00 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16251.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=ABC88 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8EC21 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=3A525 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1BCB4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31779 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=DAF5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=447FD +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=2183C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3309,3 +3335,22 @@ bRemoteConnAllowed.x64=EB4A4 bMultimonAllowed.x64 =EB4A8 ulMaxDebugSessions.x64=EB4AC bFUSEnabled.x64 =EB4B0 + +[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 diff --git a/technical.txt b/technical.txt index 359edb2..32fdad9 100644 --- a/technical.txt +++ b/technical.txt @@ -122,11 +122,13 @@ Terminal Services supported versions 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.16251.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] Source code changelog (rdpwrap library): 2017.07.30 : - added support for termsrv.dll 6.3.9600.18708 +- added support for termsrv.dll 10.0.16251.0 2017.06.29 : - added support for termsrv.dll 6.3.9600.18692 From 733ed36f7083fe189f8159d9b070563c14405929 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 30 Jul 2017 21:47:03 +0300 Subject: [PATCH 089/120] INI: Add support for new builds 10.0.16251.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 45 ++++++++++++++++++++++++++++++++++++++ technical.txt | 2 ++ 4 files changed, 97 insertions(+) diff --git a/README.md b/README.md index a6a4d14..66b0bd5 100644 --- a/README.md +++ b/README.md @@ -351,6 +351,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16199.1000 (Windows 10 Build 160101.0800) - 10.0.16215.1000 (Windows 10 Build 160101.0800) - 10.0.16251.0 (Windows 10 Build 160101.0800) +- 10.0.16251.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index a6bb17b..9aecabe 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -3181,6 +3181,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -4489,3 +4519,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 8f0d8e5..d7a44c9 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2070,6 +2070,32 @@ SLInitHook.x64=1 SLInitOffset.x64=2183C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16251.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=ABC88 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8EC21 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=3A525 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1BCB4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31779 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=DAF5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=447FD +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=2183C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3354,3 +3380,22 @@ 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 diff --git a/technical.txt b/technical.txt index 32fdad9..dd36f6b 100644 --- a/technical.txt +++ b/technical.txt @@ -123,12 +123,14 @@ Terminal Services supported versions 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.16251.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] +10.0.16251.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] Source code changelog (rdpwrap library): 2017.07.30 : - added support for termsrv.dll 6.3.9600.18708 - 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 From 8a3a20c6cb47c8a477371c8996b653f7ebf74091 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 30 Jul 2017 22:23:23 +0300 Subject: [PATCH 090/120] INI: Add support for new builds (fix #279) 10.0.16237.1001 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 45 ++++++++++++++++++++++++++++++++++++++ technical.txt | 2 ++ 4 files changed, 97 insertions(+) diff --git a/README.md b/README.md index 66b0bd5..0d2c8b8 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16184.1001 (Windows 10 Build 160101.0800) - 10.0.16199.1000 (Windows 10 Build 160101.0800) - 10.0.16215.1000 (Windows 10 Build 160101.0800) +- 10.0.16237.1001 (Windows 10 Build 160101.0800) - 10.0.16251.0 (Windows 10 Build 160101.0800) - 10.0.16251.1000 (Windows 10 Build 160101.0800) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 9aecabe..02f3cdc 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -3151,6 +3151,36 @@ 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.16251.0] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 @@ -4501,6 +4531,25 @@ 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.16251.0-SLInit] bInitialized.x86 =C9F78 bServerSku.x86 =C9F7C diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index d7a44c9..6cdc368 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2044,6 +2044,32 @@ SLInitHook.x64=1 SLInitOffset.x64=FB00 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16237.1001] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7F38 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E911 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39F85 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1BC84 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3E119 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=DA55 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=ABC88 @@ -3362,6 +3388,25 @@ 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.16251.0-SLInit] bInitialized.x86 =C9F78 bServerSku.x86 =C9F7C diff --git a/technical.txt b/technical.txt index dd36f6b..a6f4113 100644 --- a/technical.txt +++ b/technical.txt @@ -122,6 +122,7 @@ Terminal Services supported versions 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.16237.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] @@ -129,6 +130,7 @@ Source code changelog (rdpwrap library): 2017.07.30 : - added support for termsrv.dll 6.3.9600.18708 +- added support for termsrv.dll 10.0.16237.1001 - added support for termsrv.dll 10.0.16251.0 - added support for termsrv.dll 10.0.16251.1000 From 72f3d6ea0722bfd3e7a80e6a16f15ccc186579d5 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 30 Jul 2017 22:42:50 +0300 Subject: [PATCH 091/120] INI: Add support for new builds (fix #275) 10.0.16232.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 45 ++++++++++++++++++++++++++++++++++++++ technical.txt | 2 ++ 4 files changed, 97 insertions(+) diff --git a/README.md b/README.md index 0d2c8b8..8af8edc 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16184.1001 (Windows 10 Build 160101.0800) - 10.0.16199.1000 (Windows 10 Build 160101.0800) - 10.0.16215.1000 (Windows 10 Build 160101.0800) +- 10.0.16232.1000 (Windows 10 Build 160101.0800) - 10.0.16237.1001 (Windows 10 Build 160101.0800) - 10.0.16251.0 (Windows 10 Build 160101.0800) - 10.0.16251.1000 (Windows 10 Build 160101.0800) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 02f3cdc..462b8da 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -3151,6 +3151,36 @@ 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 @@ -4531,6 +4561,25 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 6cdc368..8d04c70 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2044,6 +2044,32 @@ SLInitHook.x64=1 SLInitOffset.x64=FB00 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16232.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7D38 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8DD41 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39F35 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=287B4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3E0C9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=CC15 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A7F38 @@ -3388,6 +3414,25 @@ 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 diff --git a/technical.txt b/technical.txt index a6f4113..374d1b7 100644 --- a/technical.txt +++ b/technical.txt @@ -122,6 +122,7 @@ Terminal Services supported versions 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.16251.0 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] 10.0.16251.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] @@ -130,6 +131,7 @@ Source code changelog (rdpwrap library): 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.16251.0 - added support for termsrv.dll 10.0.16251.1000 From 13fca00206f2d2434271250b48dbcfb68d8f04af Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 30 Jul 2017 22:55:31 +0300 Subject: [PATCH 092/120] INI: Add support for new builds 10.0.16241.1001 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 45 ++++++++++++++++++++++++++++++++++++++ technical.txt | 2 ++ 4 files changed, 97 insertions(+) diff --git a/README.md b/README.md index 8af8edc..34742b9 100644 --- a/README.md +++ b/README.md @@ -352,6 +352,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16215.1000 (Windows 10 Build 160101.0800) - 10.0.16232.1000 (Windows 10 Build 160101.0800) - 10.0.16237.1001 (Windows 10 Build 160101.0800) +- 10.0.16241.1001 (Windows 10 Build 160101.0800) - 10.0.16251.0 (Windows 10 Build 160101.0800) - 10.0.16251.1000 (Windows 10 Build 160101.0800) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 462b8da..3800bfe 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -3211,6 +3211,36 @@ 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 @@ -4599,6 +4629,25 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 8d04c70..c9871c2 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2096,6 +2096,32 @@ SLInitHook.x64=1 SLInitOffset.x64=2180C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16241.1001] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A7F38 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E911 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39F85 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1BC84 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3E119 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=DA55 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=ABC88 @@ -3452,6 +3478,25 @@ 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 diff --git a/technical.txt b/technical.txt index 374d1b7..0cd85d3 100644 --- a/technical.txt +++ b/technical.txt @@ -124,6 +124,7 @@ Terminal Services supported versions 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] @@ -133,6 +134,7 @@ Source code changelog (rdpwrap library): - 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 From 37d1872aa753b52a43e167c00ab463b8b01ed448 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 4 Aug 2017 22:46:48 +0300 Subject: [PATCH 093/120] INI: Add support for new builds (fix #292) 10.0.16257.1 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 34742b9..010fa5e 100644 --- a/README.md +++ b/README.md @@ -355,6 +355,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16241.1001 (Windows 10 Build 160101.0800) - 10.0.16251.0 (Windows 10 Build 160101.0800) - 10.0.16251.1000 (Windows 10 Build 160101.0800) +- 10.0.16257.1 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 3800bfe..da5d65c 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-07-30 +Updated=2017-08-04 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -3301,6 +3301,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -4685,3 +4715,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index c9871c2..f0bab11 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-07-30 +Updated=2017-08-04 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -2174,6 +2174,32 @@ SLInitHook.x64=1 SLInitOffset.x64=2183C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16257.1] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AB718 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E841 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=33925 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=11364 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3C409 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1EFD5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4504D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=2495C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3534,3 +3560,22 @@ 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 diff --git a/technical.txt b/technical.txt index 0cd85d3..72d60be 100644 --- a/technical.txt +++ b/technical.txt @@ -127,9 +127,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +2017.08.04 : +- added support for termsrv.dll 10.0.16257.1 + 2017.07.30 : - added support for termsrv.dll 6.3.9600.18708 - added support for termsrv.dll 10.0.16232.1000 From 1c5b9c9e71ef70b2b92bc1765a76d33e1425c856 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 4 Aug 2017 23:01:57 +0300 Subject: [PATCH 094/120] INI: Add support for new builds 10.0.16257.1000 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 45 ++++++++++++++++++++++++++++++++++++++ technical.txt | 2 ++ 4 files changed, 97 insertions(+) diff --git a/README.md b/README.md index 010fa5e..c4b381c 100644 --- a/README.md +++ b/README.md @@ -356,6 +356,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16251.0 (Windows 10 Build 160101.0800) - 10.0.16251.1000 (Windows 10 Build 160101.0800) - 10.0.16257.1 (Windows 10 Build 160101.0800) +- 10.0.16257.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index da5d65c..1edeffb 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -3331,6 +3331,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -4734,3 +4764,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index f0bab11..ba8a061 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2200,6 +2200,32 @@ SLInitHook.x64=1 SLInitOffset.x64=2495C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16257.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AB718 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E841 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=33925 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=11364 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3C409 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1EFD5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4504D +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=2495C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3579,3 +3605,22 @@ 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 diff --git a/technical.txt b/technical.txt index 72d60be..8a8adfd 100644 --- a/technical.txt +++ b/technical.txt @@ -128,11 +128,13 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): 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 From b50f2dec59199915509c1724d97402a35c8697b3 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Wed, 6 Sep 2017 21:21:10 +0300 Subject: [PATCH 095/120] INI: Add support for new builds (fix #307) 10.0.16273.1000 x86/x64 10.0.16275.1000 x86/x64 10.0.16278.1000 x86/x64 10.0.16281.1000 x86/x64 10.0.16353.1000 x86/x64 --- README.md | 5 + res/rdpwrap-ini-kb.txt | 247 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 227 ++++++++++++++++++++++++++++++++++++- technical.txt | 12 ++ 4 files changed, 489 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c4b381c..594ba51 100644 --- a/README.md +++ b/README.md @@ -357,6 +357,11 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16251.1000 (Windows 10 Build 160101.0800) - 10.0.16257.1 (Windows 10 Build 160101.0800) - 10.0.16257.1000 (Windows 10 Build 160101.0800) +- 10.0.16273.1000 (Windows 10 Build 160101.0800) +- 10.0.16275.1000 (Windows 10 Build 160101.0800) +- 10.0.16278.1000 (Windows 10 Build 160101.0800) +- 10.0.16281.1000 (Windows 10 Build 160101.0800) +- 10.0.16353.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 1edeffb..8fbdf68 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-08-04 +Updated=2017-09-06 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -3361,6 +3361,156 @@ 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.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 + [SLInit] ; Is server bServerSku=1 @@ -4783,3 +4933,98 @@ 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.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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index ba8a061..e2cc853 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-08-04 +Updated=2017-09-06 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -2226,6 +2226,136 @@ SLInitHook.x64=1 SLInitOffset.x64=2495C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16273.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AB798 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8E871 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=33925 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=11364 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3C409 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1EFD5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9388 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=90001 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39435 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C724 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DE89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D75 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9388 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=90001 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39435 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C724 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DE89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D75 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E08 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FD01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39215 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C774 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DC89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A9388 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=90001 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39435 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C724 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DE89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D75 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=463D4 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=22D0C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3624,3 +3754,98 @@ 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.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 diff --git a/technical.txt b/technical.txt index 8a8adfd..240acf5 100644 --- a/technical.txt +++ b/technical.txt @@ -129,9 +129,21 @@ Terminal Services supported versions 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.16353.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] Source code changelog (rdpwrap library): +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 From 073c1282db9b03c3cc2d9452f3d74464caf92435 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Fri, 15 Sep 2017 17:43:15 +0300 Subject: [PATCH 096/120] INI: Add support for new builds (fix #309) 10.0.16288.1 x86/x64 --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 594ba51..6afdc09 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16275.1000 (Windows 10 Build 160101.0800) - 10.0.16278.1000 (Windows 10 Build 160101.0800) - 10.0.16281.1000 (Windows 10 Build 160101.0800) +- 10.0.16288.1 (Windows 10 Build 160101.0800) - 10.0.16353.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 8fbdf68..fbd7555 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-09-06 +Updated=2017-09-15 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -3481,6 +3481,36 @@ 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.16353.1000] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 @@ -5010,6 +5040,25 @@ 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.16353.1000-SLInit] bInitialized.x86 =C6F7C bServerSku.x86 =C6F80 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index e2cc853..03edaba 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-09-06 +Updated=2017-09-15 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -2330,6 +2330,32 @@ SLInitHook.x64=1 SLInitOffset.x64=22D5C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16288.1] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E08 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FD01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39215 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C774 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DC89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A9388 @@ -3831,6 +3857,25 @@ 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.16353.1000-SLInit] bInitialized.x86 =C6F7C bServerSku.x86 =C6F80 diff --git a/technical.txt b/technical.txt index 240acf5..8d63b0e 100644 --- a/technical.txt +++ b/technical.txt @@ -133,10 +133,14 @@ Terminal Services supported versions 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.16353.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] Source code changelog (rdpwrap library): +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 From 8ace817d8d371ef10e265bb91c119c0140434d9f Mon Sep 17 00:00:00 2001 From: binarymaster Date: Sun, 24 Sep 2017 22:08:01 +0300 Subject: [PATCH 097/120] INI: Add support for new builds - 10.0.16291.0 x86/x64 (fix #312) - 10.0.16294.1 x86/x64 (fix #313) - 10.0.16296.0 x86/x64 - 10.0.16362.1000 x86/x64 (fix #311) --- README.md | 4 + res/rdpwrap-ini-kb.txt | 198 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 182 ++++++++++++++++++++++++++++++++++++- technical.txt | 10 +++ 4 files changed, 392 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6afdc09..4958e8c 100644 --- a/README.md +++ b/README.md @@ -362,7 +362,11 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16278.1000 (Windows 10 Build 160101.0800) - 10.0.16281.1000 (Windows 10 Build 160101.0800) - 10.0.16288.1 (Windows 10 Build 160101.0800) +- 10.0.16291.0 (Windows 10 Build 160101.0800) +- 10.0.16294.1 (Windows 10 Build 160101.0800) +- 10.0.16296.0 (Windows 10 Build 160101.0800) - 10.0.16353.1000 (Windows 10 Build 160101.0800) +- 10.0.16362.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index fbd7555..eb72984 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-09-15 +Updated=2017-09-24 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -3511,6 +3511,96 @@ 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.16353.1000] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 @@ -3541,6 +3631,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -5059,6 +5179,63 @@ 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.16353.1000-SLInit] bInitialized.x86 =C6F7C bServerSku.x86 =C6F80 @@ -5077,3 +5254,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 03edaba..3e0f479 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-09-15 +Updated=2017-09-24 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -2356,6 +2356,84 @@ SLInitHook.x64=1 SLInitOffset.x64=22D5C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16291.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E08 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FD01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39215 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C774 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DC89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E08 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FD01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39215 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C774 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DC89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E08 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FD01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39215 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C774 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DC89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A9388 @@ -2382,6 +2460,32 @@ SLInitHook.x64=1 SLInitOffset.x64=22D0C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16362.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E38 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FBA1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=2F61C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=19D1C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DE99 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=463D4 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=22D9C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3876,6 +3980,63 @@ 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.16353.1000-SLInit] bInitialized.x86 =C6F7C bServerSku.x86 =C6F80 @@ -3894,3 +4055,22 @@ 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 diff --git a/technical.txt b/technical.txt index 8d63b0e..937c427 100644 --- a/technical.txt +++ b/technical.txt @@ -134,10 +134,20 @@ Terminal Services supported versions 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.16353.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] +10.0.16362.1000 (Windows 10 WinBuild.160101.0800) [init hook + extended patch] Source code changelog (rdpwrap library): +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 From 476e277ad3728e34679c611b46b4a61ff9dfe26f Mon Sep 17 00:00:00 2001 From: Mark Yisri Date: Sat, 7 Oct 2017 08:16:14 -0400 Subject: [PATCH 098/120] Update README.md with workaround Add link to discussion about workaround for the Creators Update. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4958e8c..1d25ee5 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh ### Known issues: - Beginning with Windows 8 **on tablet PCs** inactive sessions will be logged out by system - [more info](https://github.com/stascorp/rdpwrap/issues/37) - Beginning with Windows 10 you can accidentally lock yourself from PC - [more info](https://github.com/stascorp/rdpwrap/issues/50) +- Beginning with the Windows 10 Creators Update RDP Wrapper will no longer work, claiming that the listener is not listening. - [more info](https://github.com/stascorp/rdpwrap/issues/194#issuecomment-323564111), [download links](https://github.com/stascorp/rdpwrap/issues/194#issuecomment-325627235) - Terminal Service does not start after installing some updates or "Access Denied" issue - [#215](https://github.com/stascorp/rdpwrap/issues/215), [#101](https://github.com/stascorp/rdpwrap/issues/101) - RDP Wrapper does not work with RemoteFX enabled hosts - [#127](https://github.com/stascorp/rdpwrap/issues/127), [#208](https://github.com/stascorp/rdpwrap/issues/208), [#216](https://github.com/stascorp/rdpwrap/issues/216) - RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll `6.0.6000.16386`) From 96fdc27be5ca2a2381851ffba030332c990de72e Mon Sep 17 00:00:00 2001 From: Stas'M Date: Sat, 7 Oct 2017 15:25:08 +0300 Subject: [PATCH 099/120] README: Addendum for previous commit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d25ee5..665b802 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh ### Known issues: - Beginning with Windows 8 **on tablet PCs** inactive sessions will be logged out by system - [more info](https://github.com/stascorp/rdpwrap/issues/37) - Beginning with Windows 10 you can accidentally lock yourself from PC - [more info](https://github.com/stascorp/rdpwrap/issues/50) -- Beginning with the Windows 10 Creators Update RDP Wrapper will no longer work, claiming that the listener is not listening. - [more info](https://github.com/stascorp/rdpwrap/issues/194#issuecomment-323564111), [download links](https://github.com/stascorp/rdpwrap/issues/194#issuecomment-325627235) +- Beginning with the Creators Update for Windows 10 Home, RDP Wrapper will no longer work, claiming that the listener is `[not listening]` because of `rfxvmt.dll` is missing - [more info](https://github.com/stascorp/rdpwrap/issues/194#issuecomment-323564111), [download links](https://github.com/stascorp/rdpwrap/issues/194#issuecomment-325627235) - Terminal Service does not start after installing some updates or "Access Denied" issue - [#215](https://github.com/stascorp/rdpwrap/issues/215), [#101](https://github.com/stascorp/rdpwrap/issues/101) - RDP Wrapper does not work with RemoteFX enabled hosts - [#127](https://github.com/stascorp/rdpwrap/issues/127), [#208](https://github.com/stascorp/rdpwrap/issues/208), [#216](https://github.com/stascorp/rdpwrap/issues/216) - RDP works, but termsrv.dll crashes on logon attempt - Windows Vista Starter RTM x86 (termsrv.dll `6.0.6000.16386`) From ebdd795d1788063c292b62e42cdae4b245a06b07 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Fri, 13 Oct 2017 18:24:58 +0300 Subject: [PATCH 100/120] INI: Add support for new builds - 10.0.14393.1737 x86/x64 (fix #322) - 10.0.16299.0 x86/x64 - 10.0.16299.15 x86/x64 (fix #316) - 10.0.17004.1000 x86/x64 --- README.md | 4 + res/rdpwrap-ini-kb.txt | 198 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 182 ++++++++++++++++++++++++++++++++++++- technical.txt | 10 +++ 4 files changed, 392 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 665b802..8ccdd81 100644 --- a/README.md +++ b/README.md @@ -318,6 +318,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14388.0 (Windows 10 RS1 Release 160709-1635) - 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) - 10.0.14393.1198 (Windows 10 RS1 Release Sec 170427-1353 with KB4019472) +- 10.0.14393.1737 (Windows 10 RS1 Release Inmarket 170914-1249 with KB4041691) - 10.0.14901.1000 (Windows 10 RS Pre-Release 160805-1700) - 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739) - 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902) @@ -366,8 +367,11 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16291.0 (Windows 10 Build 160101.0800) - 10.0.16294.1 (Windows 10 Build 160101.0800) - 10.0.16296.0 (Windows 10 Build 160101.0800) +- 10.0.16299.0 (Windows 10 Build 160101.0800) +- 10.0.16299.15 (Windows 10 Build 160101.0800) - 10.0.16353.1000 (Windows 10 Build 160101.0800) - 10.0.16362.1000 (Windows 10 Build 160101.0800) +- 10.0.17004.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index eb72984..974f2f9 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-09-24 +Updated=2017-10-13 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2185,6 +2185,36 @@ 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.14901.1000] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 @@ -3601,6 +3631,66 @@ 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 @@ -3661,6 +3751,36 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -4342,6 +4462,25 @@ 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.14901.1000-SLInit] bInitialized.x86 =C1F6C bServerSku.x86 =C1F70 @@ -5236,6 +5375,44 @@ 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 @@ -5273,3 +5450,22 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 3e0f479..96f8611 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-09-24 +Updated=2017-10-13 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1210,6 +1210,32 @@ SLInitHook.x86=1 SLInitOffset.x86=45636 SLInitFunc.x86=New_CSLQuery_Initialize +[10.0.14393.1737] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6198 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D861 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=35AD5 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=299A4 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=30039 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1AFC5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=45724 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=C930 +SLInitFunc.x64=New_CSLQuery_Initialize + [10.0.14901.1000] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A6038 @@ -2434,6 +2460,58 @@ SLInitHook.x64=1 SLInitOffset.x64=22D5C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.16299.0] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E08 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FD01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39215 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C774 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DC89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8E08 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FD01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=39215 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1C774 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DC89 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A9388 @@ -2486,6 +2564,32 @@ SLInitHook.x64=1 SLInitOffset.x64=22D9C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.17004.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A8EB8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8FB41 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=2F65C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=19D1C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3DF09 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=12D85 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=4643F +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=22D9C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -3143,6 +3247,25 @@ 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.14901.1000-SLInit] bInitialized.x86 =C1F6C bServerSku.x86 =C1F70 @@ -4037,6 +4160,44 @@ 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 @@ -4074,3 +4235,22 @@ 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 diff --git a/technical.txt b/technical.txt index 937c427..9e3a613 100644 --- a/technical.txt +++ b/technical.txt @@ -89,6 +89,7 @@ Terminal Services supported versions 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.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] @@ -137,11 +138,20 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From 51b3421a65fce61ec5ce58d703c058a8edf8542a Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 27 Dec 2017 16:34:10 +0300 Subject: [PATCH 101/120] INI: Add support for new builds 10.0.17017.1000 (fix #323) 10.0.17025.1000 (fix #339) 10.0.17035.1000 (fix #348) 10.0.17046.1000 (fix #357) 10.0.17063.1000 (fix #375) --- README.md | 5 + res/rdpwrap-ini-kb.txt | 247 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 227 ++++++++++++++++++++++++++++++++++++- technical.txt | 13 +++ 4 files changed, 490 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8ccdd81..ee2b5d5 100644 --- a/README.md +++ b/README.md @@ -372,6 +372,11 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.16353.1000 (Windows 10 Build 160101.0800) - 10.0.16362.1000 (Windows 10 Build 160101.0800) - 10.0.17004.1000 (Windows 10 Build 160101.0800) +- 10.0.17017.1000 (Windows 10 Build 160101.0800) +- 10.0.17025.1000 (Windows 10 Build 160101.0800) +- 10.0.17035.1000 (Windows 10 Build 160101.0800) +- 10.0.17046.1000 (Windows 10 Build 160101.0800) +- 10.0.17063.1000 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 974f2f9..0a03e8d 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-10-13 +Updated=2017-12-27 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -3781,6 +3781,156 @@ 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 + [SLInit] ; Is server bServerSku=1 @@ -5469,3 +5619,98 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 96f8611..44d7074 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-10-13 +Updated=2017-12-27 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -2590,6 +2590,136 @@ SLInitHook.x64=1 SLInitOffset.x64=22D9C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.17017.1000] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AB388 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F291 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=3477C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1977C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31049 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=125A5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AB498 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F291 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=3477C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1977C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31049 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=125A5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AB3F8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F271 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=354AC +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=14E7C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31F19 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=10CB5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AB3F8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8F281 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=354AC +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=14E8C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31F19 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=10CC5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AD7F8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=92671 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36B0C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=153CC +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=33569 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=111CE +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=474AD +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=2318C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -4254,3 +4384,98 @@ 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 diff --git a/technical.txt b/technical.txt index 9e3a613..187251c 100644 --- a/technical.txt +++ b/technical.txt @@ -143,9 +143,22 @@ Terminal Services supported versions 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] Source code changelog (rdpwrap library): +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 From 180f41197aa6384b918caaec24d2ce17b262b645 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 27 Dec 2017 17:12:28 +0300 Subject: [PATCH 102/120] Installer: Allow to install INI from current directory (fix #300) --- src-installer/RDPWInst.dpr | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 3a97730..e5e43a6 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -1,5 +1,5 @@ { - Copyright 2016 Stas'M Corp. + Copyright 2017 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. @@ -670,7 +670,19 @@ begin OnlineINI.Free; end; if not Online then - ExtractRes('config', ExtractFilePath(ExpandPath(WrapPath)) + 'rdpwrap.ini'); + 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 := ''; case Arch of From 1223417ca1bc9a4aa956fa0ee2735983bdf6cc38 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 27 Dec 2017 20:17:28 +0300 Subject: [PATCH 103/120] Installer: Extract rfxvmt.dll if missing (#194) --- src-installer/RDPWInst.dpr | 10 +++++++++- src-installer/resource.res | Bin 996464 -> 1141176 bytes 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index e5e43a6..9b5de2b 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -641,7 +641,7 @@ end; procedure ExtractFiles; var - RDPClipRes, S: String; + RDPClipRes, RfxvmtRes, S: String; OnlineINI: TStringList; begin if not DirectoryExists(ExtractFilePath(ExpandPath(WrapPath))) then @@ -685,6 +685,7 @@ begin end; RDPClipRes := ''; + RfxvmtRes := ''; case Arch of 32: begin ExtractRes('rdpw32', ExpandPath(WrapPath)); @@ -692,6 +693,8 @@ begin 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)); @@ -699,11 +702,16 @@ begin 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; diff --git a/src-installer/resource.res b/src-installer/resource.res index ebdf66da3653c4e06d961c03430c244a3e05e96b..920430a6fb08f9d1ccb7d975d05e2d3f7906edbc 100644 GIT binary patch delta 76121 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

+@CFz{-It8}DC4Efo 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 Tt!t*c|CKc3;Z-x-Lz4eDU5D9I delta 197 zcmdmS+4aKh&Am#vK zP9Ww2Vs0Sj0b*Vt=G(sdEPrdu^a&|~0sJfsObj5v#=r<98MnVr5tL Date: Wed, 27 Dec 2017 20:20:28 +0300 Subject: [PATCH 104/120] Installer: Update version --- src-installer/RDPWInst.dpr | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 9b5de2b..7894f3b 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -1077,9 +1077,9 @@ end; var I: Integer; begin - Writeln('RDP Wrapper Library v1.6'); - Writeln('Installer v2.3'); - Writeln('Copyright (C) Stas''M Corp. 2016'); + Writeln('RDP Wrapper Library v1.6.2'); + Writeln('Installer v2.5'); + Writeln('Copyright (C) Stas''M Corp. 2017'); Writeln(''); if (ParamCount < 1) From 63bf27f0a9f00f3d24f5e32dfbc719cda5f2dcc3 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 27 Dec 2017 21:28:44 +0300 Subject: [PATCH 105/120] Config: Add HonorLegacySettings option --- src-rdpconfig/MainUnit.dfm | 9 +++++++++ src-rdpconfig/MainUnit.pas | 13 ++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src-rdpconfig/MainUnit.dfm b/src-rdpconfig/MainUnit.dfm index 7361f19..c077af1 100644 --- a/src-rdpconfig/MainUnit.dfm +++ b/src-rdpconfig/MainUnit.dfm @@ -222,6 +222,15 @@ object MainForm: TMainForm Value = 0 OnChange = seRDPPortChange end + object cbCustomPrg: TCheckBox + Left = 8 + Top = 115 + Width = 169 + Height = 17 + Caption = 'Allow to start custom programs' + TabOrder = 4 + OnClick = cbAllowTSConnectionsClick + end end object Timer: TTimer Interval = 250 diff --git a/src-rdpconfig/MainUnit.pas b/src-rdpconfig/MainUnit.pas index c6841d0..48aa051 100644 --- a/src-rdpconfig/MainUnit.pas +++ b/src-rdpconfig/MainUnit.pas @@ -1,5 +1,5 @@ { - Copyright 2016 Stas'M Corp. + Copyright 2017 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. @@ -49,6 +49,7 @@ type lsSuppVer: TLabel; cbHideUsers: TCheckBox; gbGeneral: TGroupBox; + cbCustomPrg: TCheckBox; procedure FormCreate(Sender: TObject); procedure cbAllowTSConnectionsClick(Sender: TObject); procedure seRDPPortChange(Sender: TObject); @@ -373,6 +374,11 @@ begin cbSingleSessionPerUser.Checked := Reg.ReadBool('fSingleSessionPerUser'); except + end; + try + cbCustomPrg.Checked := Reg.ReadBool('HonorLegacySettings'); + except + end; Reg.CloseKey; @@ -431,6 +437,11 @@ begin Reg.WriteBool('fSingleSessionPerUser', cbSingleSessionPerUser.Checked); except + end; + try + Reg.WriteBool('HonorLegacySettings', cbCustomPrg.Checked); + except + end; Reg.CloseKey; From 5ad550638e7de238b9c51d607749180fc755bd94 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 27 Dec 2017 21:31:48 +0300 Subject: [PATCH 106/120] Config: Update version and copyright year --- src-rdpconfig/resource.res | Bin 12936 -> 12936 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src-rdpconfig/resource.res b/src-rdpconfig/resource.res index 9cd36450a4ac2e894b2743929d553a9033280974..68f82f22c8d5756dc2b35bc498808fb4c35e8e1c 100644 GIT binary patch delta 47 xcmeB3?MU5lMw_37fsp|O*uXT?=G)q$jEp9eKk7_pG@sn5`<>BfbE6(R3jhxA3<3ZE delta 47 xcmeB3?MU5lMw_3Rfsp|O*uXU7=G)q$jEu&UKk7_pG@IP1`<>BnbE6(R3jhv`3;h59 From ba75e65dac4ff05990902577d62d76c23c7c9dd5 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 27 Dec 2017 23:30:30 +0300 Subject: [PATCH 107/120] MSI: Move WiX script to res directory and update it --- .gitignore | 5 +++++ RDPWInst.wxs => res/RDPWInst.wxs | 2 +- res/build_wxs.bat | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) rename RDPWInst.wxs => res/RDPWInst.wxs (98%) create mode 100644 res/build_wxs.bat diff --git a/.gitignore b/.gitignore index f0d086f..56e5ba3 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,8 @@ __history/ *.dcu *.exe *.dll +*.msi + +# MSI local stuff +*.wixobj +*.wixpdb diff --git a/RDPWInst.wxs b/res/RDPWInst.wxs similarity index 98% rename from RDPWInst.wxs rename to res/RDPWInst.wxs index fa37565..9352ffc 100644 --- a/RDPWInst.wxs +++ b/res/RDPWInst.wxs @@ -2,7 +2,7 @@ - + diff --git a/res/build_wxs.bat b/res/build_wxs.bat new file mode 100644 index 0000000..9eeef72 --- /dev/null +++ b/res/build_wxs.bat @@ -0,0 +1,3 @@ +@echo off +"%ProgramFiles%\WiX Toolset v3.11\bin\candle" RDPWInst.wxs +"%ProgramFiles%\WiX Toolset v3.11\bin\light" RDPWInst.wixobj From a3cd8ca630190c890109940151290daafe4daf38 Mon Sep 17 00:00:00 2001 From: Stanislav Motylkov Date: Thu, 28 Dec 2017 00:04:36 +0300 Subject: [PATCH 108/120] README: Update changelog for v1.6.2 --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index ee2b5d5..9f3d379 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,17 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh ### Change log: +#### 2017.12.27 +- Version 1.6.2 +- Installer updated +- Include updated INI file for latest Windows builds +- Added check for supported Windows versions ([#155](https://github.com/stascorp/rdpwrap/issues/155)) +- Added feature to take INI file from current directory ([#300](https://github.com/stascorp/rdpwrap/issues/300)) +- Added feature to restore rfxvmt.dll (missing in Windows 10 Home [#194](https://github.com/stascorp/rdpwrap/issues/194)) +- RDP Config updated +- Added feature to allow custom start programs ([#13 (comment)](https://github.com/stascorp/rdpwrap/issues/13#issuecomment-77651843)) +- MSI installation package added ([#14](https://github.com/stascorp/rdpwrap/issues/14)) + #### 2016.08.01 - Version 1.6.1 - Include updated INI file for latest Windows builds From 56915ccf5b5145e56f224da9e9e3dc9b0c7e09a6 Mon Sep 17 00:00:00 2001 From: Jim Yang Date: Sun, 15 Apr 2018 17:51:57 +0800 Subject: [PATCH 109/120] Allow UDP 3389 at firewall configuration --- res/legacy.install.bat | 3 ++- src-installer/RDPWInst.dpr | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/res/legacy.install.bat b/res/legacy.install.bat index a7d8de2..303cc32 100644 --- a/res/legacy.install.bat +++ b/res/legacy.install.bat @@ -50,6 +50,7 @@ if not !errorlevel!==0 ( 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. @@ -88,4 +89,4 @@ echo net start Service2 echo etc. goto END -:END \ No newline at end of file +:END diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 7894f3b..b6c2462 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -978,8 +978,10 @@ end; procedure TSConfigFirewall(Enable: Boolean); begin if Enable then - ExecWait('netsh advfirewall firewall add rule name="Remote Desktop" dir=in protocol=tcp localport=3389 profile=any action=allow') - else + 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; From 7dc8817de9f3363450f5cc04d1b0a8ce3020ee11 Mon Sep 17 00:00:00 2001 From: 1nd1g0 <2098540+1nd1g0@users.noreply.github.com> Date: Mon, 26 Mar 2018 16:35:06 +0300 Subject: [PATCH 110/120] INI: Add support for new builds 6.3.9600.18928 (fix #418) --- README.md | 1 + res/rdpwrap-ini-kb.txt | 51 +++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 47 +++++++++++++++++++++++++++++++++++++- technical.txt | 4 ++++ 4 files changed, 101 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f3d379..6c18f1f 100644 --- a/README.md +++ b/README.md @@ -300,6 +300,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 6.3.9600.17415 (Windows 8.1 with KB3000850) - 6.3.9600.18692 (Windows 8.1 with KB4022720) - 6.3.9600.18708 (Windows 8.1 with KB4025335) +- 6.3.9600.18928 (Windows 8.1 with KB4088876) - 6.4.9841.0 (Windows 10 Technical Preview) - 6.4.9860.0 (Windows 10 Technical Preview Update 1) - 6.4.9879.0 (Windows 10 Technical Preview Update 2) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 0a03e8d..d1a4707 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2017-12-27 +Updated=2018-03-26 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -1185,6 +1185,36 @@ 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.4.9841.0] ; Patch CEnforcementCore::GetInstanceOfTSLicense ; .text:1009569B call sub_100B7EE5 @@ -4078,6 +4108,25 @@ 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.4.9841.0-SLInit] bFUSEnabled.x86 =BF9F0 lMaxUserSessions.x86 =BF9F4 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 44d7074..67cca07 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2017-12-27 +Updated=2018-03-26 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -480,6 +480,32 @@ SLInitHook.x64=1 SLInitOffset.x64=5DB70 SLInitFunc.x64=New_CSLQuery_Initialize +[6.3.9600.18928] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=B39D8 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8B25D +LocalOnlyCode.x64=nopjmp +SingleUserPatch.x86=1 +SingleUserOffset.x86=37D25 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=36C09 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3D6F9 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=45495 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=18328 +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=5D830 +SLInitFunc.x64=New_CSLQuery_Initialize + [6.4.9841.0] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=956A8 @@ -2844,6 +2870,25 @@ 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.4.9841.0-SLInit] bFUSEnabled.x86 =BF9F0 lMaxUserSessions.x86 =BF9F4 diff --git a/technical.txt b/technical.txt index 187251c..90aa08d 100644 --- a/technical.txt +++ b/technical.txt @@ -55,6 +55,7 @@ Terminal Services supported versions 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.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] @@ -152,6 +153,9 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +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 From 560c5a7b45b0db7047cc948125b7fe5e7123661d Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 16 May 2018 12:40:21 +0300 Subject: [PATCH 111/120] INI: Add support for new builds 10.0.17128.1 10.0.17133.1 (fix #442) 10.0.17134.1 (fix #456) --- README.md | 3 + res/rdpwrap-ini-kb.txt | 149 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 137 ++++++++++++++++++++++++++++++++++++- technical.txt | 12 ++++ 4 files changed, 299 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6c18f1f..1f8aa34 100644 --- a/README.md +++ b/README.md @@ -389,6 +389,9 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.17035.1000 (Windows 10 Build 160101.0800) - 10.0.17046.1000 (Windows 10 Build 160101.0800) - 10.0.17063.1000 (Windows 10 Build 160101.0800) +- 10.0.17128.1 (Windows 10 Build 160101.0800) +- 10.0.17133.1 (Windows 10 Build 160101.0800) +- 10.0.17134.1 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index d1a4707..e7f5bf4 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2018-03-26 +Updated=2018-05-16 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -3961,6 +3961,96 @@ SLInitHook.x64=1 SLInitOffset.x64=2318C 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=10E7E +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=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=10E7E +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=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=10E7E +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=22E6C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] ; Is server bServerSku=1 @@ -5763,3 +5853,60 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 67cca07..4728fe2 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2018-03-26 +Updated=2018-05-16 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -2746,6 +2746,84 @@ SLInitHook.x64=1 SLInitOffset.x64=2318C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.17128.1] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AD738 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=925D1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36B0C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1511C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=33569 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=10E7E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AD738 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=925D1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36B0C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1511C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=33569 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=10E7E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AD738 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=925D1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36B0C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1511C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=33569 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=10E7E +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=474AD +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=22E6C +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -4524,3 +4602,60 @@ 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 diff --git a/technical.txt b/technical.txt index 90aa08d..5cd8262 100644 --- a/technical.txt +++ b/technical.txt @@ -120,6 +120,7 @@ Terminal Services supported versions 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) [todo] 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] @@ -150,9 +151,20 @@ Terminal Services supported versions 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) [todo] +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] Source code changelog (rdpwrap library): +2018.05.16 : +- 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 From 2df3a7495877f0a6a3ad1892aaf7391a6e1ec008 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 16 May 2018 17:14:17 +0300 Subject: [PATCH 112/120] Installer: Grant access to system and services (fix #391) --- src-installer/RDPWInst.dpr | 62 +++++++++++++++++++++++++++++++++---- src-installer/resource.res | Bin 1141176 -> 1141176 bytes 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index b6c2462..6c95f3f 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -1,5 +1,5 @@ { - Copyright 2017 Stas'M Corp. + 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. @@ -26,7 +26,9 @@ uses Classes, WinSvc, Registry, - WinInet; + WinInet, + AccCtrl, + AclAPI; function EnumServicesStatusEx( hSCManager: SC_HANDLE; @@ -41,6 +43,11 @@ function EnumServicesStatusEx( 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 @@ -639,14 +646,57 @@ begin 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 - Writeln('[+] Folder created: ', ExtractFilePath(ExpandPath(WrapPath))) + 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))); @@ -1080,8 +1130,8 @@ var I: Integer; begin Writeln('RDP Wrapper Library v1.6.2'); - Writeln('Installer v2.5'); - Writeln('Copyright (C) Stas''M Corp. 2017'); + Writeln('Installer v2.6'); + Writeln('Copyright (C) Stas''M Corp. 2018'); Writeln(''); if (ParamCount < 1) diff --git a/src-installer/resource.res b/src-installer/resource.res index 920430a6fb08f9d1ccb7d975d05e2d3f7906edbc..0e896e17aa6e2955b771c842c29ed61cd1507eb7 100644 GIT binary patch delta 71 zcmV-N0J#6S(?z(`MSz3>gaU*Egam{Iga(8Mgb0KQgbIWUgbaiYgbsucgb=h5;A8;? dx8YgaU*Egam{Iga(8Mgb0KQgbIWUgbaiYgbsucgb=h5;A8;> dx8Y Date: Wed, 16 May 2018 18:43:14 +0300 Subject: [PATCH 113/120] INI: Fix bug in DefPolicy patch (fix #486) --- res/rdpwrap-ini-kb.txt | 13 +++++++------ res/rdpwrap.ini | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index e7f5bf4..9c7270a 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -53,6 +53,7 @@ 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: @@ -3981,8 +3982,8 @@ DefPolicyPatch.x86=1 DefPolicyOffset.x86=33569 DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E7E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +DefPolicyOffset.x64=10E78 +DefPolicyCode.x64=CDefPolicy_Query_edi_rcx ; Hook CSLQuery::Initialize SLInitHook.x86=1 SLInitOffset.x86=474AD @@ -4011,8 +4012,8 @@ DefPolicyPatch.x86=1 DefPolicyOffset.x86=33569 DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E7E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +DefPolicyOffset.x64=10E78 +DefPolicyCode.x64=CDefPolicy_Query_edi_rcx ; Hook CSLQuery::Initialize SLInitHook.x86=1 SLInitOffset.x86=474AD @@ -4041,8 +4042,8 @@ DefPolicyPatch.x86=1 DefPolicyOffset.x86=33569 DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E7E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +DefPolicyOffset.x64=10E78 +DefPolicyCode.x64=CDefPolicy_Query_edi_rcx ; Hook CSLQuery::Initialize SLInitHook.x86=1 SLInitOffset.x86=474AD diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 4728fe2..cc5ded5 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -35,6 +35,7 @@ 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] SingleUserPatch.x86=1 @@ -2763,8 +2764,8 @@ DefPolicyPatch.x86=1 DefPolicyOffset.x86=33569 DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E7E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +DefPolicyOffset.x64=10E78 +DefPolicyCode.x64=CDefPolicy_Query_edi_rcx SLInitHook.x86=1 SLInitOffset.x86=474AD SLInitFunc.x86=New_CSLQuery_Initialize @@ -2789,8 +2790,8 @@ DefPolicyPatch.x86=1 DefPolicyOffset.x86=33569 DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E7E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +DefPolicyOffset.x64=10E78 +DefPolicyCode.x64=CDefPolicy_Query_edi_rcx SLInitHook.x86=1 SLInitOffset.x86=474AD SLInitFunc.x86=New_CSLQuery_Initialize @@ -2815,8 +2816,8 @@ DefPolicyPatch.x86=1 DefPolicyOffset.x86=33569 DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 -DefPolicyOffset.x64=10E7E -DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +DefPolicyOffset.x64=10E78 +DefPolicyCode.x64=CDefPolicy_Query_edi_rcx SLInitHook.x86=1 SLInitOffset.x86=474AD SLInitFunc.x86=New_CSLQuery_Initialize From 65b19543f4d6f94cc444cf07e0f497fddd23dda2 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 16 May 2018 19:26:57 +0300 Subject: [PATCH 114/120] INI: Add support for new builds 10.0.17115.1 (fix #424) --- README.md | 1 + res/rdpwrap-ini-kb.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ res/rdpwrap.ini | 45 ++++++++++++++++++++++++++++++++++++++ technical.txt | 3 ++- 4 files changed, 97 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f8aa34..999d27e 100644 --- a/README.md +++ b/README.md @@ -389,6 +389,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.17035.1000 (Windows 10 Build 160101.0800) - 10.0.17046.1000 (Windows 10 Build 160101.0800) - 10.0.17063.1000 (Windows 10 Build 160101.0800) +- 10.0.17115.1 (Windows 10 Build 160101.0800) - 10.0.17128.1 (Windows 10 Build 160101.0800) - 10.0.17133.1 (Windows 10 Build 160101.0800) - 10.0.17134.1 (Windows 10 Build 160101.0800) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 9c7270a..4f9c24f 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -3962,6 +3962,36 @@ 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 @@ -5855,6 +5885,25 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index cc5ded5..56c822e 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2747,6 +2747,32 @@ SLInitHook.x64=1 SLInitOffset.x64=2318C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.17115.1] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AD738 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=925D1 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36B0C +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1511C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=33569 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=10E78 +DefPolicyCode.x64=CDefPolicy_Query_edi_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=AD738 @@ -4604,6 +4630,25 @@ 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 diff --git a/technical.txt b/technical.txt index 5cd8262..d1735ba 100644 --- a/technical.txt +++ b/technical.txt @@ -153,7 +153,7 @@ Terminal Services supported versions 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) [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] @@ -161,6 +161,7 @@ Terminal Services supported versions Source code changelog (rdpwrap library): 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 From b3e1c77321cd5a8c2102943f162a004010cd913e Mon Sep 17 00:00:00 2001 From: NULL Date: Wed, 3 Oct 2018 20:47:48 +0200 Subject: [PATCH 115/120] INI: Add support for new builds (#568) - 6.1.7600.20890 (fix #563) - 6.1.7600.21316 (fix #564) - 6.1.7601.21650 (fix #565) - 6.1.7601.21866 (fix #566) - 6.1.7601.22104 (fix #567) - 6.3.9600.19093 (fix #549) - 10.0.14393.2457 (fix #542) - 10.0.15063.1155 (fix #506) --- README.md | 8 ++ res/rdpwrap-ini-kb.txt | 187 ++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 193 +++++++++++++++++++++++++++++++++++++---- technical.txt | 23 +++-- 4 files changed, 390 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 999d27e..77d9f52 100644 --- a/README.md +++ b/README.md @@ -282,7 +282,12 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 6.0.6002.23521 (Windows Vista SP2 with KB3003743 LDR) - 6.1.X.X (Windows 7 / Server 2008 R2) - 6.1.7600.16385 (Windows 7) +- 6.1.7600.20890 (Windows 7 with KB2479710) +- 6.1.7600.21316 (Windows 7 with KB2750090) - 6.1.7601.17514 (Windows 7 SP1) +- 6.1.7601.21650 (Windows 7 SP1 with KB2479710) +- 6.1.7601.21866 (Windows 7 SP1 with KB2647409) +- 6.1.7601.22104 (Windows 7 SP1 with KB2750090) - 6.1.7601.18540 (Windows 7 SP1 with KB2984972 GDR) - 6.1.7601.22750 (Windows 7 SP1 with KB2984972 LDR) - 6.1.7601.18637 (Windows 7 SP1 with KB3003743 GDR) @@ -301,6 +306,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 6.3.9600.18692 (Windows 8.1 with KB4022720) - 6.3.9600.18708 (Windows 8.1 with KB4025335) - 6.3.9600.18928 (Windows 8.1 with KB4088876) +- 6.3.9600.19093 (Windows 8.1 with KB4343891) - 6.4.9841.0 (Windows 10 Technical Preview) - 6.4.9860.0 (Windows 10 Technical Preview Update 1) - 6.4.9879.0 (Windows 10 Technical Preview Update 2) @@ -331,6 +337,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) - 10.0.14393.1198 (Windows 10 RS1 Release Sec 170427-1353 with KB4019472) - 10.0.14393.1737 (Windows 10 RS1 Release Inmarket 170914-1249 with KB4041691) +- 10.0.14393.2457 (Windows 10 RS1 Release Inmarket 180822-1743 with KB4457131) - 10.0.14901.1000 (Windows 10 RS Pre-Release 160805-1700) - 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739) - 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902) @@ -360,6 +367,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15061.0 (Windows 10 Build 160101.0800) - 10.0.15063.0 (Windows 10 Build 160101.0800) - 10.0.15063.296 (Windows 10 Build 160101.0800) +- 10.0.15063.1155 (Windows 10 Build 160101.0800) - 10.0.16179.1000 (Windows 10 Build 160101.0800) - 10.0.16184.1001 (Windows 10 Build 160101.0800) - 10.0.16199.1000 (Windows 10 Build 160101.0800) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 4f9c24f..34d3d0b 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2018-05-16 +Updated=2018-09-10 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -343,6 +343,38 @@ 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 @@ -515,6 +547,54 @@ 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 @@ -1216,6 +1296,36 @@ 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 @@ -2246,6 +2356,24 @@ SLInitHook.x64=1 SLInitOffset.x64=C930 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14393.2457] +; Patch CEnforcementCore::GetInstanceOfTSLicense +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D811 +LocalOnlyCode.x64=jmpshort +; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled +SingleUserPatch.x64=1 +SingleUserOffset.x64=29CF4 +SingleUserCode.x64=Zero +; Patch CDefPolicy::Query +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B545 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +; Hook CSLQuery::Initialize +SLInitHook.x64=1 +SLInitOffset.x64=C920 +SLInitFunc.x64=New_CSLQuery_Initialize + [10.0.14901.1000] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 @@ -3092,6 +3220,24 @@ SLInitHook.x64=1 SLInitOffset.x64=D1EC 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 @@ -4248,6 +4394,25 @@ 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 @@ -4801,6 +4966,16 @@ bMultimonAllowed.x64 =E8478 ulMaxDebugSessions.x64=E847C bFUSEnabled.x64 =E8480 +[10.0.14393.2457-SLInit] +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 @@ -5334,6 +5509,16 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index 56c822e..f68c671 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2018-05-16 +Updated=2018-09-10 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -121,6 +121,34 @@ DefPolicyPatch.x64=1 DefPolicyOffset.x64=17AD2 DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +[6.1.7600.20890] +SingleUserPatch.x86=1 +SingleUserOffset.x86=19E2D +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17DF2 +SingleUserCode.x64=Zero +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] +SingleUserPatch.x86=1 +SingleUserOffset.x86=19E2D +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17E3E +SingleUserCode.x64=Zero +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] SingleUserPatch.x86=1 SingleUserOffset.x86=1A49D @@ -149,20 +177,6 @@ DefPolicyPatch.x64=1 DefPolicyOffset.x64=17C82 DefPolicyCode.x64=CDefPolicy_Query_eax_rdi -[6.1.7601.22750] -SingleUserPatch.x86=1 -SingleUserOffset.x86=1A655 -SingleUserCode.x86=nop -SingleUserPatch.x64=1 -SingleUserOffset.x64=17E8E -SingleUserCode.x64=Zero -DefPolicyPatch.x86=1 -DefPolicyOffset.x86=19E21 -DefPolicyCode.x86=CDefPolicy_Query_eax_esi -DefPolicyPatch.x64=1 -DefPolicyOffset.x64=17C92 -DefPolicyCode.x64=CDefPolicy_Query_eax_rdi - [6.1.7601.18637] SingleUserPatch.x86=1 SingleUserOffset.x86=1A4DD @@ -177,6 +191,62 @@ DefPolicyPatch.x64=1 DefPolicyOffset.x64=17DC6 DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +[6.1.7601.21650] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A49D +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=180BE +SingleUserCode.x64=Zero +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] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A49D +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=180BE +SingleUserCode.x64=Zero +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] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A49D +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=180C6 +SingleUserCode.x64=Zero +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.22750] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A655 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=17E8E +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=19E21 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17C92 +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi + [6.1.7601.22843] SingleUserPatch.x86=1 SingleUserOffset.x86=1A655 @@ -507,6 +577,32 @@ SLInitHook.x64=1 SLInitOffset.x64=5D830 SLInitFunc.x64=New_CSLQuery_Initialize +[6.3.9600.19093] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=B3958 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8AE4E +LocalOnlyCode.x64=nopjmp +SingleUserPatch.x86=1 +SingleUserOffset.x86=3F045 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=36BC9 +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=3D899 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=45305 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +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] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=956A8 @@ -1263,6 +1359,20 @@ SLInitHook.x64=1 SLInitOffset.x64=C930 SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.14393.2457] +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8D811 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=29CF4 +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=1B545 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x64=1 +SLInitOffset.x64=C920 +SLInitFunc.x64=New_CSLQuery_Initialize + [10.0.14901.1000] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=A6038 @@ -1993,6 +2103,20 @@ SLInitHook.x64=1 SLInitOffset.x64=D1EC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15063.1155] +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8CB01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=15EA4 +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=FAE5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x64=1 +SLInitOffset.x64=234DC +SLInitFunc.x64=New_CSLQuery_Initialize + [10.0.16179.1000] LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=AA568 @@ -2994,6 +3118,25 @@ 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 @@ -3546,6 +3689,16 @@ bMultimonAllowed.x64 =E8478 ulMaxDebugSessions.x64=E847C bFUSEnabled.x64 =E8480 +[10.0.14393.2457-SLInit] +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 @@ -4079,6 +4232,16 @@ 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 diff --git a/technical.txt b/technical.txt index d1735ba..a7f7405 100644 --- a/technical.txt +++ b/technical.txt @@ -26,14 +26,14 @@ Terminal Services supported versions 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) [todo] -6.1.7600.21316 (Windows 7 with KB2750090) [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) [todo] -6.1.7601.21866 (Windows 7 SP1 with KB2647409) [todo] -6.1.7601.22104 (Windows 7 SP1 with KB2750090) [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] @@ -56,6 +56,7 @@ Terminal Services supported versions 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] @@ -91,6 +92,7 @@ Terminal Services supported versions 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] @@ -121,6 +123,7 @@ Terminal Services supported versions 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) [todo] +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] @@ -160,6 +163,16 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +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 From 0c76513a279977f59d76d0aafe8147daccf7259c Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 3 Oct 2018 23:59:34 +0300 Subject: [PATCH 116/120] INI: Add support for new builds - 6.1.7601.24234 (fix #572) - 10.0.15063.994 (fix #455) - 10.0.17723.1000 (fix #537) - 10.0.17763.1 (fix #578) --- README.md | 4 ++ res/rdpwrap-ini-kb.txt | 117 ++++++++++++++++++++++++++++++++++++++++- res/rdpwrap.ini | 103 +++++++++++++++++++++++++++++++++++- technical.txt | 11 +++- 4 files changed, 232 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 77d9f52..8b53236 100644 --- a/README.md +++ b/README.md @@ -293,6 +293,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 6.1.7601.18637 (Windows 7 SP1 with KB3003743 GDR) - 6.1.7601.22843 (Windows 7 SP1 with KB3003743 LDR) - 6.1.7601.23403 (Windows 7 SP1 with KB3125574) +- 6.1.7601.24234 (Windows 7 SP1 with unknown KB) - 6.2.8102.0 (Windows 8 Developer Preview) - 6.2.8250.0 (Windows 8 Consumer Preview) - 6.2.8400.0 (Windows 8 Release Preview) @@ -367,6 +368,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.15061.0 (Windows 10 Build 160101.0800) - 10.0.15063.0 (Windows 10 Build 160101.0800) - 10.0.15063.296 (Windows 10 Build 160101.0800) +- 10.0.15063.994 (Windows 10 Build 160101.0800) - 10.0.15063.1155 (Windows 10 Build 160101.0800) - 10.0.16179.1000 (Windows 10 Build 160101.0800) - 10.0.16184.1001 (Windows 10 Build 160101.0800) @@ -401,6 +403,8 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.17128.1 (Windows 10 Build 160101.0800) - 10.0.17133.1 (Windows 10 Build 160101.0800) - 10.0.17134.1 (Windows 10 Build 160101.0800) +- 10.0.17723.1000 (Windows 10 Build 160101.0800) +- 10.0.17763.1 (Windows 10 Build 160101.0800) #### Confirmed working on: - Windows Vista Starter (x86 - Service Pack 1 and higher) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 34d3d0b..bb6ced3 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2018-09-10 +Updated=2018-10-03 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -654,6 +654,16 @@ DefPolicyPatch.x64=1 DefPolicyOffset.x64=17CE2 DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +[6.1.7601.24234] +; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled +SingleUserPatch.x64=1 +SingleUserOffset.x64=17F56 +SingleUserCode.x64=Zero +; Patch CDefPolicy::Query +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] @@ -3220,6 +3230,24 @@ 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 @@ -4228,6 +4256,54 @@ 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 @@ -5509,6 +5585,16 @@ 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 @@ -6145,3 +6231,32 @@ 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/res/rdpwrap.ini b/res/rdpwrap.ini index f68c671..b33455c 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2018-09-10 +Updated=2018-10-03 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -275,6 +275,14 @@ DefPolicyPatch.x64=1 DefPolicyOffset.x64=17CE2 DefPolicyCode.x64=CDefPolicy_Query_eax_rdi +[6.1.7601.24234] +SingleUserPatch.x64=1 +SingleUserOffset.x64=17F56 +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17D2E +DefPolicyCode.x64=CDefPolicy_Query_eax_rdi + [6.2.8102.0] SingleUserPatch.x86=1 SingleUserOffset.x86=F7E9 @@ -2103,6 +2111,20 @@ SLInitHook.x64=1 SLInitOffset.x64=D1EC SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.15063.994] +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=8CB01 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=15EA4 +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=FAE5 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x64=1 +SLInitOffset.x64=234DC +SLInitFunc.x64=New_CSLQuery_Initialize + [10.0.15063.1155] LocalOnlyPatch.x64=1 LocalOnlyOffset.x64=8CB01 @@ -2975,6 +2997,46 @@ SLInitHook.x64=1 SLInitOffset.x64=22E6C SLInitFunc.x64=New_CSLQuery_Initialize +[10.0.17723.1000] +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=75D91 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x64=1 +SingleUserOffset.x64=1296C +SingleUserCode.x64=Zero +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17A45 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x64=1 +SLInitOffset.x64=1B10C +SLInitFunc.x64=New_CSLQuery_Initialize + +[10.0.17763.1] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=AF8E4 +LocalOnlyCode.x86=jmpshort +LocalOnlyPatch.x64=1 +LocalOnlyOffset.x64=77941 +LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=4D505 +SingleUserCode.x86=nop +SingleUserPatch.x64=1 +SingleUserOffset.x64=1322C +SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=4BD09 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx +DefPolicyPatch.x64=1 +DefPolicyOffset.x64=17F45 +DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=5B02A +SLInitFunc.x86=New_CSLQuery_Initialize +SLInitHook.x64=1 +SLInitOffset.x64=1ABFC +SLInitFunc.x64=New_CSLQuery_Initialize + [SLInit] bServerSku=1 bRemoteConnAllowed=1 @@ -4232,6 +4294,16 @@ 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 @@ -4868,3 +4940,32 @@ 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/technical.txt b/technical.txt index a7f7405..57ac9aa 100644 --- a/technical.txt +++ b/technical.txt @@ -43,6 +43,7 @@ Terminal Services supported versions 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 unknown KB) [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] @@ -122,7 +123,7 @@ Terminal Services supported versions 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) [todo] +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] @@ -160,9 +161,17 @@ Terminal Services supported versions 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.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 From dc3b07f1fe07557e9e64b8347621d884a6e8be19 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Thu, 4 Oct 2018 15:31:04 +0300 Subject: [PATCH 117/120] README: Add Telegram chat link --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 8b53236..add9a71 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # RDP Wrapper Library by Stas'M +[![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) @@ -88,6 +89,8 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa ### Links: - Official GitHub repository:
https://github.com/stascorp/rdpwrap/ +- Official Telegram chat: +
https://t.me/rdpwrap - Active discussion in the comments here:
[Enable remote desktop on Windows 8 core / basic - Andrew Block .net][andrewblock] - MDL Projects and Applications thread here: From 2eef50f254f423fcd95518fcbaa97b1169b6a543 Mon Sep 17 00:00:00 2001 From: Stas'M Date: Fri, 5 Oct 2018 01:45:44 +0300 Subject: [PATCH 118/120] INI: Add support for new builds (#542) 10.0.14393.2457 x86 --- README.md | 2 +- res/rdpwrap-ini-kb.txt | 23 ++++++++++++++++++++++- res/rdpwrap.ini | 23 ++++++++++++++++++++++- technical.txt | 3 +++ 4 files changed, 48 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index add9a71..47f8095 100644 --- a/README.md +++ b/README.md @@ -341,7 +341,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 10.0.14393.0 (Windows 10 RS1 Release 160715-1616) - 10.0.14393.1198 (Windows 10 RS1 Release Sec 170427-1353 with KB4019472) - 10.0.14393.1737 (Windows 10 RS1 Release Inmarket 170914-1249 with KB4041691) -- 10.0.14393.2457 (Windows 10 RS1 Release Inmarket 180822-1743 with KB4457131) +- 10.0.14393.2457 (Windows 10 RS1 Release Inmarket 180822-1743 with KB4343884) - 10.0.14901.1000 (Windows 10 RS Pre-Release 160805-1700) - 10.0.14905.1000 (Windows 10 RS Pre-Release 160811-1739) - 10.0.14915.1000 (Windows 10 RS Pre-Release 160826-1902) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index bb6ced3..597bd12 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2018-10-03 +Updated=2018-10-04 ; Address to log file (RDP Wrapper will write it, if exists) LogFile=\rdpwrap.txt ; Hook SLPolicy API on Windows NT 6.0 @@ -2368,18 +2368,30 @@ 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 @@ -5043,6 +5055,15 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index b33455c..a40d24d 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2018-10-03 +Updated=2018-10-04 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -1368,15 +1368,27 @@ SLInitOffset.x64=C930 SLInitFunc.x64=New_CSLQuery_Initialize [10.0.14393.2457] +LocalOnlyPatch.x86=1 +LocalOnlyOffset.x86=A6248 +LocalOnlyCode.x86=jmpshort LocalOnlyPatch.x64=1 LocalOnlyOffset.x64=8D811 LocalOnlyCode.x64=jmpshort +SingleUserPatch.x86=1 +SingleUserOffset.x86=36CE5 +SingleUserCode.x86=nop SingleUserPatch.x64=1 SingleUserOffset.x64=29CF4 SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=31209 +DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 DefPolicyOffset.x64=1B545 DefPolicyCode.x64=CDefPolicy_Query_eax_rcx +SLInitHook.x86=1 +SLInitOffset.x86=45824 +SLInitFunc.x86=New_CSLQuery_Initialize SLInitHook.x64=1 SLInitOffset.x64=C920 SLInitFunc.x64=New_CSLQuery_Initialize @@ -3752,6 +3764,15 @@ 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 diff --git a/technical.txt b/technical.txt index 57ac9aa..5ef476f 100644 --- a/technical.txt +++ b/technical.txt @@ -166,6 +166,9 @@ Terminal Services supported versions Source code changelog (rdpwrap library): +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 From 326551985f1ecf8cc1e43bd4b4505a7871534b0f Mon Sep 17 00:00:00 2001 From: Stas'M Date: Wed, 10 Oct 2018 15:57:37 +0300 Subject: [PATCH 119/120] INI: Add support for new builds (fix #586) - 6.1.7601.24234 x86 --- README.md | 2 +- res/rdpwrap-ini-kb.txt | 8 +++++++- res/rdpwrap.ini | 8 +++++++- technical.txt | 5 ++++- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 47f8095..837e679 100644 --- a/README.md +++ b/README.md @@ -296,7 +296,7 @@ Visit [issues](https://github.com/stascorp/rdpwrap/issues) section, and check wh - 6.1.7601.18637 (Windows 7 SP1 with KB3003743 GDR) - 6.1.7601.22843 (Windows 7 SP1 with KB3003743 LDR) - 6.1.7601.23403 (Windows 7 SP1 with KB3125574) -- 6.1.7601.24234 (Windows 7 SP1 with unknown KB) +- 6.1.7601.24234 (Windows 7 SP1 with KB4462923) - 6.2.8102.0 (Windows 8 Developer Preview) - 6.2.8250.0 (Windows 8 Consumer Preview) - 6.2.8400.0 (Windows 8 Release Preview) diff --git a/res/rdpwrap-ini-kb.txt b/res/rdpwrap-ini-kb.txt index 597bd12..a258ab4 100644 --- a/res/rdpwrap-ini-kb.txt +++ b/res/rdpwrap-ini-kb.txt @@ -1,6 +1,6 @@ [Main] ; Last updated date -Updated=2018-10-04 +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 @@ -656,10 +656,16 @@ 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 diff --git a/res/rdpwrap.ini b/res/rdpwrap.ini index a40d24d..40e1b54 100644 --- a/res/rdpwrap.ini +++ b/res/rdpwrap.ini @@ -2,7 +2,7 @@ ; Do not modify without special knowledge [Main] -Updated=2018-10-04 +Updated=2018-10-10 LogFile=\rdpwrap.txt SLPolicyHookNT60=1 SLPolicyHookNT61=1 @@ -276,9 +276,15 @@ DefPolicyOffset.x64=17CE2 DefPolicyCode.x64=CDefPolicy_Query_eax_rdi [6.1.7601.24234] +SingleUserPatch.x86=1 +SingleUserOffset.x86=1A675 +SingleUserCode.x86=nop SingleUserPatch.x64=1 SingleUserOffset.x64=17F56 SingleUserCode.x64=Zero +DefPolicyPatch.x86=1 +DefPolicyOffset.x86=19E41 +DefPolicyCode.x86=CDefPolicy_Query_eax_esi DefPolicyPatch.x64=1 DefPolicyOffset.x64=17D2E DefPolicyCode.x64=CDefPolicy_Query_eax_rdi diff --git a/technical.txt b/technical.txt index 5ef476f..eec609f 100644 --- a/technical.txt +++ b/technical.txt @@ -43,7 +43,7 @@ Terminal Services supported versions 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 unknown KB) [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] @@ -166,6 +166,9 @@ Terminal Services supported versions 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 From a5c64a43319e4e375b391ad42c41504bcb349b4a Mon Sep 17 00:00:00 2001 From: Kevin Smyth Date: Thu, 20 Dec 2018 09:19:04 -0600 Subject: [PATCH 120/120] IniFile: don't lose last character if the file doesn't end with \r\n --- src-x86-x64-Fusix/IniFile.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src-x86-x64-Fusix/IniFile.cpp b/src-x86-x64-Fusix/IniFile.cpp index 8b48c07..5c610d3 100644 --- a/src-x86-x64-Fusix/IniFile.cpp +++ b/src-x86-x64-Fusix/IniFile.cpp @@ -127,7 +127,12 @@ DWORD INI_FILE::GetFileStringFromNum(DWORD StringNumber, char *RetString, DWORD for (DWORD i = FileStringsMap[StringNumber]; i < FileSize; i++) { - if ((FileRaw[i] == '\r' && FileRaw[i + 1] == '\n') || i == (FileSize - 1)) + if (i == (FileSize - 1)) + { + EndStringPos = FileSize; + break; + } + if (FileRaw[i] == '\r' && FileRaw[i + 1] == '\n') { EndStringPos = i; break;