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

gmz

Разработчики (+)
  • Постов

    400
  • Зарегистрирован

  • Посещение

  • Победитель дней

    26

Сообщения, опубликованные gmz

  1. 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

  2. 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]   <- после вызова
    ...

     

     

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

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

     

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

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

     

  4. 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. 1 час назад, AntonVit сказал:

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

     

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

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

     

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

     

  6. распаковка:

    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

     

  7. 4 часа назад, Submarinа сказал:

    Видосов нет случайно, посмотреть как делают на нем трейнеры, хоть примерно представить, как сложно или нет,

     

    примерно так.. только на фасм будет меньше строк на ~250

     

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

    А на FASM не интересно по причине того что там нет симпатичной обложки, нет трекбаров, нет комбобоксов, чекбооксов и других подобных элементов.

    все это нужно самому делать. на крайняк можно юзать .res для окна, типа такое http://www.resedit.net/

     

  8. 2 часа назад, Dino сказал:

    Asm файл(так же должен быть включен в проект с Dll !)

    надо сохр RAX RCX RDX R8 R9 R10 R11

    если он поставит хук, а там они активно юзаются - call Pipe напихает мусора и будет эпик крешш

     

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

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

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