Техническая поддержка :

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

для защиты Windows программ

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

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

Автор: SLV/[ROCK].

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

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

CODE NOW!

.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...

PS: а крек-то нормуль вышел :). С музоном, битмапом 320x90 всего 37 Kb (спасибо FSG 2.0, Упх хуже справился со своей работой почти на 2 килобайта...) => это ещё одно подтверждение, что асм рулит (а не всякие Делфы/Си)...

Комментарии

отсутствуют

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


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

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

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

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





Главная     Программы     Статьи     Разное     Форум     Контакты