# What is a MAP File? - NiceProtect Documentation

> Learn what a MAP file is and why it is crucial for high-quality obfuscation. Understanding symbol files for Delphi, C++, and Visual Basic.

Canonical HTML: <https://www.niceprotect.com/help/what_is_it_a_map_file.htm>

## MAP File Overview


A **MAP file** is a text file generated by the linker that contains a map of the executable's global symbols, including function names and their memory addresses.

**DotFix NiceProtect** utilizes MAP files to accurately identify functions for [virtualization](https://www.niceprotect.com/help/virtualization.htm). Unlike heuristic scanning, MAP-based protection guarantees that specific functions are correctly targeted even if their addresses shift after recompilation.


Supported MAP file formats:

- [Embarcadero Delphi / C++ Builder](https://www.niceprotect.com/help/delphi_cpp_builder_map_file.htm) (Detailed segment map)

- [Microsoft Visual Studio (C++)](https://www.niceprotect.com/help/visual_studio_map_file.htm)

- Free Pascal (Lazarus)

- [Visual Basic 5.0 / 6.0](https://www.niceprotect.com/help/visual_basic_60_map_file.htm)


The engine automatically handles name demangling and filters out irrelevant data (constants, classes) to focus on executable code suitable for virtualization. Both 32-bit and 64-bit architectures are supported.
