Старые антиотладочные приемы на новый лад

древнейший отладчик debug.com


Основной упор мы сделаем на прикладной уровень и программистов средней квалификации, которые, возможно, имеют представление о драйверах, но разрабатывать их самостоятельно не собираются. Некоторые из описанных методик практически полностью системно-независимы и работают под любой 32-разрядной операционной системой семейства Windows, частично поддерживания Windows 3.x и Windows XP 64-bit edition. Некоторые требуют только NT или производную от нее систему, причем, никаких гарантий сохранения работоспособности в последующих версиях Windows у нас нет. Даже если использовать только документированные функции, Microsoft в любой момент может их изменить, как это она уже делала неоднократно, причем, в последнее время все чаще и чаще. Лучше вообще не использовать никаких системно-зависимых функций и писать все на ANSI Си/С++ или DELPHI (фактически, DELPHI представляет собой самостоятельную "операционную систему", натянутую поверх Windows и абстрагирующую программиста от прихотей Microsoft — вы просто перекомпилируете код и все! разумеется, речь идет только о прикладных задачах и на антиотладочные приемы указанное преимущество DELHPI не распространяется). Тем не менее, бояться антиотладочных приемов ненужно. Их использование вполне допустимо, если не сказать — желательно.

Хороший сборник антиотладочных приемов глубокой древности можно найти в статье "Anti Debugging Tricks" (http://textfiles.group.lt/programming/antidbg.txt), написанной известным вирусописателем Inbar Raz (что? никаких ассоциаций? эх... молодежь!) датируемой 1993 годом, но сами описанные в ней приемы имеют намного более почетный возраст и многие из них пришли в ms-dos с еще более древних машин. Попытаемся перенести их на Windows?



Содержание раздела