mefistotelis / ida-pro-loadmap

Plugin for IDA Pro disassembler which allows loading .map files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IDA Pro plugin for loading .MAP symbol files

Loads a VC/Borland/Dede/GCC/IDA .map file into IDA Database.

What is the MAP file

The .map file may be generated during compilation, and contain some of debug info (function names, global variables, in some cases locals as well).

In the past, it was generated automatically by many compilers. For some programs, it was included in a pre-release version, or even in final release.

Todays compiles still have ability to enable .map file generation, ie:

  • Watcom linker has OPTION MAP[=map_file] command line switch
  • GCC linker has -Xlinker -Map=output.map command line switch
  • Microsoft VC linker has /MAP[:filename] command line switch

More information

See src/LoadMap.cpp for credits, license and changelog.

Installation

  • Copy loadmap.dll to IDA plugins folder
  • Open any PE/LE file project
  • Click Load MAP with Shift to see options

Building

The building requires IDA Pro SDK.

To rebuilt the project on Windows using GUI, copy it to IDA SDK plugins/loadmap folder, then open SLN file and build it with Visual Studio.

To rebuilt the project from command line, check how the Github Actions do that. You will need some GNU tools including make, and VC compiler from Visual Studio.

Known issues

Currently it doesn't understand MAP files with 64-bit offsets - new versions of GCC produce files with such long offsets. WA for this is to just remove excessive zeros from offsets in MAP file before loading it.

Currently the tool uses Windows API, so will not work with Linux or Mac OS version of IDA Pro. To fix that:

  • reading keys would have to be switched to one from Qt
  • memory mapped file usage would have to be implemented (or switched to C++ standard method, when it finally arrives)

About

Plugin for IDA Pro disassembler which allows loading .map files.


Languages

Language:C++ 93.7%Language:C 4.2%Language:Makefile 2.2%