| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Защита от отладки .NET приложения |
| Автор: nildar 3.10.2008, 20:28 | ||
| Проверить производится ли отладка или слежение за .NET приложением во время работы (просмотор выделяемых объектов, дерево вызовов и т.д.) можно с помощью следующего кода:
1. WinAPI функция IsDebuggerPresent отпеределяет запуск в режиме простой отладки. 2. Функция IsDebuging проверяет список загруженных модулей и соответственно по наличию некоторых загруженных модулей можно говорить о том что кто то изучает код. К примеру "diasymreader.dll" — стандартный модуль для подключания к .NET приложению с предоставлением доступа к внутренностям приложения. Данный метод позволяет сократить число возможных путей для взлома, по для того чтобы действительно сильно защитить необходим комплексный подход. Например можно использовать обускатор Inquartos Obfuscator (http://www.inquartos.ru/products/iob/) используя его можно переименовать все классы, методы и т.д. в бессмысленные символы + защитить сборки от дизасемблирования + зашифровать внешние dll сборки (по алгоритму AES) + поместить исполнимую сборку (exe) в win32 оболочку (в зашифрованном виде) которая в добавок защищена от отладки win32 отладчиками наглядное описание с примерами можно посмотреть тут http://www.inquartos.ru/products/iob/ Обсуждение обускатора: http://forum.inquartos.ru/viewforum.php?f=2 |
| Автор: PashaPash 4.10.2008, 13:08 |
| nildar, http://blogs.msdn.com/debuggingtoolbox/archive/2007/05/23/windbg-script-disabling-isdebuggerpresent.aspx |