Автор: TITBIT <titbit@hakeris.net>
Подопотный кролик : WinBoost 4Сначала спросим у PEID'а запакована ли наша прога. Он сказал что это ASPack 2.12 -> Alexey Solodovnikov. Вообще-то этот пакер легко можно вручную распаковать (читайте статьи), но мы воспользуемся AspackDie'ем, т.к. время, как говориться, деньги :))) Теперь распакованный файл помещаем в WInDasm32. Кстати пытаясь зарегить прогу, введя сериал я не увидел никакого окна, о том что мол код галимый. Поэтому в string data references ищем стандартную строчку которая будет поздравлять нас с регистрацией (Thank you for registering...) or something. Я как правило в поле поиска ввожу ::register::. Меня заинтересовала строчка :::WinBoost has been registered successfully:::. Привожу код:
:0047b689 8D4DDC lea ecx, dword ptr [ebp-24] <<прыгаем сюда>> :0047B68C 0FBFD3 movsx edx, bx :0047B68F 8B45FC mov eax, dword ptr [ebp-04] :0047B692 8B8020030000 mov eax, dword ptr [eax+00000320] :0047B698 8B4030 mov eax, dword ptr [eax+30] :0047B69B 8B30 mov esi, dword ptr [eax] :0047B69D FF560C call [esi+0C] :0047B6A0 8B55DC mov edx, dword ptr [ebp-24] :0047B6A3 8B45F4 mov eax, dword ptr [ebp-0C] :0047B6A6 E82D94F8FF call 00404AD8 <<Процедура сравнения серийного номера>> :0047B68C 0FBFD3 movsx edx, bx :0047B6AB 7507 jne 0047B6B4 :0047B6AD C745E4FFFFFFF mov [ebp-1c], FFFFFFF * Refeernced by a (U)nconditional or (C)onditional Jump at Address: |:0047B6AB (C) | :0047B6B4 43 inc ebx :0047B6B5 6681FBF401 cmp bx, 01F4 <<Еще одно Сравнение>> :0047B6BA 75CD jne 0047B689 <<Если ложь прыгаем вверх >> :0047B6BC 837DE401 cmp dword ptr [ebp-1C], 00000001 :0047B6C0 1BC0 sbb eax, eax :0047B6C2 40 inc eax :0047B6C3 3C01 cmp al, 01 <<3-е сравнение, если al равен 1 прыгаем, если 0 то всё OK и показываем окно "WinBoost has... Если подправим здесь, то тем самым забьём на 1-е сравнения!!!">> :0047B6C5 0F85E3000000 jne 0047B7AE <<Куда-то прыгаем>> :0047B6CB A118A34F00 mov eax, dword ptr [004FA318] :0047B5D0 C700FFFFFFFF mov dword ptr [reax], FFFFFFFF * Possible StringData Ref from Code Obj ->"WinBoost has been registered successfully.Pl" ->"ease restart your WinBoost." | :0047B6D6 B818B94700 mov eax, 0047B918 :0047B6DB E8A850FBFF call 00430788ВЗЛОМ
Теперь исправляем код проги под себя. По адресу :0047B6BA меняем переход (jne на jе) т.е. 75CD на 74DC, тем самым мы избавляемся от ненужного нам перехода, для простоты я советую использовать WINdasm, в котором можно патчить прямо в нем. Исправив переход далее заменяем значение регистра al с 01 на 00, т.е. 3C01 на 3C00. Сохранив все изменения запускаем WInBoost. Вводим свой ник, например TITBIT, и любой сериал, хотя его можно и не вводить, нажимаем OK. И тут нас поздравляют с регистрацией и просят перезапустить прогу. Перезапускаем её и наслаждаемся окном : :::This copy has been licensed to: TITBIT::: Прога сломана!!!
НАХОЖДЕНИЕ СЕРИЙНОГО КЛЮЧА
Прогу эту можно было и не патчить, т.к. войдя в процедуру проверки сериала, и юзая Айс можно увидеть правельный серийный номер.Замечу что прогу не е...ет НикName, т.к. здесь нет генерации сериала. Вот "Скриншот" из Айса:
==========================================================byte====== ========PROT===(0)== 019F:01799EF4 69 72 38 6D 35 6E 2D 34-75 38 76 63 32 72 34 2D ir8m5n-4u8vc2r4- 019F:01799F04 33 63 35 77 33 36 00 00-26 00 00 00 01 00 00 00 3c5w36..&....... 019F:01799F14 16 00 00 00 70 77 36 65-32 75 2D 33 65 37 6D 6B ....pw6e2u-3e7mk <<валидные сериалы>> 019F:01799F24 32 79 35 2D 33 6D 33 62-35 34 00 00 26 00 00 00 2y5-3m3b54..&... 019F:01799F34 01 00 00 00 16 00 00 00-6A 71 38 66 32 66 2D 33 ........jq8f2f-3 019F:01799F44 72 38 78 67 37 6B 36 2D-32 65 36 62 34 36 00 00 r8xg7k6-2e6b46.. 019F:01799F54 26 00 00 00 01 00 00 00-16 00 00 00 62 63 32 70 &...........bc2p 019F:01799F64 33 6E 2D 32 62 32 6D 73-36 71 38 2D 38 66 34 62 3n-2b2ms6q8-8f4b 019F:01799F74 35 34 00 00 26 00 00 00-01 00 00 00 16 00 00 00 54..&........... 019F:01799F84 64 6E 33 63 38 79 2D 33-71 35 63 6D 36 62 38 2D dn3c8y-3q5cm6b8- 019F:01799F94 33 75 33 64 36 32 00 00-26 00 00 00 01 00 00 00 3u3d62..&....... 019F:01799FA4 16 00 00 00 62 65 36 63-38 79 2D 34 66 33 78 75 ....be6c8y-4f3xu 019F:01799FB4 35 63 32 2D 38 6A 33 6A-38 36 00 00 26 00 00 00 5c2-8j3j86..&... 019F:01799FC4 01 00 00 00 16 00 00 00-63 6A 37 66 37 77 2D 38 ........cj7f7w-8 019F:01799FD4 66 35 64 68 36 78 33 2D-36 70 33 69 33 34 00 00 f5dh6x3-6p3i34.. =================================================================== ============PROT32== 0197:00404AD6 8BC0 MOV EAX,EAX 0197:00404AD8 53 PUSH EBX <<Если нажмем d eax увидем свой код, если d edx правельный >> 0197:00404AD9 56 PUSH ESI 0197:00404ADA 57 PUSH EDI 0197:00404ADB 89C6 MOV ESI,EAX 0197:00404ADD 89D7 MOV EDI,EDX 0197:00404ADF 39D0 CMP EAX,EDX 0197:00404AE1 0F848F000000 JZ 00404B76 0197:00404AE7 85F6 TEST ESI,ESI 0197:00404AE9 7468 JZ 00404B53 0197:00404AEB 85FF TEST EDI,EDI 0197:00404AED 746B JZ 00404B5A 0197:00404AEF 8B46FC MOV EAX,[ESI-04] 0197:00404AF2 8B57FC MOV EDX,[EDI-04] 0197:00404AF5 29D0 SUB EAX,EDX 0197:00404AF7 7702 JA 00404AFB 0197:00404AF9 01C2 ADD EDX,EAX 0197:00404AFB 52 PUSH EDX 0197:00404AFC C1EA02 SHR EDX,02 0197:00404AFF 7426 JZ 00404B27 0197:00404B01 8B0E MOV ECX,[ESI] 0197:00404B03 8B1F MOV EBX,[EDI] 0197:00404B05 39D9 CMP ECX,EBX 0197:00404B07 7558 JNZ 00404B61 0197:00404B09 4A DEC EDX 0197:00404B0A 7415 JZ 00404B21 =========================================WB!CODE+3AD6=============== ===================== :\screendump e:\wb.txtИ напоследок, если захотите избавится от регистрации удалите на хрен параметр :: REGISTERED :: в реестре :[HKEY_LOCAL_MACHINE\Software\Magellass\WinBoost]
P.S. Меня удивили програмеры своей защитой, ни какой генерации ИМЯ+сериал нет, просто есть какой-то единый для всех ников код, что Очень уж глупо....... Видимо разработчики понадеялись на ASpack 2.12, который может поиметь даже неопытный крекер.
Есть вопросы? Если да, то пишите на: titbit@hakeris.net
Написано: 11.12.03
Материалы находятся на сайте http://cracklab.narod.ru/doc/