Systems and/or methods for generating reassemblable disassemblies of binaries using declarative logic
AssigneeGrammatech, Inc.
InventorsEric Michael Schulte, Antonio Enrique Flores Montoya
Life of this patent
Estimating the term…
Loading patent…
AssigneeGrammatech, Inc.
InventorsEric Michael Schulte, Antonio Enrique Flores Montoya
Estimating the term…
Certain example embodiments relate to techniques for generating reassemblable disassemblies of binaries using declarative logic. A declarative logic programming language (e.g., Datalog) is used to compile reverse engineering, binary analysis, and disassembly rules into a format applicable to an executable program, yielding disassembly of that program. Datalog, for example, can be used as a query language for deductive databases, to facilitate this approach. Certain example embodiments thus involve (1) preparation of an executable for Datalog analysis, (2) inference rules and the application of Datalog for program analysis, including the application of Datalog to the domain of binary reverse engineering and analysis, and (3) the collection of assembly code from the results of the Datalog analysis. These rules can include both “hard rules” and “soft rules” or heuristics, even though standard Datalog does not support the latter.
A method of disassembling an executable, the method comprising:
A system for disassembling an executable, comprising:
A non-transitory computer readable storage medium tangibly storing a program that, when executed by a computing system including at least one processor, is configured to disassemble an executable, by performing functionality comprising:
Dependencies are inferred from the claim text.