From 818ac8a7b14e4d9b6ef809f72745cd99f8fb0ef4 Mon Sep 17 00:00:00 2001 From: "mr.exodia" Date: Mon, 26 Aug 2013 00:31:54 +0200 Subject: [PATCH] - added UE_HARDWARE_SIZE_8 (for x64) - fixed bug in EngineGlobalAPIHandler - added TitanEngine.h --- Release/TitanEngine.dll | Bin 668672 -> 668672 bytes Release/TitanEngine.exp | Bin 59755 -> 59755 bytes Release/TitanEngine.lib | Bin 104582 -> 104582 bytes TitanEngine/TitanEngine.cpp | 73 ++- TitanEngine/TitanEngine.h | 932 ++++++++++++++++++++++++++++++++++++ TitanEngine/stdafx.h | 5 +- x64/Release/TitanEngine.dll | Bin 638464 -> 638464 bytes x64/Release/TitanEngine.exp | Bin 69539 -> 69539 bytes x64/Release/TitanEngine.lib | Bin 129000 -> 129000 bytes 9 files changed, 1001 insertions(+), 9 deletions(-) create mode 100644 TitanEngine/TitanEngine.h diff --git a/Release/TitanEngine.dll b/Release/TitanEngine.dll index 0a2253f4409ca41757c5622b5fcd9e9c93eb97dc..92dff00f4bef502d9a17fc41dcedaefc66435bd5 100644 GIT binary patch delta 60755 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 a{->XToMZKh&jzv0Iy>;MoU%2Ch5x@v`NZA; delta 60587 zcmaHT2V4}#`}fW4!U2MuQUwH5P%J1amWTxv?C60F3zpbUY^b1EK>;J4D7xy{#ol8< zU5pJY8XGYtYQ%_%CTl@=DtRvJy2sA7#NQccpZ?zjRw4b_AajYg;be~Qho`Wsf7J&iS* zZPE-CHulbcyJmA)f&=+8mY-=sGATdF~)lS|oa=opf%6H|$c(nZvyT(Cb#iaNxK zu^MAvuPCLDwA-o?@yotvHHf%&>HNP0M>q(a({3d+HHH`J%@xc8HYKr#Cf>&wQ5b2)O~}^S zwI_6M2dQ_ZRN^n)t+dB&W_z_c1{8nu5=-@}Mg-eGV8oPOfn)B(eQz?vnOEbc%61_3P zCNg6sCyP>y?W9+g{m4kk-LVlp+BUnZV@*P;NaJ+@RB4mFN@qprqt?;{T^*X!TDnwa zIo%c_4Xj#=nnI+cs6g9JwJ#x>?2m5m39**mR=dWj zFM71#IFB+yh*av8PY*PcZd4yduQZaHc?S?5X^8i7VlVya-GmH~{Ct*^PLk}?gh~yi zBA;OTAW*8|dxH2%4}6=D36icx4bm;UNsS|<+N%1hWSZm_1r@o*l8lH~k;cBxQOaD& zRI{4x$nsQ)xVUI-cB{&i-KN%D;@-ZlnlaWsBm6c5szWyWC}pW%_V<2u2%Q%wmHK;V zgDg3!*B(pgU$v!$b?VUTwWULK?$MY2(&B(R^oqZ9G~ha!DW%knthN(nT7+qlX0*8g z=~>+`9o&3GO~%UH_q^94vj^8pp)}@z^r%5786?#VtVvpChX)>@w97u}uSOk7N2yg% z0P)Bk5#&ZGgwNSYwv@J^Nk3wn{klm@f%K9Bn^)6jS@?`-{sr;OHNS|uk(;@J>r;wt za`cxq8s(X%w7JEjwj61ItwYxg%3f=oGSCZwodV8Msy+Y{9j% zjg;H6FBv1belgbWy`!i}%XLf*@siTNXyN3TT8NTUP6Z>o#xd;-UZksE)TDD9r59hg zB~>=A%z;6qujJ`P35H$0t#lb_aet#OlgmlHl`bteVW>gG0F;rzv5{taW9mwkA7jQz z)tuZ=X~xRvzaT}EOAlnblxoGvH5q9fskdaVDAL|iZMBv8WhRp`jq{L_OVU-~slCZ$ zlKfhYqeWGvWv%MaCY7acTKUs;Ri#I*YSOn=C99CSw1+uuje|5GFI#4*K4pps^L*)Yy>!38zQ58VY+$%klaN*r49Y6Y2R54_Ef)OLWJx+(GG;BWoI8Bu#k|K z($7P`rEz~sl?R`uxjUpAgZtAlJgO_{WBjQb2kS^1V-C{iUuWxwWDxQUIj)joHG|(4 zl~Ni$g?uHo`LdoA^rbz~13E_jkY0ZoE%g{#O&T?#6MeKv+CQQbc`Cgg5lx;;5hMH2 zHM^wkBS#QLvK@7r{4QM{bwaS+U}87N3GULy(c$Db>G9}jQY5t*Glc%RPTDZ06L}&% z9@7^kw=($RImpnK6iRCid2Wx*z0b{=4<2{bDb4z^lsI+(IVjy4JHl2`MRU$xBefkD zD2PRlZp!;jpRyr+6dH>cRpqnV&{uT<2f zsD`oc<0xf0Cvdkb^2d9`<49!^DE&}($EiVXKbc$qPe(#mP0J(evt7uEMJhzgP60x}dt zDesp`F4G%%bg?A=yQYInr6JQ>)R?}M=hk78^)2%HA9e;THL>ri2wu{y>5a(`l9 zKrb4l-7}ig>${{!GnPB8Q5n@?qF>32h*ARTNDF56Cf{fOG;;|h`O?@qz41IXrzQ!M z3g>i&{}eE{KAwH%8mNAu)N6hT zX)8!o=|kE)nwc!kU9g1~CrLHGnn~iM4PONb?UF2_FaD~I+r@v1*zA4wxhU0JIFEcQ z?OV8q{+1#|r;j7&r3>j%c)Bg>@8CVdq8KGnN>yprqMGzYqO@sIAGdS=Ra*Qx$<8>B z!gTWt|(MrLcblmD#N+%p?bN`;vL#8I+c<`4NcTIPiTpw})}sr9ZZ)Yc3d zmj%${Q>CNJn$xqH(z9jDoigIfd)=aaUXIf8>01nJ<>YEs)3D`=}J(!MfxX~U6fbf>+fU0ENVZ_}0YoTDd~XR;{h@0A4UhU_O5 zuk;EKD-tc0OO<%b%2m#iV{Rp=9B)j-s^;XFl)7qIH3$H6&^dR_Cm-J;o{y_Kf~Gxl zaXa=8A+5Zu+E$fg(ge1G*hqABT~bMEu-c0pmAbAD!wkO!@DXY6>IgjFuWn14NiEle zl3;1Z8p%mBp}Z9tyqrj7sW#hZZ78Ap$4SH2g*uHJSDv26(=lRMWgl7BhfpzAO+PpG zU+Iye6tkhTlc54{;qR>=$s0P7Dbj}xE#QGS-MGRj-0-iww`ulI8#fTLUrNlHfoJlz zn)KZ$$#wH!47*b|H^4J%a}YIA>DJ~+&R0j4XSY-_&_uKQZaGNEZsbp-b9bu+#D0ka zI!S+QbH#K{wl~1D;r1Xrhi;E^YBT&_WnB9p{jxnQ;J0Drc#BvPK2Y9&P0d4wrNUt! zq@Fvx$UbS@jzqFUdc31A*(7~`|HBT5ZJ6pT)^(b7c^6AB_(l@qC2X{81@2F(A ztd@YnrJ!XVGl1_5kU`-Ybq0uSn)mi`;>{il?9(3$>8rN*l~ zXvh}n+`-9Yy%c+jd9 zAh-41QPRc3&FP^@(#ONgo#yoZ7lZcCr7hVz$Qr5ZkybQ4%3{GDaJzDj)ThN}sgxaQ z>y#f^p3`EJLyM*SeIC--qfMRSD$*?2dV~(|=jj<4m8Lg}7&})H`Pl%^jQl zJm-KlX(Vkt(@g4}TT@Cn6MzM!cWyI!ypz;7w+E?|y(PE1Kp(b~UYrl6PdiBd7ozEl zP$}s`FqY{@E;P~VEz*B>p$D0o-Rk16cJx3~$tS-xJ=9!^$=A~}!P0^J)>yz6=hxFF zTBxgk7fIS?Px|hLK$kX@+Winr*EE(Aeu$=<8c8?tX4_agdZDp4%R=7f$AQEpd-ac% zsrIr3wg2uwy1i?*?Y&b}TVlaozdw+sb;_<=;2>(<_nFP5O`)2#aEYi5wV(o@%po*; z?~|Q`jLz=;`x}DIldezyCL^SyiY8Bb?``bS@A1EhDtA=KcUUsq_1B! zrdtk4_9a2&kkqCm&S|LYzp^|(n4Mc!W0v;uF@hjaU+;@5RN-d8E7w`l6Zed>^ua+xK~r!Mq(j1=~!5s8-K-}EIh zs$eoLf_e6)wOjxH5=`6vQs`ev7%y}G@~8XEf|=D%65a-oeo}+CZ3&gey={RhWb0eW z>Bq|D3|NFRYIkfbqU0OWjeYGws?pVgJWU{DDBa{KKeQq}2sg1?lixWKg_02YQC0Gc zkh$_rXL5j&$}Gu^gc7}+>qfq&q$Qi=fr^@{{F88Y*@KKBO<0g8T64Zg?(Rw2QTkGl z7gr};32DTB^d_4~LwTAHsY2)*4R4L7M|9wSHzzcZH>WiTKj}b{l++gC3*A2nM zi+Hndf(hnD_Bt3nUR~|+LUWJH6Pgi9=*Jsua&r( z^v5S`R|s??gxv}uVRXlP*}XN{Kxp2tvfPG@qdo&4mBAmkaXgmGH|VZoD~{{Uk;sg` z*P@hD4y=7BRK$S|2qmq(9Mq0*l*8|~G2PT?=IUZ8HtRvGT(@V3LP>oPg5H(dI>>KA ziJdjEUey`$w3ZunCf{gDE%rxG5=39hEPpidW1+pk(Lz~X(2Im{%|E9nyXY?$%`G^3 zhoJ?o@|j5DLFm>S?0yuQVZ*F?lQ1$>?$(=ZAvE)v{Jal|prk!(-Jevi_7@+N?9~RC z6@R>{_>2EyQ~EM{*ec9;=5NjPabRzkJIZh;vwa$H!;Ac*t8!xkA6UkBEV2;$|VRE^K zoi1#D=I{tY54X`PSMpf1Nknfwj8n~K#!19ayO_i4EyXm-Zr`gVRd~df6O`}S%$a1F zaEEFn??QKNfTekXv&bO&IGrt;Me5Sy>Fnq%as!N}&L-o?cdTSKxmztPo!bvquld*~ zIf6Zt9PpAAsWf1Z=D<)tE@V~a!Xln5WX0n!s&tx50?ADlKbPpMfla>LviY>!>SC$) z!CYc=yYUZBEpv?NI!j8z=;F&ZCJ}${TAW6w8gD|Kibk0o^bOb9qa-M>8o4sxWWau` zYcl$@0h^ahRye&)Q+fZiH?hE%1-L$!L<# zCeJ56ANG2c?VFF$_9}ZZpDZNbvcwb^?YHby3YkH!uokH>h%0PNDw%?*;ipv0 zhhBWbu8#FxE*ZZUdsB&)la>>;-7_F~eDjAecq7zrn^VHu=3b6tWm zI%W_rnlYU{${@|?Uy00p3F+>AMrAiI{2c~sO+}{{svD;tPqTSTFzuXX8<&uu!P=aq zqzOHhzz!|N6kC;jSW4<^7n;Q*2WH}ojm%|@mXX!;Ns@eJ8LXdt!$gU6BWGAI34`^s z$!wkk`;TDy4zu@Ne?ebnNwhj|1v|}VZ?@E>|yrxDiT@) zi8!x0qwY8^AJ02h#D))Tl5318g+uiG1ao9$r}na?;8TqB5y&i7bshPOrjB8D>&X>z zklkJnEjcRNY`_SnRV>{bv60M$)UIvBl>RkqwFzC4%?52EcRUAk5&5R4_4v(XG9>d! zO=C#T!I4Sh{VXC24%TZnDGS5dVYVfUv?Pb+`&r!k8pyhBCti;K$l=Up;dt%) zujPd3{64ezs>j89{ck$~#~~J6S_>)N==UO!l&-JIP?Oon`LCV7Z+Y?Id1a z+f@x{n)`GWn)Y-V9>xfJj6XI}hEi5*7a3J=n@W-6H&m-Da=}ic4g%mW%6)SRXOWA) z`yO_97nw!2v4*=*_cqqk98KH}w{903ya$H6g>BwL{19E*LnZ{;_u~`CR(>M09+Od# z&Jgeklf}!!UT(TP=>j=J$X9ZsOXMRVX)N$EsmBgoCO(y8;|weM z*J zDS~co#)__!5N&{^VSzVDI@NZuyq(G?sUrD7?(hTYMxo;wci@dolXu@C4+wmkukMk4 zluThi-^c7bnfVuBw2YHC6~GxLaqQ3oC~6$*@hj=b0)HlT;E?qF86)Tqle=8844|gprzzW4nHVn>vm) zdW`b@f5kP8SYF~3L}z{_lVD~@Nkeq>F^VuSyC-mu4XpbUD2Ra<*c;K~CnS-KVKKjv zyO_G0|4wkeuV;%D40V0jULFl*-|}b}d#Yei8OhwAq9y}t$D{FV^iz0PaV+-___=$Z zlBy)0o#v?7?8Q^HW2*mwXfY>n)5U8KlBfJ8#8X>544G`oA1Gu6Tf?K(oTfHe&wl>{ zW}d}7is0;T@t<3A4=8L_7?4ITrz}{xi@QnhWms z38+-Z;oW5r7pJ8Ns$2^`RDrF&vsHVRh^PIe=T7y}) zSj?Yfgzj1ub$rFykFiRWa=Hr3{}Y`$h}pe_60~PMUXtY);~u_5XANY-UlAY2yzo+i z4t>n3y`5T2dIOG<1wo%18n$VyOoljV={djLrx4}=Uly4hGQ3o;d|!cdG3YpwyJ4q~vi#R@#o;=>Ax5k{*SsMizA4rkO;PofIqtRz zZpLu?rnioxM>TK%OuH4YZIb(RBzye^DxSbb{6$WOv;mz>LN!!8?-!Hlttq{4De803 z;2=6ZytK$$Eyf+S&AXz}*l5xtN;&DbJe|!IXuBl)sMt!X1Fd|IQ5#&vq7^n#%00YZ zva*MVO2EWcR{+KcuXG0w0O-#&u4;4fNSULvcT7t_&t9^sfiy_ZIo+iuCl7buS{re! zPPujqHyFZ8QGCi3(ab~2FK@wXO41x>F~QfI6&02Gn@kTar1Kt`OfO8JE7!ZXT#lx)|CJ-s%Nwa77G?QNjv8vNfGZ2q z|4WXhw-q&XFquABs`yNfAgHK9v{dn#95ptdRUxYS*ctlhpvv)&{C~*tK3*?b1)G~^ zzqKtF43}dE0FdKXe0)j919GhFm^OvA|A3M81{?N)Z26awn36s*75X1cC4a_LsLE6j zn5wKYWw`kdrUu~kl2w;-rlQK3VpmH^SKlEPLv~gT+2-Gd+>Ql*#A0D0TlW#HO6;4D zB#X3WgUX1v7Us`$vE(ugeAVBRHc2-6*h)(8it3dvYSm`@>}!+mq8cbP#bTe6xP2N_ z`?QCBPW;S1BXsEws(o@pwHTkCLIte2&3??67h4tBNHCvy1h4sDVvsj60 zefF?Evy?2>r%QJ+Tc2~e^=(D!{Lp!c88!H-!gyvSXrkY?bs@oMd z(u%GoN7zRz+LoMUt*z+|vYS=X;w_hT)6x{IscvZLR&t1^`LR_tRIlA-ae$xMP%Jsm zu(@`$Ivs9e8|-LHTE`^cv7@aC*(^KT)5=UnuNLrce%9_ zHHuX)7JuZ+NMqVbta**tOFAOobE8)Ucv9Ov=@oK7p5#UIh_K&eV*9tl&ABl#^q)1H*cd}`8A(V^e5Mol3ACckeA0gzRk?@nYTvuUnIyzT62 zFd9FhISpVqzH?#r&G32zuW+3oG^ZUAfov_A!A`cI-N<|%dB`XfvD&<1`(*?d3w@xO724tnYCyahguw^r# z6Kz74vBjO}RYR)Dv^5bo!;LPp@r**b9lwI3OAHG+gRAjSn&8??EKxj9V|?p-VKb-J zgU%ClMOMnTQ6>{yXxtYy6}jYKG|-$kj#8A2&(IAG$-UT_&NRSgE{N2(7kG2P+tZ&) z)lxi0G147+7utn(t%mzT`ptZ)u2+T-zIWod;CGa3*u}PVq5clbz;YazD6&&Lma*H& zK~cU>R~pc5Ho7A1_m3tMDO%=uEQ3R7R}!?!gAu5uCR&xlTXl`Ms?~J0nFSnC%n@~g zFh;z_j=)4aY=ZJj(27NV`@7N*hozsYeZQ2w=}K3H=k}zyUWI*yQeKLEG)kE`1=}qL zdt2~cKpBEKzTZFap&YO0__kA6em7cI_!5>^xDuPb&fRG^bvnTYb*CQi_osEI5uPxMuShVpL)|t+ve;@iK zSuBHS79lC};(qiXp>bE`w$YSP+M|rMm` zcZ<#H9bjft&KOE}6Kp257>*%$7Mo^{j`Cg%I?XOW4$Mm1>be-!hr+;lW`#NjCGXrPUf7Tx@}0JZ-h zkNux?n}4KtD^Evd=I)F^?T8DZaXUk)$fmYqX=8mVX*2y?{<{pqatsohwqB@G=?8RhP#o9T~Bso9If|d1TSfy zF?^psmWzic6%8me#d2Bj%%?vi;5bh3EeLp`G5j$K%Rw!LQOc8bT-;cu@f)Qlf#Wwy zx9OGZEOb0(a!irqsT)mP$5xG}jXXMAsMR~8Cqc8m(gw$5Rg|ULjgvqw*YF0W4Q*u6Q6Gum2`)P9=rd|WP6G!VJB9qmq{$$w47`A;f zZAP<uEcJ1GNow9eL08Z-ApzpHF*+y!O`;J12jXRb0*5|v*{8MXV3XEO%myZQF7!-8cwwCht;`B z-f)UK3fO|&pG(_dN3$rG9wD_^)>-&|9xV18WpH$!U8LPv#CiB|)i|9$J9VDAV~z!J zHa%a9Q^QBU2%H=1dl6aA%E*FGnzDAuu6f9YgW%zpF;)1mtjqKQcEm?rp~nd+lYOqz zTx;4!FF*Q@W((x9yz&Ry8@`qN^hes>j=W^`AJKJMy@l87kLWF1?Fv5WZ;NIRdkHS= zL=m;q9^se^(JZnLFpr98l=e2q6q+$|uVShY&nHc}#OyI_&6~5&_LsK{!mo0So?`}Ea((2O@f}RU>0*smL=El z7t~36kYi3-a%FPNWsWH@=aSF7puMSfPb1ExC>^X(jWu~mJJXJh*sPcIA+~e}y`tT* zgS+z;O~=-4<=?gJ=U5`Zv8qM^|DtA20^Z31E#s zU_O~@&(?jwsP%wd`vAA<0sH*}?TM&)DLjw|tY0Zjz_I(aQlu5I-%Du?M7AH1R>10h z1WyHQ^+)OpZ8-jsHl@CH?Dx6v}qX|WG&R!23d$Qtc5=btz62IZ3G{vewK|8L+GSZ zX0jFPkOi!coiLWp{>YZw31Qggx??BQK=j^D7=cwnOeLW%Xud*32bZ$Lm4tRU_! z+n4{ps?i1);ixvtQgd}zVLeV#zi~y)-?Cp_g;=cFd%6id!q0X_4-FfUj@hd*bSkoKYjc+E)5tL*0S+2eBOO5 zsFz4eaFyve`_4ybLTwdhHJ$TCCfoxs_ z!CCI&C)g0JfumAYl$$)!U#LZVGdXJC|K=|+wh!l8}{*(lk%n}f*+w*@|mHvP*eWBDO8Ty-jvgt31di& z%be!%f8{RWDVo77tBEj)&2Awap@XlPi|Er*7)Hol`REtIRN`wt7<2)6{14N?JS9x- z5+ZmLTKlq$`qz-E#!Fl!_|=5Dd=pHWb%{B(6;Au=IraGeDkqVrER_FjE1V+OG&vB8 zVQG#0I#ifJ$a;BV2jLc}b%E0q{!i|-%hyaFeXQ4d=SH~$%-1jLk zq;gzljCo3|+(WR@W^v4s7FjvH^OVqY(?I-6rMhnQ#hd|<4zIOZVF=dI1<@HI2NW0+b< zv7vw?6-$=ZdSM+2WfP(VH}*m=yfd?UuseGmDa@sXeb~e(;f)y?+>OQd79!M_zn-?NzvG43Fnu3z`6X@*bAh@K1)(?Gzt4_RY1M_=x5neMKef@+9{6M(BFkh<~215H`Y6m%P!`)-vYhD}~G|bFwL4PnC$}v5Lsm!j57IZYf zH>(;gTqn<1VYGlxQdpG%!V}LQ_gF?o?sjl%2rCLz4@aLhVO0hSo>+VY4ivh2{mInOGNb?7VrI`MTqm*rI>|kM& znuL!e&7U!rVo1kVVI{13jIg#%Bji$7q5K<0v)`<=SNX+pSW(>~f1Hj*DnmKhzYF)+ z!(PV-hqWc<=|kQ>1k(puA-^9gLf)WhlPz2{LN^1@Rs=|tPh(xN@!tIVk7GE!WEr-e3Xzv>P2x+4ZW%3YiY~x2K1Q1 zrzWMSDsbU^BMTQ#T25i3$G~^Ul=qJjhLFnh)~RC=-@aE8*0CGoFdemDCr6CM%7)(G z%Dx^W_{m?z!m)6;w)zukF1tPse!yaxj2G$=T4l2wI6>G<98Rya(3HSoWcMe+Tba9( z=_UzqiY<)|oFwccWU%~G90oDm!0?$OWWclAKLtI$kX@M~JkusxNKZ`_exYDBYnrf! z;7UdJM4=4RMz9`H*KK+_4m?dP@cOTA6>4BYjqk|WRGxUH*8(n?+N)pn@05&68@WtEOWT7T*U7ku77GOaeHcyy@=*T=F5qG}==fjKa&j!o~ zWmh(HJ}4EoVLqI;F6>ACX2X`H2%h$eJC5vLfG6cfKjxbPx3V9LNI|A9Y+?$?0yr7Z z^eunu!k(oF3u<)c;w*JM<}wLqQSfpcl>UABf*eODrlLy9z`krnDh5dd3rZ74*}VB^ zddg6PG--)Du38E%@PMzT38Uf1Hd!F}X|pUA60<;s z!NE1wIs%@0MzXAh=Ijs3V#@DI9CiZcg?BcQ>EWM?S+68px_szMk6_?ZSP zbb&^1cnzc>YbEaYP4#B=(}miuMIX!4N-NS@c(XC-LO;@rolX}#sW^h&PZv76_5x?h zy+1yp8W**iTd2m11uqi(T?fHf)3WfR5x5MarsX0HUo|WeT7+1uIV|FBrtXCAVql?R zb1n*%8v$}vFXzU)eBK5qM4jC-JdDm8Zak-M_UvwW(|Faqtpf?wKE#F}MD z`6P)<*3~F@;pYEnqtMI$GN`0Wl|o0@K#NtvaJ;QqgIvFh z%h2nvNyw%cmd|b$+S69!nYcxGiHZB|7GVXo86{_I#p(ci4u`f0Q>pzZR(rcps4cWu zuEP!tOTkRqA@s$Syr(;atvGqh*eSSGiyH;+A}t!fHlsIxUyz~}(N zwx%}6SgW%_L+n9}J&V>Au#B^CL4ox+Ck)~7%yT?d-hB=$71CIKdtMky(KG!o37hET zHtgLcIM;|5<_V{1W*gS!GMxPw_RD1*m0g*BwBTPoc-=KAFj&+rLl}$DrkSYQf^ZYz%jTjk2cZOEV+&DNif|Iaqot^8 zjqvshQFo)2sB4el5hCh3Bg{qE3H%C#c?jPlv_QHJ`0`i;tZ6OkCLkMnr8HF%K`IH#cq9JdPbJ>b;4 z)_54h{KS;ppW0l<6fxb$@mTWU9$frsdPGfgQ)c_wP{$Ry=gp_KO>@t82EH{yg#0vA z971gO_2lFki9MOVgP7B#5ninjoDgatoQpsQAnuMZ0AUQmec+xVyhVubDYxnLuz@^yt?}NDd)NUfEg9)6&90Y)CKBwfgIUYK0|(AOut#&tnmfAcQ__ zSuZhwlb+}$`tca0dHEM2DWj|A4x$SPClQVy>_gawupVK>AXZZ^c5&jQMiVdm9fCMm z)VZ@cdU2Hf>=>T#_8zKiz@F;T+pyCA0J#yeu^5lgV{@ssED7Q0x{qIUK67Vq~b zLK0I%-R;p(=~z+M8}DuK-UIJ{kA-qf5Oqfj)7;Rf2cd5% zqwZoNE^wCLj}wiQ*s-*UVrP8HcYUIm*t-A&ZbE|;hr2k*#=dR_t{xe0V%lCk3yq(H z+=c_8@JyRsL%M>mRx|_pXGD}JGjP4YU~>$=g@sM6^n?oFm#2(H^Q0miJAT^qB+S-TFSLos5WGvgoYOaMyh9dHm%o4!P09q%T6|o@M ztcZwJMdU=_ArsMRge-(z2nP{z5ONW|PgWJt$y`%0Fs~8BdE69cB#7NfqI@wy96{jP z)}0R1&1W&w#VAAvr;8168Rx-t(LhO%+-auhicc#SupzU=Z?!o&n82~g-Doy`$`E^! zN9Kr`#Pcq&$_RYzVJJWcm|O}YG0P^{`TKyH#56F-< zIdiOa@y_#1g|iXcr?k@~X!|SkSn@n^H|EWH^F`lU?kKgt=|_V-kGDFHu+iZ~qrSMC zU*53^^TlqY1{s|;IC#pYELD)4*E_>pW? zx)@S9z=Dq-4q8w4FkP(YRf3fnFC)G#aKDznc$ucVD?c#*MPfUmlSeHQ4{|5THACF* z8VtsjO}Hj*Xz&d;oNM~L@M{g^dl{lD#UWkEQt=hszsH$kefUwjWugyOyFtsuW@yjo zW#U4|Y;VZ9#N^UPJwzPAJ}wh$*=+K~_e9>xQx>pX?BdlJBMXr#CfA9EqNEc?T7XIj@?z zp${5vRys(_#SjKhR}8|XD!)~tuhS7!-cK>s;LmC5a~$ixO8lZ-*akifS2OTfNqS;3 zaar4;5|ax@4N#hb+Th+B3a`OK*^FU@_eVmXe*F!mJ?!Qxv5&)L-rQ7ZXsnGgO%7t> zAQBJ^-cgJ)2TR!j1`}@szfe^^RhwgOMA@swca&taee1+)B!|sdFAl^3|LyhSV|;&f ze1lk%B(Z`GVkDfhh8xk}c6$8qUwFrh#=N2l zvF-|E!P~@E@E|8`6Fs~;JOiO+!KK)uRoI_W`n@)p&d1s*b=l5su=AsG{x*!pP^_>W zqOaeWBDDM1NiKmoE?k>U$M}Sy^!kJkV+%nUSPK~Af@?@TlZ;3GJiVe*QTdiPs%FW> zoAQ?Zumg47U}ZZ*zdF1B09#)SEsd{g>@0?ykFWHFdxBQ4Ea&KyJe?`RCLyn%lES*~ z6bH1lIe~`TpvB7ByQr{ab3rPW+MVL!Yo^Q{uZj0k_HcCE__V*EYraZ$2?{Y@f<^wc z6Lylzbh|KK__IN~#B=0J*?Tt>*7?eAlj+KNNHu^LKK?lh_h()Ah(5MnfO+;*HhGWO z0-s0j-XjKi{`C%6v*zL|5ay^$o$UEngCmrg^6Nb!ez>lT&EF?>!Uu;}_KBtLU+hrJ zcQ$n4 zon})i5>rMMqT33U6>Rtc@gWYo+aDAS&fRg>91K|J=pl{sDY-W1m6q((L9xAa;X;he zcA+WnT&Fy5nhSdqFFs~f4~cPDN~atWaiq&GAaZ@2Zl$Y#ueV-Vhanu7yHMIGLjm(R z3_HwZ-4Bb=-s>NM8GS~Y4ek%>`uM4ZH#IF`(9u^C4nOXXla6dD!7eu%8M(=3sXfQ~)L^p(%iFhd0cI5=Mg@he}DfC>h2aJ&izb8xr{w&Y+x z6>QDH?kX5ch5`;%;V_PFrh;8KSP!7ebPxXKr6%Y(SVaZ`KY9P_<^?szd5E+ zN>p$d2cNLtPlz?Uo&#opv6C2LwHU(^_YV)6F*YGqnHJ1OGbSj+D#wCZtYW4Ghcr8> zV)`jFS=33kz987SshZCN#wAvITS4j0p>|x@N&-nK4~L ztnw|GB`RiGkC0}!RZKr+Hq)PiS2~DIJ|%8-DZ)od#tWDSz4CCo6JHuu(JK#F-P7WB z9829i4PV}u{dQWMg5L@na7L8L3sxmpbixfV|6DkPAuK!>qxuZCAXgmIIR6xSb5yY= zrA_j9+vEHGVnZsxQDVa`hz0ntwarB_0kb6Eh^YW|) zf^BSpbbNssvt~Kw>o?h;=J>7I0 z<}^x4KW;KLy`LWQ7>A8meLTd90V~knh2nOopMAD4JXDi^**%P$p; z?`@3Hfl{a3GUNBLJ5R;UHg)-1OGS{A{}5;LpHBEtB+e$oSzxxggV_CHqVr?9tgua06nz6|*#I5!jxx92$B}Opc5-}>E3-7{a zyHHxhV-tR(BEcr@FUOVmX{rPl#px6EQ+aKPxJ;y)4J`1DxW959R3}eU6RI3@Uin5= z-iS67>-s<6imR#pCT4smj^gplcj68zZenZSW3Vq_4u6ZMiSN#9e~YAhk4;v(dsps# zd~okx?!89^)m!6z-NV9-IU)+3npfa37>J@X53IueMHpO8h_9M8(>4}3^kHtLV!LYj zz>jteXm-#XyA+z^>LqLvk{vWzJbA!9kOb=3iBil~zO0~BtmTlY65cNx?Kr7f7PJ2- z#^Nk?`bY7lvmW~U(s4lUHFG7GP0Jn6RmdAm)lvWXywYvM60w)-h0bc{ta7VWmSW`ln+{2?IrlpjKNwfCsL^i zbi-^Dwrr-2Ra2_j&JNgE9cnmcCp->l=l^5x&7-3z-nZ|bNoF7rNC(2cg?)$anVz+m z31Jmkq9URq0)hepMg&C!Cn^ZChP4q9K~WJAP!aedYE(pI(SWF^pg|EqkwsBJP@Yds zGL!lG^LO5J-t(UG{`1T^SL*8Os_I(ry6?MsCgRsuZXXnrDl^1n(&iuNhIcJ zmOVGk)iA4K+2t>olVzgveY+^l)y?_T3-+0BQtNMNR>`&2;ry(IU0m5U5~or)-PN|b zu{u86PQJ%ZkDvF1xKZC;#GgthR?sKYi9BR)OLsMGeu(RnH_<^vm56&EKXK!sGJY~r z8h^}oR&lj#y;a_)xJ$t0#ppV`!tjwdcKm*VMbObthyS7X2PWTMr5^w{2AQ*1vS9MvAf-M`W zy1JyNuU{-mjIIBv_SL$sfOBWNEx~%OhVJ%jTe##apnFS~JQ2JFeg|o-T=G!R8|((} zfU)*tja?sStbCsO-rz0D6Q2|N`MRa6PUcb(SykUPp-Je*iW3^}D*HS60B1ptouj!LItz2`!6IClV;5+yLC*Jc>=MmY)A@0ZeNl7u#*f_1=h|i$Jm@Nn zUccKV8K51g4N}1{AU@xHR2n+pcS$m61%jXt7zjpziC_j;2G)VCU9yD99#hvKX6G|pcx2)ZlFIH4ITzF!Ah_mybTV3 z|GI!Q0>f zH~}t#io0A=L!g0fU;r2eCWF~v8F&F~13SUz;6#)^7r{6CT+&$}@o$%^ffgW0W&DJ@ zh+o5yyazr8CEzTO_K+5I06oD7Fd57MOTcQd9_$2PfuDeLuS=>4nt%=<8s<+Aa0?g( z7J!xDHLx2T1Al{bDp40`pcfbh^1&qVI9Li^0GomMSnts~&>xHgGr>x*8SDk(GjliN zFFpg9Xns&1+zBRvsbC3M12%yjAQ!X&;!~GGQp*Yw*OfSJs{yh>C(su327WL&;*tx% zN>Bt!z!h+Fj*6?i?9*jRs{F*%RQbR*j|iMTCIhPqx$j~2{u$rY(gD?*`_7f*M|{O>Ml2BD~>LYOJy zAE!_ePgq^V6V@gyn&y%@s*>^v@zhHaVLgJvsV-R<2swltIY<&=BZA;#^cG?9qb`{Z zp^a2hfS4wti10ze)r6A>XAlbCP66Rn!ogdn+~d02J>2v@nAF<0fvFWU?3O(`hh&q1>^t&1ntoMuKS|f=Tax`1XN6&#!6 zl6QcWU@904azJfxWwuK`1x|nxPz=_A)nF-@0Y-yfpc%L_i)Mi}vs{Wi8!`fP0ky%Y znG^s-o3<0K1hc_tkT=sMX2>kNz~`E@C4Zu;V#S)pjCA2aG18o>z8L3Q<`%d{Ijzw| zJogFqBshAAw-P?*gqAo1-XFx{q&3u%>x{2TujCvOhyJP_HpueFV}~_dHda2u11_MAD!i@S3{<5Wr>8(PRi!`yq!7QRjY>a zk6XRC?q{2`U5)ha?7%P?`&7~I!lvsiN~(tdJ{NrKTXc|$+tyLd74{3_Kz&* z#Wh`U-abhdHTky4qL4-5w&3C;bk-cM^F&-MTWF4}QS0O+BH1Rg6(nU7tu5qwsr?Aa zQO{S+q58X$Qi$pw;`&%D)jm?SPrfY*t^K%L&SGQ)7ax(O8P^I}YS)?TYLvq5QkjuA z*OgT+N$S${epq@+2SbX3fC05}}(4N6ONw$DUedb0<{v8Nj^Hxc& z4@BwWT7>-TgIFl8r;n86IY98HVsKadx1z-@}ndlw~x$cQcU|vl4k)Ct)G(QPC)Q~X76!Y zlKTL0ukRU2zVVFRVS%e=DDS)^_Xi@r^B} zFDp3YZ-Iz@tFl9WA7BK=9-mL7sD`*Vx}`%N2Lv~A9CB`s{V|WvD!$bre-1?a)cYLr zOkfwzV?Dg_h(qRdaG|SS^Exvfaw8xLi`Okbscxs{JLF&O>qzQ4yx1XsXWt7=Z~2Tv zZVyB*JDVaac7N6(_Xee_a?xssyv*J&lHT&NLmmubN##PG{_uwmd8(bch$6=ycF2=# zRnX|S4tbh=9W>hKZ-?9uh>Bk#yjsRzyXug)0uf(AcpQjhBvG_>p}a#Luj!O$1Cj1z z9jAN-#5$p_Q=SO~?^e$#_X2{?CR|X)&(?EBl3z2;Q}=Q@$1mK8EnVGJd|DQ~neDeKmUZ>b32i z@^wHY>eRt0cL#zu?dX(S1HpC0DR%;bZzkMc##gFN`2`^2XM1QF5PYK7DL)JZzf*I{ zqk-UUeNI^gf)5BdPJtr+haM+#jX|K=84;Qyvcl|C;b<8P7GGat|QlKgo5< zp8>%y5dKxhXLWJP^MQ!JD8e#6yerQFB0lc`IVi0!J??Z_6V{5=pwHrnQtn}hfgym+O2IzO|=DL)TH zx>r7S%C7^#m+p7UEB4#rrLMYnW}b1%wSb5}O?bYHUp?!TUFS;UfBVfTUjiac!S7D_ zaUl53e>mmaf#7KuopJ^c`~>0YGJgMMnta*b#e8uCBG(2YdSCMt`BNacC~<39D6Ye;Q{)^V_+>(eeT3{4H;zh?H-l28 zA$U)UY=PKSl_vQqaw{N;+H1eN)KxwFz~mHp3J|4ipOPZK2ja42d6GQLc{D}t21L4_ zA4`$XJ!a2c#yr@)BtVy|81s_UNqa*90XWqUWg&d5zE@;yL2Do6Y&`&jm0%Un%s zNVr*=xE9tCI*<&Hsgw4cr(BJkgLc?|FLO1iF(4_)h_WOTOOuS$sXDv1la)vUFhxDP;%xKZ|5u^`pHy3EzM#%R1*@!pyY7pjJSUc}XocudKYuB-~;-kKGu_N;lX zIwGs|=5u8k#O;{BLAKAWbTz8@;Oqaqkz=c?(DI+$R+_z&$bRv?(p18@5!cDpYJnjr z;u@EQ8#&Sy7EBT0RFGr8vdUGj`hDEa5$Vc41)rC7>S5BvJM|P?bShu_d=?XCjIBP) zI@Gq8r|1F~Df-#(KI^J(uYAgtp5pwftf<*Z373~8Wtu8)IxNf!MUG!248968P|%&US*Do?BXMCeap2NvmeXCb4m9__twT4BeLm)qF9k< z{9EPgAywEuwdFpzWw;aj)P=|9rf``^kDTO6m{hUBDzNuIM}IW5GglLswkm=i_I0aW z^(xLxamg=$Sn8Ru1iwfWZ}Qdb7e`}lQJ(Sa^m%_`HgG*U$^Z4b<6($>6VSe7Q+8~ zx9pbFFS`1tM;q0td%Y-W&^NA_7_eE_0u%9SA3W%il&@V<&MOYw5UEnhw+?CJy-rE~ zPLj^PhF9`gHtpxoBwk0^;9IToQm(IYN@uTiN`relrTniP(n?-bTgi87zYQ4Gt+MpMvf~ z7=vQ?#s^4;E3^>g;2JF)N_Y?VK=vJ^9Z#D3i6dPReDF4&^J0p$a(RlB|8x|&E-s!= zkp_c85ov>^DN^3D6sdsgvzgrciwgYhlyW3^YKl|>&R%x%WI}#oyXcBj+UQD=6n=Ai zBfM};ic}18UZM<;y$*;to^_V%{I!&`h{{D5Q!7MVVF6_wrFA6^DfGCmvmj}(Qf2X=;d!HYYG*9pYfN9=)QMp>4!w}y^I|GNlgCB zOfpcgjeDD%QZc-6E!S^TnK!xj7HPOXyM`e+Ks=B>VhH$mB+9MaznwY7J$Wwq!C-j) z!=#xBqNEc&JD&InT$B*GaTtjQ6FHplP7;qGUW6k_1kWEu8XzH5JVU$e86tI#+{5Ml6`$1|*MPzE50}95G zNZc0>;dlN^HZ!)bF--70u<><<=0B{AKBS$<`~cEr(lOo}d3!Ub3Ta8dawFILTe1AA z3{545Af4ghI;ubh6H%PT&E>3XP;}TK6|z1hP8JHm+3$GRQR0|%g@3TDE)YJQ@`%|eD$R>ThNCS!%aJ_^|EpbGp?Axi)%}kbCs7QY} zkTYrRr(}4Fhl7pBDENC?f}kk^c~e>6AnzICR`LMCjZf0*rCcwAgTm!B0Bj^K9~6S3 zPvE=gEg-$ky?3M3bSt$Htvy5{mQgm{ceV#(HH~hfTT3c3EX@8AGOygvtVLiAK8yrA zN(J^49-)$4=dfDxK%s;5NX(*_Sw(l#piwN(;j92qFp|cJ>pSUjP#Ap}!GI7doW#;V zx=Htvh)f&D65c~1as2?9Cc?+lLleL_;_?Y4CLh>H1Ej{pft)PD+6c8eJh&y-ZO8{U z5}#9p=MXQ~C2s?kCWscapaL(_>NQ|B1+66n`JnJQ!e?nU_Y1kd@g=&B_yWRgkn;lR zxmQfSm2erJ^E@HK zE~zcJ28;xcg5_X4_%_O)i=fK)E~z!h1-F3*!4u#a@Fv&=O28#h^%&bS=mYKnv%y-h z8=M4{exRp-A9MpZg5h8km`o$@C7cLmf#@^*c^Pa0JHR3E3%ClZ9d}6$fC9RJ8^ACy z5ljQmfNfwW_!^uBDL=ZT4A20y1Kq$-a1WRXo&+1fJD~VS4wt`!Tm+R*xTKDtC%6+t z!Bb!>I0(*y^pmLbAO!k?kzgu#348*+2Nyy5PgDT30bRjuAPSxY8^M0?6G;7;@o)Sy zV+n2n_klTJHTVF03C@7@Q;Z?#1a1Js!NXuacmZq&#o##j8`Sv4B{c^o=nqDNN5LYn z2D}9hgG*8V)IQDo9iT551|9_~zz5(PZ~qXCVE_Tmg+h2VjA|U6;JnI21Rl@} zs&m zR?Zzw1TW2-(zKjQjYmA>ipo-I0fkD92a7~8ULj*((gVtQMul>onO4pnO$3+tI2UQsF2jvFBWwl;Ca7!^OKa4&Jss1sBdD!Ap|(!Ezpz_Qo%$Nl_Bt8s`~Oa3efc zXa?`dB*iaJ;)}|;G&_k;P2%GdJRBSmMJv)`X+VO@X?gI{9+J~~#5v72 z;IWo*Qxn{tbJbP3ovgF)SUC>x9vBv?EtykCsl<5Ju&w{mr^bm)FjH<>xnJ-0Z<#n^Yx z-I2t%+g(%LdClG3atq?IZaO;7Nj*Bj?QN;| zBz}HESx2VQkxBe;5-*0|5$kOd?MU3HZf!5+>^Y)iHgQEuNh4V4EbnBki}8PSV5%ds zIu=ha!IzhE`yH42+Gr!`ZWS*Fo-KHm5L;Z-Pr8w1&v(0P)vcHmB_;7I&6KA%~Q)U2yxF3hwn$v8&1zD^h{7O%*O`BXvpSP0P$l8J`nYJsDp+d%Xc)X(Jym{KD(ljZeG3yd(ny0N!#5Ye{ zp5Pg2i%Pi^bvWes1(`XkjPG?0M^d*tl6uII^Z-ZZ?8L*;l6Yp?)UpRqOxolG&qy1e z;IiORF(-I%g^bZj1tmCAVOT6fCkAIQtV|ra)2k0CEhxp|s%z!N_&?@^D^jUPEWX-* zi!#d0Nu=+UB;y=X2aOwaZ`ty0#TDaPRccp1mZ6l(aqf`372ynDiVy*-C)f{Hb~lP5 z;iPyHqA!k%ONL0LQ!y?iKqspt9uGel=dMoH-Z&?IM-tzf#Mi|+=~u@&>6gRpftB4^ zgG%KK6()8n3pXyCX2(;Lvmnk%GcnFxR=fN-Cw@c{9~|c{`{T;)T6MVHBOV3MiF23z zH@EHmmE84gBi)^LqZ=U|ze&Q{aZVlN1dmv$F<#m`SMDvVGwIJK@l$c`w&$j!9&!6% zJPN)y&Y4g<;F)D>x}0ZJDCe1J<=oLkaFQbrQks_YQUM}43WU%o)%s(crAYdl;tvoP zr97iTInPWh=Z+?V#~)D6%O2oNdI105?9+62uL{z-SPpwZ6$GVN2dvMSxGLuv70P*L zS~+(#5j_61a?U&Ku`**%(>+;F{}R9b-{LEE z&)t+%%>w%o*_{=oj`?vdEv;Mbns|z|uDQz-yi0Cjf_KZEn&4e?Cnk8e+|db+2u|Vy z61;tGuLNi0;CIG`ng?r%8(ni-C3u(I`U&1GS5EM*xv2?`9dS?DsL;eyaZdLfOK|(+ zO!v^}(!_Q5+}Sby5BX1?f`5(gnmhhqCFvmlWJt@cp8c-{)yb{>ukl@T)BiQT zdTwfId|CNd#+H`Pnt`R^so{v=zi02M_>F(Wm;75iLwoRliQo0V#BcvcJny^EVhY;$ zj~lUgcjrp0WAU+7pSwK9NsmZcRLbqUv)rBP3{JYyFNycEKge=-j3&$v@+Hg$C5x?e1+4tL3iUw|o*X`{Vi>DHD1fJfYXQJLfJ>D)~zC z{#(lJmUY|~{>zjytpg>Z)aG#@XHt^Ii9>S7(quDPlG6N_qrwsLFXDNFQ$?CmJ}kz4 zq1hsygM5dhl=F50Txul@;!vroB()M2ah%sr;#o;tPU02q26f%FoEXGy>bg7BIfl^} z&t8(m57|>lW(tG2^tL0(E$vA1AUl%uR!2<7ELAHV8T@Q%U3XKnT*pgE@@A)G3P*Bj z(v-{{^lY39O*76n*=D`}D#Be>ivl{rT~>=yURp#cFD;^!Z?d1Jh%#+77L`;BcdQnr z_NhCm7VgaQTDUVeQKNX8)rs1i3k6G%TcpqWjdI* z!(anTuXuXDczjgq1?>{Q(IOaQ42M%{qrhW|7`#1}8fRv_F$JkXHx?A#^ny80wJ9${!DfYmI?z$Zup7Lj=Xl0zT z9U1FLN43S6W~?sb_V$MEYpZ4^-O5~T*J$LvE-E=klcw~Mj8K9%Pa77?OXoY9rwvSS zN76J*$rR5mdzQ0bBCjO%D(B8Ff)~WvEhTe9#ETaTX`DkV&mgsnaq(bDYL>{XBsEMa zZ&yvvxC862aeO(vHRlod!uB>t{rI+(Ss^DTI zoKnpzcbByqem=(S1C8CiuQ9}pSXVkFL)<9i`l%#-tei_p+&Ekw&(G&KaW~~3jJs1_&Kk+XnN3+`Ev%Ku>y&EOPKr-TFQu11+mPU8dx>#zgy8&+0%EAuSuS|} zEyhp8xV@qke!3j7nH3YUOGI)Te_M>jc(Zce#IZdQ-z3qor#LEQq-*g+l`_jY4{H~Xhueo+yK7gGlVU2`jyCT0Q4FHHM4kSp z0d*)AUy}|1?eNJSvX&Q0!O6 zZ&YZLyEM*SU2_W)Jhy9t(_vHN@f12S&Rx}WN0)NZd2I(L;=88zi^sdVruQi4xpi{N z6Xj}2yq(>(tvkDgyKAl-kENQaaZc5)#NG#??XIr&thNXP?jMfF!HZ-3AN@+-l$&k2 z-4p36VVlJBVuKXHV~dFAl=tO!V$03OP4V>ZNbVYVGx%S2D5{CER;CGjpXZntUgZap+(azgc|1?4<5DL%72{+dj&{%M)e zz?%zw7mgZtO{Q4$@pvH%O5>%>5nJ}PcYm+)2GOgxyF2m*(b3!8wxiQPev4%Q=m+vZ zFVF*Y0S3@OJCF^sKsu1X6?FcK;Jp3P5O>P~yP(^_Ca?~i0;|Dtun5cm1zpj!cpD(M6>rE*dk{J~ztUh>es-=3;YLEC9XMkto*Kti@jsUM;E)wf=R zwFtWqHX+O*Y)WVlHX{rYHYZdFTM#xQB;a$FV{7r5Zsof{1yFH|m7liznrKy}zVfG1 zPwlRbR+o9+^!(^a_ZE6z^KSQk?)}>Pz4s6AWp5SDujOgOw9VR^+CJ?MP4+eO-S2zI zH^;ZxSL{3P`_tFof4_f;f3yFJ-w5;$+z=QL7!Y>rsqWFI>#Ovw`Vsw@-ppugR57#6e&(%a8|xA4 z1?y$&EsF+ZOVSPkw^~_kpl(-ps_Q*Fsq#6`MNd_44R1TI*PG)V=UwRC?Ul4DT1zcQ zyIotW9o2r)E@%~fEq#N0clpNqrukO;e)HYwpXQJ5_Dg{(ftG=;fnk9Sf#ZQQfh&P3 z!FItrf}?{E24@Ce3SJD}6Pg?PD&z_);YfI5cv^Tt__^?V;j>|qz3_=}NIzv(v-((%TeGaEt(1tA!;5NUp089@ zogTkO_w@GM?|sO-$osIiLpww%KWR;U?R+8MPreJjs{VTZ>-}T>R$xeATHy1*>A+us zszF!i#!!>6tVfLlR`jw}5;-o6#XNqvhajkq_1fOa+M`+(UoYPTpX65p8$z2ydqcm6 zz6zIwMN3cWnMO^czR}!hV|;Ccq(`sdc)p(y^ndn@rJc~wa2uNwMHzr3jW6a zPX0dr;r?y@bN&<-+qS^DKuWMruu`Z~=!VdGs@f@hLwFf0tG@2jhw4-G8b%AlFm5p( zGTt>_5`ZoH``Z8$CUH+B+t^Uvase$H!o`I)Xj2{HP z2;>Ft2`&x38Y~Ka7R(B@58WAhn5EdBg?MB5uJGFMFJXsXNw1~%)hFq%>hJ55j8~2K znP8WZA4AQLXbG$jzeAoQcbX%3J2G%(18>@nNNKxt6;j>ha zS1RVs7^3>Cx2j{*$IV&h)237slV8#co|ipud20IV`P%#Z(V!me9elxf*?7y4&hnlg znX0Kn)g|gv%!y_G{r>O$Edp%=X5iyM7@;&mNDh>McKkJ!-KxV=-P7N5t7nX-j(3`O zz4xYou5V+BrI_8!Yt7sEu_@jMChgbZ^WifhZ+7W*N3Dl;mnM#k6i2M49X#DV_h{K> z$Q)owISxr|NIlg@)P?Hj>euR7^^Ct_;AD`?`HldxN z^l-~?yRau53J(eoM_$ejzZl*aek1%QQuD{~>2OuOhTdKurBBmmM)gA7*5B0M)4$h$ z(tp?g)Fq<=!ljYX4B?_8R&Fz<7*i3fi;QK)Dr2MZm*FxinX*~S{J=bDer+B#e>Q(N zubOFAb4#;yWaSOk&DI^(NNcQhzZJD+Sew{8KCnKsN~}Mu)JW|}!-x^di`*Q!Ju*BJ zeJo-}Rz_Zktc$!E*%$dVawzgm>gIfmZ?ngi>Cx ze{dwL;ep_k;Pl{};BIDqb-f!K&~5q!{SITc!FSeT6L^%m)3e8O#M8z<#DAZ^D0m(* z)+Q7PjSS5UZ3}nQJCWlaeTlwCUt&a`GF~xmiOgqbqNyt#(jfxBqAR_X2Rti1TRb0o zKJ|RZ_L}Qm>}{d7)l99Q_L)}0*Og854c{eSSN}-=18k(v`#dMmvnHGEG0SU;~{*7J;;jLmEy#l|Fd{=#${+9lbzb~Esr@vC5exPF@C(sRTsDEG}+wWcU$cn&ofi;2kfj1D> zMTocEfghuEPrYFCV8@^l>=hgo92OiEoE)4QoF9B6_)c(V@MGlO1ym*>)klV+p=F^} zbl&@+FGD|u{$Qci4Yv-@3$F_QCtMUh6#g!JGW4y{-9n!U#`~I z>u>1$_2c?k=1Zng&uGGa5bb94W~Y9|_`uj}97A*Y-EgwBT9~HUlZ|0oNX>N zUop3u@0eej$5?I=>pB+L6l+Dz@J`qex{=TLPr zOKGn9B+KbcOxCscL_BwS9`(#(LGAK-)k zbb5Z|@yIixtBV~{54t*A>7e8&*C~TgGM+>`dQw?$#b)3oaZ5r?b+bj>^bH6&2!b0fdbOr8}jz{4)ng{-QwNl{Q_0wI95T1 zR#Ur48-y|y)gIRtYwyyThgcIQwR*nRK9A4vbw}Br;G2y~yUn-XcY+mC)8F3T1@Sh{ z{{)-;7XL2)mr*+JvOhi0AkZPuCvbCM75n~HOon}duL8#cm4kJHO;E=5VBg@-;QgrM zPooQb5Iht-6_i5NQO@*GpU}|I{h`MZDr-VpLm#0X{Di7{HPnIaX9B9olJHaESHgAB zg09!c>nrrv_0RO1jG0XM?+mvYZDF=$u7AlEQq2llL#+p_r>p^y#gQK(Qi($vO^-U6 zv-!$grAYZfajA7wA04+;J)~Cm+~JwwS?wwEeC7GwQwynaFWSN!?G5c4ttu9h=Ii3? z=Nsl5P6nz68?bNm3Emx?fa$e7_-=4d@I>&}VEs^wQ1{Svp>d(fq3H9W4e0ithkgtF z6{?GV+bMi)ctm(y_=)gB)T>S5J>k#774;0gjh>_5q>s_3>QA9)?b5$xvradf8X+Uk zxQi`%5h~2P#v$Vj+jD)>i~4cBImjG|YA@u+QggMr)7)boF)LZs(3l>v=33n&{Ubx8 zk$Ga);-wVEMMq`qfh->TT}zd$04}>K*N!dp>G+}X^n4#??1lX*szzG6-^LL9sE9j4qEh0{=xoyjPa#x$gla|W`=y^{{*f2 zu>ZLKl>b-%MgQNi`BDp$SEXN~1F?I@1s)8{2rOrJS{vAi7zkby z91t8H93Om)O=)FtLvU+wHw*B1@OO-j&P=1*k!X{#=$Eko-w3_STsj}B!p4-%4&OHH z4R;IYg$IW3Wt&=q4!AeGKm0{(i)y9&^#M_R82gj0Z`9vnQXOHh&oF8kt&Kj$0AnH= z-&e+u#@}eO4NVQjdz|^OIn7*PK8gB$)vSx*GRV4*jc6Lyv5kHF9A?Zr)<@PS)>*4g zqt3|ssA(`uLZhb++4>(oe-EFcrx&E6jk60I=cdrt_LoXCxTDW zy@!L95fZ&ZgFmH< z4eML$BsQBXk{$`*vAC9*J_!ZtA|4B;G@kBrDwPy5+xsg0l@ZD~=KM4k>NCo2rI^k8 z6kB&qRa0}3j|G^szpJU9CLV?DdNi~BsOOBQinpHkdhY=53hzGeVeg;bids%o>!!`d zt@I(b_ysM+SKH_J^+o1A>w5)r@*uXZ;lCD%cOPB&l>cS_9{&OVm;S6kGqze!U}9iy zU?o$wm_Ga_P&?QPJ<5+JH7z&`$IS+Gs852Q2ag16hgyX?hWw$PsGs9PkA|LQs%~JP z_%jrh!WF_*!u^?{lfnhz$HObJRn}wU3uV-;S4EX-riW3pZ`CL2^Yy3o7ui5|p+sF} zqSiG!qCL$vo;IE{{$u=PoHZ^O_2_I5R@61-5c59s3G=B~cONppHIJL;@eNe8+F_*3 z$0XTj9kjlVT0dD=t;|T%hz}pfkjUhiDt;hxOi0BXr!wPi@a6`|KdTce@3Lmz~`3!RE>K<;qWa2*84fbebMJHn&bgch@V z?+zct<>Ey*dR_mIUc`)#GRt42%Rga;--T3I6`R%Xn!C*d%G*jWn zJBg4fbrN*(_3;h#jqp9@TZ-)8=G%ih^@Z;n-#Mgzsz1$N-CrMnP+J5}2=&U2=~Fe( zs9FXB0V9x$xEURogW<6Wt?IkL*?<$hpl#3_ygs-#7(E*NE!aCWDKsy%BvgXrzKox< zdblxuE(6Kk522GEwqy4D4&?T6toOgd{JUYjwr=QM@O=)_hwFD^WIUihtk2RHA(mFL zM%FP@+w>3gy?TlMqyD$M8A&naV=tdF8CqM;(Qjiq2D?RbNs!sUNGK zsXwS`xKgH||DN#l^4@@(XpFa-=ELdsopwf(e06-;zT17H*@E}`zV|)o58>$^9(b6J zeJ>CSc8!UfqrpFe2K(Ti&=Cx@Y|OFC;VSygsP&ul#l}ISI(pF(^D{FGH^n~dMARyv zrc{rg73x9ow%QHnn(%6$!merK9UPl3)4j_uQ^bbT(s!rtZr>E&+MpP?7ATTtXp;4+ z^}f|6(p{8O;FJau3{vhj7Lb$HPB|qkn~G zVHoaYBWY(mZ+wYaUD>Q{`tfMijahj+tv%KeYa;gCIed8>_fvR3VxLSJ*!-5wAYOVsGnj3^axsBbYE#@C2=(q95USJ#GAH zR5t6Goj4_!i}Q86xfk#8?U4yc(MPfU3vsxAfbH*;7E!qwEZzxfCC>!U5bu2Nd)`XO z#cQ?bLT$OW6Gz|??VP_p8_FXAKmOjg@M5hB57h6|=djIg#|?2ouZRQn7UMzuzKdhR z=ZJ9%M`J^*he75<{Cn%nx6Ds)N4cylTv454Q}Tdy&Z>+eV&J~M9c5&3WOd{XyiDTf zvV^y+T~z6;+@?%nRxZZ|{urI4Ia_Ea^#&BkConTsF)@Ept9n}D=O5@9iFr21^C~9C zM;IJl?A=GaPkG(J;YmbB71Y5Td^a{HHs1vt!Ft%OHwEtu-p6KYqcrcvAMOqbwInZ8 zIovVa8TadB;ll8S@Sov#jI|M|*co$5ZddoArdRc}MoG6lE{%rzeafoCAkt>{O#D}wS7Kcn%S5ssGE5>PS==~tskwHIHflrwaIms zA7(;arz*E%l6|Jsz|&vR+rYbqJugigt+n&@#HD}9*VKOxx`6M#&ahs#$?a5 zn0H_k{_9UTc01)c?{Rx;GQy@d3YW_3+BP<&6#qA&#^JGS+<%6BdUt&sOL~d^JUha> zEb9~O1}TPVbTvjBuNfaijr|;$onRqVHtU$}=$PBg;pS%ZP5R?k^Rjur^^i5k+KOZ! z7>P!H60PIsC-MjyD_&)+QVFN)aP?7jz50iGS@q$_jl5_yFguvn;qNJA?|T-( zvdMfK2Stii*J@?;wuV@*Fb@vk&vr%XL~_{cW<=&9TAq$P8(G6D!F9nQaEf$-pqA1m z=DPR*73P3)QE9_z(^~Zld}(e^I>Q^S=gIc8@U-{jafGnKQ_Nx6b!<9ky^SzCM{Cm< z)z`EyG>6aaOZQbroMii2aBh+38-sVOm|gHX49*|?a-dh>w!r)dG&`qI%$p4Y(e$R!z3CZE6;YXr~km-0MZ$=$>2uI{P<2e4Vy0rcd zbFFy>mHAIh?=-6_LbaaN348BuP6od~YrY1FFkiGZCq+6>&;*zDaN61s?_my;`Yv^* z`mXw^S{J!F1S4du=YFK;Be-nVqm~`=q7Q*B{rP)a#%RwKC>L@$qdmb{b!>m#JoF4wjzB zNm3h|cCodCRyK}!Bcmc4*)-mayvG5>0i3GeidN^P#B761r7i1wh_a5=oq}^}BBw@0 zYM$pt&+Vw4e|Ri!UxxEu?;MP-4c;bxzu!bh?BgHhU*&(@f59KULVMBz8G)M2-Oe%J z{ZL#bV*=v?k28bk2bSU!*nr1+I|opo2EGiGV60x?7&#SVt1}}!IygJ{Bs=^k!85_j zK{?bszP}75qwv!$-wgP&6#*F1<3Ymu7lv zeExpDhu&MiLBB;GjW<*%m4*6ZTu#rTN}ki5m|S6_yKy6Wz|+P{#@oiHSOBu=!`!-_ zqq#}uJXXtxIBb40t76!Ot-ff7v(b+};Edo?>o==n>};S<$x^&o-JhC{+hQdGQG9%sw!TeSNG;dz5Tp5 zdv8b8Ebz|7Z@t}n0IzjbEVfoy18Yz{zen-R^fmGI^grTX=%0y$<4=n{5_?0Ug4$SZ#YUXzX^PmM?wRX3iKy$B(vE(m zW%`=>#-UP9WktVsc6SA4qQ`w2XcBDCTpxip@IkO9exGOXUVg)C z1cPw03K#2Ij-zVneXs`}!VXx>QS5%)IoB9B7?0ye+l)KncicD`C~8ab1Ac)DpNff= z8|9dMzx93DOA;^B?U%&tE=ZA@vBy_p_qs{BLs`U5UmP>RDydntY=C+vT^&_3Jas&M zQQ1d$79hM{W=r}Vt+^^~+<|++jfQ7x*Wf{$jd$TE8rlTs{#aksH_x{cFX6lRRHJTu z`w=`eqi~x&z&hXTf6xCh*6k1e-~AEVz9jH0^S_AMUnkfy=3eN*f$hy4)r<)~9DF>u zF8E&X%V2fnTkp`V%=|H-@y!0YG3SB{W7dztJt_Q7_#^yYwRDZCeIE+$yZBH4L|%Wn&)J>9J5r3v|+a&7#WEb%li+7 zDU$eq=&d-MAEG>pZ|fQ4z;-0T$Giz~fm5z}$igtM_T0q#5F^!xIqzDEV`h(fMD4Z>UOr3dpPxdLA{d= zWCs@g&#dCcUX{M;%@%TpceggmcVEmwJIhyy=VZHY7pF#F`dax7Jb-=KA;NfqOvqsDO)jJ{#4S`AlvT!oPW>Z)uad$Y=CFD=RwbMX4ekS zG0zpY+${R79Zsq)xT)6Sp87M&q-vvCT5oM2?$w3bE4ZUBaU3W6YN2X0_qFvYcm#Xm z{}{)y+!TD^(|PS|0iHqOnySadGB^#n*Z&Z{!Cn5n{$l?@KQ${#i5VlCalH@q2v_b& z@1xprtbzspHLSKP#ticWyX>7p{!7JteSkbW@c;-d_YY2iH+w(yUWb$HMNP%vegIwI z1^*lVZh@Nu!XoO%VQdRL+hi(9iMopI8A$^#qPxc(a6({j(gfOgO~6|;O`Ik@9=^HQbkc9cbbT62`hER# zUf8;%S2D7BS*tU)^hjfJ%xU?9k!ePoGwvJA2dzg@Cr`&-u}hW4i{4Pi;qCrJ`%3#6 zL$Zpmp|2xndO4VrJ$NrH&)3@DnM0^&{WWnk1u(6KaO!yqmqcG)(D^Nt!Wq)jIIH)B zFNM?fM!a$`79~%-F?Jj`&!0xN)fUs{y2yYid+mvI2`$e9qU(5 z4{tA=X8mv)4@8d{<{iN~No%c|zfPGD+2;>)ijj|+{aYXtpVrXeSl*8)46a9Z91Z@0 z+aX}|KwlWj3u)`n77pWpX@T+8%e>c|YA!dUYs}Zovxr+a$^t*jWj)AY!aVCwYdo*o zrN+c7|M*RP#q&ND`jRuzo*dPT#MDgT%>awz{mX z9M*de&Xn`?emLm{>Vr9F8G%lf&l%`MeKKzZOy#A;*}7f3LZvQI6|*(Z=*OAM7A%d4 z)?}*y-{}lAr$TFywG@qerL~&(@s7ka&(xSd?L04qT=7WWRPWQ;N80aN1z%&PNPkx9 zP<)kRdCPK=ufX>>XI2Y*l~DGVarAQxkJE2u^>58PTVqOV6HQd75DT${7eG(wr#OeZ zjU%8aR`d*}>no_pX}tE6g?FmHnQb;RTVXEVZ%*dL!Kvm9jK#h9(@*gx)*$>W{JeW? zUHUYpa(=4BPoqmw9IVqhznO=au~B}W;mx%dwU=>(M_*?HdlTQo`76nv|BO!F~;gQ)jL_#Tv=jf}@zyuI=TlJ;D()LKnlvI+% zsb-jlMCzcN4bvclRRS6^9u*yG2{Ms1sKijbG^AXSM$BMB9MUog>Gbnk`>MW>7mhc_ z?(=(|@ALhBcA4sNwEa=?mmKCz5OunZNT7~=CeJJ+a(R^5zRfHr%YV&wvVf#H$r+r1 z7@T9+M_KF&ts=(#Es|o2NMKeB{RX!{uw1uG5tL|5s)eGcml~u!Qlr#FJTNJxq!~hj zAUtmkz4$f%dH*HS>aP(J6w6!KOK zfh%E9o+3rwN9^~C(Px}7h6u1O;h|0%(+K@fiL(AWt`j`#YQR8O{iS}qNahi;?K8i=|b z+N0dXSJ~12s=trtxCth?l5#tR**9veG`;41+|3GTGb*gz?cxO(u2QIrCmD;cN`EB3 zUX|rsuk3iS}x+{^ZY`BX?5`*J%KRd#hJb{q)V*YMMUDO2X zNF%>auW7`ANWd1Xhg7jRSk0*Qckx^93U4I#-HVxb0$<`PDdWn>y2ua7b&n8@ok3Df zL=LJ)3B3A{34^L2^EM$7hPVwMfDGNH*&h0a4lh)!ZPEUMQS~`w#0p~-$zd@@aJBIc zJ87x;bFzTd&Zm+BA7qC%b3420fh2FqgMrd z(Apxg*%j!9JS*pkgZhxhBN4(J+ezgAJP$-1h`h-%IYC~%MtMLfCLY~oLsPs*1ezUP zOD1xWZ@z&sazN`MGx`dl$Lj#wX9&M05UpZw-pNHhAie<4n~2=Skc#Dd;1qnp{Gf$z z7Y}yeXI&*OGB{!%h407PkKpfg(cHZ-9b$josnpQaJ6N;cQ0zGf!xd~3Ub?ufnrvF% zLyuI^GESk{6>6*jLabq!tp-RR$=h3Jainj6p3WxQ_eCxw#e0at_v z>E$i`e7W5q0+*#y|92Ta%Xpw<7yRA2kPlUVIdmPD{tw|F+hjs-f_GljFJplI4ajpE zo%j&}&rNFl4dXhN_$tcm1=A(*mUljMzcNi!xQ^!ZYYfsM=D3UD9;>1onTlA7okD7hO5K%;f8QC`(`I|p(mVR zHJS{k!t?ajMV@%cwj;hs9_eraKuQrdPZgGReWZ!{j59O_9m_gNx0(TA%uq5FFCELr zUS0$URHw8M=O+Mx#sPs+%8ar^xR*oq_|!c1^dcgnt?*SbwT{!&!lsg-pNy+X0_GXY zd>(Gq&WvWWt_GtD3u__tML8QoHMm}*b5(i}R{hZdx_OdiUeH_Ufx9-t1^(^NGDcI~n;+E4{>uub2AuBueW6bsh@aq_R z;iSIcRI=NVnBwAZGs+!_*=DqpFAgF(QY;HDGl$8qn+1-76KYv#WucUXP9C5Oj*vu; zn@LB|2|2fDF2SCAtV}D*%CWqb?V~*gdD=p#yb^ZoGKZY40_3bEzHFeIH(4!IZ#(td zg8|%63mvvb7);~16e&jwE(kV<=N8fgiiYLyhE&g#vU#E_SMo^`u(J*XS|pW#kCZ{& zR!G$-Mxht?*vQ3Zs=ZBWCx7c9w(ZAb8+PR55(`fb%$<&pzRh0_gWCYg)&$CSj9_HM zKjt3?XiNELp-`YY-c65`<+oFc)wKJ;7W$Tp;nxC& zI?ACCCU`FAU@IU?Jw#Ctk^X2TN$q=}PZcG`M%hEyJ<3)&Pqk;OxoQD*UZPgeCF|5S zcJW@SdzR{UM?HjxJ{}gkRoW$#c0FiO8)(rW#q6Sh3$*R!>^zNBY$wemK`R-cYLnD# zhMvu$UO(J&?Hq8tlYCPXQ=BSla3 J-b^pr@Lxka+VKDY diff --git a/Release/TitanEngine.exp b/Release/TitanEngine.exp index 2c83bb06106427d4da34c725079a742d2a6c2533..0604abf9204056616667ecaafae791ec2852b940 100644 GIT binary patch delta 23 fcmaETiTU*r#iQVNY?@V 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 XO}GYxv5FjoaTyENuUoTfjHLeo;}Kw8 delta 8991 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 diff --git a/TitanEngine/TitanEngine.cpp b/TitanEngine/TitanEngine.cpp index e794bfe..13ce19c 100644 --- a/TitanEngine/TitanEngine.cpp +++ b/TitanEngine/TitanEngine.cpp @@ -1780,7 +1780,7 @@ long long EngineGlobalAPIHandler(HANDLE handleProcess, ULONG_PTR EnumedModulesBa ULONG_PTR ForwarderData = NULL; unsigned int ClosestAPI = 0x1000; int Vista64UserForwarderFix = 0; - int Windows7KernelBase = 0; + int Windows7KernelBase = -1; RtlZeroMemory(&engineFoundDLLName, 512); RtlZeroMemory(&EnumeratedModules, 0x2000 * sizeof ULONG_PTR); @@ -1823,7 +1823,7 @@ long long EngineGlobalAPIHandler(HANDLE handleProcess, ULONG_PTR EnumedModulesBa { Vista64UserForwarderFix = y; } - else if(lstrcmpiA(RemoteDLLName, "kernelbase.dll") == NULL) + /*else if(lstrcmpiA(RemoteDLLName, "kernelbase.dll") == NULL) { GetModuleFileNameExA(hProcess, (HMODULE)EnumeratedModules[y], (LPSTR)RemoteDLLName, MAX_PATH); RemoteDLLName[lstrlenA(szWindowsKernelBase)] = 0x00; @@ -1831,7 +1831,7 @@ long long EngineGlobalAPIHandler(HANDLE handleProcess, ULONG_PTR EnumedModulesBa { Windows7KernelBase = y; } - } + }*/ } y++; } @@ -15733,18 +15733,27 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPointEx(HANDLE hActiveThrea if(bpxSize == UE_HARDWARE_SIZE_2) { - if(bpxAddress % 2 != 0) + if((bpxAddress % 2) != 0) { return(false); } } else if(bpxSize == UE_HARDWARE_SIZE_4) { - if(bpxAddress % 4 != 0) + if((bpxAddress % 4) != 0) { return(false); } } +#if defined(_WIN64) + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + if((bpxAddress % 8) != 0) + { + return(false); + } + } +#endif if(IndexOfRegister == NULL) { @@ -15810,6 +15819,11 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPointEx(HANDLE hActiveThrea HardwareBPX = HardwareBPX | (1 << 19); HardwareBPX = HardwareBPX | (1 << 18); } + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + HardwareBPX = HardwareBPX | (1 << 19); + HardwareBPX = HardwareBPX &~ (1 << 18); + } HardwareBPX = HardwareBPX | (1 << 10); HardwareBPX = HardwareBPX &~ (1 << 11); HardwareBPX = HardwareBPX &~ (1 << 12); @@ -15861,6 +15875,11 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPointEx(HANDLE hActiveThrea HardwareBPX = HardwareBPX | (1 << 23); HardwareBPX = HardwareBPX | (1 << 22); } + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + HardwareBPX = HardwareBPX | (1 << 23); + HardwareBPX = HardwareBPX &~ (1 << 22); + } HardwareBPX = HardwareBPX | (1 << 10); HardwareBPX = HardwareBPX &~ (1 << 11); HardwareBPX = HardwareBPX &~ (1 << 12); @@ -15912,6 +15931,11 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPointEx(HANDLE hActiveThrea HardwareBPX = HardwareBPX | (1 << 27); HardwareBPX = HardwareBPX | (1 << 26); } + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + HardwareBPX = HardwareBPX | (1 << 27); + HardwareBPX = HardwareBPX &~ (1 << 26); + } HardwareBPX = HardwareBPX | (1 << 10); HardwareBPX = HardwareBPX &~ (1 << 11); HardwareBPX = HardwareBPX &~ (1 << 12); @@ -15963,6 +15987,11 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPointEx(HANDLE hActiveThrea HardwareBPX = HardwareBPX | (1 << 31); HardwareBPX = HardwareBPX | (1 << 30); } + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + HardwareBPX = HardwareBPX | (1 << 31); + HardwareBPX = HardwareBPX &~ (1 << 30); + } HardwareBPX = HardwareBPX | (1 << 10); HardwareBPX = HardwareBPX &~ (1 << 11); HardwareBPX = HardwareBPX &~ (1 << 12); @@ -15988,18 +16017,28 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPoint(ULONG_PTR bpxAddress, if(bpxSize == UE_HARDWARE_SIZE_2) { - if(bpxAddress % 2 != 0) + if((bpxAddress % 2) != 0) { return(false); } } else if(bpxSize == UE_HARDWARE_SIZE_4) { - if(bpxAddress % 4 != 0) + if((bpxAddress % 4) != 0) { return(false); } } +#if defined(_WIN64) + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + if((bpxAddress % 8) != 0) + { + return(false); + } + } +#endif + if(IndexOfRegister == NULL) { @@ -16064,6 +16103,11 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPoint(ULONG_PTR bpxAddress, HardwareBPX = HardwareBPX | (1 << 19); HardwareBPX = HardwareBPX | (1 << 18); } + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + HardwareBPX = HardwareBPX | (1 << 19); + HardwareBPX = HardwareBPX &~ (1 << 18); + } HardwareBPX = HardwareBPX | (1 << 10); HardwareBPX = HardwareBPX &~ (1 << 11); HardwareBPX = HardwareBPX &~ (1 << 12); @@ -16115,6 +16159,11 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPoint(ULONG_PTR bpxAddress, HardwareBPX = HardwareBPX | (1 << 23); HardwareBPX = HardwareBPX | (1 << 22); } + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + HardwareBPX = HardwareBPX | (1 << 23); + HardwareBPX = HardwareBPX &~ (1 << 22); + } HardwareBPX = HardwareBPX | (1 << 10); HardwareBPX = HardwareBPX &~ (1 << 11); HardwareBPX = HardwareBPX &~ (1 << 12); @@ -16166,6 +16215,11 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPoint(ULONG_PTR bpxAddress, HardwareBPX = HardwareBPX | (1 << 27); HardwareBPX = HardwareBPX | (1 << 26); } + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + HardwareBPX = HardwareBPX | (1 << 27); + HardwareBPX = HardwareBPX &~ (1 << 26); + } HardwareBPX = HardwareBPX | (1 << 10); HardwareBPX = HardwareBPX &~ (1 << 11); HardwareBPX = HardwareBPX &~ (1 << 12); @@ -16217,6 +16271,11 @@ __declspec(dllexport) bool __stdcall SetHardwareBreakPoint(ULONG_PTR bpxAddress, HardwareBPX = HardwareBPX | (1 << 31); HardwareBPX = HardwareBPX | (1 << 30); } + else if(bpxSize == UE_HARDWARE_SIZE_8) + { + HardwareBPX = HardwareBPX | (1 << 31); + HardwareBPX = HardwareBPX &~ (1 << 30); + } HardwareBPX = HardwareBPX | (1 << 10); HardwareBPX = HardwareBPX &~ (1 << 11); HardwareBPX = HardwareBPX &~ (1 << 12); diff --git a/TitanEngine/TitanEngine.h b/TitanEngine/TitanEngine.h new file mode 100644 index 0000000..45cfa30 --- /dev/null +++ b/TitanEngine/TitanEngine.h @@ -0,0 +1,932 @@ +#ifndef TITANENGINE +#define TITANENGINE + +#if _MSC_VER > 1000 +#pragma once +#endif + +#include + +#pragma pack(push, 1) + +// Global.Constant.Structure.Declaration: +// Engine.External: +#define UE_ACCESS_READ 0 +#define UE_ACCESS_WRITE 1 +#define UE_ACCESS_ALL 2 + +#define UE_HIDE_BASIC 1 + +#define UE_PLUGIN_CALL_REASON_PREDEBUG 1 +#define UE_PLUGIN_CALL_REASON_EXCEPTION 2 +#define UE_PLUGIN_CALL_REASON_POSTDEBUG 3 + +#define TEE_HOOK_NRM_JUMP 1 +#define TEE_HOOK_NRM_CALL 3 +#define TEE_HOOK_IAT 5 + +#define UE_ENGINE_ALOW_MODULE_LOADING 1 +#define UE_ENGINE_AUTOFIX_FORWARDERS 2 +#define UE_ENGINE_PASS_ALL_EXCEPTIONS 3 +#define UE_ENGINE_NO_CONSOLE_WINDOW 4 +#define UE_ENGINE_BACKUP_FOR_CRITICAL_FUNCTIONS 5 +#define UE_ENGINE_CALL_PLUGIN_CALLBACK 6 +#define UE_ENGINE_RESET_CUSTOM_HANDLER 7 +#define UE_ENGINE_CALL_PLUGIN_DEBUG_CALLBACK 8 + +#define UE_OPTION_REMOVEALL 1 +#define UE_OPTION_DISABLEALL 2 +#define UE_OPTION_REMOVEALLDISABLED 3 +#define UE_OPTION_REMOVEALLENABLED 4 + +#define UE_STATIC_DECRYPTOR_XOR 1 +#define UE_STATIC_DECRYPTOR_SUB 2 +#define UE_STATIC_DECRYPTOR_ADD 3 + +#define UE_STATIC_DECRYPTOR_FOREWARD 1 +#define UE_STATIC_DECRYPTOR_BACKWARD 2 + +#define UE_STATIC_KEY_SIZE_1 1 +#define UE_STATIC_KEY_SIZE_2 2 +#define UE_STATIC_KEY_SIZE_4 4 +#define UE_STATIC_KEY_SIZE_8 8 + +#define UE_STATIC_APLIB 1 +#define UE_STATIC_APLIB_DEPACK 2 +#define UE_STATIC_LZMA 3 + +#define UE_STATIC_HASH_MD5 1 +#define UE_STATIC_HASH_SHA1 2 +#define UE_STATIC_HASH_CRC32 3 + +#define UE_RESOURCE_LANGUAGE_ANY -1 + +#define UE_PE_OFFSET 0 +#define UE_IMAGEBASE 1 +#define UE_OEP 2 +#define UE_SIZEOFIMAGE 3 +#define UE_SIZEOFHEADERS 4 +#define UE_SIZEOFOPTIONALHEADER 5 +#define UE_SECTIONALIGNMENT 6 +#define UE_IMPORTTABLEADDRESS 7 +#define UE_IMPORTTABLESIZE 8 +#define UE_RESOURCETABLEADDRESS 9 +#define UE_RESOURCETABLESIZE 10 +#define UE_EXPORTTABLEADDRESS 11 +#define UE_EXPORTTABLESIZE 12 +#define UE_TLSTABLEADDRESS 13 +#define UE_TLSTABLESIZE 14 +#define UE_RELOCATIONTABLEADDRESS 15 +#define UE_RELOCATIONTABLESIZE 16 +#define UE_TIMEDATESTAMP 17 +#define UE_SECTIONNUMBER 18 +#define UE_CHECKSUM 19 +#define UE_SUBSYSTEM 20 +#define UE_CHARACTERISTICS 21 +#define UE_NUMBEROFRVAANDSIZES 22 +#define UE_SECTIONNAME 23 +#define UE_SECTIONVIRTUALOFFSET 24 +#define UE_SECTIONVIRTUALSIZE 25 +#define UE_SECTIONRAWOFFSET 26 +#define UE_SECTIONRAWSIZE 27 +#define UE_SECTIONFLAGS 28 + +#define UE_CH_BREAKPOINT 1 +#define UE_CH_SINGLESTEP 2 +#define UE_CH_ACCESSVIOLATION 3 +#define UE_CH_ILLEGALINSTRUCTION 4 +#define UE_CH_NONCONTINUABLEEXCEPTION 5 +#define UE_CH_ARRAYBOUNDSEXCEPTION 6 +#define UE_CH_FLOATDENORMALOPERAND 7 +#define UE_CH_FLOATDEVIDEBYZERO 8 +#define UE_CH_INTEGERDEVIDEBYZERO 9 +#define UE_CH_INTEGEROVERFLOW 10 +#define UE_CH_PRIVILEGEDINSTRUCTION 11 +#define UE_CH_PAGEGUARD 12 +#define UE_CH_EVERYTHINGELSE 13 +#define UE_CH_CREATETHREAD 14 +#define UE_CH_EXITTHREAD 15 +#define UE_CH_CREATEPROCESS 16 +#define UE_CH_EXITPROCESS 17 +#define UE_CH_LOADDLL 18 +#define UE_CH_UNLOADDLL 19 +#define UE_CH_OUTPUTDEBUGSTRING 20 +#define UE_CH_AFTEREXCEPTIONPROCESSING 21 +#define UE_CH_ALLEVENTS 22 +#define UE_CH_SYSTEMBREAKPOINT 23 +#define UE_CH_UNHANDLEDEXCEPTION 24 +#define UE_CH_AFTERUNHANDLEDEXCEPTION 25 + +#define UE_OPTION_HANDLER_RETURN_HANDLECOUNT 1 +#define UE_OPTION_HANDLER_RETURN_ACCESS 2 +#define UE_OPTION_HANDLER_RETURN_FLAGS 3 +#define UE_OPTION_HANDLER_RETURN_TYPENAME 4 + +#define UE_BREAKPOINT_INT3 1 +#define UE_BREAKPOINT_LONG_INT3 2 +#define UE_BREAKPOINT_UD2 3 + +#define UE_BPXREMOVED 0 +#define UE_BPXACTIVE 1 +#define UE_BPXINACTIVE 2 + +#define UE_BREAKPOINT 0 +#define UE_SINGLESHOOT 1 +#define UE_HARDWARE 2 +#define UE_MEMORY 3 +#define UE_MEMORY_READ 4 +#define UE_MEMORY_WRITE 5 +#define UE_BREAKPOINT_TYPE_INT3 0x10000000 +#define UE_BREAKPOINT_TYPE_LONG_INT3 0x20000000 +#define UE_BREAKPOINT_TYPE_UD2 0x30000000 + +#define UE_HARDWARE_EXECUTE 4 +#define UE_HARDWARE_WRITE 5 +#define UE_HARDWARE_READWRITE 6 + +#define UE_HARDWARE_SIZE_1 7 +#define UE_HARDWARE_SIZE_2 8 +#define UE_HARDWARE_SIZE_4 9 +#define UE_HARDWARE_SIZE_8 10 + +#define UE_ON_LIB_LOAD 1 +#define UE_ON_LIB_UNLOAD 2 +#define UE_ON_LIB_ALL 3 + +#define UE_APISTART 0 +#define UE_APIEND 1 + +#define UE_PLATFORM_x86 1 +#define UE_PLATFORM_x64 2 +#define UE_PLATFORM_ALL 3 + +#define UE_FUNCTION_STDCALL 1 +#define UE_FUNCTION_CCALL 2 +#define UE_FUNCTION_FASTCALL 3 +#define UE_FUNCTION_STDCALL_RET 4 +#define UE_FUNCTION_CCALL_RET 5 +#define UE_FUNCTION_FASTCALL_RET 6 +#define UE_FUNCTION_STDCALL_CALL 7 +#define UE_FUNCTION_CCALL_CALL 8 +#define UE_FUNCTION_FASTCALL_CALL 9 +#define UE_PARAMETER_BYTE 0 +#define UE_PARAMETER_WORD 1 +#define UE_PARAMETER_DWORD 2 +#define UE_PARAMETER_QWORD 3 +#define UE_PARAMETER_PTR_BYTE 4 +#define UE_PARAMETER_PTR_WORD 5 +#define UE_PARAMETER_PTR_DWORD 6 +#define UE_PARAMETER_PTR_QWORD 7 +#define UE_PARAMETER_STRING 8 +#define UE_PARAMETER_UNICODE 9 + +#define UE_CMP_NOCONDITION 0 +#define UE_CMP_EQUAL 1 +#define UE_CMP_NOTEQUAL 2 +#define UE_CMP_GREATER 3 +#define UE_CMP_GREATEROREQUAL 4 +#define UE_CMP_LOWER 5 +#define UE_CMP_LOWEROREQUAL 6 +#define UE_CMP_REG_EQUAL 7 +#define UE_CMP_REG_NOTEQUAL 8 +#define UE_CMP_REG_GREATER 9 +#define UE_CMP_REG_GREATEROREQUAL 10 +#define UE_CMP_REG_LOWER 11 +#define UE_CMP_REG_LOWEROREQUAL 12 +#define UE_CMP_ALWAYSFALSE 13 + +#define UE_EAX 1 +#define UE_EBX 2 +#define UE_ECX 3 +#define UE_EDX 4 +#define UE_EDI 5 +#define UE_ESI 6 +#define UE_EBP 7 +#define UE_ESP 8 +#define UE_EIP 9 +#define UE_EFLAGS 10 +#define UE_DR0 11 +#define UE_DR1 12 +#define UE_DR2 13 +#define UE_DR3 14 +#define UE_DR6 15 +#define UE_DR7 16 +#define UE_RAX 17 +#define UE_RBX 18 +#define UE_RCX 19 +#define UE_RDX 20 +#define UE_RDI 21 +#define UE_RSI 22 +#define UE_RBP 23 +#define UE_RSP 24 +#define UE_RIP 25 +#define UE_RFLAGS 26 +#define UE_R8 27 +#define UE_R9 28 +#define UE_R10 29 +#define UE_R11 30 +#define UE_R12 31 +#define UE_R13 32 +#define UE_R14 33 +#define UE_R15 34 +#define UE_CIP 35 +#define UE_CSP 36 +#ifdef _WIN64 +#define UE_CFLAGS UE_RFLAGS +#else +#define UE_CFLAGS UE_EFLAGS +#endif +#define UE_SEG_GS 37 +#define UE_SEG_FS 38 +#define UE_SEG_ES 39 +#define UE_SEG_DS 40 +#define UE_SEG_CS 41 +#define UE_SEG_SS 42 + +typedef struct +{ + DWORD PE32Offset; + DWORD ImageBase; + DWORD OriginalEntryPoint; + DWORD NtSizeOfImage; + DWORD NtSizeOfHeaders; + WORD SizeOfOptionalHeaders; + DWORD FileAlignment; + DWORD SectionAligment; + DWORD ImportTableAddress; + DWORD ImportTableSize; + DWORD ResourceTableAddress; + DWORD ResourceTableSize; + DWORD ExportTableAddress; + DWORD ExportTableSize; + DWORD TLSTableAddress; + DWORD TLSTableSize; + DWORD RelocationTableAddress; + DWORD RelocationTableSize; + DWORD TimeDateStamp; + WORD SectionNumber; + DWORD CheckSum; + WORD SubSystem; + WORD Characteristics; + DWORD NumberOfRvaAndSizes; +} PE32Struct, *PPE32Struct; + +typedef struct +{ + DWORD PE64Offset; + DWORD64 ImageBase; + DWORD OriginalEntryPoint; + DWORD NtSizeOfImage; + DWORD NtSizeOfHeaders; + WORD SizeOfOptionalHeaders; + DWORD FileAlignment; + DWORD SectionAligment; + DWORD ImportTableAddress; + DWORD ImportTableSize; + DWORD ResourceTableAddress; + DWORD ResourceTableSize; + DWORD ExportTableAddress; + DWORD ExportTableSize; + DWORD TLSTableAddress; + DWORD TLSTableSize; + DWORD RelocationTableAddress; + DWORD RelocationTableSize; + DWORD TimeDateStamp; + WORD SectionNumber; + DWORD CheckSum; + WORD SubSystem; + WORD Characteristics; + DWORD NumberOfRvaAndSizes; +} PE64Struct, *PPE64Struct; + +typedef struct +{ + bool NewDll; + int NumberOfImports; + ULONG_PTR ImageBase; + ULONG_PTR BaseImportThunk; + ULONG_PTR ImportThunk; + char* APIName; + char* DLLName; +} ImportEnumData, *PImportEnumData; + +typedef struct +{ + HANDLE hThread; + DWORD dwThreadId; + void* ThreadStartAddress; + void* ThreadLocalBase; +} THREAD_ITEM_DATA, *PTHREAD_ITEM_DATA; + +typedef struct +{ + HANDLE hFile; + void* BaseOfDll; + HANDLE hFileMapping; + void* hFileMappingView; + char szLibraryPath[MAX_PATH]; + char szLibraryName[MAX_PATH]; +} LIBRARY_ITEM_DATA, *PLIBRARY_ITEM_DATA; + +typedef struct +{ + HANDLE hFile; + void* BaseOfDll; + HANDLE hFileMapping; + void* hFileMappingView; + wchar_t szLibraryPath[MAX_PATH]; + wchar_t szLibraryName[MAX_PATH]; +} LIBRARY_ITEM_DATAW, *PLIBRARY_ITEM_DATAW; + +typedef struct +{ + HANDLE hProcess; + DWORD dwProcessId; + HANDLE hThread; + DWORD dwThreadId; + HANDLE hFile; + void* BaseOfImage; + void* ThreadStartAddress; + void* ThreadLocalBase; +} PROCESS_ITEM_DATA, *PPROCESS_ITEM_DATA; + +typedef struct +{ + ULONG ProcessId; + HANDLE hHandle; +} HandlerArray, *PHandlerArray; + +typedef struct +{ + char PluginName[64]; + DWORD PluginMajorVersion; + DWORD PluginMinorVersion; + HMODULE PluginBaseAddress; + void* TitanDebuggingCallBack; + void* TitanRegisterPlugin; + void* TitanReleasePlugin; + void* TitanResetPlugin; + bool PluginDisabled; +} PluginInformation, *PPluginInformation; + +#define TEE_MAXIMUM_HOOK_SIZE 14 +#define TEE_MAXIMUM_HOOK_RELOCS 7 +#if defined(_WIN64) +#define TEE_MAXIMUM_HOOK_INSERT_SIZE 14 +#else +#define TEE_MAXIMUM_HOOK_INSERT_SIZE 5 +#endif + +typedef struct HOOK_ENTRY +{ + bool IATHook; + BYTE HookType; + DWORD HookSize; + void* HookAddress; + void* RedirectionAddress; + BYTE HookBytes[TEE_MAXIMUM_HOOK_SIZE]; + BYTE OriginalBytes[TEE_MAXIMUM_HOOK_SIZE]; + void* IATHookModuleBase; + DWORD IATHookNameHash; + bool HookIsEnabled; + bool HookIsRemote; + void* PatchedEntry; + DWORD RelocationInfo[TEE_MAXIMUM_HOOK_RELOCS]; + int RelocationCount; +} HOOK_ENTRY, *PHOOK_ENTRY; + +#define UE_DEPTH_SURFACE 0 +#define UE_DEPTH_DEEP 1 + +#define UE_UNPACKER_CONDITION_SEARCH_FROM_EP 1 + +#define UE_UNPACKER_CONDITION_LOADLIBRARY 1 +#define UE_UNPACKER_CONDITION_GETPROCADDRESS 2 +#define UE_UNPACKER_CONDITION_ENTRYPOINTBREAK 3 +#define UE_UNPACKER_CONDITION_RELOCSNAPSHOT1 4 +#define UE_UNPACKER_CONDITION_RELOCSNAPSHOT2 5 + +#define UE_FIELD_OK 0 +#define UE_FIELD_BROKEN_NON_FIXABLE 1 +#define UE_FIELD_BROKEN_NON_CRITICAL 2 +#define UE_FIELD_BROKEN_FIXABLE_FOR_STATIC_USE 3 +#define UE_FIELD_BROKEN_BUT_CAN_BE_EMULATED 4 +#define UE_FILED_FIXABLE_NON_CRITICAL 5 +#define UE_FILED_FIXABLE_CRITICAL 6 +#define UE_FIELD_NOT_PRESET 7 +#define UE_FIELD_NOT_PRESET_WARNING 8 + +#define UE_RESULT_FILE_OK 10 +#define UE_RESULT_FILE_INVALID_BUT_FIXABLE 11 +#define UE_RESULT_FILE_INVALID_AND_NON_FIXABLE 12 +#define UE_RESULT_FILE_INVALID_FORMAT 13 + +typedef struct +{ + BYTE OveralEvaluation; + bool EvaluationTerminatedByException; + bool FileIs64Bit; + bool FileIsDLL; + bool FileIsConsole; + bool MissingDependencies; + bool MissingDeclaredAPIs; + BYTE SignatureMZ; + BYTE SignaturePE; + BYTE EntryPoint; + BYTE ImageBase; + BYTE SizeOfImage; + BYTE FileAlignment; + BYTE SectionAlignment; + BYTE ExportTable; + BYTE RelocationTable; + BYTE ImportTable; + BYTE ImportTableSection; + BYTE ImportTableData; + BYTE IATTable; + BYTE TLSTable; + BYTE LoadConfigTable; + BYTE BoundImportTable; + BYTE COMHeaderTable; + BYTE ResourceTable; + BYTE ResourceData; + BYTE SectionTable; +} FILE_STATUS_INFO, *PFILE_STATUS_INFO; + +typedef struct +{ + BYTE OveralEvaluation; + bool FixingTerminatedByException; + bool FileFixPerformed; + bool StrippedRelocation; + bool DontFixRelocations; + DWORD OriginalRelocationTableAddress; + DWORD OriginalRelocationTableSize; + bool StrippedExports; + bool DontFixExports; + DWORD OriginalExportTableAddress; + DWORD OriginalExportTableSize; + bool StrippedResources; + bool DontFixResources; + DWORD OriginalResourceTableAddress; + DWORD OriginalResourceTableSize; + bool StrippedTLS; + bool DontFixTLS; + DWORD OriginalTLSTableAddress; + DWORD OriginalTLSTableSize; + bool StrippedLoadConfig; + bool DontFixLoadConfig; + DWORD OriginalLoadConfigTableAddress; + DWORD OriginalLoadConfigTableSize; + bool StrippedBoundImports; + bool DontFixBoundImports; + DWORD OriginalBoundImportTableAddress; + DWORD OriginalBoundImportTableSize; + bool StrippedIAT; + bool DontFixIAT; + DWORD OriginalImportAddressTableAddress; + DWORD OriginalImportAddressTableSize; + bool StrippedCOM; + bool DontFixCOM; + DWORD OriginalCOMTableAddress; + DWORD OriginalCOMTableSize; +} FILE_FIX_INFO, *PFILE_FIX_INFO; + +#ifdef __cplusplus +extern "C" +{ +#endif + +// Global.Function.Declaration: +// TitanEngine.Dumper.functions: +__declspec(dllexport) bool __stdcall DumpProcess(HANDLE hProcess, LPVOID ImageBase, char* szDumpFileName, ULONG_PTR EntryPoint); +__declspec(dllexport) bool __stdcall DumpProcessW(HANDLE hProcess, LPVOID ImageBase, wchar_t* szDumpFileName, ULONG_PTR EntryPoint); +__declspec(dllexport) bool __stdcall DumpProcessEx(DWORD ProcessId, LPVOID ImageBase, char* szDumpFileName, ULONG_PTR EntryPoint); +__declspec(dllexport) bool __stdcall DumpProcessExW(DWORD ProcessId, LPVOID ImageBase, wchar_t* szDumpFileName, ULONG_PTR EntryPoint); +__declspec(dllexport) bool __stdcall DumpMemory(HANDLE hProcess, LPVOID MemoryStart, ULONG_PTR MemorySize, char* szDumpFileName); +__declspec(dllexport) bool __stdcall DumpMemoryW(HANDLE hProcess, LPVOID MemoryStart, ULONG_PTR MemorySize, wchar_t* szDumpFileName); +__declspec(dllexport) bool __stdcall DumpMemoryEx(DWORD ProcessId, LPVOID MemoryStart, ULONG_PTR MemorySize, char* szDumpFileName); +__declspec(dllexport) bool __stdcall DumpMemoryExW(DWORD ProcessId, LPVOID MemoryStart, ULONG_PTR MemorySize, wchar_t* szDumpFileName); +__declspec(dllexport) bool __stdcall DumpRegions(HANDLE hProcess, char* szDumpFolder, bool DumpAboveImageBaseOnly); +__declspec(dllexport) bool __stdcall DumpRegionsW(HANDLE hProcess, wchar_t* szDumpFolder, bool DumpAboveImageBaseOnly); +__declspec(dllexport) bool __stdcall DumpRegionsEx(DWORD ProcessId, char* szDumpFolder, bool DumpAboveImageBaseOnly); +__declspec(dllexport) bool __stdcall DumpRegionsExW(DWORD ProcessId, wchar_t* szDumpFolder, bool DumpAboveImageBaseOnly); +__declspec(dllexport) bool __stdcall DumpModule(HANDLE hProcess, LPVOID ModuleBase, char* szDumpFileName); +__declspec(dllexport) bool __stdcall DumpModuleW(HANDLE hProcess, LPVOID ModuleBase, wchar_t* szDumpFileName); +__declspec(dllexport) bool __stdcall DumpModuleEx(DWORD ProcessId, LPVOID ModuleBase, char* szDumpFileName); +__declspec(dllexport) bool __stdcall DumpModuleExW(DWORD ProcessId, LPVOID ModuleBase, wchar_t* szDumpFileName); +__declspec(dllexport) bool __stdcall PastePEHeader(HANDLE hProcess, LPVOID ImageBase, char* szDebuggedFileName); +__declspec(dllexport) bool __stdcall PastePEHeaderW(HANDLE hProcess, LPVOID ImageBase, wchar_t* szDebuggedFileName); +__declspec(dllexport) bool __stdcall ExtractSection(char* szFileName, char* szDumpFileName, DWORD SectionNumber); +__declspec(dllexport) bool __stdcall ExtractSectionW(wchar_t* szFileName, wchar_t* szDumpFileName, DWORD SectionNumber); +__declspec(dllexport) bool __stdcall ResortFileSections(char* szFileName); +__declspec(dllexport) bool __stdcall ResortFileSectionsW(wchar_t* szFileName); +__declspec(dllexport) bool __stdcall FindOverlay(char* szFileName, LPDWORD OverlayStart, LPDWORD OverlaySize); +__declspec(dllexport) bool __stdcall FindOverlayW(wchar_t* szFileName, LPDWORD OverlayStart, LPDWORD OverlaySize); +__declspec(dllexport) bool __stdcall ExtractOverlay(char* szFileName, char* szExtactedFileName); +__declspec(dllexport) bool __stdcall ExtractOverlayW(wchar_t* szFileName, wchar_t* szExtactedFileName); +__declspec(dllexport) bool __stdcall AddOverlay(char* szFileName, char* szOverlayFileName); +__declspec(dllexport) bool __stdcall AddOverlayW(wchar_t* szFileName, wchar_t* szOverlayFileName); +__declspec(dllexport) bool __stdcall CopyOverlay(char* szInFileName, char* szOutFileName); +__declspec(dllexport) bool __stdcall CopyOverlayW(wchar_t* szInFileName, wchar_t* szOutFileName); +__declspec(dllexport) bool __stdcall RemoveOverlay(char* szFileName); +__declspec(dllexport) bool __stdcall RemoveOverlayW(wchar_t* szFileName); +__declspec(dllexport) bool __stdcall MakeAllSectionsRWE(char* szFileName); +__declspec(dllexport) bool __stdcall MakeAllSectionsRWEW(wchar_t* szFileName); +__declspec(dllexport) long __stdcall AddNewSectionEx(char* szFileName, char* szSectionName, DWORD SectionSize, DWORD SectionAttributes, LPVOID SectionContent, DWORD ContentSize); +__declspec(dllexport) long __stdcall AddNewSectionExW(wchar_t* szFileName, char* szSectionName, DWORD SectionSize, DWORD SectionAttributes, LPVOID SectionContent, DWORD ContentSize); +__declspec(dllexport) long __stdcall AddNewSection(char* szFileName, char* szSectionName, DWORD SectionSize); +__declspec(dllexport) long __stdcall AddNewSectionW(wchar_t* szFileName, char* szSectionName, DWORD SectionSize); +__declspec(dllexport) bool __stdcall ResizeLastSection(char* szFileName, DWORD NumberOfExpandBytes, bool AlignResizeData); +__declspec(dllexport) bool __stdcall ResizeLastSectionW(wchar_t* szFileName, DWORD NumberOfExpandBytes, bool AlignResizeData); +__declspec(dllexport) void __stdcall SetSharedOverlay(char* szFileName); +__declspec(dllexport) void __stdcall SetSharedOverlayW(wchar_t* szFileName); +__declspec(dllexport) char* __stdcall GetSharedOverlay(); +__declspec(dllexport) wchar_t* __stdcall GetSharedOverlayW(); +__declspec(dllexport) bool __stdcall DeleteLastSection(char* szFileName); +__declspec(dllexport) bool __stdcall DeleteLastSectionW(wchar_t* szFileName); +__declspec(dllexport) bool __stdcall DeleteLastSectionEx(char* szFileName, DWORD NumberOfSections); +__declspec(dllexport) bool __stdcall DeleteLastSectionExW(wchar_t* szFileName, DWORD NumberOfSections); +__declspec(dllexport) long long __stdcall GetPE32DataFromMappedFile(ULONG_PTR FileMapVA, DWORD WhichSection, DWORD WhichData); +__declspec(dllexport) long long __stdcall GetPE32Data(char* szFileName, DWORD WhichSection, DWORD WhichData); +__declspec(dllexport) long long __stdcall GetPE32DataW(wchar_t* szFileName, DWORD WhichSection, DWORD WhichData); +__declspec(dllexport) bool __stdcall GetPE32DataFromMappedFileEx(ULONG_PTR FileMapVA, LPVOID DataStorage); +__declspec(dllexport) bool __stdcall GetPE32DataEx(char* szFileName, LPVOID DataStorage); +__declspec(dllexport) bool __stdcall GetPE32DataExW(wchar_t* szFileName, LPVOID DataStorage); +__declspec(dllexport) bool __stdcall SetPE32DataForMappedFile(ULONG_PTR FileMapVA, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); +__declspec(dllexport) bool __stdcall SetPE32Data(char* szFileName, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); +__declspec(dllexport) bool __stdcall SetPE32DataW(wchar_t* szFileName, DWORD WhichSection, DWORD WhichData, ULONG_PTR NewDataValue); +__declspec(dllexport) bool __stdcall SetPE32DataForMappedFileEx(ULONG_PTR FileMapVA, LPVOID DataStorage); +__declspec(dllexport) bool __stdcall SetPE32DataEx(char* szFileName, LPVOID DataStorage); +__declspec(dllexport) long __stdcall GetPE32SectionNumberFromVA(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert); +__declspec(dllexport) long long __stdcall ConvertVAtoFileOffset(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert, bool ReturnType); +__declspec(dllexport) long long __stdcall ConvertVAtoFileOffsetEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool AddressIsRVA, bool ReturnType); +__declspec(dllexport) long long __stdcall ConvertFileOffsetToVA(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert, bool ReturnType); +__declspec(dllexport) long long __stdcall ConvertFileOffsetToVAEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool ReturnType); +// TitanEngine.Realigner.functions: +__declspec(dllexport) bool __stdcall FixHeaderCheckSum(char* szFileName); +__declspec(dllexport) bool __stdcall FixHeaderCheckSumW(wchar_t* szFileName); +__declspec(dllexport) long __stdcall RealignPE(ULONG_PTR FileMapVA, DWORD FileSize, DWORD RealingMode); +__declspec(dllexport) long __stdcall RealignPEEx(char* szFileName, DWORD RealingFileSize, DWORD ForcedFileAlignment); +__declspec(dllexport) long __stdcall RealignPEExW(wchar_t* szFileName, DWORD RealingFileSize, DWORD ForcedFileAlignment); +__declspec(dllexport) bool __stdcall WipeSection(char* szFileName, int WipeSectionNumber, bool RemovePhysically); +__declspec(dllexport) bool __stdcall WipeSectionW(wchar_t* szFileName, int WipeSectionNumber, bool RemovePhysically); +__declspec(dllexport) bool __stdcall IsPE32FileValidEx(char* szFileName, DWORD CheckDepth, LPVOID FileStatusInfo); +__declspec(dllexport) bool __stdcall IsPE32FileValidExW(wchar_t* szFileName, DWORD CheckDepth, LPVOID FileStatusInfo); +__declspec(dllexport) bool __stdcall FixBrokenPE32FileEx(char* szFileName, LPVOID FileStatusInfo, LPVOID FileFixInfo); +__declspec(dllexport) bool __stdcall FixBrokenPE32FileExW(wchar_t* szFileName, LPVOID FileStatusInfo, LPVOID FileFixInfo); +__declspec(dllexport) bool __stdcall IsFileDLL(char* szFileName, ULONG_PTR FileMapVA); +__declspec(dllexport) bool __stdcall IsFileDLLW(wchar_t* szFileName, ULONG_PTR FileMapVA); +// TitanEngine.Hider.functions: +__declspec(dllexport) void* __stdcall GetPEBLocation(HANDLE hProcess); +__declspec(dllexport) bool __stdcall HideDebugger(HANDLE hProcess, DWORD PatchAPILevel); +__declspec(dllexport) bool __stdcall UnHideDebugger(HANDLE hProcess, DWORD PatchAPILevel); +// TitanEngine.Relocater.functions: +__declspec(dllexport) void __stdcall RelocaterCleanup(); +__declspec(dllexport) void __stdcall RelocaterInit(DWORD MemorySize, ULONG_PTR OldImageBase, ULONG_PTR NewImageBase); +__declspec(dllexport) void __stdcall RelocaterAddNewRelocation(HANDLE hProcess, ULONG_PTR RelocateAddress, DWORD RelocateState); +__declspec(dllexport) long __stdcall RelocaterEstimatedSize(); +__declspec(dllexport) bool __stdcall RelocaterExportRelocation(ULONG_PTR StorePlace, DWORD StorePlaceRVA, ULONG_PTR FileMapVA); +__declspec(dllexport) bool __stdcall RelocaterExportRelocationEx(char* szFileName, char* szSectionName); +__declspec(dllexport) bool __stdcall RelocaterExportRelocationExW(wchar_t* szFileName, char* szSectionName); +__declspec(dllexport) bool __stdcall RelocaterGrabRelocationTable(HANDLE hProcess, ULONG_PTR MemoryStart, DWORD MemorySize); +__declspec(dllexport) bool __stdcall RelocaterGrabRelocationTableEx(HANDLE hProcess, ULONG_PTR MemoryStart, ULONG_PTR MemorySize, DWORD NtSizeOfImage); +__declspec(dllexport) bool __stdcall RelocaterMakeSnapshot(HANDLE hProcess, char* szSaveFileName, LPVOID MemoryStart, ULONG_PTR MemorySize); +__declspec(dllexport) bool __stdcall RelocaterMakeSnapshotW(HANDLE hProcess, wchar_t* szSaveFileName, LPVOID MemoryStart, ULONG_PTR MemorySize); +__declspec(dllexport) bool __stdcall RelocaterCompareTwoSnapshots(HANDLE hProcess, ULONG_PTR LoadedImageBase, ULONG_PTR NtSizeOfImage, char* szDumpFile1, char* szDumpFile2, ULONG_PTR MemStart); +__declspec(dllexport) bool __stdcall RelocaterCompareTwoSnapshotsW(HANDLE hProcess, ULONG_PTR LoadedImageBase, ULONG_PTR NtSizeOfImage, wchar_t* szDumpFile1, wchar_t* szDumpFile2, ULONG_PTR MemStart); +__declspec(dllexport) bool __stdcall RelocaterChangeFileBase(char* szFileName, ULONG_PTR NewImageBase); +__declspec(dllexport) bool __stdcall RelocaterChangeFileBaseW(wchar_t* szFileName, ULONG_PTR NewImageBase); +__declspec(dllexport) bool __stdcall RelocaterRelocateMemoryBlock(ULONG_PTR FileMapVA, ULONG_PTR MemoryLocation, void* RelocateMemory, DWORD RelocateMemorySize, ULONG_PTR CurrentLoadedBase, ULONG_PTR RelocateBase); +__declspec(dllexport) bool __stdcall RelocaterWipeRelocationTable(char* szFileName); +__declspec(dllexport) bool __stdcall RelocaterWipeRelocationTableW(wchar_t* szFileName); +// TitanEngine.Resourcer.functions: +__declspec(dllexport) long long __stdcall ResourcerLoadFileForResourceUse(char* szFileName); +__declspec(dllexport) long long __stdcall ResourcerLoadFileForResourceUseW(wchar_t* szFileName); +__declspec(dllexport) bool __stdcall ResourcerFreeLoadedFile(LPVOID LoadedFileBase); +__declspec(dllexport) bool __stdcall ResourcerExtractResourceFromFileEx(ULONG_PTR FileMapVA, char* szResourceType, char* szResourceName, char* szExtractedFileName); +__declspec(dllexport) bool __stdcall ResourcerExtractResourceFromFile(char* szFileName, char* szResourceType, char* szResourceName, char* szExtractedFileName); +__declspec(dllexport) bool __stdcall ResourcerExtractResourceFromFileW(wchar_t* szFileName, char* szResourceType, char* szResourceName, char* szExtractedFileName); +__declspec(dllexport) bool __stdcall ResourcerFindResource(char* szFileName, char* szResourceType, DWORD ResourceType, char* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); +__declspec(dllexport) bool __stdcall ResourcerFindResourceW(wchar_t* szFileName, wchar_t* szResourceType, DWORD ResourceType, wchar_t* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); +__declspec(dllexport) bool __stdcall ResourcerFindResourceEx(ULONG_PTR FileMapVA, DWORD FileSize, wchar_t* szResourceType, DWORD ResourceType, wchar_t* szResourceName, DWORD ResourceName, DWORD ResourceLanguage, PULONG_PTR pResourceData, LPDWORD pResourceSize); +__declspec(dllexport) void __stdcall ResourcerEnumerateResource(char* szFileName, void* CallBack); +__declspec(dllexport) void __stdcall ResourcerEnumerateResourceW(wchar_t* szFileName, void* CallBack); +__declspec(dllexport) void __stdcall ResourcerEnumerateResourceEx(ULONG_PTR FileMapVA, DWORD FileSize, void* CallBack); +// TitanEngine.Threader.functions: +__declspec(dllexport) bool __stdcall ThreaderImportRunningThreadData(DWORD ProcessId); +__declspec(dllexport) void* __stdcall ThreaderGetThreadInfo(HANDLE hThread, DWORD ThreadId); +__declspec(dllexport) void __stdcall ThreaderEnumThreadInfo(void* EnumCallBack); +__declspec(dllexport) bool __stdcall ThreaderPauseThread(HANDLE hThread); +__declspec(dllexport) bool __stdcall ThreaderResumeThread(HANDLE hThread); +__declspec(dllexport) bool __stdcall ThreaderTerminateThread(HANDLE hThread, DWORD ThreadExitCode); +__declspec(dllexport) bool __stdcall ThreaderPauseAllThreads(bool LeaveMainRunning); +__declspec(dllexport) bool __stdcall ThreaderResumeAllThreads(bool LeaveMainPaused); +__declspec(dllexport) bool __stdcall ThreaderPauseProcess(); +__declspec(dllexport) bool __stdcall ThreaderResumeProcess(); +__declspec(dllexport) long long __stdcall ThreaderCreateRemoteThread(ULONG_PTR ThreadStartAddress, bool AutoCloseTheHandle, LPVOID ThreadPassParameter, LPDWORD ThreadId); +__declspec(dllexport) bool __stdcall ThreaderInjectAndExecuteCode(LPVOID InjectCode, DWORD StartDelta, DWORD InjectSize); +__declspec(dllexport) long long __stdcall ThreaderCreateRemoteThreadEx(HANDLE hProcess, ULONG_PTR ThreadStartAddress, bool AutoCloseTheHandle, LPVOID ThreadPassParameter, LPDWORD ThreadId); +__declspec(dllexport) bool __stdcall ThreaderInjectAndExecuteCodeEx(HANDLE hProcess, LPVOID InjectCode, DWORD StartDelta, DWORD InjectSize); +__declspec(dllexport) void __stdcall ThreaderSetCallBackForNextExitThreadEvent(LPVOID exitThreadCallBack); +__declspec(dllexport) bool __stdcall ThreaderIsThreadStillRunning(HANDLE hThread); +__declspec(dllexport) bool __stdcall ThreaderIsThreadActive(HANDLE hThread); +__declspec(dllexport) bool __stdcall ThreaderIsAnyThreadActive(); +__declspec(dllexport) bool __stdcall ThreaderExecuteOnlyInjectedThreads(); +__declspec(dllexport) long long __stdcall ThreaderGetOpenHandleForThread(DWORD ThreadId); +__declspec(dllexport) void* __stdcall ThreaderGetThreadData(); +__declspec(dllexport) bool __stdcall ThreaderIsExceptionInMainThread(); +// TitanEngine.Debugger.functions: +__declspec(dllexport) void* __stdcall StaticDisassembleEx(ULONG_PTR DisassmStart, LPVOID DisassmAddress); +__declspec(dllexport) void* __stdcall StaticDisassemble(LPVOID DisassmAddress); +__declspec(dllexport) void* __stdcall DisassembleEx(HANDLE hProcess, LPVOID DisassmAddress); +__declspec(dllexport) void* __stdcall Disassemble(LPVOID DisassmAddress); +__declspec(dllexport) long __stdcall StaticLengthDisassemble(LPVOID DisassmAddress); +__declspec(dllexport) long __stdcall LengthDisassembleEx(HANDLE hProcess, LPVOID DisassmAddress); +__declspec(dllexport) long __stdcall LengthDisassemble(LPVOID DisassmAddress); +__declspec(dllexport) void* __stdcall InitDebug(char* szFileName, char* szCommandLine, char* szCurrentFolder); +__declspec(dllexport) void* __stdcall InitDebugW(wchar_t* szFileName, wchar_t* szCommandLine, wchar_t* szCurrentFolder); +__declspec(dllexport) void* __stdcall InitDebugEx(char* szFileName, char* szCommandLine, char* szCurrentFolder, LPVOID EntryCallBack); +__declspec(dllexport) void* __stdcall InitDebugExW(wchar_t* szFileName, wchar_t* szCommandLine, wchar_t* szCurrentFolder, LPVOID EntryCallBack); +__declspec(dllexport) void* __stdcall InitDLLDebug(char* szFileName, bool ReserveModuleBase, char* szCommandLine, char* szCurrentFolder, LPVOID EntryCallBack); +__declspec(dllexport) void* __stdcall InitDLLDebugW(wchar_t* szFileName, bool ReserveModuleBase, wchar_t* szCommandLine, wchar_t* szCurrentFolder, LPVOID EntryCallBack); +__declspec(dllexport) bool __stdcall StopDebug(); +__declspec(dllexport) void __stdcall SetBPXOptions(long DefaultBreakPointType); +__declspec(dllexport) bool __stdcall IsBPXEnabled(ULONG_PTR bpxAddress); +__declspec(dllexport) bool __stdcall EnableBPX(ULONG_PTR bpxAddress); +__declspec(dllexport) bool __stdcall DisableBPX(ULONG_PTR bpxAddress); +__declspec(dllexport) bool __stdcall SetBPX(ULONG_PTR bpxAddress, DWORD bpxType, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall SetBPXEx(ULONG_PTR bpxAddress, DWORD bpxType, DWORD NumberOfExecution, DWORD CmpRegister, DWORD CmpCondition, ULONG_PTR CmpValue, LPVOID bpxCallBack, LPVOID bpxCompareCallBack, LPVOID bpxRemoveCallBack); +__declspec(dllexport) bool __stdcall DeleteBPX(ULONG_PTR bpxAddress); +__declspec(dllexport) bool __stdcall SafeDeleteBPX(ULONG_PTR bpxAddress); +__declspec(dllexport) bool __stdcall SetAPIBreakPoint(char* szDLLName, char* szAPIName, DWORD bpxType, DWORD bpxPlace, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall DeleteAPIBreakPoint(char* szDLLName, char* szAPIName, DWORD bpxPlace); +__declspec(dllexport) bool __stdcall SafeDeleteAPIBreakPoint(char* szDLLName, char* szAPIName, DWORD bpxPlace); +__declspec(dllexport) bool __stdcall SetMemoryBPX(ULONG_PTR MemoryStart, DWORD SizeOfMemory, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall SetMemoryBPXEx(ULONG_PTR MemoryStart, DWORD SizeOfMemory, DWORD BreakPointType, bool RestoreOnHit, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall RemoveMemoryBPX(ULONG_PTR MemoryStart, DWORD SizeOfMemory); +__declspec(dllexport) bool __stdcall GetContextFPUDataEx(HANDLE hActiveThread, void* FPUSaveArea); +__declspec(dllexport) long long __stdcall GetContextDataEx(HANDLE hActiveThread, DWORD IndexOfRegister); +__declspec(dllexport) long long __stdcall GetContextData(DWORD IndexOfRegister); +__declspec(dllexport) bool __stdcall SetContextFPUDataEx(HANDLE hActiveThread, void* FPUSaveArea); +__declspec(dllexport) bool __stdcall SetContextDataEx(HANDLE hActiveThread, DWORD IndexOfRegister, ULONG_PTR NewRegisterValue); +__declspec(dllexport) bool __stdcall SetContextData(DWORD IndexOfRegister, ULONG_PTR NewRegisterValue); +__declspec(dllexport) void __stdcall ClearExceptionNumber(); +__declspec(dllexport) long __stdcall CurrentExceptionNumber(); +__declspec(dllexport) bool __stdcall MatchPatternEx(HANDLE hProcess, void* MemoryToCheck, int SizeOfMemoryToCheck, void* PatternToMatch, int SizeOfPatternToMatch, PBYTE WildCard); +__declspec(dllexport) bool __stdcall MatchPattern(void* MemoryToCheck, int SizeOfMemoryToCheck, void* PatternToMatch, int SizeOfPatternToMatch, PBYTE WildCard); +__declspec(dllexport) long long __stdcall FindEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, LPBYTE WildCard); +__declspec(dllexport) long long __stdcall Find(LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, LPBYTE WildCard); +__declspec(dllexport) bool __stdcall FillEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, PBYTE FillByte); +__declspec(dllexport) bool __stdcall Fill(LPVOID MemoryStart, DWORD MemorySize, PBYTE FillByte); +__declspec(dllexport) bool __stdcall PatchEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID ReplacePattern, DWORD ReplaceSize, bool AppendNOP, bool PrependNOP); +__declspec(dllexport) bool __stdcall Patch(LPVOID MemoryStart, DWORD MemorySize, LPVOID ReplacePattern, DWORD ReplaceSize, bool AppendNOP, bool PrependNOP); +__declspec(dllexport) bool __stdcall ReplaceEx(HANDLE hProcess, LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, DWORD NumberOfRepetitions, LPVOID ReplacePattern, DWORD ReplaceSize, PBYTE WildCard); +__declspec(dllexport) bool __stdcall Replace(LPVOID MemoryStart, DWORD MemorySize, LPVOID SearchPattern, DWORD PatternSize, DWORD NumberOfRepetitions, LPVOID ReplacePattern, DWORD ReplaceSize, PBYTE WildCard); +__declspec(dllexport) void* __stdcall GetDebugData(); +__declspec(dllexport) void* __stdcall GetTerminationData(); +__declspec(dllexport) long __stdcall GetExitCode(); +__declspec(dllexport) long long __stdcall GetDebuggedDLLBaseAddress(); +__declspec(dllexport) unsigned long long __stdcall GetDebuggedFileBaseAddress(); +__declspec(dllexport) bool __stdcall GetRemoteString(HANDLE hProcess, LPVOID StringAddress, LPVOID StringStorage, int MaximumStringSize); +__declspec(dllexport) long long __stdcall GetFunctionParameter(HANDLE hProcess, DWORD FunctionType, DWORD ParameterNumber, DWORD ParameterType); +__declspec(dllexport) long long __stdcall GetJumpDestinationEx(HANDLE hProcess, ULONG_PTR InstructionAddress, bool JustJumps); +__declspec(dllexport) long long __stdcall GetJumpDestination(HANDLE hProcess, ULONG_PTR InstructionAddress); +__declspec(dllexport) bool __stdcall IsJumpGoingToExecuteEx(HANDLE hProcess, HANDLE hThread, ULONG_PTR InstructionAddress, ULONG_PTR RegFlags); +__declspec(dllexport) bool __stdcall IsJumpGoingToExecute(); +__declspec(dllexport) void __stdcall SetCustomHandler(DWORD ExceptionId, LPVOID CallBack); +__declspec(dllexport) void __stdcall ForceClose(); +__declspec(dllexport) void __stdcall StepInto(LPVOID traceCallBack); +__declspec(dllexport) void __stdcall StepOver(LPVOID traceCallBack); +__declspec(dllexport) void __stdcall SingleStep(DWORD StepCount, LPVOID StepCallBack); +__declspec(dllexport) bool __stdcall GetUnusedHardwareBreakPointRegister(LPDWORD RegisterIndex); +__declspec(dllexport) bool __stdcall SetHardwareBreakPointEx(HANDLE hActiveThread, ULONG_PTR bpxAddress, DWORD IndexOfRegister, DWORD bpxType, DWORD bpxSize, LPVOID bpxCallBack, LPDWORD IndexOfSelectedRegister); +__declspec(dllexport) bool __stdcall SetHardwareBreakPoint(ULONG_PTR bpxAddress, DWORD IndexOfRegister, DWORD bpxType, DWORD bpxSize, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall DeleteHardwareBreakPoint(DWORD IndexOfRegister); +__declspec(dllexport) bool __stdcall RemoveAllBreakPoints(DWORD RemoveOption); +__declspec(dllexport) void* __stdcall GetProcessInformation(); +__declspec(dllexport) void* __stdcall GetStartupInformation(); +__declspec(dllexport) void __stdcall DebugLoop(); +__declspec(dllexport) void __stdcall SetDebugLoopTimeOut(DWORD TimeOut); +__declspec(dllexport) void __stdcall SetNextDbgContinueStatus(DWORD SetDbgCode); +__declspec(dllexport) bool __stdcall AttachDebugger(DWORD ProcessId, bool KillOnExit, LPVOID DebugInfo, LPVOID CallBack); +__declspec(dllexport) bool __stdcall DetachDebugger(DWORD ProcessId); +__declspec(dllexport) bool __stdcall DetachDebuggerEx(DWORD ProcessId); +__declspec(dllexport) void __stdcall DebugLoopEx(DWORD TimeOut); +__declspec(dllexport) void __stdcall AutoDebugEx(char* szFileName, bool ReserveModuleBase, char* szCommandLine, char* szCurrentFolder, DWORD TimeOut, LPVOID EntryCallBack); +__declspec(dllexport) void __stdcall AutoDebugExW(wchar_t* szFileName, bool ReserveModuleBase, wchar_t* szCommandLine, wchar_t* szCurrentFolder, DWORD TimeOut, LPVOID EntryCallBack); +__declspec(dllexport) bool __stdcall IsFileBeingDebugged(); +__declspec(dllexport) void __stdcall SetErrorModel(bool DisplayErrorMessages); +// TitanEngine.FindOEP.functions: +__declspec(dllexport) void __stdcall FindOEPInit(); +__declspec(dllexport) bool __stdcall FindOEPGenerically(char* szFileName, LPVOID TraceInitCallBack, LPVOID CallBack); +__declspec(dllexport) bool __stdcall FindOEPGenericallyW(wchar_t* szFileName, LPVOID TraceInitCallBack, LPVOID CallBack); +// TitanEngine.Importer.functions: +__declspec(dllexport) void __stdcall ImporterCleanup(); +__declspec(dllexport) void __stdcall ImporterSetImageBase(ULONG_PTR ImageBase); +__declspec(dllexport) void __stdcall ImporterSetUnknownDelta(ULONG_PTR DeltaAddress); +__declspec(dllexport) long long __stdcall ImporterGetCurrentDelta(); +__declspec(dllexport) void __stdcall ImporterInit(DWORD MemorySize, ULONG_PTR ImageBase); +__declspec(dllexport) void __stdcall ImporterAddNewDll(char* szDLLName, ULONG_PTR FirstThunk); +__declspec(dllexport) void __stdcall ImporterAddNewAPI(char* szAPIName, ULONG_PTR ThunkValue); +__declspec(dllexport) void __stdcall ImporterAddNewOrdinalAPI(ULONG_PTR OrdinalNumber, ULONG_PTR ThunkValue); +__declspec(dllexport) long __stdcall ImporterGetAddedDllCount(); +__declspec(dllexport) long __stdcall ImporterGetAddedAPICount(); +__declspec(dllexport) void* __stdcall ImporterGetLastAddedDLLName(); +__declspec(dllexport) void __stdcall ImporterMoveIAT(); +__declspec(dllexport) bool __stdcall ImporterExportIAT(ULONG_PTR StorePlace, ULONG_PTR FileMapVA); +__declspec(dllexport) long __stdcall ImporterEstimatedSize(); +__declspec(dllexport) bool __stdcall ImporterExportIATEx(char* szExportFileName, char* szSectionName); +__declspec(dllexport) bool __stdcall ImporterExportIATExW(wchar_t* szExportFileName, char* szSectionName); +__declspec(dllexport) long long __stdcall ImporterFindAPIWriteLocation(char* szAPIName); +__declspec(dllexport) long long __stdcall ImporterFindOrdinalAPIWriteLocation(ULONG_PTR OrdinalNumber); +__declspec(dllexport) long long __stdcall ImporterFindAPIByWriteLocation(ULONG_PTR APIWriteLocation); +__declspec(dllexport) long long __stdcall ImporterFindDLLByWriteLocation(ULONG_PTR APIWriteLocation); +__declspec(dllexport) void* __stdcall ImporterGetDLLName(ULONG_PTR APIAddress); +__declspec(dllexport) void* __stdcall ImporterGetAPIName(ULONG_PTR APIAddress); +__declspec(dllexport) long long __stdcall ImporterGetAPIOrdinalNumber(ULONG_PTR APIAddress); +__declspec(dllexport) void* __stdcall ImporterGetAPINameEx(ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); +__declspec(dllexport) long long __stdcall ImporterGetRemoteAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) long long __stdcall ImporterGetRemoteAPIAddressEx(char* szDLLName, char* szAPIName); +__declspec(dllexport) long long __stdcall ImporterGetLocalAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) void* __stdcall ImporterGetDLLNameFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) void* __stdcall ImporterGetAPINameFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) long long __stdcall ImporterGetAPIOrdinalNumberFromDebugee(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) long __stdcall ImporterGetDLLIndexEx(ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); +__declspec(dllexport) long __stdcall ImporterGetDLLIndex(HANDLE hProcess, ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); +__declspec(dllexport) long long __stdcall ImporterGetRemoteDLLBase(HANDLE hProcess, HMODULE LocalModuleBase); +__declspec(dllexport) bool __stdcall ImporterRelocateWriteLocation(ULONG_PTR AddValue); +__declspec(dllexport) bool __stdcall ImporterIsForwardedAPI(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) void* __stdcall ImporterGetForwardedAPIName(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) void* __stdcall ImporterGetForwardedDLLName(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) long __stdcall ImporterGetForwardedDLLIndex(HANDLE hProcess, ULONG_PTR APIAddress, ULONG_PTR DLLBasesList); +__declspec(dllexport) long long __stdcall ImporterGetForwardedAPIOrdinalNumber(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) long long __stdcall ImporterGetNearestAPIAddress(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) void* __stdcall ImporterGetNearestAPIName(HANDLE hProcess, ULONG_PTR APIAddress); +__declspec(dllexport) bool __stdcall ImporterCopyOriginalIAT(char* szOriginalFile, char* szDumpFile); +__declspec(dllexport) bool __stdcall ImporterCopyOriginalIATW(wchar_t* szOriginalFile, wchar_t* szDumpFile); +__declspec(dllexport) bool __stdcall ImporterLoadImportTable(char* szFileName); +__declspec(dllexport) bool __stdcall ImporterLoadImportTableW(wchar_t* szFileName); +__declspec(dllexport) bool __stdcall ImporterMoveOriginalIAT(char* szOriginalFile, char* szDumpFile, char* szSectionName); +__declspec(dllexport) bool __stdcall ImporterMoveOriginalIATW(wchar_t* szOriginalFile, wchar_t* szDumpFile, char* szSectionName); +__declspec(dllexport) void __stdcall ImporterAutoSearchIAT(HANDLE hProcess, char* szFileName, ULONG_PTR ImageBase, ULONG_PTR SearchStart, DWORD SearchSize, LPVOID pIATStart, LPVOID pIATSize); +__declspec(dllexport) void __stdcall ImporterAutoSearchIATW(HANDLE hProcess, wchar_t* szFileName, ULONG_PTR ImageBase, ULONG_PTR SearchStart, DWORD SearchSize, LPVOID pIATStart, LPVOID pIATSize); +__declspec(dllexport) void __stdcall ImporterAutoSearchIATEx(HANDLE hProcess, ULONG_PTR ImageBase, ULONG_PTR SearchStart, DWORD SearchSize, LPVOID pIATStart, LPVOID pIATSize); +__declspec(dllexport) void __stdcall ImporterEnumAddedData(LPVOID EnumCallBack); +__declspec(dllexport) long __stdcall ImporterAutoFixIATEx(HANDLE hProcess, char* szDumpedFile, char* szSectionName, bool DumpRunningProcess, bool RealignFile, ULONG_PTR EntryPointAddress, ULONG_PTR ImageBase, ULONG_PTR SearchStart, DWORD SearchSize, DWORD SearchStep, bool TryAutoFix, bool FixEliminations, LPVOID UnknownPointerFixCallback); +__declspec(dllexport) long __stdcall ImporterAutoFixIATExW(HANDLE hProcess, wchar_t* szDumpedFile, char* szSectionName, bool DumpRunningProcess, bool RealignFile, ULONG_PTR EntryPointAddress, ULONG_PTR ImageBase, ULONG_PTR SearchStart, DWORD SearchSize, DWORD SearchStep, bool TryAutoFix, bool FixEliminations, LPVOID UnknownPointerFixCallback); +__declspec(dllexport) long __stdcall ImporterAutoFixIAT(HANDLE hProcess, char* szDumpedFile, ULONG_PTR ImageBase, ULONG_PTR SearchStart, DWORD SearchSize, DWORD SearchStep); +__declspec(dllexport) long __stdcall ImporterAutoFixIATW(HANDLE hProcess, wchar_t* szDumpedFile, ULONG_PTR ImageBase, ULONG_PTR SearchStart, DWORD SearchSize, DWORD SearchStep); +// Global.Engine.Hook.functions: +__declspec(dllexport) bool __stdcall HooksSafeTransitionEx(LPVOID HookAddressArray, int NumberOfHooks, bool TransitionStart); +__declspec(dllexport) bool __stdcall HooksSafeTransition(LPVOID HookAddress, bool TransitionStart); +__declspec(dllexport) bool __stdcall HooksIsAddressRedirected(LPVOID HookAddress); +__declspec(dllexport) void* __stdcall HooksGetTrampolineAddress(LPVOID HookAddress); +__declspec(dllexport) void* __stdcall HooksGetHookEntryDetails(LPVOID HookAddress); +__declspec(dllexport) bool __stdcall HooksInsertNewRedirection(LPVOID HookAddress, LPVOID RedirectTo, int HookType); +__declspec(dllexport) bool __stdcall HooksInsertNewIATRedirectionEx(ULONG_PTR FileMapVA, ULONG_PTR LoadedModuleBase, char* szHookFunction, LPVOID RedirectTo); +__declspec(dllexport) bool __stdcall HooksInsertNewIATRedirection(char* szModuleName, char* szHookFunction, LPVOID RedirectTo); +__declspec(dllexport) bool __stdcall HooksRemoveRedirection(LPVOID HookAddress, bool RemoveAll); +__declspec(dllexport) bool __stdcall HooksRemoveRedirectionsForModule(HMODULE ModuleBase); +__declspec(dllexport) bool __stdcall HooksRemoveIATRedirection(char* szModuleName, char* szHookFunction, bool RemoveAll); +__declspec(dllexport) bool __stdcall HooksDisableRedirection(LPVOID HookAddress, bool DisableAll); +__declspec(dllexport) bool __stdcall HooksDisableRedirectionsForModule(HMODULE ModuleBase); +__declspec(dllexport) bool __stdcall HooksDisableIATRedirection(char* szModuleName, char* szHookFunction, bool DisableAll); +__declspec(dllexport) bool __stdcall HooksEnableRedirection(LPVOID HookAddress, bool EnableAll); +__declspec(dllexport) bool __stdcall HooksEnableRedirectionsForModule(HMODULE ModuleBase); +__declspec(dllexport) bool __stdcall HooksEnableIATRedirection(char* szModuleName, char* szHookFunction, bool EnableAll); +__declspec(dllexport) void __stdcall HooksScanModuleMemory(HMODULE ModuleBase, LPVOID CallBack); +__declspec(dllexport) void __stdcall HooksScanEntireProcessMemory(LPVOID CallBack); +__declspec(dllexport) void __stdcall HooksScanEntireProcessMemoryEx(); +// TitanEngine.Tracer.functions: +__declspec(dllexport) void __stdcall TracerInit(); +__declspec(dllexport) long long __stdcall TracerLevel1(HANDLE hProcess, ULONG_PTR AddressToTrace); +__declspec(dllexport) long long __stdcall HashTracerLevel1(HANDLE hProcess, ULONG_PTR AddressToTrace, DWORD InputNumberOfInstructions); +__declspec(dllexport) long __stdcall TracerDetectRedirection(HANDLE hProcess, ULONG_PTR AddressToTrace); +__declspec(dllexport) long long __stdcall TracerFixKnownRedirection(HANDLE hProcess, ULONG_PTR AddressToTrace, DWORD RedirectionId); +__declspec(dllexport) long __stdcall TracerFixRedirectionViaImpRecPlugin(HANDLE hProcess, char* szPluginName, ULONG_PTR AddressToTrace); +// TitanEngine.Exporter.functions: +__declspec(dllexport) void __stdcall ExporterCleanup(); +__declspec(dllexport) void __stdcall ExporterSetImageBase(ULONG_PTR ImageBase); +__declspec(dllexport) void __stdcall ExporterInit(DWORD MemorySize, ULONG_PTR ImageBase, DWORD ExportOrdinalBase, char* szExportModuleName); +__declspec(dllexport) bool __stdcall ExporterAddNewExport(char* szExportName, DWORD ExportRelativeAddress); +__declspec(dllexport) bool __stdcall ExporterAddNewOrdinalExport(DWORD OrdinalNumber, DWORD ExportRelativeAddress); +__declspec(dllexport) long __stdcall ExporterGetAddedExportCount(); +__declspec(dllexport) long __stdcall ExporterEstimatedSize(); +__declspec(dllexport) bool __stdcall ExporterBuildExportTable(ULONG_PTR StorePlace, ULONG_PTR FileMapVA); +__declspec(dllexport) bool __stdcall ExporterBuildExportTableEx(char* szExportFileName, char* szSectionName); +__declspec(dllexport) bool __stdcall ExporterBuildExportTableExW(wchar_t* szExportFileName, char* szSectionName); +__declspec(dllexport) bool __stdcall ExporterLoadExportTable(char* szFileName); +__declspec(dllexport) bool __stdcall ExporterLoadExportTableW(wchar_t* szFileName); +// TitanEngine.Librarian.functions: +__declspec(dllexport) bool __stdcall LibrarianSetBreakPoint(char* szLibraryName, DWORD bpxType, bool SingleShoot, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall LibrarianRemoveBreakPoint(char* szLibraryName, DWORD bpxType); +__declspec(dllexport) void* __stdcall LibrarianGetLibraryInfo(char* szLibraryName); +__declspec(dllexport) void* __stdcall LibrarianGetLibraryInfoW(wchar_t* szLibraryName); +__declspec(dllexport) void* __stdcall LibrarianGetLibraryInfoEx(void* BaseOfDll); +__declspec(dllexport) void* __stdcall LibrarianGetLibraryInfoExW(void* BaseOfDll); +__declspec(dllexport) void __stdcall LibrarianEnumLibraryInfo(void* EnumCallBack); +__declspec(dllexport) void __stdcall LibrarianEnumLibraryInfoW(void* EnumCallBack); +// TitanEngine.Process.functions: +__declspec(dllexport) long __stdcall GetActiveProcessId(char* szImageName); +__declspec(dllexport) long __stdcall GetActiveProcessIdW(wchar_t* szImageName); +__declspec(dllexport) void __stdcall EnumProcessesWithLibrary(char* szLibraryName, void* EnumFunction); +// TitanEngine.TLSFixer.functions: +__declspec(dllexport) bool __stdcall TLSBreakOnCallBack(LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall TLSGrabCallBackData(char* szFileName, LPVOID ArrayOfCallBacks, LPDWORD NumberOfCallBacks); +__declspec(dllexport) bool __stdcall TLSGrabCallBackDataW(wchar_t* szFileName, LPVOID ArrayOfCallBacks, LPDWORD NumberOfCallBacks); +__declspec(dllexport) bool __stdcall TLSBreakOnCallBackEx(char* szFileName, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall TLSBreakOnCallBackExW(wchar_t* szFileName, LPVOID bpxCallBack); +__declspec(dllexport) bool __stdcall TLSRemoveCallback(char* szFileName); +__declspec(dllexport) bool __stdcall TLSRemoveCallbackW(wchar_t* szFileName); +__declspec(dllexport) bool __stdcall TLSRemoveTable(char* szFileName); +__declspec(dllexport) bool __stdcall TLSRemoveTableW(wchar_t* szFileName); +__declspec(dllexport) bool __stdcall TLSBackupData(char* szFileName); +__declspec(dllexport) bool __stdcall TLSBackupDataW(wchar_t* szFileName); +__declspec(dllexport) bool __stdcall TLSRestoreData(); +__declspec(dllexport) bool __stdcall TLSBuildNewTable(ULONG_PTR FileMapVA, ULONG_PTR StorePlace, ULONG_PTR StorePlaceRVA, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); +__declspec(dllexport) bool __stdcall TLSBuildNewTableEx(char* szFileName, char* szSectionName, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); +__declspec(dllexport) bool __stdcall TLSBuildNewTableExW(wchar_t* szFileName, char* szSectionName, LPVOID ArrayOfCallBacks, DWORD NumberOfCallBacks); +// TitanEngine.TranslateName.functions: +__declspec(dllexport) void* __stdcall TranslateNativeName(char* szNativeName); +__declspec(dllexport) void* __stdcall TranslateNativeNameW(wchar_t* szNativeName); +// TitanEngine.Handler.functions: +__declspec(dllexport) long __stdcall HandlerGetActiveHandleCount(DWORD ProcessId); +__declspec(dllexport) bool __stdcall HandlerIsHandleOpen(DWORD ProcessId, HANDLE hHandle); +__declspec(dllexport) void* __stdcall HandlerGetHandleName(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, bool TranslateName); +__declspec(dllexport) void* __stdcall HandlerGetHandleNameW(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, bool TranslateName); +__declspec(dllexport) long __stdcall HandlerEnumerateOpenHandles(DWORD ProcessId, LPVOID HandleBuffer, DWORD MaxHandleCount); +__declspec(dllexport) long long __stdcall HandlerGetHandleDetails(HANDLE hProcess, DWORD ProcessId, HANDLE hHandle, DWORD InformationReturn); +__declspec(dllexport) bool __stdcall HandlerCloseRemoteHandle(HANDLE hProcess, HANDLE hHandle); +__declspec(dllexport) long __stdcall HandlerEnumerateLockHandles(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated, LPVOID HandleDataBuffer, DWORD MaxHandleCount); +__declspec(dllexport) long __stdcall HandlerEnumerateLockHandlesW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated, LPVOID HandleDataBuffer, DWORD MaxHandleCount); +__declspec(dllexport) bool __stdcall HandlerCloseAllLockHandles(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); +__declspec(dllexport) bool __stdcall HandlerCloseAllLockHandlesW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); +__declspec(dllexport) bool __stdcall HandlerIsFileLocked(char* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); +__declspec(dllexport) bool __stdcall HandlerIsFileLockedW(wchar_t* szFileOrFolderName, bool NameIsFolder, bool NameIsTranslated); +// TitanEngine.Handler[Mutex].functions: +__declspec(dllexport) long __stdcall HandlerEnumerateOpenMutexes(HANDLE hProcess, DWORD ProcessId, LPVOID HandleBuffer, DWORD MaxHandleCount); +__declspec(dllexport) long long __stdcall HandlerGetOpenMutexHandle(HANDLE hProcess, DWORD ProcessId, char* szMutexString); +__declspec(dllexport) long long __stdcall HandlerGetOpenMutexHandleW(HANDLE hProcess, DWORD ProcessId, wchar_t* szMutexString); +__declspec(dllexport) long __stdcall HandlerGetProcessIdWhichCreatedMutex(char* szMutexString); +__declspec(dllexport) long __stdcall HandlerGetProcessIdWhichCreatedMutexW(wchar_t* szMutexString); +// TitanEngine.Injector.functions: +__declspec(dllexport) bool __stdcall RemoteLoadLibrary(HANDLE hProcess, char* szLibraryFile, bool WaitForThreadExit); +__declspec(dllexport) bool __stdcall RemoteLoadLibraryW(HANDLE hProcess, wchar_t* szLibraryFile, bool WaitForThreadExit); +__declspec(dllexport) bool __stdcall RemoteFreeLibrary(HANDLE hProcess, HMODULE hModule, char* szLibraryFile, bool WaitForThreadExit); +__declspec(dllexport) bool __stdcall RemoteFreeLibraryW(HANDLE hProcess, HMODULE hModule, wchar_t* szLibraryFile, bool WaitForThreadExit); +__declspec(dllexport) bool __stdcall RemoteExitProcess(HANDLE hProcess, DWORD ExitCode); +// TitanEngine.StaticUnpacker.functions: +__declspec(dllexport) bool __stdcall StaticFileLoad(char* szFileName, DWORD DesiredAccess, bool SimulateLoad, LPHANDLE FileHandle, LPDWORD LoadedSize, LPHANDLE FileMap, PULONG_PTR FileMapVA); +__declspec(dllexport) bool __stdcall StaticFileLoadW(wchar_t* szFileName, DWORD DesiredAccess, bool SimulateLoad, LPHANDLE FileHandle, LPDWORD LoadedSize, LPHANDLE FileMap, PULONG_PTR FileMapVA); +__declspec(dllexport) bool __stdcall StaticFileUnload(char* szFileName, bool CommitChanges, HANDLE FileHandle, DWORD LoadedSize, HANDLE FileMap, ULONG_PTR FileMapVA); +__declspec(dllexport) bool __stdcall StaticFileUnloadW(wchar_t* szFileName, bool CommitChanges, HANDLE FileHandle, DWORD LoadedSize, HANDLE FileMap, ULONG_PTR FileMapVA); +__declspec(dllexport) bool __stdcall StaticFileOpen(char* szFileName, DWORD DesiredAccess, LPHANDLE FileHandle, LPDWORD FileSizeLow, LPDWORD FileSizeHigh); +__declspec(dllexport) bool __stdcall StaticFileOpenW(wchar_t* szFileName, DWORD DesiredAccess, LPHANDLE FileHandle, LPDWORD FileSizeLow, LPDWORD FileSizeHigh); +__declspec(dllexport) bool __stdcall StaticFileGetContent(HANDLE FileHandle, DWORD FilePositionLow, LPDWORD FilePositionHigh, void* Buffer, DWORD Size); +__declspec(dllexport) void __stdcall StaticFileClose(HANDLE FileHandle); +__declspec(dllexport) void __stdcall StaticMemoryDecrypt(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionType, DWORD DecryptionKeySize, ULONG_PTR DecryptionKey); +__declspec(dllexport) void __stdcall StaticMemoryDecryptEx(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionKeySize, void* DecryptionCallBack); +__declspec(dllexport) void __stdcall StaticMemoryDecryptSpecial(LPVOID MemoryStart, DWORD MemorySize, DWORD DecryptionKeySize, DWORD SpecDecryptionType, void* DecryptionCallBack); +__declspec(dllexport) void __stdcall StaticSectionDecrypt(ULONG_PTR FileMapVA, DWORD SectionNumber, bool SimulateLoad, DWORD DecryptionType, DWORD DecryptionKeySize, ULONG_PTR DecryptionKey); +__declspec(dllexport) bool __stdcall StaticMemoryDecompress(void* Source, DWORD SourceSize, void* Destination, DWORD DestinationSize, int Algorithm); +__declspec(dllexport) bool __stdcall StaticRawMemoryCopy(HANDLE hFile, ULONG_PTR FileMapVA, ULONG_PTR VitualAddressToCopy, DWORD Size, bool AddressIsRVA, char* szDumpFileName); +__declspec(dllexport) bool __stdcall StaticRawMemoryCopyW(HANDLE hFile, ULONG_PTR FileMapVA, ULONG_PTR VitualAddressToCopy, DWORD Size, bool AddressIsRVA, wchar_t* szDumpFileName); +__declspec(dllexport) bool __stdcall StaticRawMemoryCopyEx(HANDLE hFile, DWORD RawAddressToCopy, DWORD Size, char* szDumpFileName); +__declspec(dllexport) bool __stdcall StaticRawMemoryCopyExW(HANDLE hFile, DWORD RawAddressToCopy, DWORD Size, wchar_t* szDumpFileName); +__declspec(dllexport) bool __stdcall StaticRawMemoryCopyEx64(HANDLE hFile, DWORD64 RawAddressToCopy, DWORD64 Size, char* szDumpFileName); +__declspec(dllexport) bool __stdcall StaticRawMemoryCopyEx64W(HANDLE hFile, DWORD64 RawAddressToCopy, DWORD64 Size, wchar_t* szDumpFileName); +__declspec(dllexport) bool __stdcall StaticHashMemory(void* MemoryToHash, DWORD SizeOfMemory, void* HashDigest, bool OutputString, int Algorithm); +__declspec(dllexport) bool __stdcall StaticHashFileW(wchar_t* szFileName, char* HashDigest, bool OutputString, int Algorithm); +__declspec(dllexport) bool __stdcall StaticHashFile(char* szFileName, char* HashDigest, bool OutputString, int Algorithm); +// TitanEngine.Engine.functions: +__declspec(dllexport) void __stdcall EngineUnpackerInitialize(char* szFileName, char* szUnpackedFileName, bool DoLogData, bool DoRealignFile, bool DoMoveOverlay, void* EntryCallBack); +__declspec(dllexport) void __stdcall EngineUnpackerInitializeW(wchar_t* szFileName, wchar_t* szUnpackedFileName, bool DoLogData, bool DoRealignFile, bool DoMoveOverlay, void* EntryCallBack); +__declspec(dllexport) bool __stdcall EngineUnpackerSetBreakCondition(void* SearchStart, DWORD SearchSize, void* SearchPattern, DWORD PatternSize, DWORD PatternDelta, ULONG_PTR BreakType, bool SingleBreak, DWORD Parameter1, DWORD Parameter2); +__declspec(dllexport) void __stdcall EngineUnpackerSetEntryPointAddress(ULONG_PTR UnpackedEntryPointAddress); +__declspec(dllexport) void __stdcall EngineUnpackerFinalizeUnpacking(); +// TitanEngine.Engine.functions: +__declspec(dllexport) void __stdcall SetEngineVariable(DWORD VariableId, bool VariableSet); +__declspec(dllexport) bool __stdcall EngineCreateMissingDependencies(char* szFileName, char* szOutputFolder, bool LogCreatedFiles); +__declspec(dllexport) bool __stdcall EngineCreateMissingDependenciesW(wchar_t* szFileName, wchar_t* szOutputFolder, bool LogCreatedFiles); +__declspec(dllexport) bool __stdcall EngineFakeMissingDependencies(HANDLE hProcess); +__declspec(dllexport) bool __stdcall EngineDeleteCreatedDependencies(); +__declspec(dllexport) bool __stdcall EngineCreateUnpackerWindow(char* WindowUnpackerTitle, char* WindowUnpackerLongTitle, char* WindowUnpackerName, char* WindowUnpackerAuthor, void* StartUnpackingCallBack); +__declspec(dllexport) void __stdcall EngineAddUnpackerWindowLogMessage(char* szLogMessage); +// Global.Engine.Extension.Functions: +__declspec(dllexport) bool __stdcall ExtensionManagerIsPluginLoaded(char* szPluginName); +__declspec(dllexport) bool __stdcall ExtensionManagerIsPluginEnabled(char* szPluginName); +__declspec(dllexport) bool __stdcall ExtensionManagerDisableAllPlugins(); +__declspec(dllexport) bool __stdcall ExtensionManagerDisablePlugin(char* szPluginName); +__declspec(dllexport) bool __stdcall ExtensionManagerEnableAllPlugins(); +__declspec(dllexport) bool __stdcall ExtensionManagerEnablePlugin(char* szPluginName); +__declspec(dllexport) bool __stdcall ExtensionManagerUnloadAllPlugins(); +__declspec(dllexport) bool __stdcall ExtensionManagerUnloadPlugin(char* szPluginName); +__declspec(dllexport) void* __stdcall ExtensionManagerGetPluginInfo(char* szPluginName); + +#ifdef __cplusplus +} +#endif + +#pragma pack(pop) + +#endif /*TITANENGINE*/ diff --git a/TitanEngine/stdafx.h b/TitanEngine/stdafx.h index cbec521..a349e0b 100644 --- a/TitanEngine/stdafx.h +++ b/TitanEngine/stdafx.h @@ -39,9 +39,9 @@ #define UE_OPTION_IMPORTER_REALIGN_LOCAL_APIADDRESS 0 #define UE_OPTION_IMPORTER_REALIGN_APIADDRESS 1 -#define UE_OPTION_IMPORTER_RETURN_APINAME 2 +#define UE_OPTION_IMPORTER_RETURN_APINAME 2 //no kernelbase #define UE_OPTION_IMPORTER_RETURN_APIADDRESS 3 -#define UE_OPTION_IMPORTER_RETURN_DLLNAME 4 +#define UE_OPTION_IMPORTER_RETURN_DLLNAME 4 //no kernelbase #define UE_OPTION_IMPORTER_RETURN_DLLINDEX 5 #define UE_OPTION_IMPORTER_RETURN_DLLBASE 6 #define UE_OPTION_IMPORTER_RETURN_FORWARDER_DLLNAME 7 @@ -404,6 +404,7 @@ typedef struct{ #define UE_HARDWARE_SIZE_1 7 #define UE_HARDWARE_SIZE_2 8 #define UE_HARDWARE_SIZE_4 9 +#define UE_HARDWARE_SIZE_8 10 #define UE_APISTART 0 #define UE_APIEND 1 diff --git a/x64/Release/TitanEngine.dll b/x64/Release/TitanEngine.dll index 4dbf822a9eb4c3c5f1f362a6e453feffda4de347..b637ad7a2eed5dc5438610cecbe9150ca4318492 100644 GIT binary patch delta 108254 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%0D-VsPD2JfLiCr&L6uQ!PP*09+?~hv8tE#Q? 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 uYpGZzOq&G&