Реверсинг. Задай вопрос - получи ответ

Discussion in 'Реверсинг' started by 0x0c0de, 2 Sep 2007.

  1. Hellsp@wn

    Hellsp@wn Elder - Старейшина

    Joined:
    29 Apr 2007
    Messages:
    401
    Likes Received:
    153
    Reputations:
    48
    http://crackmes.de :)
     
  2. Tigger

    Tigger Elder - Старейшина

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204

    Точно, я там даже зареган ;)
    Спасибо, что линк подсказал)
     
    1 person likes this.
  3. tekton

    tekton Elder - Старейшина

    Joined:
    2 Jun 2008
    Messages:
    73
    Likes Received:
    3
    Reputations:
    0
    Привет!
    Такая проблема у меня.
    Попался мануал по TMG Ripper Studio 0.03 .
    В комплекте был исходник TMGRS-EX.ASM
    Код я выдрал в Ольке плагом.

    Вопрос: как переправить пароль в поле кейгена ???


    вот фотка с найденым паролем [​IMG]

    И второй: как сделать кнопки COPY чтоб копировать ключь из кейгена в буфер обмена, и ABOUT ???
     
  4. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    сорцы выложи - ни4его не понятно о 4ем ты вообще пишешь...
     
  5. tekton

    tekton Elder - Старейшина

    Joined:
    2 Jun 2008
    Messages:
    73
    Likes Received:
    3
    Reputations:
    0
    Вот. Это родной сырец из архива с тутором.

    Code:
    [B].386
    .model flat,stdcall
    option casemap:none
    
    include \masm32\include\windows.inc
    include \masm32\include\kernel32.inc
    include \masm32\include\user32.inc
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\user32.lib
    
    IDC_NAME    equ     100
    IDC_KEY     equ     101
    
    WinMain     PROTO   :HINSTANCE,:HINSTANCE,:LPSTR,:DWORD
    ;extern      wsprintfA   :proc
    
    .data
    szClassName         db      'UglyWindowClass',0
    szAppName           db      'TMG Ripper Studio example',0    ;### Заголовок окна
    szEdit              db      'EDIT',0
    
    .data?
    szName              db      30 dup(?)    ;### Инициализируемые данные. Имя макс 30 символлов
    szKey               db      9  dup(?)    ;### Инициализируемые данные. SERIAL 9 символов
    
    
    ;========================= START ================================
    .code
    
    start:     ;### Метка
    
        invoke  GetModuleHandle,0
        invoke  WinMain,eax,NULL,NULL,SW_SHOW
        invoke  ExitProcess,eax
    MessageHandler proc hWnd:HWND,Msg:DWORD,wParam:WPARAM,lParam:LPARAM
        cmp     Msg,WM_CLOSE
        jne     NotClose           ;### Выполнить  Метку
        invoke  PostQuitMessage,0
        xor     eax,eax
        ret
    
    ;========================= NOT CLOSE ==============================
    NotClose:
        cmp     Msg,WM_COMMAND
        jne     Default             ;### Выполнить  Метку
        mov     eax,wParam
        and     eax,0ffffh
        cmp     eax,IDC_NAME
        jne     Default             ;### Выполнить  Метку
        mov     esi,hWnd
        call    GenerateKey         ;### Выполнить  Метку
        xor     eax,eax
        ret
    
    ;========================= DEFAULT ==============================
    
    Default:           ;### Метка
    
        invoke  DefWindowProc,hWnd,Msg,wParam,lParam
        ret
    MessageHandler endp
    WinMain proc    hInst:HINSTANCE,hPrev:HINSTANCE,szCmdLine:LPSTR,CmdShow:DWORD
        local   wc:WNDCLASSEX
        local   msg:MSG;
        push    hInst
        push    edi
        xor     eax,eax
        lea     edi,wc
        mov     ecx,sizeof WNDCLASSEX
        push    ecx
        rep     stosb    
        pop     wc.cbSize
        mov     wc.style,CS_HREDRAW or CS_VREDRAW or CS_OWNDC
        pop     edi
        mov     wc.lpfnWndProc,offset MessageHandler
        pop     wc.hInstance
        mov     wc.lpszClassName,offset szClassName
        mov     wc.hbrBackground,COLOR_BACKGROUND
        invoke  RegisterClassEx,addr wc
        invoke  CreateWindowEx,WS_EX_STATICEDGE,offset szClassName,offset szAppName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,300,100,NULL,NULL,hInst,NULL
        push    CmdShow
        push    eax
        invoke  CreateWindowEx,WS_EX_STATICEDGE,offset szEdit,NULL,WS_CHILD or WS_VISIBLE,10,10,280,20,eax,IDC_NAME,hInst,NULL
        invoke  CreateWindowEx,WS_EX_STATICEDGE,offset szEdit,NULL,WS_CHILD or WS_VISIBLE or ES_READONLY,10,40,280,20,[esp+12],IDC_KEY,hInst,NULL
        call    ShowWindow
    
    ;========================= MESSAGE LOOP ==============================
    
    MessageLoop:     ;### Метка
    
        invoke  GetMessage,addr msg,NULL,0,0
        test    eax,eax
        je      Finish          ;### Прыжок на метку Finish
    
        invoke  TranslateMessage,addr msg
        invoke  DispatchMessage,addr msg
        jmp     MessageLoop
    
    ;=========================FINISH==============================
    
    Finish:             ;### метка 
    
        mov     eax,msg.wParam
        ret    
    WinMain endp
    
    ;=========================GENERATE KEY=========================
    
    GenerateKey:  ;### метка 
    
        invoke  GetDlgItemText,esi,IDC_NAME,offset szName,30
        test    eax,eax
        je      NoName           ;### Выполнить  Метку 
        push    offset szKey     ;### Кладём Ключик в стек
        push    offset szName    ;### Кладём ИМя  в стек
        call    Keygen           ;### Переход на выполнение нашей метки с выдранным кодом
        add     esp,8
        invoke  SetDlgItemText,esi,IDC_KEY,offset szKey
    
    ;=========================NO NAME ==============================
    
    NoName:   ;### Метка 
    
        ret
    
    ;++++++++++++++++++++++++++++++++++++++++++++
    ;+                                          +                                                    
    ;+   Далее идёт код из TMG Ripper Studio    +
    ;+                                          +
    ;++++++++++++++++++++++++++++++++++++++++++++
    
    .DATA
    
    LOC_0048C844    dd        000000000h      ;### Буфер
    LOC_0047E38C    db        '%04X%04X',0    ;### Буфер
    
    
     ;========================= KEY GEN ============================
    
    .CODE
    Keygen:                                ;### Метка
    
    	PUSH               EBP
    	MOV                EBP,ESP
    	MOV                ECX,DWORD PTR [EBP+008h]
    	PUSH               EBX
    	PUSH               ESI
    	PUSH               EDI
    	MOV                DL,BYTE PTR [ECX]
    	XOR                EBX,EBX
    	XOR                EAX,EAX
    	MOV                ESI,ECX
    	XOR                EDI,EDI
    LOC_00407B5A: ;Ref: 00407B6C
    	TEST               DL,DL
    	JZ                 LOC_00407B6E
    	MOVZX              DX,DL
    	IMUL               EDX,EDI
    	ADD                EBX,EDX
    	MOV                DL,BYTE PTR [ESI+001h]
    	INC                EDI
    	INC                ESI
    	JMP                LOC_00407B5A
    LOC_00407B6E: ;Ref: 00407B5C
    	MOV                DWORD PTR [LOC_0048C844],000000001h
    	MOV                ESI,ECX
    	MOV                CL,BYTE PTR [ECX]
    LOC_00407B7C: ;Ref: 00407B97
    	TEST               CL,CL
    	JZ                 LOC_00407B99
    	MOVZX              CX,CL
    	PUSH               000001021h
    	PUSH               ECX
    	PUSH               EAX
    	CALL               LOC_00407BB9
    	MOV                CL,BYTE PTR [ESI+001h]
    	ADD                ESP,00Ch
    	INC                ESI
    	JMP                LOC_00407B7C
    LOC_00407B99: ;Ref: 00407B7E
    	ADD                EAX,063h
    	MOVZX              ECX,BX
    	MOVZX              EAX,AX
    	PUSH               ECX
    	PUSH               EAX
    	PUSH               OFFSET LOC_0047E38C
    	PUSH               DWORD PTR [EBP+00Ch]
    	CALL               wsprintfA ; <<<<<<<<<<<<<<Здесь заменили LOC_00467AB4 на  wsrintfA
    	ADD                ESP,010h
    	POP                EDI
    	POP                ESI
    	POP                EBX
    	POP                EBP
    	RETN               
    LOC_00407BB9: ;Ref: 00407B8B
    	PUSH               EBP
    	MOV                EBP,ESP
    	MOV                EAX,DWORD PTR [EBP+008h]
    	PUSH               ESI
    	XOR                ECX,ECX
    	PUSH               008h
    	MOV                CH,BYTE PTR [EBP+00Ch]
    	POP                EDX
    LOC_00407BC8: ;Ref: 00407BDF
    	MOV                ESI,EAX
    	XOR                ESI,ECX
    	TEST               SI,08000h
    	JZ                 LOC_00407BDA
    	ADD                EAX,EAX
    	XOR                EAX,DWORD PTR [EBP+010h]
    	JMP                LOC_00407BDC
    LOC_00407BDA: ;Ref: 00407BD1
    	SHL                EAX,1
    LOC_00407BDC: ;Ref: 00407BD8
    	SHL                ECX,1
    	DEC                EDX
    	JNZ                LOC_00407BC8
    	POP                ESI
    	POP                EBP
    	RETN               
    end start[/B]


    После надписи
    Code:
    ;++++++++++++++++++++++++++++++++++++++++++++
    ;+                                          +                                                    
    ;+   Далее идёт код из TMG Ripper Studio    +
    ;+                                          +
    ;++++++++++++++++++++++++++++++++++++++++++++
    
    мне надо вставить другой код(который генерит пароль), выдраный из другой проги.

    Генерацию пароля я нашёл. Пароль обведён рамками на фотке, в прошлом посте.

    Как передать пароль в поле Serial кейгена?

    Короче типа шаблона хочу сделать.

    А так же хочу добавить сюда пару кнопок:
    COPY чтоб сгенерированый пароль копировался в буфер (ну чтоб мышькой не выделять, не жать правой кнопкой копировать...)

    и кнопочку
    ABOUT
     
    #605 tekton, 4 Jan 2010
    Last edited: 4 Jan 2010
  6. zeppe1in

    zeppe1in Elder - Старейшина

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    ну вот же
    invoke SetDlgItemText,esi,IDC_KEY,offset szKey
    где offset szKey указатель на ключ.
    копирование например так.
    invoke SendDlgItemMessage,hWin,IDC_KEY,EM_SETSEL,0,-1
    invoke SendDlgItemMessage, hWin, IDC_KEY, WM_COPY, 0,0
    с эбаутом какие проблеммы?)
    вообще посмотри другие темплейты кейгенов, или ревересни какойнить. потому,что надо же ещо музыку картинки и всё такое)
     
  7. tekton

    tekton Elder - Старейшина

    Joined:
    2 Jun 2008
    Messages:
    73
    Likes Received:
    3
    Reputations:
    0
    Спасибо ! Вроде разобрался!!! :)
     
    #607 tekton, 4 Jan 2010
    Last edited: 6 Jan 2010
  8. merfy

    merfy New Member

    Joined:
    28 Jan 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    вопрос ?
    есть такая прога:
    налогоплательщик 2010.01... распаковать то я распаковал,декомпилировал,
    но с алгоритмом намудрили не посмотрите ???
    http://slil.ru/28505826
    в dekod2010 передается типа ключик для сравнения, в декоде из инн+кпп
    переменные :iuytrewq и lkjhgfdsa получается переменная snsnsnsnsn
    так вот, если серийник правильный то в конце получатся lcisxod0 равная snsnsnsnsn
    и процедура возвращает 1
    =====
    необходимо оттолкнуться от lcisxod0 так как snsnsnsnsn мы сразу получаем и видим, чтобы получить правильный серийник...
    но тут трабл, куча вызовов процедур, я с математикой не разберусь :-(
    не посмотрите ??? что то из математики вспомнить не могу ... толи прогрессия толи ряды напоминает.....
     
  9. Tigger

    Tigger Elder - Старейшина

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    Читал я статью грейта по переполению буфера и решил попробовать...
    Ссылка на статью: http://forum.antichat.ru/showthread.php?p=219774


    Статья супер, конечно, но у меня что-то не вышло.
    Значит так я сделал как написано нашел адрес zzcv: у меня этот адрес существует 2 раза, сделал первый раз - вообще ничего не произошло, просто выводил Get your name и все, сделал с друим адресом, теперь выводит: AAAAAAAAAA0123454*‼! и программа завершается аварийно, не выводя MessageBox'a. Почему так?


    Его тулзу хз где скачать, юзал это: http://mike.nov.ru/2004/10/09/binary-files-to-c-module/
     
  10. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    Там статья уж очень сложная к восприятию :)
    Видео посмотри там попроще обьясняется go
     
  11. Tigger

    Tigger Elder - Старейшина

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    Это видел еще хуже =\
    От грейта все более менее понятно.
    Допустим:
    Я нашел программу с переполнением буффера. Достаточно ввести 10 символов и потом начинается затираение. Так вот: как вызвать там просто MessageBox какой-нить?
     
  12. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Выяснить какие именно символы от начала строки перетирают адрес возврата в стеке (скорее всего - у тебя переполнение в стеке), перетереть адресом инструкции типо JMP ESP, и далее за этим адресом расположить такую штуку:
    [NOP...NOP][SHELLCODE][RET..RET] - это самая классическая схема.
    PS NOP - это 90, SHELLCODE можно взять из Metasploit, RET - адрес возврата на инструкцию типо JMP ESP, к примеру (это не рабочий адрес!!!) - 7C42B244
     
  13. Tigger

    Tigger Elder - Старейшина

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    А, я нашел переполнение через OllyDbg, так вот каким образом туда впихнуть эти инструкции? Надо их захксить и туда вставить? Или как?
     
  14. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Есть файл, он упакован этим (PEiD выдал):
    EXECryptor V2.2X-V2.4X -> StrongBit Technology * Sign.By.fly *

    Взял Unpacker ExeCryptor 2.x.x. beta 1 by RSI, лог анпаковки:
    Почему анпакованный файл не появ.?
    Сам пакованный файл:
    lovepiar.net/files/LoveProject2.9.9.184.exe

    (софт требует инсталла)
     
  15. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Нормально всё, файл появляется
     
    _________________________
  16. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    А где? Что-то не могу найти :mad: (в папке где лежит exe - нету, в папке где лежит анпакер - тоже нету)
     
    2 people like this.
  17. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    В папке, где лежит exe, создается файл с _u после имени
     
    _________________________
  18. Life7

    Life7 Banned

    Joined:
    14 Jun 2009
    Messages:
    150
    Likes Received:
    54
    Reputations:
    0
    cracklab.ru?Касперски?
     
  19. AlexGT

    AlexGT Banned

    Joined:
    21 Jan 2008
    Messages:
    1
    Likes Received:
    18
    Reputations:
    0
    Нет
     
  20. Life7

    Life7 Banned

    Joined:
    14 Jun 2009
    Messages:
    150
    Likes Received:
    54
    Reputations:
    0
    а чей тогда?