An open API service indexing awesome lists of open source software.

https://github.com/kallsyms/binary-tracer

Script to give a high-level overview of a binary's code flow
https://github.com/kallsyms/binary-tracer

Last synced: 2 months ago
JSON representation

Script to give a high-level overview of a binary's code flow

Awesome Lists containing this project

README

        

# binary-tracer
A script to give a high-level overview of a binary's code flow

## Overview
Given a binary, flow.py prints out a CFG (of sorts) showing at a very high level what is happening during the execution of a program. Currently, it shows function calls (both local to the executable and PLT calls) as well as loop iterations.

flow.py automatically parses a given ELF executable to find any symbols left in the program (debugging or PLT/GOT symbols) and also looks at `call` instructions to find functions in the executable that don't have debug symbols.
With the symbols in hand, the script analyzes a trace generated by PIN and looks for function calls as well as backwards jumps (which tend to represent loops), storing where each of those occurs in the binary into a tree structure.

## Notes
The itrace provided in PIN's examples does not work out-of-the-box with flow.py. An additional filename argument (-o) has to be added to itrace, but this can be copied from one of the other PIN examples.