Современные решения

для защиты Windows приложений

и восстановления исходного кода
Автор: SLV. Дата публикации: 23.08.2004

Скрытие сигнатур в программах, написаных на ассемблере


Скрытие реальных сигнатур в программах, написанных на ассмеблере...

Вот сижу я дома, делать нечего (инет закончился :) и загорелся я желанием написать свой crack temalate :) Сказано сделано, замутил там и офигенный AboutBox в ~20 строк (ака MessageBoxA :), и windows style = wsNone, и задержки при нажатии кнопок (чтобы когда юzер нажимал кнопку, она опускалась до упора, а только потом выполнялось какое-то действие), и перетаскивание главного окна за любое место, и xm музыку , и битмап с логотипом, и модную иконку, и т.д... В общем хотелось сделать крек как можно более понтовым (и маленьким)... А что для крекера может считаться понтовым? Имхо это либо крутая защита, либо какой-нить крутой финт (ака трюк)... Мне второе проиорететнее (по ясным причинам). И стал я думать, что бы такое сделать и... придумал! Незнаю как вам (но вам наверное тоже), но мне всегда интересно, как, на чём, когда и т.д. написана та или иная программа. Я часто скачиваю креки разных команж, чтоб посмотреть на их внешний вид, компилятор, спецэффекты :) и др. Для просмотра внешнего вида я использую 15’ монитор, а для компилей/покеров/протекторов (!) я юзаю PEiD (в ней сигнатур побольше и они скрытые)... Так вот, я надумал скрыть печать MASM’а на моём творении... Не долго думая в начало кода было встроено это:

.386 ; чтоб работал .model flat, stdcall option casemap :none ; чтоб не было проблем с windows.inc include SLV_Crack.inc ; там все инклуды/переменные .code ; собственно код pushad ; в результате прокрутки нижестоящего зикла мы изменим значение регистра eax start: ; конструкцией pushad ->> popad мы поправим это дело cmp eax,1 ; а не во второй ли раз мы тут? je @@OOO ; если цикл выполняется второй раз, то прыжок осуществляется call @@AAA ; иначе выполняется вся эта дурь... ret @@AAA: jmp @@BBB ret @@BBB: call @@CCC ret @@CCC: inc eax ; увеличение счётчика jmp start @@OOO: popad ; это то, о чём я вам и говорил invoke GetModuleHandle,NULL mov hInstance,eax ... продолжение следует :) ...

Этот цикл представляет собой простейшую антиотладку (попробуйте пройти его в оле не заходя по F7 в call’ы, а просто по F8), и как в последствии оказалось антианализ (слово-то какое :). После такой нехитрой переделки PEiD стал орать Nothing found * на всех видов скана (норма, дип и хардкор)... Аналогично попался и плагин PESniffer из PETools (Unknown)... Вот так... как известно нет идеальных программ, и файловые анализаторы тому подтверждение... Спасибо за интерес к статье. С уважением SLV...


Комментарии

отсутствуют

Добавление комментария


Ваше имя (на форуме):

Ваш пароль (на форуме):

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

Комментарий: