Skip to content

Ghidra plugin for recovering virtual object type info using data traced at runtime via Frida

Notifications You must be signed in to change notification settings

dubiousconst282/FridaTypeTracer

Repository files navigation

FridaTypeTracer

Ghidra plugin for recovering virtual object type information using data traced at runtime via Frida


Call instrumentation is done using a Frida stalker injected in the target process. It probes the rcx/ecx register to check for possible object instances - those who point to a valid memory region within the process and also references a static address in the process module.

The data is collected into a file for later use by the Ghidra plugin to generate types (using a very crude approach), assign function parameter types, and link cross references.

Further information could be captured in order to trace type information for parameters other than this, however that is likely to be considerably more complicated to implement.

Usage

  1. Install Frida and clone repo: pip install frida-tools ; git clone https://github.com/dubiousconst282/FridaTypeTracer
  2. Instrument process: python FridaTypeTracer/capture.py target_app.exe trace_data/
  3. Load and run FridaTraceImporter.java via Ghidra Script Manager

The definition EVENT_SKIP_FREQ in stalk_event_handler.c may be changed to a higher value to improve performance and reduce the amount of data generated.

About

Ghidra plugin for recovering virtual object type info using data traced at runtime via Frida

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published