скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Как получить Регистрационный Номер для Sceleton ScreenSaver



Оформил: DeeCo
Автор: http://www.cracklab.narod.ru

tutorial by vallkor (vallkor@chat.ru)

В руки мне попался этот скринсевер и, впринципе, мне понравился. На самом деле, это скорее всего обысная модель из 3dStudioMax, ну да ладно, не об этом я. Так вот, скачал я эту программу и хотел на нее посмотреть, но жестоко обломался, когда увидел надпись на экране: "Зарегестрировать можно на psy.plex.ru". Ну, думаю, люди ваще офигели: даже в скринсейвера встраивают регистрацию. Как оказалось - регистрация бесплатна, но для этого нужно лезть в инет и искать что-то, т.к. у меня с инетом напряг, то лучше я её ломану :)
Я открыл свойства рабочего стола, потом "Заставка", выбрал в меню заставок "Sceleton" и потом выбрал "Настройки", затем нажимаю "Register" и что же я вижу:
"После регистрации текст с экрана исчезнет" - очень приятно Ж)
Рег. имя:
Рег. номер:
Вводим vallkor/123321 окрываем СофтАйс (далее айс) и ставим брекпоинт bpx GetWindowTextA и нажимаем OK.
брык! Выскочили в айсе, так, значит нажимаем F5, чтобы программа и наш регистрационный номер считала. Опа! Опять выскочили в айсе.
Теперь нажимаем F11 чтобы выйти из вызова функции. И попадаем сюда:
lea edx,[ebp-08]
lea eax,[ebp-020C] ;в eax введенный нами РН
call 0040791C
mov edx,[ebp-08]  ;в edx введенный нами РН
mov eax,[ebp-04]  ;в eax введенное нами имя
call 0043A7F4     ;вызов функции генерации и проверки РН
Зайдем в эту функцию (F8) и вывалимся тут:

push ebp
mov ebp, esp
add esp, -10
push ebx
xor ecx, ecx
Это не то всё! Поэтому идем вниз по программе (F10) пока не наткнемся на это место:
call 0043A6FC ;здесь и "куют" нужный нам РН
mov eax,[ebp-0C] ;здесь нужный нам РН! нажимай d eax и он твой! (1)
mov edx,[ebp-08] ;а это введенный нами (2)
call 00403BB0    ;а это проверка наших РН'ов
Итак, как уже было сказано и показано в строке (1) в eax записывается сгенерированный РН, поэтому в строке (2) вводим d eax и в окне памяти в айсе мы видим нужный РН, пишем его на бумагу, закрываем айс, вводим его вместо "123321" и можно пользовать.
ЗЫ: как оказалось впоследствие сгенерированный РН не затирается даже после сообщения о неверном РН, что ООЧень глупо! Поэтому можно было сделать так:
s ds:0 l ffffffff "123321" и рядом в памяти валялся бы нужный нам номер!
ЗЗЫ: спасибо автору icedump'a за встроенный тетрис :)

Все пожелания и оскорбления присылайте сюда: vallkor@chat.ru






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook