Compare commits

...

5 Commits

Author SHA1 Message Date
Kevin Smyth a5c64a4331 IniFile: don't lose last character if the file doesn't end with \r\n 5 years ago
Stas'M 326551985f
INI: Add support for new builds (fix #586)
- 6.1.7601.24234 x86
6 years ago
Stas'M 2eef50f254
INI: Add support for new builds (#542)
10.0.14393.2457 x86
6 years ago
Stas'M dc3b07f1fe
README: Add Telegram chat link 6 years ago
Stas'M 0c76513a27
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)
6 years ago

@ -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:
<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:
@ -293,6 +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 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)
@ -337,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)
@ -367,6 +371,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 +406,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)

@ -1,6 +1,6 @@
[Main]
; Last updated date
Updated=2018-09-10
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
@ -654,6 +654,22 @@ 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]
@ -2358,18 +2374,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
@ -3220,6 +3248,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 +4274,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
@ -4967,6 +5061,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
@ -5509,6 +5612,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 +6258,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

@ -2,7 +2,7 @@
; Do not modify without special knowledge
[Main]
Updated=2018-09-10
Updated=2018-10-10
LogFile=\rdpwrap.txt
SLPolicyHookNT60=1
SLPolicyHookNT61=1
@ -275,6 +275,20 @@ 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
@ -1360,15 +1374,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
@ -2103,6 +2129,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 +3015,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
@ -3690,6 +3770,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
@ -4232,6 +4321,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 +4967,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

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

@ -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 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]
@ -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,23 @@ 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

Loading…
Cancel
Save