Защитить её VMProtect'ом. Антивирусные компании даже не пытаются понять смысл того, что им защищено, потому что человек со здоровой головой понять это не сможет.
Я пробовал его реверсить. Там виртуалка с шифрованными опкодами, шифрованные адреса обработчиков опкодов, шифрованные данные и ни единой функции. Весь код так сказать прямым текстом, только после каждых 1-10 команд стоит jmp или call (который юзается как jmp) куда-нибудь ещё, и код превращается в беспорядочное месиво. Стек там используется как большая помойка, почти все регистры - тоже. Код виртуалки загаживается огромнейшим количеством совершенно тупых и бесполезных команд, среди которых реальный смысл даже маленького кусочка восстановить очень тяжело. И хоть все алгоритмы шифрования сами по себе там элементарные (xor, add/sub, rol/ror и различные их комбинации), разобрать это вручную невозможно.
Слышал где-то на хакерских форумах обитают скрипты для снятия VMP старых версий, однако для новых что-то не слышал и не видел.
Если не хочется платить за VMP, можно написать свой упрощенный аналог.
Цитата:
если эту функцию запихнуть в datamodule.bpl и там же сравнивать CRC этого модуля с изначальным, то взломщику не удастся подменить изменить сам модуль...
|
При высоком уровне хитромордости это тоже можно обойти без особо крупных проблем - CRC = const, как следствие то место, которое считает CRC, можно заполнить NOP'ами, и поверх записать возврат верного CRC. Нужно помнить, что изменить можно не только 1-2 команды. Изменить можно десятки, сотни и тысячи команд: в крайнем случае хакер может внедрить ДЛЛ, написанную на Delphi/C/C++ (LoadLibrary-то он найдет где впихнуть), которая будет полностью менять целые ветви программы, огромные функции и т.д. на полностью свой код. И это не трудно, мне самому приходилось так делать (только не для взлома, а для добавления множества совершенно новых фич в программу).
З.Ы. +1 к
Цитата:
Но прежде чем заниматься фигней, представить ситуацию, когда злые хакеры ломают программу прямо в локальной сети предприятия.
|
Один знакомый как-то раз сказал: защита делается такой, чтобы стоимость взлома была выше, чем польза от него.