Skip to content

GrammaTech/retypd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8f7f72b · Apr 10, 2023
Jul 19, 2021
Feb 2, 2023
Feb 2, 2023
Jul 1, 2022
Dec 8, 2021
Jun 17, 2021
Feb 2, 2023
Jun 6, 2022
Dec 8, 2021
Jul 14, 2022
Jul 19, 2021
Jul 19, 2021
Jul 19, 2021
Jul 1, 2022
Jul 1, 2022
Dec 8, 2021
Apr 10, 2023
Jul 1, 2022

Repository files navigation

A tool for recovering type information in binaries. It is designed with a simple front end schema so that it can be used with any disassembler. This analysis is in active development and the details of its API are expected to change.

Intended use is best demonstrated in test/test_schema.py's test_end_to_end method: Create a ConstraintSet object and populate it with facts from the disassembled binary. Instantiate a Solver object with the populated ConstraintSet and a collection of interesting variables (as strings or DerivedTypeVariable objects). Call the Solver object (it needs no arguments after it is instantiated). Inferred constraints are stored in an attribute called constraints.

Several additional details are included in reference/type-recovery.rst, including explanations of some of the more complex concepts from the paper and an outline of the type recovery algorithm.

Copyright and Acknowledgments

Copyright (C) 2021 GrammaTech, Inc.

This code is licensed under the GPLv3 license. See the LICENSE file in the project root for license terms.

This project is sponsored by the Office of Naval Research, One Liberty Center, 875 N. Randolph Street, Arlington, VA 22203 under contract #N68335-17-C-0700. The content of the information does not necessarily reflect the position or policy of the Government and no official endorsement should be inferred.