Перейти к содержанию

TrainMe CE Protect


Vlad2

Рекомендуемые сообщения

1 час назад, AntonVit сказал:

Если трейнер скомпилировать на модифицированном СЕ. Файл CET_TRAINER.CETRAINER уже не получиться декомпилировать с помощью декомпилятора. Как тогда расшифруешь?

 

23 минуты назад, AntonVit сказал:

Автору видео как мне думается, не удалось бы загрузить модифицированный CET_TRAINER.CETRAINER в Cheate Engine. А если так, то его способ вскрытия конечно и интересен, но не универсален

 

в даном случае defines.lua рулит. CET_TRAINER.CETRAINER не нужен.

 

Ссылка на комментарий
Поделиться на другие сайты

29 минуты назад, AntonVit сказал:

А если так, то его способ вскрытия конечно и интересен, но не универсален

Но всё равно же - люди как то только не пытаются выковырить таблицу... В наше время всё это делается уже проще простого, еже ли в то время.. Замораживается процесс вместе с таймером, в темпе 2 раза жмакаешь и декомпилируешь уже файл.. И подобных этому видео в инете полно и у каждого свой подход к этому делу :)  

Хотя в принципе подобное можно было и в то время провернуть, но не доперли не которые до этого. Хотя кто его знает... Ты же когда делал трейнер с мега защитой, не подумал что я заморожу процесс :)

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, gmz сказал:

распаковка:

trainer_x64.EXE -> в x32_dbg -> CreateProcessA -> breakpoint
%TEMP%\cetrainers\CETXXXX.tmp копируем trainer_x64.EXE и CET_Archive.dat
trainer_x64.EXE -> в x32_dbg -> CreateProcessA -> breakpoint -> получаем:
1 trainer_x64.EXE - реал х64
2 lua53-64.dll
3 CET_TRAINER.CETRAINER
4 defines.lua

дальше над смотреть дешифро, вариант выше где нашли блок в котором валяется дешифро+мусор - Lol

ps метод упаковки - еще тот ржач :D

 

 

Сделал через Ollydbg, в CET_TRAINER.CETRAINER лежит только это

Скрытый текст

<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="24">
  <CheatEntries/>
  <UserdefinedSymbols/>
</CheatTable>

 

 

gmz у тебя что в этом файле?

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, gmz сказал:

в даном случае defines.lua рулит. CET_TRAINER.CETRAINER не нужен.

 

В файле defines.lua я нашел только это

Скрытый текст

--Defines:

--checkbox state defines
cbUnchecked=0
cbChecked=1
cbGrayed=2


--onMouseEvent button defines:
mbLeft=0
mbRight=1
mbMiddle=2
mbExtra1=3
mbExtra2=4


--memo scrollbar defines
ssNone=0
ssHorizontal=1
ssVertical=2
ssBoth=3
ssAutoHorizontal=4
ssAutoVertical=5
ssAutoBoth=6


bsNone=0
bsSingle=1
bsSizeable=2
bsDialog=3
bsToolWindow=4
bsSizeToolWin=5

 

--scan types: (fast scan methods)
fsmNotAligned=0
fsmAligned=1
fsmLastDigits=2

--rounding types
rtRounded=0
rtExtremerounded=1
rtTruncated=2

--scan options
soUnknownValue=0
soExactValue=1
soValueBetween=2
soBiggerThan=3
soSmallerThan=4
soIncreasedValue=5
soIncreasedValueBy=6
soDecreasedValue=7
soDecreasedValueBy=8
soChanged=9
soUnchanged=10


--debug variables
--Breakpoint methods:
bpmInt3=0
bpmDebugRegister=1
bpmException=2


--Breakpoint triggers:
bptExecute=0
bptAccess=1
bptWrite=2

--breakpoint continue methods:
co_run=0
co_stepinto=1
co_stepover=2

--CloseAction types
caNone=0;
caHide=1;
caFree=2;
caMinimize=3;

--alignment types
alNone=0
alTop=1
alBottom=2
alLeft=3
alRight=4
alClient=5

--message dialog types
mtWarning=0
mtError=1
mtInformation=2
mtConfirmation=3

--message dialog button types
mbYes=0
mbNo=1
mbOK=2
mbCancel=3
mbAbort=4
mbRetry=5
mbIgnore=6
mbAll=7
mbNoToAll=8
mbYesToAll=9
mbHelp=10
mbClose=11


--message dialog results:
mrNone = 0;
mrOK = mrNone + 1
mrCancel = mrNone + 2
mrAbort = mrNone + 3
mrRetry = mrNone + 4
mrIgnore = mrNone + 5
mrYes = mrNone + 6
mrNo = mrNone + 7
mrAll = mrNone + 8
mrNoToAll = mrNone + 9
mrYesToAll = mrNone + 10
mrLast = mrYesToAll

--duplicate enum
dupIgnore = 0
dupAccept = 1
dupError = 2


--Variable types
vtByte=0
vtWord=1
vtDword=2
vtQword=3
vtSingle=4
vtDouble=5
vtString=6
vtUnicodeString=7 --Only used by autoguess
vtByteArray=8
vtBinary=9
vtAutoAssembler=11
vtPointer=12 --Only used by autoguess and structures
vtCustom=13
vtGrouped=14

--Key codes
VK_LBUTTON = 1
VK_RBUTTON = 2
VK_CANCEL = 3
VK_MBUTTON = 4
VK_XBUTTON1 = 5
VK_XBUTTON2 = 6
VK_BACK = 8
VK_TAB = 9
VK_CLEAR = 12
VK_RETURN = 13
VK_SHIFT = 16
VK_CONTROL = 17
VK_MENU = 18
VK_PAUSE = 19
VK_CAPITAL = 20
VK_ESCAPE = 27
VK_SPACE = 32
VK_PRIOR = 33
VK_NEXT = 34
VK_END = 35
VK_HOME = 36
VK_LEFT = 37
VK_UP = 38
VK_RIGHT = 39
VK_DOWN = 40
VK_SELECT = 41
VK_PRINT = 42
VK_EXECUTE = 43
VK_SNAPSHOT = 44
VK_INSERT = 45
VK_DELETE = 46
VK_HELP = 47
VK_0 = 48
VK_1 = 49
VK_2 = 50
VK_3 = 51
VK_4 = 52
VK_5 = 53
VK_6 = 54
VK_7 = 55
VK_8 = 56
VK_9 = 57
VK_A = 65
VK_B = 66
VK_C = 67
VK_D = 68
VK_E = 69
VK_F = 70
VK_G = 71
VK_H = 72
VK_I = 73
VK_J = 74
VK_K = 75
VK_L = 76
VK_M = 77
VK_N = 78
VK_O = 79
VK_P = 80
VK_Q = 81
VK_R = 82
VK_S = 83
VK_T = 84
VK_U = 85
VK_V = 86
VK_W = 87
VK_X = 88
VK_Y = 89
VK_Z = 90
VK_LWIN = 91
VK_RWIN = 92
VK_APPS = 93
VK_NUMPAD0 = 96
VK_NUMPAD1 = 97
VK_NUMPAD2 = 98
VK_NUMPAD3 = 99
VK_NUMPAD4 = 100
VK_NUMPAD5 = 101
VK_NUMPAD6 = 102
VK_NUMPAD7 = 103
VK_NUMPAD8 = 104
VK_NUMPAD9 = 105
VK_MULTIPLY = 106
VK_ADD = 107
VK_SEPARATOR = 108
VK_SUBTRACT = 109
VK_DECIMAL = 110
VK_DIVIDE = 111
VK_F1 = 112
VK_F2 = 113
VK_F3 = 114
VK_F4 = 115
VK_F5 = 116
VK_F6 = 117
VK_F7 = 118
VK_F8 = 119
VK_F9 = 120
VK_F10 = 121
VK_F11 = 122
VK_F12 = 123
VK_F13 = 124
VK_F14 = 125
VK_F15 = 126
VK_F16 = 127
VK_F17 = 128
VK_F18 = 129
VK_F19 = 130
VK_F20 = 131
VK_F21 = 132
VK_F22 = 133
VK_F23 = 134
VK_F24 = 135
VK_NUMLOCK = 144
VK_SCROLL = 145
VK_LSHIFT = 160
VK_LCONTROL = 162
VK_LMENU = 164
VK_RSHIFT = 161
VK_RCONTROL = 163
VK_RMENU = 165


--shellExecute show defines:
SW_HIDE = 0;
SW_MAXIMIZE = 3;
SW_MINIMIZE = 6;
SW_NORMAL = 1;
SW_RESTORE = 9;
SW_SHOW = 5;
SW_SHOWDEFAULT = 10;
SW_SHOWMAXIMIZED = 3;
SW_SHOWMINIMIZED = 2;
SW_SHOWMINNOACTIVE = 7;
SW_SHOWNA = 8;
SW_SHOWNOACTIVATE = 4;
SW_SHOWNORMAL = 1;


--Pixelformat
pfDevice = 0
pf1bit = 1
pf4bit = 2
pf8bit = 3
pf15bit = 4
pf16bit = 5
pf24bit = 6
pf32bit = 7
pfCustom = 8

--Disassembler value type
dvtNone = 0
dvtAddress = 1
dvtValue = 2

--Dissectcode
jtCall = 0
jtUnconditional = 1
jtConditional = 2
jtMemory = 3

--RegisterSymbolLookupCallback
slStart = 0 --The very start of a symbol lookup. Before tokenization
slNotInt = 1 --Called when it has been determined it's not a hexadecimal only string. Before tokenization
slNotModule = 2 --Called when it has been determined the current token is not a modulename
slNotUserdefinedSymbol = 3 --Called when it has been determined it's not a userdefined symbol
slNotSymbol = 4 --Called when it has been determined it's not a symbol in the symbollist
slFailure = 5 --Called when it has no clue what the given string is

poDesigned = 0
poDefault = 1
poDefaultPosOnly = 2
poDefaultSizeOnly = 3
poScreenCenter = 4
poDesktopCenter = 5
poMainFormCenter = 6
poOwnerFormCenter = 7

asrTop = 0
asrBottom = 1
asrCenter = 2
asrLeft = asrTop
asrRight = asrBottom

vsIcon = 0
vsSmallIcon = 1
vsList = 2
vsReport = 3

LWA_COLORKEY = 1
LWA_ALPHA = 2

GW_HWNDFIRST = 0
GW_HWNDLAST = 1
GW_HWNDNEXT = 2
GW_HWNDPREV = 3
GW_HWNDOWNER = 4
GW_CHILD = 5;
GW_ENABLEDPOPUP = 6;

mrhToggleActivation=0
mrhToggleActivationAllowIncrease=1
mrhToggleActivationAllowDecrease=2
mrhActivate=3
mrhDeactivate=4
mrhSetValue=5
mrhIncreaseValue=6
mrhDecreaseValue=7

MOUSEEVENTF_MOVE      =0x0001
MOUSEEVENTF_LEFTDOWN  =0x0002
MOUSEEVENTF_LEFTUP    =0x0004
MOUSEEVENTF_RIGHTDOWN =0x0008
MOUSEEVENTF_RIGHTUP   =0x0010
MOUSEEVENTF_MIDDLEDOWN=0x0020
MOUSEEVENTF_MIDDLEUP  =0x0040
MOUSEEVENTF_XDOWN     =0x0080
MOUSEEVENTF_XUP       =0x0100
MOUSEEVENTF_WHEEL     =0x0800
MOUSEEVENTF_HWHEEL    =0x1000
MOUSEEVENTF_ABSOLUTE  =0x8000

--text to speech "Speak" params
SPF_DEFAULT    = 0
SPF_ASYNC    = ( 1 << 0 )
SPF_PURGEBEFORESPEAK    = ( 1 << 1 )
SPF_IS_FILENAME    = ( 1 << 2 )
SPF_IS_XML    = ( 1 << 3 )
SPF_IS_NOT_XML    = ( 1 << 4 )
SPF_PERSIST_XML    = ( 1 << 5 )
SPF_NLP_SPEAK_PUNC    = ( 1 << 6 )
SPF_PARSE_SAPI    = ( 1 << 7 )
SPF_PARSE_SSML    = ( 1 << 8 )
SPF_PARSE_AUTODETECT    = 0

wrSignaled=0
wrTimeout=1
wrAbandoned=2
wrError=3

 

Что тогда имеется в виду под выражением "в даном случае defines.lua рулит" ?

Ссылка на комментарий
Поделиться на другие сайты

11 минуту назад, LIRW сказал:

Но всё равно же - люди как то только не пытаются выковырить таблицу... В наше время всё это делается уже проще простого, еже ли в то время.. Замораживается процесс вместе с таймером, в темпе 2 раза жмакаешь и декомпилируешь уже файл.. И подобных этому видео в инете полно и у каждого свой подход к этому делу :)  

Хотя в принципе подобное можно было и в то время провернуть, но не доперли не которые до этого. Хотя кто его знает... Ты же когда делал трейнер с мега защитой, не подумал что я заморожу процесс :)

 

Не подумал :(

Ссылка на комментарий
Поделиться на другие сайты

31 минуты назад, horror113 сказал:

люди добрые поделитесь модифицированным се у кого есть

 

Можешь сам для себя перекомпилировать СЕ.

Скрытый текст

Index: OpenSave.pas
===================================================================
--- OpenSave.pas   (revision 1672)
+++ OpenSave.pas   (working copy)
@@ -1173,24 +1173,24 @@
   for i:=f.Size-2 downto 0 do
     m:=m xor m[i+1];
 
-  k:=$ce;
+  k:=$cd;
   for i:=0 to f.size-1 do
   begin
     m:=m xor k;
-    inc(k);
+    inc(k,2);
   end;
 
 
 
 
-  getmem(p,6);
-  copymemory(p,m,5);
-  p[5]:=#0;
-  if p='CHEAT' then
+  getmem(p,8);
+  copymemory(p,m,7);
+  p[7]:=#0;
+  if p='BRICKED' then
   begin
     //new storage method
 
-    f.Position:=5;  //skip "CHEAT" header
+    f.Position:=7;  //skip "CHEAT" header
 
     d:=Tdecompressionstream.create(f,true);
 
@@ -1256,8 +1256,8 @@
   f.LoadFromFile(filename);
   f2:=tmemorystream.create;
 
-  s:='CHEAT';
-  f2.Write(s[1], 5);
+  s:='BRICKED';
+  f2.Write(s[1], 7);
 
   c:=Tcompressionstream.create(clmax, f2,true);
 
@@ -1268,13 +1268,13 @@
   f.free;
 
 
-  k:=$ce;
+  k:=$cd;
   m:=f2.Memory;
 
   for i:=0 to f2.Size-1 do
   begin
     m:=(m xor k);
-    inc(k);
+    inc(k,2);
   end;
 
   for i:=0 to f2.Size-2 do

 

http://forum.cheatengine.org/viewtopic.php?t=585300&postdays=0&postorder=asc&start=30

Изменено пользователем AntonVit
Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, AntonVit сказал:

Что тогда имеется в виду под выражением "в даном случае defines.lua рулит" ?

когда шифро скрипт в defines.lua выполняется он удаляет CET_TRAINER.CETRAINER и шифро часть из defines.lua

размер defines.lua

11,2 KB (11 534 bytes)

после запуска

6,11 KB (6 257 bytes)

 

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, gmz сказал:

когда шифро скрипт в defines.lua выполняется он удаляет CET_TRAINER.CETRAINER и шифро часть из defines.lua

размер defines.lua

11,2 KB (11 534 bytes)

после запуска

6,11 KB (6 257 bytes)

 

 

Действительно. А как это дело расшифровать?

 

Скрытый текст

--RegisterSymbolLookupCallback
slStart = 0 --The very start of a symbol lookup. Before tokenization
slNotInt = 1 --Called when it has been determined it's not a hexadecimal only string. Before tokenization
slNotModule = 2 --Called when it has been determined the current token is not a modulename
cba=decodeFunction('c-oa(TaV,]k*}$YJ!5+D(1MV)xgbjzMs?}C4?BzH)l]T%lE]j)bc-l.kNwi1$kP)tB#%H,eesiwAa=d*H]!#d].?mJPx%o(Mq:dl7xqu:AMjSyAtm*pd$DQEbl2sas[*dPQ;.UNx4U#};D#{4OZko;-/R+-zdVvQKaVaN1+rhU7x,usN#NIRqaj)VhIDX!Eqw}gmoUVWR*zOgl5{5@R:ZL_dayF2Pp:EodyQ3rc(Q1rRM;4aVQy3UskD.bTdfKK+t[3Y^mhbDAd$e/UCDzv*:KbSUN.3VwIy%0!m+!Qt2X%lgY=.T3uICOWIwkWZK+H*Q6d]kjX#q9/!VRTHE@zUhvr[J)t-4*(@30Y-(^*t4^%wqrq5tapI/i$UxKb,;]MPFeOf3O1=ji2HV?a/kX9C}rMr3wc6T#ez*N39WCJY!6fkF*^=%F=fFCR8_IGsW1L.q^puej;^SyCvCUt.b^kxF.]By@r0m@:DH4fnKU.cysUjOA6g8$$?;2Kq(zZCpme{#WP0}9dlzi_FR/8QE+uE2EN6(MI#Px@fWV%q2t[8(lmtAJO(b1L6,l7z+neAnml4qvcHe(DfFKVr#}VCl$rF67.d+iYHpU.WQJA}W^),G4.^McLbP:gd8u?:G.Ios[BBT+aMEB2qE$SrNEaMr%MH#Lg9vx]Ok0*Z?#9nddA?*#*-#d6XM?s*W-nJ59krI34-3c=#3RY0vk)fWh:_YF=)XqdhC-r2ec-Mne^IHF0Ae1XCwogG!P/j}JLsl0zQ+pYSMk0/f7RM-T$v1x5#@$/sO5OcG/6?}wg8Otc/c$pkc@3ZAFAgK1+;)F^.)M1I1YDM6klZQlv[49riHG3UXtA9=%(Op9Te2rSb(64!}.@lAaIP#;K-Nve]0Wa+rH$z$a-3Hv-X0*G{!oPp074Vf-XY5OxjO*%Pfdof:_9sm/Il^g*tfTqSNMv#Rp(O^oB#[:,8VOu;hot+PU;hlPK$tTfS#4n.FCs/NYxq0chsbC=foTw(CFBpq3u*OKdW-K1hoe0Cr=a(E:jEC6rPUObSNth;0R9,J]uOP_@Z=hZY[FoghxEcssV0Z?D;x9,KIIT#b[1JVdQ[r2*$E]@})gX]/3,[W6W(wVxOc!A%N:vw-i=EGTMr]IMDT^Gu7omCSGKxo+(099om^v/hAhyh1rj!_r*NoyvBxE2x#/L{(JKfB6A;sUJ$u;Y-egb:eM}R/,]vr^Rc$fso(jAn[X$3rChKrE0O=DlTlkWp^:zFj:NLeuhw?CH.$PXd*o_WE50{kd-h:*.3cY-XXonXut.L-@o-BTWdKPRB$Spq@F(oWT0z:zqG!FUdn#F.?:prp=%hUu^rN05bhu2VCPIR-OKJJBhRLnn*7n6]Ly;gR(eE#_Unky*L7$P%g*eNJU!?SI9S%ZXeTP;C=6JVuOAOjsIU0mN_HnMFKikXE1$0;}wtKjui,giXQJfjMNs0?DYKVw9h0nsN*Om=g@}#o]rX/kV+;gg%T1(w/KBKU4u:ERbzW0dGtow{pT[CcN81SVSzKZ%bi8F)BR,RSCwnWFMUbH}iLU5G^0DTo;kElVb;CEG.C:N6=^KE(=A5hRUL4r}tbLSws#qe{U69/Y=:G5l81JJBrzUo}O,#Ixy$yF@^nvou{.!q.#NuLR1N.tj=BE(6ikZD:3B22MJaMauWG2[gE(]SNHY=QE.WgGsjb;SE;W]d$xov%sd)}Je@=gf%78:vZM_q7I[1nlOfoTao@9:As$p?@slw3I+_vD#dzta%b1qbS_*gMGz5MCg=54UsEn)B(aPC1nJ7okPrA+=cs%G,oPZszSsmGy)Qlbu.7Z8#+2+%nF9fRrU*kby.H$[tjTR/i4e7Db1hP(xyQVQhf8:3gjwd5;PcH1kjx_P)EVKsw?o0elwS59$[9w]Y$*Pc@P2[{CW7ruRI8-kpZ]vS1wN5kbq0vIFL^5jJ(Hy2l$Y/Ytfi6q5D6]+2nih08:,PX*)lrTKiOfxgND[:u:irbO1fxATruYyB,w7Vx*Rnc(Yo9p6V7?S0lQG(ai/S3^p=x??0feN{x6Ki.1f}tf#BhRhXm${pncx)WA}d*eWkQ16P$3v4qzFM7De[*Hiu[iQB8U4)k+@w3/fe]k]7m%;NsBvK75jq{X*$P3LVysfgunu7pAZ{%MF/X(A[N[z2+C$P5dut=ee!]DxlcZNNRbZ:;@{JzAVoef1}u}W6Qo2ABSk*Jq^s*xu_[@HfokOA2r2S$j1;8JffV]p5GnHU5oRv::pJ[vL_wSa81iHchv:+;5@B.L8g1N@dUeC(+3_bmJZ?0Ew(8J];h%qeo23/t8$pEx,D1=%fxZ#!lVA%(jRfV5piTl;es9tpcZS@$NkTY^cAFS,V$7j2GRAaHv=AfOC)ZH5pp4dvBHhhar$=tw),Fw1bJS[msniIlr4daSEuCnBXO*O1WEQPdBTyDCQk.H@*,bKBMN1P0-:bBCV^g%d#F4kOA}Bg]?}jKb8oAbmYmI#C!na1wb;Uni?4E1:k$X]-ERFo?!oNlUbOAsk1SNq$Cj:#dKqmyHZ0(=V6dX$?1ft,rIw24h2R5lYpsJ}fB4D=m^!x5I73gjXq^zsv5=Lir-MmOv$-rncL1gXr1VS?fPpF8Cz=:m@*/mkwoL[A2NcQo]q1ayNGl1zCFFL*;M@q$+pwrI/RTA[Eqbxs(9ho+^6sqgQL(3wdS6MS^):s40DZ_#n,*aD!hoqS:l/M2k^s3}cbA);?+YZBruiAzcV,;JIx5OK]7;l8Q$pX/TDvQ%LJNI4DU?T6xsV{.V#c5fPI+;I%mT+8t({F2ng029qXTz(Nmvlkz11%od@uPqqZ9j4HE(#3$aMPe;Me*wlywyY6?Vpow_J3H3iwluxbI3%),!P:6%ExKTq0XuZBwSE9,_97rbpo3DF=PUP5+.KxxY$xBNd0hr7qPFxDG$1wpDh/=a[YEeN*p)qL#/;HI,XF8sc:cS!fQGR]Kjut2}AT2n*gI*vQuo.QhvrF^{XDv!3f,h.Rb_(zzQ0NCg*/#A^AmZcM@39mpe#CKoLSddLaJiM2(a}[UG*/?tEtwHBaT)Atls/^U4rs,+/__tN*+}6jtRf/Cv}1XifEV:OLMjoRA6AlZ3[M%y:SP7^tGONz09uEPTTH,GP3fHks^$AJJ,A7r=fHVaxG?C3Vl0,s#H=buqav:1xk{XZ_@8MVuiPin4(KaYAnd#1R4Z*PehnI3,nZ/O#K}bY5}HzK[VHaCEp0H+6NQ7/Rql1fl7)lrPpYI7z)c[;l#Nb1j4.#RnG:i+HEx6}#$nxKR:.AjPGUU.)!trz3}AOrXUC6wqx]NW=rvIZrxpfXLc.LT=r[9-8%{;nEZZoF@l:Eyto9DBWWN,S%?4@xUK.E)wh8?X!#*@#DrialdVKM*sI2XM)Olyq5D;v#RI)aAY2lhm40BW^xOkAZQ)Sx?{QkfiwF=vun18gCVuAP?v(%H6QaCTx#$de:e?S#oMHC;Eajp8xp,pe$9}l/p_z}/9ViJcqNYKZRX?W-YMrcOY@rcz}#n.s46CGi)ngj18DipBeOrYPI=2V?bvSncv(n$U$m^oZk;AZOsl]9g(3@omTzdOqZf?lX:_?+X*/Y^=YV*f)^4kIVKQm.,q5^DwB=*H7Xol?x%P?y0M4{77.bBi4@6nI/:WaS,QYRPv?rFi*?a(.E=z{YTSG0;].:W]ol{zqWA0pi+IqE@;_J%=#7;wf[Ru:X9?TGPvLbKTANE[oJ%aN6.}(G5.4z7ZlhJ_MG%a{S,e6cMz8RrqBRckp*#+ZZ[RNh@-zZ:7x+K[EBkvE!H,ALQr8%-Y[AAOtrtEizCj/nLZR4%xlZ{yWp4f1m-01di;g.X1wHrEPG9I,yp4Jj@Q7(Q_Dxwq6d)Vq[=1zjm?!j%8Y*s,K(Leu@c?c_uQzd!V#rHk)1I,xC.rLkInY1lk-m(L=Dt^_Q)MiJaQORQH3=6#fXB7DxLdPR9O(%@]^EVfoIoL9z89WZ!KFGT*lJAMaEz9uWdZ@=U/YYO0n17a$?A5;x7egCx(g5@l%/,j4yK_]ePdq1.3-S)DS?{)Yl/3^AGi5.zUNH9#8CKAT-@.D.9^XN8fB3VUf6)OcoQv*BDq!,k,pntS]z=pwc+?[hTBVa[TTNpq]B1EXsL5{?gM:Cu]J1mi9poJ;.tzK,2M[.Yy+eoA58a(mN4ziWsgo%1L*8gGE/YGL[.[#efXDK#/pi*1Z$hL85xs/y?6,D2Oj+H{?C18f]7N;5L!O=oEBT)dhR_m$:==z-9O!:]^tg1d(s6ss4arzZ@r.FzkKBDV+6)1f.ilDrQvL+JK@3H1e_]t?m,-$J-F,8W^8n[)xRwr9+YqvxpRTW@=;FwQ*@h2k@eKKz!+4a([cQU]rU}+pnVi0dN#B:X-i/L@Hm.?3yz86ua8VCvt3=VxqC}0u24+6L786XREqEizMPIG60ly0kV})$[/=o%krIRT%jnL(fGaj9IB}Q}%rcc-/q;8ikrtIyn3R!(MY0TY6mzS46QuRvpvEuM4eoJ[SJNzTH*;O,H,%42vMQs).^fb(NZ.sJnUQ:yV*k.w^Yiiw8E%.{[zsE_PHNm2DqT#m,@}XwpD{NNTbQwo.7PH3,KzgcpQ=.TaiVC18tF/}2MYUqQ0!^fiT(SDr3Yn$)@(-BFK;jHW0:vp*.8S?A8o/Tdo*]e+U$MI{M9Wk;wvO0iWf_SN#9PJs/FCoct*Kq_fW3?l') cba()
slNotUserdefinedSymbol = 3 --Called when it has been determined it's not a userdefined symbol
slNotSymbol = 4 --Called when it has been determined it's not a symbol in the symbollist
slFailure = 5 --Called when it has no clue what the given string is

 

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, AntonVit сказал:

Действительно. А как это дело расшифровать?

 

000000000066AAED там выше лежит 1 часть "декода" (в r15 буфер)

теоретически после всех дешифро инфа должна быть более чистая чем в посте 2..

 

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, gmz сказал:

 

000000000066AAED там выше лежит 1 часть "декода" (в r15 буфер)

теоретически после всех дешифро инфа должна быть более чистая чем в посте 2..

 

 

То есть для успешного вскрытия + расшифровки файл defines.lua не нужен вовсе, нужен лишь отладчик и содержимое регистров?

Сможешь достать раскодированный lua и выложить здесь?

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Vlad2 сказал:

Да ежу понятно, что это все бессмысленно и пустая трата времени. Я решил попробовать это сделать, потому что кому-то потом может пригодиться такой способ. Дабы защитить свой код от банальной авто распаковки, какими-то утилитами. Сам я никогда не использую СЕ, как генератор трейнеров. 

Сейчас вы вытащили скрипт, который был не спрятан то сильно. И решили на этом закончить, но это не все! В трейнере возможно использовать только lua код, на котором будет завязан весь функционал чита, без АА скриптов, тогда как вы найдете код?

Поэтому я и хочу, чтобы кто-то попробовал вытащить весь исходник трейнера, а не только скрипт. 

 

Не откладывай Влад в "долгий ящик" свое намерение поделиться этим своим способом с теми, кому как ты сказал это может пригодится. Расскажи нам как ты сам обошел этот свой метод и расшифровал содержимое трейнера. И расскажи как ты всё это дело перед этим собрал.

 

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, AntonVit сказал:

То есть для успешного вскрытия + расшифровки файл defines.lua не нужен вовсе, нужен лишь отладчик и содержимое регистров?

Сможешь достать раскодированный lua и выложить здесь?

ну да.. только там не норм скрипт.. но сойдет lulz:

Скрытый текст

...
00000000005F93DB | 4C 89 E2                       | mov rdx,r12                               
00000000005F93DE | 4C 89 E9                       | mov rcx,r13                               
00000000005F93E1 | 49 B8 00 00 00 00 00 00 00 00  | movabs r8,0                               
00000000005F93EB | E8 40 FE 0E 00                 | call trainer_x64.6E9230       <- хмм
00000000005F93F0 | 4C 89 E9                       | mov rcx,r13                               
00000000005F93F3 | 48 BA 00 00 00 00 00 00 00 00  | movabs rdx,0                              
00000000005F93FD | 4C 89 E8                       | mov rax,r13                               
00000000005F9400 | 48 8B 00                       | mov rax,qword ptr ds:[rax]                
00000000005F9403 | FF 90 D8 00 00 00              | call qword ptr ds:[rax+D8]                
00000000005F9409 | 48 8D 05 20 35 5B 00           | lea rax,qword ptr ds:[BAC930]             
00000000005F9410 | 48 89 44 24 20                 | mov qword ptr ss:[rsp+20],rax             
00000000005F9415 | 48 8D 15 F4 FD FF FF           | lea rdx,qword ptr ds:[5F9210]             
00000000005F941C | 4C 8D 0D 15 35 5B 00           | lea r9,qword ptr ds:[BAC938]              
00000000005F9423 | 4D 89 E8                       | mov r8,r13                                
00000000005F9426 | 48 89 D9                       | mov rcx,rbx                               
00000000005F9429 | E8 72 39 29 00                 | call trainer_x64.88CDA0     <- lua_load
00000000005F942E | 4C 89 E9                       | mov rcx,r13                               
00000000005F9431 | E8 1A 78 E1 FF                 | call trainer_x64.410C50
...
хмм:
00000000006E9230 | 55                             | push rbp                                   
00000000006E9231 | 48 89 E5                       | mov rbp,rsp                                
00000000006E9234 | 48 8D 64 24 A0                 | lea rsp,qword ptr ss:[rsp-60]              
00000000006E9239 | 48 89 4D E8                    | mov qword ptr ss:[rbp-18],rcx              
00000000006E923D | 48 89 55 F8                    | mov qword ptr ss:[rbp-8],rdx               
00000000006E9241 | 4C 89 45 F0                    | mov qword ptr ss:[rbp-10],r8               
00000000006E9245 | 48 C7 45 E0 00 00 00 00        | mov qword ptr ss:[rbp-20],0                
00000000006E924D | 48 83 7D F0 00                 | cmp qword ptr ss:[rbp-10],0                
00000000006E9252 | 75 1F                          | jne trainer_x64.6E9273                     
00000000006E9254 | 48 8B 45 F8                    | mov rax,qword ptr ss:[rbp-8]               
00000000006E9258 | 48 BA 00 00 00 00 00 00 00 00  | movabs rdx,0                               
00000000006E9262 | 48 8B 4D F8                    | mov rcx,qword ptr ss:[rbp-8]               
00000000006E9266 | 4C 8B 01                       | mov r8,qword ptr ds:[rcx]                  
00000000006E9269 | 48 89 C1                       | mov rcx,rax                                
00000000006E926C | 41 FF 90 D8 00 00 00           | call qword ptr ds:[r8+D8]                  
00000000006E9273 | C7 45 D0 00 00 02 00           | mov dword ptr ss:[rbp-30],20000            
00000000006E927A | 48 8B 55 F0                    | mov rdx,qword ptr ss:[rbp-10]              
00000000006E927E | 48 83 FA 00                    | cmp rdx,0                                  
00000000006E9282 | 7E 0F                          | jle trainer_x64.6E9293                     
00000000006E9284 | 48 63 45 D0                    | movsxd rax,dword ptr ss:[rbp-30]           
00000000006E9288 | 48 39 D0                       | cmp rax,rdx                                
00000000006E928B | 7E 06                          | jle trainer_x64.6E9293                     
00000000006E928D | 8B 45 F0                       | mov eax,dword ptr ss:[rbp-10]              
00000000006E9290 | 89 45 D0                       | mov dword ptr ss:[rbp-30],eax              
00000000006E9293 | 48 63 55 D0                    | movsxd rdx,dword ptr ss:[rbp-30]           
00000000006E9297 | 48 8D 4D D8                    | lea rcx,qword ptr ss:[rbp-28]              
00000000006E929B | E8 10 A9 D2 FF                 | call trainer_x64.413BB0                    
00000000006E92A0 | 90                             | nop                                        
00000000006E92A1 | 48 83 7D F0 00                 | cmp qword ptr ss:[rbp-10],0                
00000000006E92A6 | 0F 85 96 00 00 00              | jne trainer_x64.6E9342                     
00000000006E92AC | 66 66 66 90                    | nop                                        
00000000006E92B0 | 48 8B 55 D8                    | mov rdx,qword ptr ss:[rbp-28]	<- скрипт
00000000006E92B4 | 44 8B 45 D0                    | mov r8d,dword ptr ss:[rbp-30]              
00000000006E92B8 | 48 8B 4D F8                    | mov rcx,qword ptr ss:[rbp-8]               
00000000006E92BC | 48 8B 45 F8                    | mov rax,qword ptr ss:[rbp-8]               
00000000006E92C0 | 48 8B 00                       | mov rax,qword ptr ds:[rax]                 
00000000006E92C3 | FF 90 00 01 00 00              | call qword ptr ds:[rax+100]   <- после вызова
...

 

 

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, AntonVit сказал:

А где сам lua скрпт, я думал ты его сюда выложишь?

зачем? он такой как в 2 посте, включая то что было в defines.lua +некая бинар инфа

Ссылка на комментарий
Поделиться на другие сайты

19 минуту назад, AntonVit сказал:

Не откладывай Влад в "долгий ящик" свое намерение поделиться этим своим способом с теми, кому как ты сказал это может пригодится.

Само собой, но ни так скоро же, для этого и был залит трейнер на общий разбор, чтобы узнать слабости, потом что-то подкрутить и уже написать статью о защите

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, gmz сказал:

зачем? он такой как в 2 посте, включая то что было в defines.lua +некая бинар инфа

Хорошо что ты так говоришь, значит ни все удалось достать)

Ссылка на комментарий
Поделиться на другие сайты

Если хочешь, чтобы достали все, могу скинуть слепок оперативы, там точно где-то будут все скрипты. .:D А вообще, если скрипт подгружается после запуска игры, то чего ожидать, думаю ни кто не будет устанавливать игру, ради проверки трейнера.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, gmz сказал:

зачем? он такой как в 2 посте, включая то что было в defines.lua +некая бинар инфа

 

В defines.lua, зашифрованный скрипт. Нужен полностью расшифрованный lua скрипт.

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, Vlad2 сказал:

Хорошо что ты так говоришь, значит ни все удалось достать)

encodeFunction/decodeFunction - они не просто шифровка, достать 1в1 скрипт нереал

Ссылка на комментарий
Поделиться на другие сайты

24 минуты назад, Vlad2 сказал:

Хорошо что ты так говоришь, значит ни все удалось достать)

Влад на СЕ форуме есть тоже подобный раздел - не хочешь туда выложить на проверку ? :) Там может его сразу разберут... А если вариант будет стоющий - то гляди и Дарк байт что реализует в СЕ 

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, gmz сказал:

так это и есть новые фичи СЕ :D

Я gmz 6.4 пользуюсь - даже не интересовался что там в новом...ну не знал..... А почему последние трейнеры собирал на 6.6 - так там удобнее было файлы добавлять... Мне кажется 6.4 как то уже прям доработанный - как XP :) хотя в 6.6 вот в последней версии мне не особо там встречались баги. Один раз было и CE само аж закрылось, но это было один раз и даже сам не понял из за чего.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Vlad2 сказал:

Залил второй трейнер, уже постарался скрыть скрипт :) Задача остается прежней...

дааа уже круче. в памяти так просто не найдешь :D

но легко после дешифро:

Скрытый текст

LuaS “

xV           (w@    І    z   @@ FЂ@ GАА Ѓ  Б@ d Ђ$Ђ    Ђ @ ЂA ЃА $@Ђ @  B $@ @B FЂB ѓ Ђ $ЂЂl   @Ђ…F C Ђ   Б@ d@ЂFЂC Ђ   ЖАB d@ЂF D dЂЂ @Ђ‡FЂD GАД †АC dЂ @Ђ€F@D N Е @Ђ€FЂD G@Е †АC БЂ AD dЂ @Ђ‡FАE G Ж †АC Б@ ќА d@ F@@ †Ђ@ ‡А@ЖАC A Э ЃA ¤ ЂdЂ  @ ЂF @ LЂБ БЂ d@ЂF @ L В d@ F G ѓ   dЂ @ЂЌFЂG †АF dЂ @ЂЋFАF J ИЏFАF JЂИђFАF † I JЂЂ‘FАF JЂЙ’FАF † J JЂЂ“FЂJ ЃА
 dЂ @Ђ”F@G J@K–F@G JЂЛЏF@G J@Л—F@G J МђF@G J@М’F@G †АL JЂ ™FАF G Н †@M d@ FЂM Ѓ@ d@ FАM †АF d@ F N ¬@  Ж@N d@Ђ& Ђ :   fassertioopendefines.luawwriteят      --Defines:

--checkbox state defines
cbUnchecked=0
cbChecked=1
cbGrayed=2


--onMouseEvent button defines:
mbLeft=0
mbRight=1
mbMiddle=2
mbExtra1=3
mbExtra2=4


--memo scrollbar defines
ssNone=0
ssHorizontal=1
ssVertical=2
ssBoth=3
ssAutoHorizontal=4
ssAutoVertical=5
ssAutoBoth=6


bsNone=0
bsSingle=1
bsSizeable=2
bsDialog=3
bsToolWindow=4
bsSizeToolWin=5



--scan types: (fast scan methods)
fsmNotAligned=0
fsmAligned=1
fsmLastDigits=2

--rounding types
rtRounded=0
rtExtremerounded=1
rtTruncated=2

--scan options
soUnknownValue=0
soExactValue=1
soValueBetween=2
soBiggerThan=3
soSmallerThan=4
soIncreasedValue=5
soIncreasedValueBy=6
soDecreasedValue=7
soDecreasedValueBy=8
soChanged=9
soUnchanged=10


--debug variables
--Breakpoint methods:
bpmInt3=0
bpmDebugRegister=1
bpmException=2


--Breakpoint triggers:
bptExecute=0
bptAccess=1
bptWrite=2

--breakpoint continue methods:
co_run=0
co_stepinto=1
co_stepover=2

--CloseAction types
caNone=0;
caHide=1;
caFree=2;
caMinimize=3;

--alignment types
alNone=0
alTop=1
alBottom=2
alLeft=3
alRight=4
alClient=5

--message dialog types
mtWarning=0
mtError=1
mtInformation=2
mtConfirmation=3

--message dialog button types
mbYes=0
mbNo=1
mbOK=2
mbCancel=3
mbAbort=4
mbRetry=5
mbIgnore=6
mbAll=7
mbNoToAll=8
mbYesToAll=9
mbHelp=10
mbClose=11


--message dialog results:
mrNone = 0;
mrOK = mrNone + 1
mrCancel = mrNone + 2
mrAbort = mrNone + 3
mrRetry = mrNone + 4
mrIgnore = mrNone + 5
mrYes = mrNone + 6
mrNo = mrNone + 7
mrAll = mrNone + 8
mrNoToAll = mrNone + 9
mrYesToAll = mrNone + 10
mrLast = mrYesToAll

--duplicate enum
dupIgnore = 0
dupAccept = 1
dupError = 2


--Variable types
vtByte=0
vtWord=1
vtDword=2
vtQword=3
vtSingle=4
vtDouble=5
vtString=6
vtUnicodeString=7 --Only used by autoguess
vtByteArray=8
vtBinary=9
vtAutoAssembler=11
vtPointer=12 --Only used by autoguess and structures
vtCustom=13
vtGrouped=14

--Key codes
VK_LBUTTON = 1
VK_RBUTTON = 2
VK_CANCEL = 3
VK_MBUTTON = 4
VK_XBUTTON1 = 5
VK_XBUTTON2 = 6
VK_BACK = 8
VK_TAB = 9
VK_CLEAR = 12
VK_RETURN = 13
VK_SHIFT = 16
VK_CONTROL = 17
VK_MENU = 18
VK_PAUSE = 19
VK_CAPITAL = 20
VK_ESCAPE = 27
VK_SPACE = 32
VK_PRIOR = 33
VK_NEXT = 34
VK_END = 35
VK_HOME = 36
VK_LEFT = 37
VK_UP = 38
VK_RIGHT = 39
VK_DOWN = 40
VK_SELECT = 41
VK_PRINT = 42
VK_EXECUTE = 43
VK_SNAPSHOT = 44
VK_INSERT = 45
VK_DELETE = 46
VK_HELP = 47
VK_0 = 48
VK_1 = 49
VK_2 = 50
VK_3 = 51
VK_4 = 52
VK_5 = 53
VK_6 = 54
VK_7 = 55
VK_8 = 56
VK_9 = 57
VK_A = 65
VK_B = 66
VK_C = 67
VK_D = 68
VK_E = 69
VK_F = 70
VK_G = 71
VK_H = 72
VK_I = 73
VK_J = 74
VK_K = 75
VK_L = 76
VK_M = 77
VK_N = 78
VK_O = 79
VK_P = 80
VK_Q = 81
VK_R = 82
VK_S = 83
VK_T = 84
VK_U = 85
VK_V = 86
VK_W = 87
VK_X = 88
VK_Y = 89
VK_Z = 90
VK_LWIN = 91
VK_RWIN = 92
VK_APPS = 93
VK_NUMPAD0 = 96
VK_NUMPAD1 = 97
VK_NUMPAD2 = 98
VK_NUMPAD3 = 99
VK_NUMPAD4 = 100
VK_NUMPAD5 = 101
VK_NUMPAD6 = 102
VK_NUMPAD7 = 103
VK_NUMPAD8 = 104
VK_NUMPAD9 = 105
VK_MULTIPLY = 106
VK_ADD = 107
VK_SEPARATOR = 108
VK_SUBTRACT = 109
VK_DECIMAL = 110
VK_DIVIDE = 111
VK_F1 = 112
VK_F2 = 113
VK_F3 = 114
VK_F4 = 115
VK_F5 = 116
VK_F6 = 117
VK_F7 = 118
VK_F8 = 119
VK_F9 = 120
VK_F10 = 121
VK_F11 = 122
VK_F12 = 123
VK_F13 = 124
VK_F14 = 125
VK_F15 = 126
VK_F16 = 127
VK_F17 = 128
VK_F18 = 129
VK_F19 = 130
VK_F20 = 131
VK_F21 = 132
VK_F22 = 133
VK_F23 = 134
VK_F24 = 135
VK_NUMLOCK = 144
VK_SCROLL = 145
VK_LSHIFT = 160
VK_LCONTROL = 162
VK_LMENU = 164
VK_RSHIFT = 161
VK_RCONTROL = 163
VK_RMENU = 165


--shellExecute show defines:
SW_HIDE = 0;
SW_MAXIMIZE = 3;
SW_MINIMIZE = 6;
SW_NORMAL = 1;
SW_RESTORE = 9;
SW_SHOW = 5;
SW_SHOWDEFAULT = 10;
SW_SHOWMAXIMIZED = 3;
SW_SHOWMINIMIZED = 2;
SW_SHOWMINNOACTIVE = 7;
SW_SHOWNA = 8;
SW_SHOWNOACTIVATE = 4;
SW_SHOWNORMAL = 1;


--Pixelformat
pfDevice = 0
pf1bit = 1
pf4bit = 2
pf8bit = 3
pf15bit = 4
pf16bit = 5
pf24bit = 6
pf32bit = 7
pfCustom = 8

--Disassembler value type
dvtNone = 0
dvtAddress = 1
dvtValue = 2

--Dissectcode
jtCall = 0
jtUnconditional = 1
jtConditional = 2
jtMemory = 3

--RegisterSymbolLookupCallback
slStart = 0 --The very start of a symbol lookup. Before tokenization
slNotInt = 1 --Called when it has been determined it's not a hexadecimal only string. Before tokenization
slNotModule = 2 --Called when it has been determined the current token is not a modulename
slNotUserdefinedSymbol = 3 --Called when it has been determined it's not a userdefined symbol
slNotSymbol = 4 --Called when it has been determined it's not a symbol in the symbollist
slFailure = 5 --Called when it has no clue what the given string is

poDesigned = 0
poDefault = 1
poDefaultPosOnly = 2
poDefaultSizeOnly = 3
poScreenCenter = 4
poDesktopCenter = 5
poMainFormCenter = 6
poOwnerFormCenter = 7

asrTop = 0
asrBottom = 1
asrCenter = 2
asrLeft = asrTop
asrRight = asrBottom

vsIcon = 0
vsSmallIcon = 1
vsList = 2
vsReport = 3

LWA_COLORKEY = 1
LWA_ALPHA = 2

GW_HWNDFIRST = 0
GW_HWNDLAST = 1
GW_HWNDNEXT = 2
GW_HWNDPREV = 3
GW_HWNDOWNER = 4
GW_CHILD = 5;
GW_ENABLEDPOPUP = 6;

mrhToggleActivation=0
mrhToggleActivationAllowIncrease=1
mrhToggleActivationAllowDecrease=2
mrhActivate=3
mrhDeactivate=4
mrhSetValue=5
mrhIncreaseValue=6
mrhDecreaseValue=7

MOUSEEVENTF_MOVE      =0x0001
MOUSEEVENTF_LEFTDOWN  =0x0002
MOUSEEVENTF_LEFTUP    =0x0004
MOUSEEVENTF_RIGHTDOWN =0x0008
MOUSEEVENTF_RIGHTUP   =0x0010
MOUSEEVENTF_MIDDLEDOWN=0x0020
MOUSEEVENTF_MIDDLEUP  =0x0040
MOUSEEVENTF_XDOWN     =0x0080
MOUSEEVENTF_XUP       =0x0100
MOUSEEVENTF_WHEEL     =0x0800
MOUSEEVENTF_HWHEEL    =0x1000
MOUSEEVENTF_ABSOLUTE  =0x8000

--text to speech "Speak" params
SPF_DEFAULT	= 0
SPF_ASYNC	= ( 1 << 0 )
SPF_PURGEBEFORESPEAK	= ( 1 << 1 )
SPF_IS_FILENAME	= ( 1 << 2 )
SPF_IS_XML	= ( 1 << 3 )
SPF_IS_NOT_XML	= ( 1 << 4 )
SPF_PERSIST_XML	= ( 1 << 5 )
SPF_NLP_SPEAK_PUNC	= ( 1 << 6 )
SPF_PARSE_SAPI	= ( 1 << 7 )
SPF_PARSE_SSML	= ( 1 << 8 )
SPF_PARSE_AUTODETECT	= 0

wrSignaled=0
wrTimeout=1
wrAbandoned=2
wrError=3closecreateTimerUDF2Shittimer_setIntervald       timer_onTimerPutgetCheatEngineDirLenstringlen
       sub        osremoveCET_Archive.datFormcreateFormLabelcreateLabelHeight       Widthґ       BorderStyle
bsToolWindowCaptionHeroes trainer +1	PositionpoDesktopCenter	ActivatedecodeFunctionя      c-pN{%TC*s6debPq.6SMuql:3M36Qn1SYnVI3R=bR{,#nZ4iNiaOGedrP!Iq4?e;+nN7RsvcJ$;e{a5Xf1[hVUuqX!@h)F}[{)-2nYr]0;8X3+)Wg0Pk*dOBEH;)bpOL)jC[oYNkbnZwMUqT^m.]*N3bOCVZlvocKn6:UlwSoB[y_B]8Z5h{fIOwZH5CD0BoNUgK!sYV2$p:Jl;*6#O=^#zIyuz(RG?nbe87/Z(?+@I*7UWRh]R8Vvo{[/deIY3#pPA]MO=cWC,nR}-;lU+r(#GV+iN=*uNFtzM#6a0ac%o+$cpiOQQbyI,=sZ^im$xk%KBzyC+?hSjc(z0*Py58$F*6UrJgEnHQ8.;Q^^rvI8V1HdA5=jbamz3-lTiJt2PJgsYC+8o@:_-t.*]7D}F2.tE69R6QP/PT@JdoTvsqVsdwXEA@*/.CP)Gt,S{5kwLET{=4.TSr??Q$-Th_!L_00ed!^wy71Q+3:Oz3K+;O_MsN.F,=)pgR2M1gWYwMb6)$54D:6EO_$d?4DVi[U/B0l8Bpq?jpfELo@h3BAHfIJEsc]ncqk_jh8;RA,$BFtpyc)6JPO9/x4$K.?j%23F[DhK5)L{;o_O{I4]]TmH8rP,HV1v7t7X8FOFsOb%9Q8IWg%iuEzXAXi^(Ia3:Q#{^Uj-y+WQ;UYjYxf6dbkxAMrMe4M75AJ_bzou5Gxg+t[6F]6OgI5p#?5gJj.q[w+y;@Pw#zbM,GIx9hPu.VBlvN6@E1C0_07{q5B}cm)szz5d:WZ2+0s=I._;05_DV1765jyoNXyILeft              Topc       (F10 - Бес. личный составParentColorFalsesetOnClosecloseCEsleep
form_show
createHotkeyVK_F10         ‡  Љ    	    @ @@ AЂ  $@  @ @@ AА  $@ & Ђ    osremoveCET_TRAINER.CETRAINERdefines.lua                      Є  ±   "   F @ Ѓ@  d@ FЂ@ GАА G Б dЂЂ @Б @ЂFЂA Ѓ@  dЂ _АБ  ЂFЂ@ GАА G В Ѓ@ d@ FЂB ЃА d@ АЂFЂ@ GАА G В Ѓ@ d@ FЂB Ѓ  d@ F@C d@Ђ & Ђ    openProcess
RelicCOH.exeLabelFont	getColor        readInteger 	setColorя       	Activate               beep      

 

 

Скрытый текст

LuaS “

xV           (w@           l   @ Ђl@  @ЂЂА@Ѓ A АЂF @ ‹  Б@ Ѓ AБ Ѓ «@ d@ А@Ѓ@B ЂЂF@@ ‹ ЂБЂ Б A «@Ђd@ & Ђ 
   onoffaз2r/$5eBu4c8#*AN!dvy(IRRilHH2sBEbK)RV9!FBxd/%f_Rtrr}q)8!U8a=0Z2,dX*o}uq$.:E?+umH/VErXd4Z)62Ouf$I+C;L)=2uaA9^Kk-Oz7)E7wte^pSzVkJaLn.+%%0:gRKq;E?*M6oB^)^-Ydz4F7xvf1fDI^o)zIV!u97PL)(xD[HjCzM#yM]?+O9sK38IJULO]e^CwSlmq3^llubkCoQ0r!l81ay       WW2Mod.dll'48 63 40 3C 48 8D 04 03 48 8B 40 60 90-8B 32 89 30 8B 72 04 8B 52 08 89 50 08 8B 11!48 85 C0 74 0A 8B 0D 41 F2 A5 00                        	   F @ †@@ ‡Ђ@БА  A GAA ¤  d@  & Ђ    
autoAssemblestringformatFaobscanmodule(count, %s, %s)
registersymbol(count)
count:
xor esi,esi                                           	   F @ †@@ ‡Ђ@БА  A GAA ¤  d@  & Ђ    
autoAssemblestringformat-count:
mov esi,[edx]
unregistersymbol(count)   

 

в тхт оно лучше выглядит xD

Изменено пользователем gmz
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.