Сейчас на форуме: asfa, _MBK_, Rio (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Keygen по чему то отказывается генерить ключ
Посл.ответ Сообщение

Ранг: 4.1 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 16 февраля 2009 11:34
· Личное сообщение · #1

Здраствуйте, уважаемые обитатели здешнего форума.
Возникла у меня проблемка, пытался уже во второй а то и в третий раз сделать keygen для crackme,
но опять, что то он не хочет у меня работать посмотрите кто если сможет и помоги разобраться, если вас это не затруднит.
Хотел его в Olly проверить, но Olly что то страное написала, типа ( violation expencion и т.д что то вроде этого, но как я понял надо плагины для скрытия ставить)
Заранее спасибо.

В аттаче папка, в ней исходники keygen, и сам crackme.

01f2_16.02.2009_CRACKLAB.rU.tgz - 54.zip




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 16 февраля 2009 12:05 · Поправил: Isaev
· Личное сообщение · #2

Тут с адресацией напутал
Code:
  1.  MOV BL,BYTE PTR SS:[szNAME+EBP+EAX-1Ch]

в отладчике посмотри откуда он пытается читать

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 16 февраля 2009 12:06 · Поправил: coderess
· Личное сообщение · #3

В памяти по адресу EBP-1C хранится в кейгене введенное имя

004011E2 |. 8A5C05 E4 |MOV BL, BYTE PTR SS:[EBP+EAX-1C]

У тебя в кейгене это не так, т.е. ты не правильно обрезал код, у тебя

0040111E |. 36:8A9C28 1E3>MOV BL, BYTE PTR SS:[EAX+EBP+40301E]

....

mov bl, byte ptr[eax + szName]

Кста это неправильно,
MOV[serial],ESP
после генерации результат в Edx и потом он уже приводится к десятиричной форме ("%d")
цикл тож неправильно работает


-------------------------

У меня вот так получилось:
Code:
  1. ;Вызываем так
  2. invoke GetDlgItemText,hWin,1002,addr szNAME,30
  3. mov      ecx, eax       ; в Ecx передаем длину имени
  4. push offset szNAME
  5. call generate
  6. ;.....
  7. generate:
  8.           XOR    EDX, EDX 
  9.           XOR    EAX, EAX ; Итератор должен быть 0
  10. l000:xor ebx,ebx
  11.           mov    bl,byte ptr ss:[szNAME+eax]
  12.           add    edx,ebx
  13.           inc    eax
  14.           cmp    ecx,eax
  15.              jg   l000
  16.           mov [serial], edx ; Результат в Edx переносим в serial
  17.           retn


-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 8.0 (гость)
Активность: 0.020
Статус: Участник

Создано: 16 февраля 2009 12:21
· Личное сообщение · #4

Var
I, Kode : Integer;
Ch : Char;
begin
Kode := 0;
For I := 1 To Length (Edit1.Text) Do //цикл начиная с первого символа, до последнего
//Length дает количество символов строки Edit1.Text
Begin
Ch := Edit1.Text [I]; //забиваем в переменную символ, с позиции I (один символ)
Kode := Kode + Ord (Ch); //Ord - виртуальный код символа, все полученыые коды складываются друг с другом
End;
//IntToStr - число делаем в строку,
Edit2.Text := IntToStr (Kode);//Присваиваем поле Edit2'a полученный код, преобразовав из целого числа в строку

код на дельфи, если поможет




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 16 февраля 2009 12:30
· Личное сообщение · #5

Исправленный исходник:



4b58_16.02.2009_CRACKLAB.rU.tgz - 54.Asm

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 4.1 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 16 февраля 2009 23:19
· Личное сообщение · #6

Спасибо за помощь, буду дальше разбираться


 eXeL@B —› Вопросы новичков —› Keygen по чему то отказывается генерить ключ
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати