Skip to content
/ tracker Public

'tracker' is an hybrid disassembler which use dynamic and static methods to recover program CFG

License

Notifications You must be signed in to change notification settings

perror/tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

                                Tracker Project
                               =================

'tracker' is a binary analysis tool that uses dynamic and static approaches to
get an as complete as possible disassembly of a binary with a minimum of false
positive instructions gathered (tracker must provide a proof that every single
trace it displays can be executable for real with an input that trigger its
execution).

It uses a fuzzer to extract a first couple of traces from the given binary and,
then, provides new inputs to the fuzzer with the help of static-analysis
techniques (symbolic execution and abstract interpretation applied on a CFG
extracted from previous traces).


Build the project for users
---------------------------
This project requires meson-build, the capstone library and a Linux platform.
To build it:

#> cd tracker/
#> meson --buildtype=release --prefix=/usr/local _build ./
#> cd _build/
#> ninja
#> ninja install


Build the project for developer
-------------------------------
Build the software and run the tests (buildtype: 'debug' or 'debugoptimized'):

#> cd tracker/
# meson --buildtype=debug _build .
#> cd _build/
#> ninja
#> ninja test

Run valgrind on the tests:

#> meson test --wrap='valgrind --leak-check=full --track-origins=yes --error-exitcode=1'

Having the tests with code coverage:

#> cd tracker/
# meson --buildtype=debug -Db_coverage=true _build ./
#> cd _build/
#> ninja
#> ninja test
#> ninja coverage-html
#> firefox meson-logs/coveragereport/index.html

Formatting the code with clang-format:

#> ninja clang-format

Perform some static-analysis on the code:
#> ninja clang-tidy


Reporting bugs
--------------
Bugs must be reported to Emmanuel Fleury <[email protected]>

About

'tracker' is an hybrid disassembler which use dynamic and static methods to recover program CFG

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published