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

 eXeL@B —› Вопросы новичков —› Серийник или мучение новичка.
Посл.ответ Сообщение

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

Создано: 30 ноября 2012 16:14
· Личное сообщение · #1

Здравствуйте, уважаемые форумчане. И так есть сметная программа QURQYMAT0S0S, написанная на Delphi с использованием BDE. При запуске программы требуется ввести серийный номер.
Вот ссылка на программу:
Сама программа весом в 72,4 мб:
http://depositfiles.com/files/czybdros9
и BDE
http://depositfiles.com/files/fhz6egyo7

Немного посидев и покопав программу нашёл что проверка серийного номера проходет здесь:

Code:
  1. * Possible StringData Ref from Code Obj ->"И F"
  2.                                   |
  3. :007C5346 A1F00A6400              mov eax, dword ptr [00640AF0]
  4. :007C534B E85CDECAFF              call 004731AC
  5. :007C5350 A37C7D7D00              mov dword ptr [007D7D7C], eax
  6. :007C5355 33C0                    xor eax, eax
  7. :007C5357 55                      push ebp
  8. :007C5358 68DF537C00              push 007C53DF
  9. :007C535D 64FF30                  push dword ptr fs:[eax]
  10. :007C5360 648920                  mov dword ptr fs:[eax], esp
  11. :007C5363 A17C7D7D00              mov eax, dword ptr [007D7D7C]
  12. :007C5368 E81BBEE7FF              call 00641188
  13. :007C536D 84C0                    test al, al
  14. :007C536F 751A                    jne 007C538B
  15. :007C5371 A17C7D7D00              mov eax, dword ptr [007D7D7C]
  16. :007C5376 8B10                    mov edx, dword ptr [eax]
  17. :007C5378 FF92E8000000            call dword ptr [edx+000000E8]
  18. :007C537E 48                      dec eax
  19. :007C537F 740A                    je 007C538B
  20. :007C5381 E8EAF3C3FF              call 00404770
  21. :007C5386 E9A3010000              jmp 007C552E
  22.  
  23. * Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
  24. |:007C536F(C), :007C537F(C)
  25. |
  26. :007C538B A17C7D7D00              mov eax, dword ptr [007D7D7C]
  27. :007C5390 E8F3BDE7FF              call 00641188
  28. :007C5395 84C0                    test al, al
  29. :007C5397 752E                    jne 007C53C7
  30. :007C5399 6A10                    push 00000010
  31.  
  32. * Possible StringData Ref from Code Obj ->"Ошибка"
  33.                                   |
  34. :007C539B B93C567C00              mov ecx, 007C563C
  35.  
  36. * Possible StringData Ref from Code Obj ->"Неверный серийный номер"
  37.                                   |
  38. :007C53A0 BA44567C00              mov edx, 007C5644
  39. :007C53A5 A1EC207D00              mov eax, dword ptr [007D20EC]
  40. :007C53AA 8B00                    mov eax, dword ptr [eax]
  41. :007C53AC E8AF59CBFF              call 0047AD60
  42. :007C53B1 A1EC207D00              mov eax, dword ptr [007D20EC]
  43. :007C53B6 8B00                    mov eax, dword ptr [eax]
  44. :007C53B8 E8FF58CBFF              call 0047ACBC
  45. :007C53BD E8AEF3C3FF              call 00404770
  46. :007C53C2 E967010000              jmp 007C552E
  47.  
  48. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  49. |:007C5397(C)
  50. |
  51. :007C53C7 33C0                    xor eax, eax
  52. :007C53C9 5A                      pop edx
  53. :007C53CA 59                      pop ecx
  54. :007C53CB 59                      pop ecx
  55. :007C53CC 648910                  mov dword ptr fs:[eax], edx
  56. :007C53CF 68E6537C00              push 007C53E6
  57.  
  58. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  59. |:007C53E4(U)
  60. |
  61. :007C53D4 A17C7D7D00              mov eax, dword ptr [007D7D7C]
  62. :007C53D9 E81AEBC3FF              call 00403EF8
  63. :007C53DE C3                      ret
  64.  
  65.  
  66. :007C53DF E9A8F2C3FF              jmp 0040468C
  67. :007C53E4 EBEE                    jmp 007C53D4
  68. :007C53E6 8B0DB4217D00            mov ecx, dword ptr [007D21B4]
  69. :007C53EC A1EC207D00              mov eax, dword ptr [007D20EC]
  70. :007C53F1 8B00                    mov eax, dword ptr [eax]


Code:
  1. :007C538B A17C7D7D00              mov eax, dword ptr [007D7D7C]
  2. :007C5390 E8F3BDE7FF              call 00641188
  3. :007C5395 84C0                    test al, al
  4. >:007C5397 752E                    jne 007C53C7
  5. :007C5399 6A10                    push 00000010

Если поменять JNE на JЕ то программа пытается запуститься и выводит диалоговое окно доступа к базе данных но при вводе логина и пустого пароля всё виснет. Помогите пропатчить эту программу. Менял это место в Ollydebager, получается всё как указанно выше. Но если поменять это через Win32Dasm программа кидает ошибки Память не может быть Read.

P.S. Прошу сильно не ругаться, так как я только учусь. Где-то в это программе есть проверка регистрации, где она сравнивает, была ли программа зарегистрирована или нет, просто в прошлой версии это было.



Ранг: 33.8 (посетитель), 38thx
Активность: 0.060
Статус: Участник

Создано: 30 ноября 2012 16:36
· Личное сообщение · #2

agent47

Выложи на другой файлообменник - говнодепозит не вариант...



Ранг: 33.8 (посетитель), 38thx
Активность: 0.060
Статус: Участник

Создано: 30 ноября 2012 16:56 · Поправил: dimka_new
· Личное сообщение · #3

С гпрс-а скачал - адрес 641261 - и увидите ваш серийник, чет сдается что и закейгенится запросто
//извиняюсь за много сообщений - отвык походу...




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 30 ноября 2012 17:11 · Поправил: DimitarSerg
· Личное сообщение · #4

dimka_new пишет:
и закейгенится запросто


Поддерживаю
Риппнуть функу
006410E0 >/$ 55 PUSH EBP ; unInputSerialNumber.sub_006410E0

Сначала получаем хвид диска (GetVolumeInformationA), ксорится с 0x103E329 дальше преобразования разные в int64 и т.д.
ну и кусочек высичлений с плавающей точкой в функе, затем Фрак,Транк, еще раз ксор с 0x103E329 и вывод через IntToStr

00641088 >/$ 55 PUSH EBP ; unInputSerialNumber.sub_00641088

Кейгеньте ;)

-----
ds




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

Создано: 30 ноября 2012 18:18
· Личное сообщение · #5

А литературкой по созданию кейгена, неподелитесь? Мне легче сдалать патч чем кейген написать. Я же говорю что я новичёк



Ранг: 33.8 (посетитель), 38thx
Активность: 0.060
Статус: Участник

Создано: 30 ноября 2012 18:26 · Поправил: dimka_new
· Личное сообщение · #6

agent47 пишет:
А литературкой по созданию кейгена, неподелитесь? Мне легче сдалать патч чем кейген написать. Я же говорю что я новичёк


Понятно что новичек - серийный номерок подглядеть удалось по адресу 641261 ?
Как вариант можно снифер сделать - Serial Sniffer Creator 2.0 - и гоголь вам в помощь.
Для патча вам подойдет адрес - 64128A

Если хотите разобраться с кейгеном, в личку - помогу, но делайте что-нибудь сами

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


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