How to crack WinAmp Skin Maker v1.2
Автор      : wOODY^dRN
Перевод    : NightCat^t53
Инструменты: SoftIce

Это очень лёгкая мишень. :) Сперва запустите программу и давайте
проверим, что она нам говорит. About->Register. Напишите что-нибудь,
например woody и 111666111.

Ага, "Wrong registration number!", хммм, не похоже на messagebox,
так что скорее всего это dialogbox. Попробуем прерваться на
getdlgitemtexta в softice.

Снова введие свои данные и нажмите enter... *Boom*, мы в softice.
Окей,.. нажимаем F11, чтобы попасть туда откуда вызывается процедура.
Оказываемся вот тут:

* Reference To: USER32.GetDlgItemTextA, Ord:00F5h
                                  |
:00406D7A 8B3D74254300            mov edi, dword ptr [00432574]
:00406D80 56                      push esi
:00406D81 FFD7                    call edi
:00406D83 8D442438                lea eax, dword ptr [esp+38]

Ну что ж, посмотрите на eax, ebx, ecx, edx и другие.
Ничего особенного... жмём F10.

:00406D87 6A29                    push 00000029
:00406D89 50                      push eax

* Possible Reference to Dialog: DialogID_008A, CONTROL_ID:03FD, ""
                                  |
:00406D8A 68FD030000              push 000003FD
:00406D8F 56                      push esi
:00406D90 FFD7                    call edi

Сall... хмм, что-то не хочется заходить в этот call сразу же... это
как секс на первом  свидании с девушкой. Я так не делаю... глянем на
следующую линию...

:00406D92 8D44240C                lea eax, dword ptr [esp+0C]
:00406D96 50                      push eax
:00406D97 E894100000              call 00407E30

Тоже ничего особенного...

:00406D9C 83C404                  add esp, 00000004
:00406D9F 8BD8                    mov ebx, eax
:00406DA1 8D442438                lea eax, dword ptr [esp+38]
:00406DA5 50                      push eax
:00406DA6 E8550F0000              call 00407D00

А вот тут что-то интересное. Напишите "? eax" и вы увидите введённый
серийны номер. Это значит мы близко!..

:00406DAB 83C404                  add esp, 00000004
:00406DAE 8BF8                    mov edi, eax
:00406DB0 85FF                    test edi, edi
:00406DB2 7537                    jne 00406DEB

Ага, тут eax загоняется в edi... загоняет наш серийник в edi, и прыгает.

:00406DEB 3BFB                    cmp edi, ebx
:00406DED 7535                    jne 00406E24
:00406DEF 8D44240C                lea eax, dword ptr [esp+0C]

Сравнивает edi с ebx... хммм, а что же в ebx? Пишем "? ebx" и видим
правильный серийный номер! Легко, правда?

Чистим список брейкпоинтов, нажимаем F5, вписываем имя и полученый
серийник. Всё, программа загеристрирована.

Вот и всё...

wOODY^dRN