Skip to content
This repository was archived by the owner on May 23, 2026. It is now read-only.
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GadgetSetAnalyzer

GadgetSetAnalyzer (GSA) is security-oriented static binary analysis tool for comparing the quantity and quality of code reuse gadgets in program variants. This project is a slimmed-down version of the original tool published by Micheal D. Brown and Sontosh Pande from Georgia Institute of Technology which can be found here.

Changes

This version of GSA has most of it's functionality stripped away to make it easier to modify for my purposes. All of the original metrics besides the gadget count and quality comparisons have been removed from the codebase. It does, however, offer additional AArch64 support that is not present in the original tool at the time of writing, which only supports x86.

Usage

This version of GSA isn't meant to be run directly. Instead, you should should refer to its parent repository, RopSched.

RopSched is a fork of LLVM that uses a scheduling-based approach to reduce the number of usable gadgets in a binary. RopSched uses this watered-down version of GSA as a benchmarking tool to evaluate it's performance on Rust-based projects. Please see RopSched for usage instructions, or the original GadgetSetAnalyzer for a stand-alone tool.

Useful References

  1. GadetSetAnalyzer: the original tool with additional features.
  2. Original Paper (2019): the original paper published alongside the tool.
  3. Updated Paper (2019): a revision of the first publication that expands on the work presented in the original with some additional metrics.

About

A security-oriented static binary analysis tool for comparing the quantity and quality of code reuse gadget sets in program variants.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages