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