DyninstAPI: Tools for binary instrumentation, analysis, and modification.
Containers are provided that can be used for Dyninst development (e.g., make changes to Dyninst and quickly rebuild it) or for development of your own tools (e.g., have a container ready to go with Dyninst). Links will be added here when the containers are pushed to the Dyninst associated package registries. Instructions for usage and building locally are provided in the docker directory.
spack install dyninst
Configure Dyninst with CMake
cmake /path/to/dyninst/source -DCMAKE_INSTALL_PREFIX=/path/to/installation
Build and install Dyninst in parallel
make install -jN
If this does not work for you, please refer to the Wiki for detailed instructions. If you encounter any errors, see the Building Dyninst or leave a GitHub issue.
Windows 64-bit mode is not yet supported
Windows rewriter mode is not yet supported
Exceptions in relocated code will not be caught
Linux rewriter mode for 32-bit, statically linked binaries does not support binaries with .plt, .rel, or .rela sections.
Callbacks at thread or process exit that stop the process will deadlock when a SIGSEGV occurs on a thread other than the main thread of a process
Stackwalker is fragile on Windows
Parsing a binary with no functions (typically a single object file) will crash at CodeObject destruction time.