Skip to content

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

Notifications You must be signed in to change notification settings

kallsyms/binary-tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages