HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Реверсинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 04.01.2010, 04:12
tekton
Познающий
Регистрация: 02.06.2008
Сообщений: 59
С нами: 9442961

Репутация: 3
По умолчанию

Привет!
Такая проблема у меня.
Попался мануал по TMG Ripper Studio 0.03 .
В комплекте был исходник TMGRS-EX.ASM
Код я выдрал в Ольке плагом.

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


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

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

  #2  
Старый 04.01.2010, 06:43
ProTeuS
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,367
С нами: 11291486

Репутация: 2175


По умолчанию

сорцы выложи - ни4его не понятно о 4ем ты вообще пишешь...
 
Ответить с цитированием

  #3  
Старый 04.01.2010, 07:00
tekton
Познающий
Регистрация: 02.06.2008
Сообщений: 59
С нами: 9442961

Репутация: 3
По умолчанию

Вот. Это родной сырец из архива с тутором.

Код:
.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


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

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

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

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

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

и кнопочку
ABOUT

Последний раз редактировалось tekton; 04.01.2010 в 11:22..
 
Ответить с цитированием

  #4  
Старый 04.01.2010, 15:43
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
С нами: 10437270

Репутация: 117
По умолчанию

ну вот же
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
с эбаутом какие проблеммы?)
вообще посмотри другие темплейты кейгенов, или ревересни какойнить. потому,что надо же ещо музыку картинки и всё такое)
 
Ответить с цитированием

  #5  
Старый 05.01.2010, 00:59
tekton
Познающий
Регистрация: 02.06.2008
Сообщений: 59
С нами: 9442961

Репутация: 3
По умолчанию

Цитата:
Сообщение от zeppe1in  
ну вот же
invoke SetDlgItemText,esi,IDC_KEY,offset szKey
где offset szKey указатель на ключ.
Спасибо ! Вроде разобрался!!!

Последний раз редактировалось tekton; 06.01.2010 в 16:38..
 
Ответить с цитированием

  #6  
Старый 21.01.2010, 13:21
merfy
Новичок
Регистрация: 28.01.2009
Сообщений: 1
С нами: 9097482

Репутация: 0
По умолчанию

вопрос ?
есть такая прога:
налогоплательщик 2010.01... распаковать то я распаковал,декомпилировал,
но с алгоритмом намудрили не посмотрите ???
http://slil.ru/28505826
в dekod2010 передается типа ключик для сравнения, в декоде из инн+кпп
переменные :iuytrewq и lkjhgfdsa получается переменная snsnsnsnsn
так вот, если серийник правильный то в конце получатся lcisxod0 равная snsnsnsnsn
и процедура возвращает 1
=====
необходимо оттолкнуться от lcisxod0 так как snsnsnsnsn мы сразу получаем и видим, чтобы получить правильный серийник...
но тут трабл, куча вызовов процедур, я с математикой не разберусь :-(
не посмотрите ??? что то из математики вспомнить не могу ... толи прогрессия толи ряды напоминает.....
 
Ответить с цитированием

  #7  
Старый 04.02.2010, 13:02
Tigger
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
С нами: 9846041

Репутация: 1177


По умолчанию

Читал я статью грейта по переполению буфера и решил попробовать...
Ссылка на статью: 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/
 
Ответить с цитированием

  #8  
Старый 04.02.2010, 13:53
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
С нами: 8680278

Репутация: 17
По умолчанию

Цитата:
Сообщение от Tigger  
Читал я статью грейта по переполению буфера и решил попробовать...
Ссылка на статью: 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/
Там статья уж очень сложная к восприятию
Видео посмотри там попроще обьясняется go
 
Ответить с цитированием

  #9  
Старый 05.02.2010, 00:34
Tigger
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
С нами: 9846041

Репутация: 1177


По умолчанию

Это видел еще хуже =\
От грейта все более менее понятно.
Допустим:
Я нашел программу с переполнением буффера. Достаточно ввести 10 символов и потом начинается затираение. Так вот: как вызвать там просто MessageBox какой-нить?
 
Ответить с цитированием

  #10  
Старый 05.02.2010, 01:13
1ten0.0net1
Time out
Регистрация: 28.11.2005
Сообщений: 547
С нами: 10762826

Репутация: 1348


По умолчанию

Цитата:
Сообщение от Tigger  
Это видел еще хуже =\
От грейта все более менее понятно.
Допустим:
Я нашел программу с переполнением буффера. Достаточно ввести 10 символов и потом начинается затираение. Так вот: как вызвать там просто MessageBox какой-нить?
Выяснить какие именно символы от начала строки перетирают адрес возврата в стеке (скорее всего - у тебя переполнение в стеке), перетереть адресом инструкции типо JMP ESP, и далее за этим адресом расположить такую штуку:
[NOP...NOP][SHELLCODE][RET..RET] - это самая классическая схема.
PS NOP - это 90, SHELLCODE можно взять из Metasploit, RET - адрес возврата на инструкцию типо JMP ESP, к примеру (это не рабочий адрес!!!) - 7C42B244
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с железом. Задай вопрос, получи ответ Alexsize "Железо" 1181 10.06.2010 12:08



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...