Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #66, МАЙ 2006 г.

имплантанты пышных формы

GPCH (ADMIN@VB-DECOMPILER.ORG)

Спецвыпуск: Хакер, номер #066, стр. 066-040-6


TabIndex = 1

End

Сразу бросается в глаза «Visible = 0» (в таблице оно значится как 09). Переходим по смещению 1175 и проходим все свойства до 09. Видим 00 (это False), меняем его на FF (True) — дело сделано. Но! Мой CrackMe был сделан специально так, чтобы можно было взломать его разными способами.

Рассмотрим еще один способ: как сделать кнопку видимой через три секунды. Можно сделать цикл при запуске программы, но на разных процессорах он будет работать с разной скоростью. Можно использовать GetTickCount, но потребуется проверять его в While-цикле, что тоже неудобно. Программисты страшатся этого, и пользуются таймерами (невидимыми контролами на форме, у которого событие срабатывает каждые Interval миллисекунд). Поищем любимый таймер на форме:

Begin VB.Timer Timer1 'Offset: 00001155

Interval = 3000

Left = 2880

Top = 0

Width = 59400

Height = 8

End

Так и есть! 3000 миллисекунд — это три секунды. Заменим их на одну. Однако автор забыл поставить End после установки свойства в кнопку, поэтому после события таймер будет срабатывать и дальше, и поэтому программа начнет тормозить. В этой ситуации выгоднее и проще использовать предыдущий способ, а таймер — просто отключить, поставив интервал в 0.

Читая статью, ты наверняка задался вопросом о том, как [добавить новое свойство] в упакованный контрол? Единственный способ — разбор, вставка и последующая сборка всей формы. Ясно, что данные не поместятся на старое место, поэтому придется создавать новую секцию в файле или расширять последнюю и редиректить данные туда. Кроме того — прописать адрес на новое расположение формы в структуре информации о форме. Притом учитываем, что если пользователь будет часто добавлять свойства, то заранее в новой секции нужно сделать запас в виде резервных байт под расширение каждой формы. Придется хранить всю эту информацию о резерве байт и начале и длине каждой формы, вынесенной в новую секцию. Для этого создается своя служебная структура.

Все это будет полезно только если ты возьмешься писать свой редактор ресурсов VB. Если же просто собираешься исследовать программы, то знаний этой статьи вполне достаточно.

[Вот и все!] Надеюсь, у тебя не осталось вопросов по редактированию интерфейса VB-программ. Если все-таки осталось, задавай их на моем форуме, посвященном вопросам декомпилирования VB (http://vbdecompiler.dotfix.net). Периодически я читаю его и отвечаю на вопросы

НА КОМПАКТ-ДИСКЕ ТЫ НАЙДЕШЬ ВСЕ НЕОБХОДИМОЕ ДЛЯ ИССЛЕДОВАНИЯ VB-ФОРМ

НЕ ЗАБЫВАЙ, ЧТО ИССЛЕДОВАНИЕ ЧУЖИХ ПРИЛОЖЕНИЙ — ЭТО ВСЕГДА ЗЛО. ТАК ЧТО ХОТЯ БЫ ИЗРЕДКА ПОГЛЯДЫВАЙ, НЕ НАРУШАЕШЬ ЛИ ТЫ ЛИЦЕНЗИЮ, — ИЗБЕЖИШЬ ВНЕПЛАНОВОГО ГЕМОРРОЯ :)

Назад на стр. 066-040-5  Содержание