Compare commits

..

No commits in common. "a5c64a43319e4e375b391ad42c41504bcb349b4a" and "b3e1c77321cd5a8c2102943f162a004010cd913e" have entirely different histories.

5 changed files with 5 additions and 302 deletions

View File

@ -1,6 +1,5 @@
# 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)
@ -89,8 +88,6 @@ It's recommended to have original termsrv.dll file with the RDP Wrapper installa
### Links:
- Official GitHub repository:
<br>https://github.com/stascorp/rdpwrap/
- Official Telegram chat:
<br>https://t.me/rdpwrap
- Active discussion in the comments here:
<br>[Enable remote desktop on Windows 8 core / basic - Andrew Block .net][andrewblock]
- MDL Projects and Applications thread here:
@ -296,7 +293,6 @@ 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 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)
@ -341,7 +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 KB4343884)
- 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)
@ -371,7 +367,6 @@ 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)
@ -406,8 +401,6 @@ 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)

View File

@ -1,6 +1,6 @@
[Main]
; Last updated date
Updated=2018-10-10
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
@ -654,22 +654,6 @@ DefPolicyPatch.x64=1
DefPolicyOffset.x64=17CE2
DefPolicyCode.x64=CDefPolicy_Query_eax_rdi
[6.1.7601.24234]
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
SingleUserPatch.x86=1
SingleUserOffset.x86=1A675
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=17F56
SingleUserCode.x64=Zero
; Patch CDefPolicy::Query
DefPolicyPatch.x86=1
DefPolicyOffset.x86=19E41
DefPolicyCode.x86=CDefPolicy_Query_eax_esi
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17D2E
DefPolicyCode.x64=CDefPolicy_Query_eax_rdi
[6.2.8102.0]
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
; .text:1000F7E5 lea eax, [esp+150h+VersionInformation]
@ -2374,30 +2358,18 @@ 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
@ -3248,24 +3220,6 @@ 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
@ -4274,54 +4228,6 @@ 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
@ -5061,15 +4967,6 @@ 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
@ -5612,16 +5509,6 @@ 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
@ -6258,32 +6145,3 @@ 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

View File

@ -2,7 +2,7 @@
; Do not modify without special knowledge
[Main]
Updated=2018-10-10
Updated=2018-09-10
LogFile=\rdpwrap.txt
SLPolicyHookNT60=1
SLPolicyHookNT61=1
@ -275,20 +275,6 @@ DefPolicyPatch.x64=1
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
[6.2.8102.0]
SingleUserPatch.x86=1
SingleUserOffset.x86=F7E9
@ -1374,27 +1360,15 @@ 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
@ -2129,20 +2103,6 @@ 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
@ -3015,46 +2975,6 @@ 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
@ -3770,15 +3690,6 @@ 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
@ -4321,16 +4232,6 @@ 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
@ -4967,32 +4868,3 @@ 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

View File

@ -127,12 +127,7 @@ DWORD INI_FILE::GetFileStringFromNum(DWORD StringNumber, char *RetString, DWORD
for (DWORD i = FileStringsMap[StringNumber]; i < FileSize; i++)
{
if (i == (FileSize - 1))
{
EndStringPos = FileSize;
break;
}
if (FileRaw[i] == '\r' && FileRaw[i + 1] == '\n')
if ((FileRaw[i] == '\r' && FileRaw[i + 1] == '\n') || i == (FileSize - 1))
{
EndStringPos = i;
break;

View File

@ -43,7 +43,6 @@ 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 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]
@ -123,7 +122,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) [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]
@ -161,23 +160,9 @@ 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.10 :
- added support for termsrv.dll 6.1.7601.24234 x86
2018.10.04 :
- added support for termsrv.dll 10.0.14393.2457 x86
2018.10.03 :
- added support for termsrv.dll 6.1.7601.24234 x64
- added support for termsrv.dll 10.0.15063.994 x64
- added support for termsrv.dll 10.0.17723.1000 x64
- added support for termsrv.dll 10.0.17763.1
2018.09.10 :
- added support for termsrv.dll 6.1.7600.20890
- added support for termsrv.dll 6.1.7600.21316