Сейчас на форуме: ==DJ==[ZLO], Dart Raiden, Alf (+6 невидимых) |
eXeL@B —› Основной форум —› Нужна помощь !!! |
Посл.ответ | Сообщение |
|
Создано: 23 сентября 2004 06:15 · Личное сообщение · #1 0040132C 33F6 xor esi, esi 0040132E BA 01000000 mov edx, 1 00401333 8BCB mov ecx, ebx 00401335 0FB64C0A FF movzx ecx, byte ptr [edx+ecx-1] 0040133A 8D3431 lea esi, dword ptr [ecx+esi] 0040133D 42 inc edx 0040133E 48 dec eax 0040133F 75 F2 jnz short 00401333 00401341 8BC6 mov eax, esi 00401343 69C0 66060000 imul eax, eax, 666 00401349 35 EFBEADDE xor eax, DEADBEEF 0040134E C1C8 03 ror eax, 3 Это есть генерация серийника. 00401351 53 push ebx 00401352 50 push eax 00401353 E8 0B000000 call 00401363 А теперь переводим DWORD-число из EAX в ASCII-строку. 0040139A 57 push edi 0040139B 56 push esi 0040139C 53 push ebx 0040139D 8BF0 mov esi, eax 0040139F 8BD8 mov ebx, eax 004013A1 46 inc esi 004013A2 8A06 mov al, byte ptr [esi] 004013A4 3C 00 cmp al, 0 004013A6 75 F9 jnz short 004013A1 004013A8 B8 02000000 mov eax, 2 004013AD 8A57 03 mov dl, byte ptr [edi+3] 004013B0 8A4E FF mov cl, byte ptr [esi-1] 004013B3 32D1 xor dl, cl 004013B5 75 09 jnz short 004013C0 004013B7 47 inc edi 004013B8 4E dec esi 004013B9 3BF3 cmp esi, ebx 004013BB 7F F0 jg short 004013AD 004013BD 8D40 01 lea eax, dword ptr [eax+1] 004013C0 5B pop ebx 004013C1 5E pop esi 004013C2 5F pop edi 004013C3 C3 retn Здесь происходит проверка полученной строки с регистрационным кодом пользователя, начиная с четвертого символа. И проверка производится по диагонали, т. о. последний символ полученной строки будет четвертым символом серийника, предпоследний - пятым и т. д. В итоге мы имеем правильный ключ: Name: PowerUser Code: RE-C0857DBF Это пример из одного руководства по Olly. Люди, объясните, где именно происходит проверка полученной строки с регистрационным кодом пользователя;;;;И как, всё-таки узнать отсюда правильный ключ(А то не понял, как его получили) |
|
Создано: 23 сентября 2004 07:10 · Личное сообщение · #2 |
|
Создано: 23 сентября 2004 08:10 · Поправил: DFC · Личное сообщение · #3 ENGEL. WELL тебе все очень четко сказал... ENGEL пишет: Люди, объясните, где именно происходит проверка полученной строки с регистрационным кодом пользователя;;;; В приведенном тобой коде с адреса 004013AD...и если у тебя не совпадет хотя бы одна пара символов из всех проверяемых, то при выходе из всей процедуры в EAX так и останется 2-ка, а при полном совпадении пар в EAX запишется 3-ка. |
eXeL@B —› Основной форум —› Нужна помощь !!! |