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

 eXeL@B —› Программирование —› Помогите в описании алгоритма
Посл.ответ Сообщение

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

Создано: 25 июня 2011 23:00
· Личное сообщение · #1

Вот начал только только входит в изучение процессов крекинга.Взял с экселаба крякмэ для тренировки файл - zeph1.rar .ТЗ которого - написать кейген .Пароль генерится по введённому "никнейму" .
Ввёл ник - gefest , добыл пароль - BADDF2003135107584
Code:
  1. CPU Disasm
  2. Address   Hex dump          Command                                        Comments
  3. 00401123      3BD7          CMP EDX,EDI
  4. 00401125    ^ 7C DD         JL SHORT 00401104
  5. 00401127  |>  8B45 FC       MOV EAX,DWORD PTR SS:[LOCAL.1]
  6. 0040112A  |.  33D2          XOR EDX,EDX
  7. 0040112C  |.  B9 24070000   MOV ECX,724
  8. 00401131  |.  F7F1          DIV ECX
  9. 00401133  |.  33C0          XOR EAX,EAX
  10. 00401135  |.  85FF          TEST EDI,EDI
  11. 00401137  |.  7E 20         JLE SHORT 00401159
  12. 00401139  |>  8A5C05 94     /MOV BL,BYTE PTR SS:[EAX+EBP-6C]
  13. 0040113D  |.  0FBECB        |MOVSX ECX,BL
  14. 00401140  |.  03D1          |ADD EDX,ECX
  15. 00401142  |.  80FB 40       |CMP BL,40
  16. 00401145  |.  7C 05         |JL SHORT 0040114C
  17. 00401147  |.  0FAFCA        |IMUL ECX,EDX
  18. 0040114A  |.  EB 06         |JMP SHORT 00401152
  19. 0040114C  |>  0FAFCA        |IMUL ECX,EDX
  20. 0040114F  |.  C1E1 02       |SHL ECX,2
  21. 00401152  |>  40            |INC EAX
  22. 00401153  |.  8BD1          |MOV EDX,ECX
  23. 00401155  |.  3BC7          |CMP EAX,EDI
  24. 00401157  |.7C E0         \JL SHORT 00401139
  25. 00401159  |>  8BC2          MOV EAX,EDX
  26. 0040115B  |.  33D2          XOR EDX,EDX
  27. 0040115D  |.  B9 25220000   MOV ECX,2225
  28. 00401162  |.  33DB          XOR EBX,EBX
  29. 00401164  |.  F7F1          DIV ECX
  30. 00401166  |.  33F6          XOR ESI,ESI
  31. 00401168  |.  3BFB          CMP EDI,EBX
  32. 0040116A  |.  7E 21         JLE SHORT 0040118D
  33. 0040116C  |>  8A4435 94     /MOV AL,BYTE PTR SS:[ESI+EBP-6C]
  34. 00401170  |.  0FBEC8        |MOVSX ECX,AL
  35. 00401173  |.  03D1          |ADD EDX,ECX
  36. 00401175  |.  3C 54         |CMP AL,54
  37. 00401177  |.  7C 07         |JL SHORT 00401180
  38. 00401179  |.  0FAFCA        |IMUL ECX,EDX
  39. 0040117C  |.  8BD1          |MOV EDX,ECX
  40. 0040117E  |.  EB 08         |JMP SHORT 00401188
  41. 00401180  |>  0FAFCA        |IMUL ECX,EDX
  42. 00401183  |.  8D1449        |LEA EDX,[ECX*2+ECX]
  43. 00401186  |.  D1E2          |SHL EDX,1
  44. 00401188  |>  46            |INC ESI
  45. 00401189  |.  3BF7          |CMP ESI,EDI
  46. 0040118B  |.7C DF         \JL SHORT 0040116C
  47. 0040118D  |>  33F6          XOR ESI,ESI
  48. 0040118F  |.  3BFB          CMP EDI,EBX
  49. 00401191  |.  7E 1F         JLE SHORT 004011B2
  50. 00401193  |>  8A4435 94     /MOV AL,BYTE PTR SS:[ESI+EBP-6C]
  51. 00401197  |.  0FBEC8        |MOVSX ECX,AL
  52. 0040119A  |.  03D1          |ADD EDX,ECX
  53. 0040119C  |.  3C 4A         |CMP AL,4A
  54. 0040119E  |.  7C 07         |JL SHORT 004011A7
  55. 004011A0  |.  0FAFCA        |IMUL ECX,EDX
  56. 004011A3  |.  8BD1          |MOV EDX,ECX
  57. 004011A5  |.  EB 06         |JMP SHORT 004011AD
  58. 004011A7  |>  0FAFCA        |IMUL ECX,EDX
  59. 004011AA  |.  8D1489        |LEA EDX,[ECX*4+ECX]
  60. 004011AD  |>  46            |INC ESI
  61. 004011AE  |.  3BF7          |CMP ESI,EDI
  62. 004011B0  |.7C E1         \JL SHORT 00401193
  63. 004011B2  |>  8BC2          MOV EAX,EDX
  64. 004011B4  |.  33D2          XOR EDX,EDX
  65. 004011B6  |.  B9 342E0000   MOV ECX,2E34
  66. 004011BB  |.  33F6          XOR ESI,ESI
  67. 004011BD  |.  F7F1          DIV ECX
  68. 004011BF  |.  3BFB          CMP EDI,EBX
  69. 004011C1  |.  7E 20         JLE SHORT 004011E3
  70. 004011C3  |>  8A4C35 94     /MOV CL,BYTE PTR SS:[ESI+EBP-6C]
  71. 004011C7  |.  0FBEC1        |MOVSX EAX,CL
  72. 004011CA  |.  03D0          |ADD EDX,EAX
  73. 004011CC  |.  80F9 40       |CMP CL,40
  74. 004011CF  |.  7C 05         |JL SHORT 004011D6
  75. 004011D1  |.  0FAFC2        |IMUL EAX,EDX
  76. 004011D4  |.  EB 06         |JMP SHORT 004011DC
  77. 004011D6  |>  0FAFC2        |IMUL EAX,EDX
  78. 004011D9  |.  6BC0 07       |IMUL EAX,EAX,7
  79. 004011DC  |>  46            |INC ESI
  80. 004011DD  |.  8BD0          |MOV EDX,EAX
  81. 004011DF  |.  3BF7          |CMP ESI,EDI
  82. 004011E1  |.7C E0         \JL SHORT 004011C3
  83. 004011E3  |>  52            PUSH EDX                                       
  84. 004011E4  |.  52            PUSH EDX                                      
  85. 004011E5  |.  8D85 CCFEFFFF LEA EAX,[LOCAL.77]                           
  86. 004011EB  |.  68 30504000   PUSH OFFSET 00405030                       
  87. 004011F0  |.  50            PUSH EAX                                    
  88. 004011F1  |.  FF15 B0404000 CALL DWORD PTR DS:[<&USER32.wsprintfA>]       
  89. 004011F7  |.  8D85 30FFFFFF LEA EAX,[LOCAL.52]
  90. 004011FD  |.  50            PUSH EAX                                       
  91. 004011FE  |.  8D85 CCFEFFFF LEA EAX,[LOCAL.77]                           
  92. 00401204  |.  50            PUSH EAX                                      
  93. 00401205  |.  E8 E6000000   CALL 004012F0                                 
  94. 0040120A  |.  83C4 18       ADD ESP,18
  95. 0040120D  |.  85C0          TEST EAX,EAX
  96. 0040120F  |.  53            PUSH EBX                                      

вот эти строки наводят на мысль .кому не составит труда , пожалуйста опишите ходы алгоритма генерации пассворда



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

Создано: 25 июня 2011 23:02
· Личное сообщение · #2

пароль был в регистре - DX



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 25 июня 2011 23:06 · Поправил: Veliant
· Личное сообщение · #3

Какой интерес выкладывать чужой кейгенми, если в том и суть что они нужны чтоб научиться реверсить алгоритмы, а не у других спрашивать

Если лень изучать асм-код то ида выдает довольно хороший сорс на С
Code:
  1. for ( i = 0; i < len; curKey0 = nextKey )
  2.   {
  3.     nextChar0 = name[i];
  4.     curKey0 += nextChar0;
  5.     if ( nextChar0 < 'J' )
  6.       nextKey = 2 * curKey0 * nextChar0;
  7.     else
  8.       nextKey = curKey0 * nextChar0;
  9.     ++i;
  10.   }
  11.   res = curKey0 % 0x724;
  12.   for ( j = 0; j < len; res = nextKey1 )
  13.   {
  14.     nextChar1 = name[j];
  15.     curKey1 = nextChar1 + res;
  16.     if ( nextChar1 < '@' )
  17.       nextKey1 = 4 * curKey1 * nextChar1;
  18.     else
  19.       nextKey1 = curKey1 * nextChar1;
  20.     ++j;
  21.   }
  22.   v13 = res % 0x2225;
  23.   for ( k = 0; k < len; ++k )
  24.   {
  25.     nextChar2 = name[k];
  26.     v16 = nextChar2 + v13;
  27.     if ( nextChar2 < 'T' )
  28.       v13 = 6 * v16 * nextChar2;
  29.     else
  30.       v13 = v16 * nextChar2;
  31.   }
  32.   for ( l = 0; l < len; ++l )
  33.   {
  34.     nextChar3 = name[l];
  35.     v19 = nextChar3 + v13;
  36.     if ( nextChar3 < 'J' )
  37.       v13 = 5 * v19 * nextChar3;
  38.     else
  39.       v13 = v19 * nextChar3;
  40.   }
  41.   v20 = 0;
  42.   for ( m = v13 % 0x2E34; v20 < len; m = v24 )
  43.   {
  44.     nextChar4 = name[v20];
  45.     v23 = nextChar4 + m;
  46.     if ( nextChar4 < '@' )
  47.       v24 = 7 * v23 * nextChar4;
  48.     else
  49.       v24 = v23 * nextChar4;
  50.     ++v20;
  51.   }
  52.   wsprintfA(&Str1, "%X%lu", m, m);

Собственно можешь один в один копировать код в кейген, и оптимизировать по числу используемых переменных

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


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

Veliant пишет:
и оптимизировать по числу используемых переменных

Или включить оптимизацию в студии, и радоваться, что делать самому не надо вообще ничего.

-----
Stuck to the plan, always think that we would stand up, never ran.



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


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