From 9120dcc9ac3275e4c900aa882f49607a363e2d0c Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 13 Nov 2014 23:56:16 +0300 Subject: [PATCH] Added support for KB3003743 // 2014.11.13 : // - researching KB3003743 // - added support for version 6.0.6002.19214 // - added support for version 6.0.6002.23521 // - added support for version 6.1.7601.18637 // - added support for version 6.1.7601.22843 --- src-x86-binarymaster/rdpwrap.dll | Bin 70144 -> 70656 bytes src-x86-binarymaster/src/rdpwrap.dpr | 203 ++++++++++++++--- src-x86-binarymaster/src/rdpwrap.res | Bin 960 -> 960 bytes src-x86-x64-Fusix/rdpw32.dll | Bin 86016 -> 86528 bytes src-x86-x64-Fusix/rdpw64.dll | Bin 98816 -> 99328 bytes src-x86-x64-Fusix/src/RDPWrap.cpp | 323 ++++++++++++++++++++++++--- 6 files changed, 462 insertions(+), 64 deletions(-) diff --git a/src-x86-binarymaster/rdpwrap.dll b/src-x86-binarymaster/rdpwrap.dll index 95b109bd1cc2bb2dd489cba49aac86d7061c4a07..7594ec497580bd025d1d2ba5b61ce05aeb428a6c 100644 GIT binary patch delta 3620 zcmZuz3se(V8lD*_R|5eAS_gk9s((RwR4xO#*>7=fKSW{onunubasv zWQ!8=MFufBd5`y|<%I3iLmW6dj-*~8u7Fp`PpLF-@E0c@}J#j*Rozi2_kgvN1L{6+dvR$-Vlo;31SMoJ_LhM z!5J)d@*O*$vXav(mO8~}QjK-s?9re_ck4n4;lO>1C8iJEr8ihC$>yXR@$NDD)#+=!7LW6pDX+2Np6l8>UTcXw;KL%prIiOQwVgk;{a$ zKUgf0!i_qM#W;Yfe&2y?+-WC|kMS5lZ5+nzV#sz(b!&|^m7Wj+9l|R|=ZePBaYMNV zZx0vN^t)U^n7t6P69-8=+nG-G*>*zT&}^4L1JBmeak#LTBe%h{>^bXC*P<4`g)D35 z&M}p607uatB84N^c>+39!UiIRG-xI_pG3nl;?4NqwQlAU+hz2}<+ar)w}LYE**mRrUnUJ)kE~ zDzThGb$AU)W%YpZ`7-@A4Bv+uj^$k*DsNNIaC2Rw%R7XF3t_OeJf#Eq)bA$o9%k2EhtrTW>J7c!)J`Q~s5Gc)ZIvd{NL4eHAivJ(d>e6o^6_LFrSDh-`1 zA86o{h0jJ43>$Ga*1*xCZ|!36alX{WfWAJun;<=3D%pxN?1kahEZ6 z*slSy?{tHw`Ly`ONnFn<5M1EHVwwHj!}VWWZLi<9;c86347IG{Yr28HKqmPd!$%N| z#piT`;sRP9hT%03M%!xkb5ANH;6rAw-Wfivj=)>^e1WC3bPZ?xWcjF!B-ZdA%9!Io z4%gYq_VHdfqIP;=3@l^})c!{o*icA|zruLVNsv)!o0hZ-)D=o4Z(zrI6o9`S4?96$ zp-dvfFm2U=GNw-8bDY+jtC9Re=tK=Ye$74UIBEz!Ez=e{cC@i`xTAlMp+-LT02V2L zBG!}&2eP<-bVr*odlzE+Iitmm?F843)8c6uR~W&#B3nnrH^7`Csid7beC1Aii;h< zv)DJJ{{%|rid69`(>jJ5&v$kj+4y-(?t-$`%0B1-+lpn9Z!lbn;6q4S+W|6)1H@}F z{P!wwwODG++1n0&g*hi-M*!mEoW}OyoU;<_^Rpe;`<1A`moUVdGr1kSRU(s|#PC%F zvrc&BHkhJ{Z-f3not;%6Z%j=9S7M z?G>n$N6=}_xyKCFmIlntz;FeG69+|j13jc|17ASbhz-2b0Zx?KHZafzx=Vc}{y1EV zRB>fLwgGp8RPtLnO6GxJe6BOwfW{z`G-3EQjIq`b*9Kw@0pe5)=T?ApgO7FAQ`o((13V7|U~aJ%YX z)b>U&!I%po&#kZUGYaD?BF`CIK%CR^@++H3>Yt4j?_aI+ac*pYucnO^bAP$yO1V+s zxBduyZ*YIGC3rGDjSiw2dO7_r9ZM(DU($!^O!^dko^GMdbPxSs`U(9%dVr>wvCIU< zmwBBDWEL|K%!kZQW*_q%lgpGbMy8#)%RFM7Sx;8RzQ!(M-(sWLzp=a7&)5TODO=X7m>%-0D=5vd=C_T59+sGwxsoZy5IakYF;I49g+%wKeK2bhJzCa!!Un&1k zzEi$Wo-9w7=gCd-i}I&(N-DD;YAg;CL<=uq5KJXSnah?NtS zK}t@!QMpa|vGSlYU74pWQPwFhDeoxzlv4h6K9~>Zm+|^_{3d<}pU8j9XYnn37ccM@ z-c{wLlBwpXl&ZH?(W?Eb6jha~Ue&C+uX>_-shXtrRR^ep)eF^cs@JJEtG`wsRU6dj z)h+5Sb-&u8cGY-lrfcSCbehGQ9hyWa_>78QMy1o%WLUmbOp(R6D43*ZJrIb*%2Mx~;n1I-twc73fU5A9by|F5N@jbDe9* z#E^iH1tDUD`q{LImVeFn&IKCc>84_Nk)QQgY%pWbR{Sl%mPa-b3uZo z641|Df$Q^g)7*FueiHA;&){eALHvB4<(0gK59K5HNPaoLihl>ZeEz5E^(484a++Ve z^{|VGoQiM!MI?uB-W8EvQs@eUEx-?a2svC($X9HTGP-7XkQ>PV13SU1`v3p{ delta 3133 zcmZuz3se->8J?M4mxt7qRZz35fEtlUiOkII>|?fWtfX3e;JZF*v}jn3RT?4D_y8(+ zw1~;^iW)T*5e1buA}cB^5TD0*NY!SMhX_~)HHo&3o)ZY$|K0(?)9g9So%{XY{r>O& z@0}Tv^OVUs%3@F2e?!p1`Bd+(mD+oJFwKmjZlN*sPG-djv{Jz$7d_EC=Q>b^!rx8g z&4kgnk%0-O>(O$!wxFHlTF3;4Jn2)CM;k@iB0gHZZbK|Ztr!7VJWWv}VSI*qV2u*Z zQUrKSVr24xvRR76W6a1Zbme&XRAZHmlJ-7!yX`i7ceKv!PIsj>CaN8)@H_z`og38@ zm0rjFV{S~w0++)RWTg75z?jeEVHf!T?Ls`0w1p2SD@vI#i1?z7WWNe-faJ5!d`$y$mwWrMzafa8eakj zzt%2qM%xP5(61fXNjn5_Q=X4gr=7)3fhWFj?!c}rZbl6S+UQ+`ehlccczAQalSz~N zn$@?rO9(q2vq@Wen)=x(=$riD2!Fx|2S!Sdf*j5ocw>+QsDRKL2XJ2t+Fv-i>kWtiGxd-7eB<5P?r)n5YYls0-9r6L<@TiMm%K3Mmft z3?cC33beGiSH1i`+EyH(X)VXDheSlMXl%#*H@Y*B&GeGE#{#|KAD@%I&m)C&)RuZ7Oa}Imx1g7lalLmCL zM5{SP;7b@L9)90|q!OKG6M^?)n0U}NApg?P5Rt%h0mertb%HwWPXBX-zt;}3Wj9=C zO=*DUzhyY3_v@60TQE&dGD<4kgTEnJ(%dvW=E&d| z1k9JL1T3ypU}h=-FG&*#=#-fo2zXr@M!;K@ObDhfA?RJHCl!mjWNH)vTcu6_>pEX; zExT4mEB%&XkFj^$?qsVEltm>Dk`kYy=8DOF`8c9}BNFr!MLME29S{))QPiqB8|6d6 z|1~bO*Rh?sURyTg!ZH8S`Z$`oRa>^^o9eezBWo#YU2R#!vzy+`T^jxLaz@gl$QO~_ zkqqn2`ms7Tke$GWvm9$=r?WBa0`@QL$Lt~Y1Y5{nVe8pOwvAPAL%31gB+kOU$Iax{ zbDOzT?g)2^E8!em1J}X*z^Qm&UdNB)ZTt*=5g*5|<1_gz{w!b1f6cr22mEusiyy8Z zt&i3()UQm^Z_@A3@6~7OPw7kaH}!Y)w86(P!VqCF8KxSd4a*F1hGfHTgTqi~xNUf3 zcy8!2Fv2ilj35X$VT16gkR}`za)naif^bu~Cwwow5+)cUjiPa$ak+7gG2WPB++#dx zEHpM59~!+)ex~szi|IYn9FyI&(X`!^lx8|$I&La8T{Jy0{b*8}wdM)tNb@xFJo9q% zYV*hD6!Sjw5%W#+J#&Y-%dE2aS|(aJ%Wo`EmW7s;mX9o3ET=7nmTxU>mKPRJahNzp z)QdJTTAVA!itEKBahG^rtP$(Q$Kt=mpT*(U0Bfi<(mKUD)4JRmXWeeLW?Es-oD`J` z&#I0MW(9T{8_#ZG)1mS8tcz`BpRv!`ZkFPB&d7&LERk1D>E=&|x93fB07m5$2GxTra!KgT-pw}@dUSU*h`}9u-Jyi5) zauckg_2lM#744^mP!!YxKX~B`81RzMeu)s+%fp1~Un1E02^Bx6=;K0VfLsBLfJqY^>B~WHi~ll(8E~O*Uli2LOMF2b=%^ delta 33 lcmX@Wet>;K0Vgv9BLfI9Z>-d2WHjEql(8E~O*Uli2LOLd2bcf= diff --git a/src-x86-x64-Fusix/rdpw32.dll b/src-x86-x64-Fusix/rdpw32.dll index 426b52af9787b75094f954efe3b72e3782935c9f..6bc21c83ada1f75dc88c0c980d039a6d8dff9663 100644 GIT binary patch delta 6164 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 diff --git a/src-x86-x64-Fusix/rdpw64.dll b/src-x86-x64-Fusix/rdpw64.dll index 084c4fcf958024afc0a5e117891b15f16d3fa0f4..668e647f0bebd0dde37aa32666602e44010e0adc 100644 GIT binary patch delta 16422 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 delta 15775 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 A9smFU diff --git a/src-x86-x64-Fusix/src/RDPWrap.cpp b/src-x86-x64-Fusix/src/RDPWrap.cpp index 52ee4df..1626726 100644 --- a/src-x86-x64-Fusix/src/RDPWrap.cpp +++ b/src-x86-x64-Fusix/src/RDPWrap.cpp @@ -2,44 +2,55 @@ // assisted by binarymaster (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.6001.18000 (Windows Vista SP1) [policy hook + extended patch] -// 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.1.X.X (Windows 7, any) [policy hook only] -// 6.1.7600.16385 (Windows 7) [policy hook + extended patch] -// 6.1.7600.20890 (Windows 7 with KB2479710) [todo] -// 6.1.7600.21316 (Windows 7 with KB2750090) [todo] -// 6.1.7601.17514 (Windows 7 SP1) [policy hook + extended patch] -// 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.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.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.4.9841.0 (Windows 10 Technical Preview) [init hook + extended patch] -// 6.4.9860.0 (Windows 10 Technical Preview 1) [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.6001.18000 (Windows Vista SP1) [policy hook + extended patch] +// 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.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.7600.16385 (Windows 7) [policy hook + extended patch] +// 6.1.7600.20890 (Windows 7 with KB2479710) [todo] +// 6.1.7600.21316 (Windows 7 with KB2750090) [todo] +// 6.1.7601.17514 (Windows 7 SP1) [policy hook + extended patch] +// 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.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.4.9841.0 (Windows 10 Technical Preview) [init hook + extended patch] +// 6.4.9860.0 (Windows 10 Technical Preview Update 1) [init hook + extended patch] // Known failures // 6.0.6000.16386 (Windows Vista RTM x86, crashes on logon attempt) // Internal changelog: +// 2014.11.13 : +// - researching KB3003743 +// - added support for version 6.0.6002.19214 +// - added support for version 6.0.6002.23521 +// - added support for version 6.1.7601.18637 +// - added support for version 6.1.7601.22843 + // 2014.11.02 : // - researching termsrv.dll 6.4.9860.0 // - done @@ -191,6 +202,36 @@ char CDefPolicy_Query_eax_rcx[] = {0xB8, 0x00, 0x01, 0x00, 0x00, 0x89, 0x81, 0x3 // .text:000007FF76725E8F jmp short loc_7FF76725EA7 // char CDefPolicy_Query_eax_rcx_jmp[] +// termsrv.dll build 6.0.6002.19214 + +// Original +// .text:000007FF75B25FF7 mov eax, [rcx+638h] +// .text:000007FF75B25FFD cmp [rcx+63Ch], eax +// .text:000007FF75B26003 jnz short loc_7FF75B2601B +//_______________ +// +// Changed +// .text:000007FF75B25FF7 mov eax, 100h +// .text:000007FF75B25FFC mov [rcx+638h], eax +// .text:000007FF75B26002 nop +// .text:000007FF75B26003 jmp short loc_7FF75B2601B +// char CDefPolicy_Query_eax_rcx_jmp[] + +// termsrv.dll build 6.0.6002.23521 + +// Original +// .text:000007FF75B269CB mov eax, [rcx+638h] +// .text:000007FF75B269D1 cmp [rcx+63Ch], eax +// .text:000007FF75B269D7 jnz short loc_7FF75B269EF +//_______________ +// +// Changed +// .text:000007FF75B269CB mov eax, 100h +// .text:000007FF75B269D0 mov [rcx+638h], eax +// .text:000007FF75B269D6 nop +// .text:000007FF75B269D7 jmp short loc_7FF75B269EF +// char CDefPolicy_Query_eax_rcx_jmp[] + // termsrv.dll build 6.1.7600.16385 // Original @@ -243,6 +284,32 @@ char CDefPolicy_Query_eax_rcx[] = {0xB8, 0x00, 0x01, 0x00, 0x00, 0x89, 0x81, 0x3 // .text:000007FF75A97C9D nop // char CDefPolicy_Query_eax_rdi[] +// termsrv.dll build 6.1.7601.18637 + +// Original +// .text:000007FF75A97DC6 cmp [rdi+63Ch], eax +// .text:000007FF75A97DCC jz loc_7FF75AA40BD +//_______________ +// +// Changed +// .text:000007FF75A97DC6 mov eax, 100h +// .text:000007FF75A97DCB mov [rdi+638h], eax +// .text:000007FF75A97DD1 nop +// char CDefPolicy_Query_eax_rdi[] + +// termsrv.dll build 6.1.7601.22843 + +// Original +// .text:000007FF75A97D6E cmp [rdi+63Ch], eax +// .text:000007FF75A97D74 jz loc_7FF75AA4182 +//_______________ +// +// Changed +// .text:000007FF75A97D6E mov eax, 100h +// .text:000007FF75A97D73 mov [rdi+638h], eax +// .text:000007FF75A97D79 nop +// char CDefPolicy_Query_eax_rdi[] + // termsrv.dll build 6.2.8102.0 // Original @@ -444,6 +511,36 @@ char CDefPolicy_Query_eax_ecx[] = {0xB8, 0x00, 0x01, 0x00, 0x00, 0x89, 0x81, 0x2 // .text:6F5979CC nop // char CDefPolicy_Query_edx_ecx[] +// termsrv.dll build 6.0.6002.19214 + +// Original +// .text:6F5979B8 cmp edx, [ecx+320h] +// .text:6F5979BE pop esi +// .text:6F5979BF jz loc_6F5A6F3E +//_______________ +// +// Changed +// .text:6F5979B8 mov edx, 100h +// .text:6F5979BD mov [ecx+320h], edx +// .text:6F5979C3 pop esi +// .text:6F5979C4 nop +// char CDefPolicy_Query_edx_ecx[] + +// termsrv.dll build 6.0.6002.23521 + +// Original +// .text:6F5979CC cmp edx, [ecx+320h] +// .text:6F5979D2 pop esi +// .text:6F5979D3 jz loc_6F5A6F2E +//_______________ +// +// Changed +// .text:6F5979CC mov edx, 100h +// .text:6F5979D1 mov [ecx+320h], edx +// .text:6F5979D7 pop esi +// .text:6F5979D8 nop +// char CDefPolicy_Query_edx_ecx[] + // termsrv.dll build 6.1.7600.16385 // Original @@ -496,6 +593,32 @@ char CDefPolicy_Query_eax_ecx[] = {0xB8, 0x00, 0x01, 0x00, 0x00, 0x89, 0x81, 0x2 // .text:6F2F9E2C nop // char CDefPolicy_Query_eax_esi[] +// termsrv.dll build 6.1.7601.18637 + +// Original +// .text:6F2F9DBB cmp eax, [esi+320h] +// .text:6F2F9DC1 jz loc_6F30B2A6 +//_______________ +// +// Changed +// .text:6F2F9DBB mov eax, 100h +// .text:6F2F9DC0 mov [esi+320h], eax +// .text:6F2F9DC6 nop +// char CDefPolicy_Query_eax_esi[] + +// termsrv.dll build 6.1.7601.22843 + +// Original +// .text:6F2F9E25 cmp eax, [esi+320h] +// .text:6F2F9E2B jz loc_6F30B6D6 +//_______________ +// +// Changed +// .text:6F2F9E25 mov eax, 100h +// .text:6F2F9E2A mov [esi+320h], eax +// .text:6F2F9E30 nop +// char CDefPolicy_Query_eax_esi[] + // termsrv.dll build 6.2.8102.0 // Original @@ -1405,6 +1528,74 @@ void Hook() WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_edx_ecx, sizeof(CDefPolicy_Query_edx_ecx), &bw); #endif } + if (FV.Release == 6002 && FV.Build == 19214) + { + WriteToLog("Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled\r\n"); + #ifdef _WIN64 + // Imagebase: 7FF75AC0000 + // .text:000007FF75B312A4 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation + // .text:000007FF75B312A9 mov ebx, 1 <- 0 + // .text:000007FF75B312AE mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch + // .text:000007FF75B312B6 mov [rdi], ebx + // .text:000007FF75B312B8 call cs:__imp_GetVersionExW + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x712AA); + b = 0; + #else + // Imagebase: 6F580000 + // .text:6F597FBE lea eax, [ebp+VersionInformation] + // .text:6F597FC4 inc ebx <- nop + // .text:6F597FC5 push eax ; lpVersionInformation + // .text:6F597FC6 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch + // .text:6F597FD0 mov [esi], ebx + // .text:6F597FD2 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x17FC4); + b = 0x90; + #endif + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &b, sizeof(b), &bw); + + WriteToLog("Patch CDefPolicy::Query\r\n"); + #ifdef _WIN64 + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x65FF7); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_eax_rcx_jmp, sizeof(CDefPolicy_Query_eax_rcx_jmp), &bw); + #else + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x179B8); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_edx_ecx, sizeof(CDefPolicy_Query_edx_ecx), &bw); + #endif + } + if (FV.Release == 6002 && FV.Build == 23521) + { + WriteToLog("Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled\r\n"); + #ifdef _WIN64 + // Imagebase: 7FF75AC0000 + // .text:000007FF75B31EA4 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation + // .text:000007FF75B31EA9 mov ebx, 1 <- 0 + // .text:000007FF75B31EAE mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch + // .text:000007FF75B31EB6 mov [rdi], ebx + // .text:000007FF75B31EB8 call cs:__imp_GetVersionExW + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x71EAA); + b = 0; + #else + // Imagebase: 6F580000 + // .text:6F597FAE lea eax, [ebp+VersionInformation] + // .text:6F597FB4 inc ebx <- nop + // .text:6F597FB5 push eax ; lpVersionInformation + // .text:6F597FB6 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch + // .text:6F597FC0 mov [esi], ebx + // .text:6F597FC2 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x17FB4); + b = 0x90; + #endif + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &b, sizeof(b), &bw); + + WriteToLog("Patch CDefPolicy::Query\r\n"); + #ifdef _WIN64 + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x669CB); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_eax_rcx_jmp, sizeof(CDefPolicy_Query_eax_rcx_jmp), &bw); + #else + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x179CC); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_edx_ecx, sizeof(CDefPolicy_Query_edx_ecx), &bw); + #endif + } } } if (Ver == 0x0601) @@ -1578,6 +1769,74 @@ void Hook() WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_eax_esi, sizeof(CDefPolicy_Query_eax_esi), &bw); #endif } + if (FV.Release == 7601 && FV.Build == 18637) + { + WriteToLog("Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled\r\n"); + #ifdef _WIN64 + // Imagebase: 7FF75A80000 + // .text:000007FF75A980F4 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation + // .text:000007FF75A980F9 mov ebx, 1 <- 0 + // .text:000007FF75A980FE mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch + // .text:000007FF75A98106 mov [rdi], ebx + // .text:000007FF75A98108 call cs:__imp_GetVersionExW + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x180FA); + b = 0; + #else + // Imagebase: 6F2E0000 + // .text:6F2FA4D7 lea eax, [ebp+VersionInformation] + // .text:6F2FA4DD inc ebx <- nop + // .text:6F2FA4DE push eax ; lpVersionInformation + // .text:6F2FA4DF mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch + // .text:6F2FA4E9 mov [esi], ebx + // .text:6F2FA4EB call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x1A4DD); + b = 0x90; + #endif + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &b, sizeof(b), &bw); + + WriteToLog("Patch CDefPolicy::Query\r\n"); + #ifdef _WIN64 + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x17DC6); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_eax_rdi, sizeof(CDefPolicy_Query_eax_rdi), &bw); + #else + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x19DBB); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_eax_esi, sizeof(CDefPolicy_Query_eax_esi), &bw); + #endif + } + if (FV.Release == 7601 && FV.Build == 22843) + { + WriteToLog("Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled\r\n"); + #ifdef _WIN64 + // Imagebase: 7FF75A80000 + // .text:000007FF75A97F90 lea rcx, [rsp+198h+VersionInformation] ; lpVersionInformation + // .text:000007FF75A97F95 mov ebx, 1 <- 0 + // .text:000007FF75A97F9A mov [rsp+198h+VersionInformation.dwOSVersionInfoSize], 11Ch + // .text:000007FF75A97FA2 mov [rdi], ebx + // .text:000007FF75A97FA4 call cs:__imp_GetVersionExW + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x17F96); + b = 0; + #else + // Imagebase: 6F2E0000 + // .text:6F2FA64F lea eax, [ebp+VersionInformation] + // .text:6F2FA655 inc ebx <- nop + // .text:6F2FA656 push eax ; lpVersionInformation + // .text:6F2FA657 mov [ebp+VersionInformation.dwOSVersionInfoSize], 11Ch + // .text:6F2FA661 mov [esi], ebx + // .text:6F2FA663 call ds:__imp__GetVersionExW@4 ; GetVersionExW(x) + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x1A655); + b = 0x90; + #endif + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &b, sizeof(b), &bw); + + WriteToLog("Patch CDefPolicy::Query\r\n"); + #ifdef _WIN64 + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x17D6E); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_eax_rdi, sizeof(CDefPolicy_Query_eax_rdi), &bw); + #else + SignPtr = (PLATFORM_DWORD)(TermSrvBase + 0x19E25); + WriteProcessMemory(GetCurrentProcess(), (LPVOID)SignPtr, &CDefPolicy_Query_eax_esi, sizeof(CDefPolicy_Query_eax_esi), &bw); + #endif + } } } if (Ver == 0x0602)