
04.01.2010, 04:12
|
|
Познающий
Регистрация: 02.06.2008
Сообщений: 59
С нами:
9442961
Репутация:
3
|
|
Привет!
Такая проблема у меня.
Попался мануал по TMG Ripper Studio 0.03 .
В комплекте был исходник TMGRS-EX.ASM
Код я выдрал в Ольке плагом.
Вопрос: как переправить пароль в поле кейгена ???
вот фотка с найденым паролем
И второй: как сделать кнопки COPY чтоб копировать ключь из кейгена в буфер обмена, и ABOUT ???
|
|
|

04.01.2010, 06:43
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,367
С нами:
11291486
Репутация:
2175
|
|
сорцы выложи - ни4его не понятно о 4ем ты вообще пишешь...
|
|
|

04.01.2010, 07:00
|
|
Познающий
Регистрация: 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..
|
|
|

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

05.01.2010, 00:59
|
|
Познающий
Регистрация: 02.06.2008
Сообщений: 59
С нами:
9442961
Репутация:
3
|
|
Сообщение от zeppe1in
ну вот же
invoke SetDlgItemText,esi,IDC_KEY,offset szKey
где offset szKey указатель на ключ.
Спасибо ! Вроде разобрался!!! 
Последний раз редактировалось tekton; 06.01.2010 в 16:38..
|
|
|

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

04.02.2010, 13:02
|
|
Познавший АНТИЧАТ
Регистрация: 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/
|
|
|

04.02.2010, 13:53
|
|
Постоянный
Регистрация: 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
|
|
|

05.02.2010, 00:34
|
|
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
С нами:
9846041
Репутация:
1177
|
|
Это видел еще хуже =\
От грейта все более менее понятно.
Допустим:
Я нашел программу с переполнением буффера. Достаточно ввести 10 символов и потом начинается затираение. Так вот: как вызвать там просто MessageBox какой-нить?
|
|
|

05.02.2010, 01:13
|
|
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
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|