Skip to content

zhaopengoog/idaperf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

idaperf

Simple tool for viewing Linux perf traces in IDA Pro.

Screenshot

Screenshot

Installation

Rust Installation for Newbies

If you don't have Rust installed yet, you can learn how to do so here or run the following command if you believe you are as lucky as me.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Rust is required to compile the preprocessing util for the perf trace since doing that work in IDA Python would likely have made it impossible to import real world sized traces that tend to be many gigabytes in size.

Build IdaPerf

Use one of the following approaches.

cargo install --git https://github.com/zhaopengoog/idaperf.git

or

git clone https://github.com/zhaopengoog/idaperf.git
cd idaperf
cargo install --path .

Usage

perf record -o ./perf.data -- ./your-app-here
perf script --no-demangle -i ./perf.data -F ip,sym,symoff,dso,event | idaperf your-binary-name-here > dump.csv

The your-binary-name-here string doesn't have to be the whole module/binary name, it is sufficient to provide a substring that uniquely filters for symbols in your module/binary.

After that, you can import the reduced dump into IDA as follows:

  • Load your module into IDA
  • File -> Script file
  • Select the idapy-import-perf-data.py from this repo
  • Select the dump.csv you previously created
  • Done!

About

View Linux perf traces in IDA Pro

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 53.4%
  • Python 46.6%