|
Взлом инсталлятора Virtual Drive v6.01, или привет от GPF.
Virtual Drive v6.01 - одна из
самых популярных программ для
создания виртуальных дисков. Вообще,
это очень полезная прога по
нескольким причинам: с её помощью
можно создавать точные копии компакт-дисков
с играми или софтом, при этом
получается всего один файл на вашем
жестком диске, что позволяет
предотвратить нагромождения в
файловой системе; доступ к
виртуальному диску на много быстрее,
чем к CD, поэтому всякие модные и
навороченные игрушки будут идти
значительно лучше; и еще: вас не будут
раздражать шумы, создаваемые вашим
сидюком при раскрутке диска.
Прога полезная, но не бесплатная,
причем даже не позволяющая поработать
в режиме демонстрации, и требующая
серийника прямо в начале установки.
Придется ломать...
Ну что ж, введем в поле для
серийного номера наш универсальный
код 12345 и нажмем кнопку "Continue".
Появилось сообщение, мол код
неправильный, попробуйте ввести его
еще раз. Так и делаем, предварительно
установив в SoftICE'e точку останова: bpx
MessageBoxA. Опять жмем "Continue" и
оказываемся в отладчике. Здесь
нажимаем F12, чтобы попасть туда, откуда
был вызван MessageBox. Окно Софтайса
исчезает и нам показывают все то же
сообщение о неправильном серийнике.
Жмем ОК - и мы снова в SI:
0167:00405F6F CALL EBP ?
0167:00405F71 JMP 00405EB5
0167:00405F76 CALL 00405950
0167:00405F7B JMP 00405EB5
0167:00405F80 PUSH 01
0167:00405F82 CALL 004071C0
0167:00405F87 LEA EDI,[ESP+24]
0167:00405F8B OR ECX,-01
Теперь жмем Ctrl+↑ пока не появится
следующий код (это совсем рядом):
0167:00405F1B PUSH EAX
0167:00405F1C CALL 00403020
0167:00405F21 MOV EBX,EAX <= помещает в EBX
значение EAX
0167:00405F23 ADD ESP,10
0167:00405F26 TEST EBX,EBX <= сейчас в EBX значение
0
0167:00405F28 JNZ 00405F80 <= переход, если не
ноль
0167:00405F2A PUSH 0D
0167:00405F2C CALL 00403B60
Можно предположить, что
если в момент проверки в EBX окажется не
ноль, а единица, то мы не увидим уже
надоевшего нам сообщения об ошибке.
Теперь просто ставим бряк на call 00403020,
который происходит по адресу 405F1C (это
можно сделать щелкнув левой кнопкой
мыши два раза по строке 167:00405F1C CALL 00403020
или с помощью команды bpx 405F1C), и
повторяем ввод неправильного кода.
Ну вот, остановились как раз там,
где и хотели. Жмем F10 до места проверки
EBX. Сейчас там 0. Изменим это
значение на 1, для чего щелкнем в окне
регистров на значении EBX и изменим
крайний справа ноль на единицу.
Все, жмем F5 или Ctrl+D (кому что больше
нравится :) и, похоже, программа
поверила в правильность нашего кода.
Установка прошла без проблем и прога
считает себя зарегистрированной,
вернее, после установки она это не
проверяет ;-) , странно, не правда ли?
При детальном
исследовании всех файлов, входивших в
дистрибутив программы, в setup.sys я
обнаружил следующую строчку: "Crack made
by GPF //LZ //RPG. http://lz.knet.ru. EfNet #levelzero".
Получается, еще до нас ребята из этой
команды поработали над программой и
довели ее до определенного состояния
;-). Ко мне прога попала с варезного
сайта, на котором не говорилось о
сделанной "доработке" в файлах
инсталляции. С тех самых пор я очень
редко качаю софт с подобных серверов и
предпочитаю обращаться за нужной
софтиной прямо на сайт разработчика.
Информация предоставлена
исключительно для ознакомления и ее
применение в незаконных целях
категорически запрещается.
© BioCyborG, 2002
|