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

 eXeL@B —› Вопросы новичков —› Написать KeyGen для CrackMe#4
Посл.ответ Сообщение

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

Создано: 23 июля 2011 12:29 · Поправил: TeXNo_BoY
· Личное сообщение · #1

Посмотрел курс от Bad_Guy. Взломал почти все крякми от фантома(Есть на сайте). Узнал для себя пароль, но охото узнать как сделать КийГен)) Покажу что смог разобрать:

Code:
  1. 004012F9  /$  55            PUSH EBP                                 ; CRACKME4.004012F9(guessed Arg1)
  2. 004012FA  |.  8BEC          MOV EBP,ESP
  3. 004012FC  |.  56            PUSH ESI
  4. 004012FD  |.  57            PUSH EDI
  5. 004012FE  |.  8D35 84304000 LEA ESI,[403084]                         ; ASCII "Cracker" //чтение имени
  6. 00401304  |.  8D3D 84324000 LEA EDI,[403284]
  7. 0040130A  |.  33C0          XOR EAX,EAX
  8. 0040130C  |.  33C9          XOR ECX,ECX
  9. 0040130E  |.  B3 1A         MOV BL,1A  // ЕАХ и ЕСX равны 0
  10. 00401310  |>  803E 00       /CMP BYTE PTR DS:[ESI],0  //Сравнение первого символа с 0 
  11. 00401313  |.  74 15         |JE SHORT 0040132A  //если символ 0(исчерпаны все буквы имени), выходим и цикла
  12. 00401315  |.  8A06          |MOV AL,BYTE PTR DS:[ESI]  //Добавления НЕХ код символа В AL (в первый раз 46)
  13. 00401317  |.  02C1          |ADD AL,CL  //добавляем СL (в первый раз 0)
  14. 00401319  |.  32C1          |XOR AL,CL  //сдесь и дальше тупик...
  15. 0040131B  |.  F6F3          |DIV BL  //В хэлпе прочитал, не че не понял
  16. 0040131D  |.  66:C1E8 08    |SHR AX,8
  17. 00401321  |.  04 41         |ADD AL,41
  18. 00401323  |.  8807          |MOV BYTE PTR DS:[EDI],AL
  19. 00401325  |.  47            |INC EDI
  20. 00401326  |.  46            |INC ESI
  21. 00401327  |.  41            |INC ECX
  22. 00401328  |.^ EB E6         \JMP SHORT 00401310
  23. 0040132A  |>  C607 00       MOV BYTE PTR DS:[EDI],0
  24. 0040132D  |.  33C0          XOR EAX,EAX
  25. 0040132F  |.  83F9 00       CMP ECX,0
  26. 00401332  |.  74 1A         JE SHORT 0040134E
  27. 00401334  |.  68 84324000   PUSH OFFSET 00403284                     ; /String2
  28. 00401339  |.  68 84314000   PUSH OFFSET 00403184                     ; |String1 = "123" //пароль
  29. 0040133E  |.  E8 A1000000   CALL <JMP.&KERNEL32.lstrcmpA>            ; \KERNEL32.lstrcmp //сравнение введеного пароля и нужного
  30. 00401343      83F8 00       CMP EAX,0
  31. 00401346  |.  74 04         JE SHORT 0040134C
  32. 00401348  |.  33C0          XOR EAX,EAX
  33. 0040134A  |.  EB 02         JMP SHORT 0040134E
  34. 0040134C  |>  8BC1          MOV EAX,ECX
  35. 0040134E  |>  5F            POP EDI
  36. 0040134F  |.  5E            POP ESI
  37. 00401350  |.  C9            LEAVE
  38. 00401351  \.  C2 0400       RETN 4  //выход из процедуры


Дальше уже идет сравнение EAX с нулем и решени о регистрации...
Помогите пожалуйсто как создать алгоритм для генерации пароля(например на delphi). Я Дельфи знаю хорошо... Спасибо!



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 23 июля 2011 12:41 · Поправил: SaNX
· Личное сообщение · #2

s:='YourName';
d:='';
for c:=0 to length(s)-1 do
begin
al:=(((Ord(s[c+1])+c))xor c)div $1a;
al:=(al shr 8)+$41;
d:=d+chr(al);
end;

както так вроде

-----
SaNX


| Сообщение посчитали полезным: TeXNo_BoY

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

Создано: 23 июля 2011 12:48
· Личное сообщение · #3

SaNX не мог бы объяснить откуда взял все это???(алгоритм)



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

Создано: 23 июля 2011 12:54
· Личное сообщение · #4

чето не работает(или я туплю)

procedure TForm1.Button1Click(Sender: TObject);
var
s, d:string;
c, al: byte;
begin
s:='Cracker';
d:='';
for c:=0 to length(s)-1 do
begin
al:=(((Ord(s[c+1])+c))xor c)div $1a;
al:=(al shr 8)+$41;
d:=d+chr(al);
end;
Edit1.Text:=d;
end;



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 23 июля 2011 18:48
· Личное сообщение · #5

--> Link <-- а почему поиском не воспользовался?


 eXeL@B —› Вопросы новичков —› Написать KeyGen для CrackMe#4
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати