|
|
|
@ -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
|
|
|
|
|