Our Reverse Engineering technologies combine static and dynamic approaches to construct understanding of the functionality, strengths, and weaknesses of built software. We also help apply that understanding to improve software correctness, security, and performance.
Semiautomated, human-machine collaborative processes build software understanding while reducing burden on analysts.
Component identification and extraction allows reuse of legacy software in new operating environments with confidence.
Automated monitoring and constraint enforcement on deployed systems acts as a first line of defense, allowing analysts to focus on complex incident response.
Traditional disassemblers and fuzzers combined with GrammaTech's in-house binary analysis tools enable deep exploration of binaries.
GrammaTech Intermediate Representation for Binaries
(GTIRB) allows uniform representation and processing of facts extracted from binaries.
Jupyter Notebooks support semiautomated processes, bringing data science workflows to Reverse Engineering.
Binary and source rewriting, virtual machine introspection, and dynamic instrumentation allow runtime monitoring of programs.