Skip to content
This repository has been archived by the owner on Feb 26, 2020. It is now read-only.

ryantanwk/Ghidra-Type-Recovery-Plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PROJECTNAME

PROJECTNAME is a value-set analysis plugin for Ghidra. Locate local variables on a function's stack using Ghidra's intermediate represention results on binaries without debug symbols.

Value-set Analysis

Value-set analysis (VSA) is an abstract interpretation that produces a sound estimate of the set of addresses or numeric values that each register and variable can take. To achieve this, VSA uses a combination of numeric-analysis and pointer-analysis.

Numeric-analysis produces an over-approximation of the value-set of integer values that each non-pointer variable and register can take.

Pointer-analysis produces an over-approximation of the value-set of addresses that a pointer variable or register can take.

Environment

PROGRAMNAME was developed and tested on Ubuntu 18.04.3LTS and deployed on Ghidra v9.1.

Installation

Install Ghidra.

Clone this repository to your device.

Create a symbolic link to 'src' named 'ghidra_scripts' in the home directory using ln.

sudo ln -s <path to 'src'> /ghidra_scripts

Usage on Ubuntu 18.04.3LTS

Launch Ghidra.

Run the script 'VSA_IR.java' from Ghidra's GUI.

NOTE: By default, the program prints its results to the file "VSAoutput_.txt" to in the home directory. More information about how to customize the output directory can be found here.

About

Ghidra is a software reverse engineering (SRE) framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.3%
  • C 0.7%