Annotate IDA with source and line number information from a PDB
Project description
annotate_lineinfo
This IDAPython script/plugin will parse the PDB for the loaded executable and annotate the disassembly with source and line number information.
Usage
Script
-
Option 1) Run annotate_lineinfo.py as a regular IDAPython script.
-
Option 2) From another script or the IDAPython console:
import annotate_lineinfo
annotate_lineinfo.ida_annotate_lineinfo()
Plugin
To install
- Option 1) Run
python setup.py install --install-ida-plugin=PATH
to install annotate_lineinfo_plugin.py toPATH\plugins
- If
PATH
is not specified,%IDAUSR%
will be tried first - If
%IDAUSR%
does not exist, it defaults to%APPDATA%\Hex-Rays\IDA Pro
- If
- Option 2) Manually place annotate_lineinfo_plugin.py in the
plugins
directory of your IDA installation.
Annotate entire file
- Use shortcut key
Alt-Shift-A
or run fromEdit->Annotate lineinfo
menu.
Disassembly view popup menu
- Right click inside a function, select annotate
- Select a range of instructions, right click, select annotate
Functions view popup menu
- Select one or more functions, right click, select annotate
Each of the above actions has a corresponding remove annotations
action.
On load, annotate_lineinfo attempts to locate the PDB in the following locations:
_NT_SYMBOL_PATH
if set- IDA's default PDB download directory
%TEMP%\ida
- MSDIA defaults - Path in debug directory of executable, same path as executable
You may specify the PDB path manually, or request another auto-locate attempt (e.g. after IDA downloads the PDB),
from the Edit->Annotate lineinfo
menu.
Caveats
Only runs on Windows. This script makes use of the COM API provided by msdia[ver].dll to parse the PDB.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file annotate_lineinfo-0.1.tar.gz
.
File metadata
- Download URL: annotate_lineinfo-0.1.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 658048266e125afed618ac407388db633e823e378cb9d87c1d425711c5cc3731 |
|
MD5 | 6ba80a44160c078c2ae310e846f5efb3 |
|
BLAKE2b-256 | 1e42aef96036f50b759447194fa9d9200c4684475b453b0d0952e02b16ba693a |