Contents

Что такое MAP файл



MAP файлом является файл, имеющий то же имя что и запускаемый EXE файл программы или DLL/OCX библиотеки, но имеющий расширение MAP. Создается этот файл линковщиком языка программирования на этапе формирования бинарного файла программы и содержит имена всех процедур и функций программы, а главное их адреса в исполняемом файле. Используя эту информацию, защита может предоставить выбор этих функций и процедур для виртуализации.

Главным плюсом MAP файла в отличии от эвристического поиска функций внутри файла является то, что при следующих компиляциях, когда адреса поменяются - защита всегда будет знать какие функции Вы выбрали для виртуализации, так как их имена обычно не меняются.

К сожалению, нет единого способа сгенерировать MAP файл и в разных средах программирования это делается по разному. Более того - сам формат MAP файла кардинально отличается для разных компиляторов. На данный момент DotFix NiceProtect поддерживает следующие форматы и их производные: Embarcadero Delphi/C++ Builder, GCC (c++ версия и компилятор FreePascal Lazarus), MS Visual Studio и старый вариант для Visual Basic 5.0/6.0. Для всех этих форматов поддерживается базовая расшифровка (деманглинг) имен, а также фильтрация потенциально неиспользуемых для защиты данных (адресов констант, классов, сегментов и так далее). Поддерживаются как 32х так и 64х битные версии.