Описание методов регистрации программ и их защита от отладчиков
Описание методов регистрации программ:
1. Задание пароля как константы в коде программы и сравнивание её со введённым значением.
2. На основании имени пользователя, а иногда и фирмы специальная функция создаёт регистрационный номер.
3. Регистрационный номер выдаётся при покупки программного обеспечения и проверяется в он-лайн режиме.
Вроде там был ещё методы защиты как у программ 3D Studio MAX и BPWin или ERWin, а может и ещё какие методы есть, но я к сожалению не знаю как их правильно написать.
Не могли бы Вы дописать список или сказать, где это можно почитать?
Описание защиты этих методов от отладчиков:
1. Ключевую информацию передавать в виде аргумента функции (защита размывается по всему коду) .
2. А ещё лучше если переменные которые раньше хранили ключевую информацию в дальнейшем используются для
хранения служебных данных, обращения к которым максимально частое (это не позволит быстро отделить защитный
механизм от прикладного кода) .
3. Поменять первые четыре байта ключа (Заглушка) , обращение к которым либо вовсе не происходит, либо
производится имитатором защиты.
4. Шифрование критическую часть кода (При выходе в каждую функцию она расшифровывается, а при выходе
зашифровывается вновь) .
5. Защита от точек останова:
5.1 Вызвать стандартные функции из NTDLL.DLL или обратиться напрямую к ядру вызовом прерывания INT 0x2Eh, а ещё
лучше это прерывание положить в блок _try, а также это исключение можно использовать для взаимодействия
компонентов (Тогда будут затруднения в определении межу защитным механизмом и прикладным кодом) .
5.2 Защита функций из модулей USER и GDI.
5.3 Скопировать системные функции в свой собственный стек и передать на них управление.
Правильно ли я описал защиту, если нет подправьте меня и если что то не указал дополните пожалуйста?
вот довольно позновательная статья с довольно известного ресурса
http://www.wasm.ru/publist.php?list=17
и
еще одна
http://infomag.ape.relarn.ru/books/copypro/debug.html