Сейчас на форуме: ==DJ==[ZLO], Dart Raiden, Alf (+6 невидимых)

 eXeL@B —› Основной форум —› Нужна помощь !!!
Посл.ответ Сообщение

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

Создано: 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.
Люди, объясните, где именно происходит проверка полученной строки с регистрационным кодом пользователя;;;;И как, всё-таки узнать отсюда правильный ключ(А то не понял, как его получили)




Ранг: 266.8 (наставник), 5thx
Активность: 0.220.03
Статус: Участник
very WELL :)

Создано: 23 сентября 2004 07:10
· Личное сообщение · #2

А ты ассемблер знаешь?
Без знания асма тут ловить нечего.



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

Создано: 23 сентября 2004 08:10 · Поправил: DFC
· Личное сообщение · #3

ENGEL.

WELL тебе все очень четко сказал...

ENGEL пишет:
Люди, объясните, где именно происходит проверка полученной строки с регистрационным кодом пользователя;;;;

В приведенном тобой коде с адреса 004013AD...и если у тебя не совпадет хотя бы одна пара символов из всех проверяемых, то при выходе из всей процедуры в EAX так и останется 2-ка, а при полном совпадении пар в EAX запишется 3-ка.


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


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