Skip to content

Tr4cck/neo-frida-trace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

frida-trace (Enhanced UI Build)

This folder contains an enhanced frida-trace implementation with a pluginized web panel for reverse engineering workflows.

What Is New

Compared to default tracing output, this build adds:

  • Live Register Panel (__registers__ / __registers_json__ parsing)
  • Hotspot statistics (function/thread/caller, pending/enter/leave)
  • Memory read and memory dump from UI
  • Module/base/offset resolution helpers
  • One-click offset locator with copy buttons:
    • module!offset
    • base + offset
    • absolute
  • Collapsible floating UI panel (mini button + drag/snap behavior)

Directory Layout

frida_tools/
├── tracer.py                  # Main Python entry + UI server + plugin loader
├── tracer_agent.js            # Agent runtime logic
├── tracer_ui.zip              # Bundled web UI assets (base UI)
├── plugins/                   # Injected panel plugins (loaded in order)
│   ├── bootstrap.js
│   ├── panel_interaction.js
│   ├── resolver_locator.js
│   ├── register.js
│   ├── hotspot.js
│   └── runtime.js
└── ...

tracer.py injects plugin files into the served web UI at runtime.

Basic Usage

Use frida-trace as usual. Example:

frida-trace -U -f com.example.app -i "libtarget.so!*" --ui-host 127.0.0.1

When tracing starts, open the local UI URL printed in terminal, for example:

http://127.0.0.1:<port>/

Developer Guide (Adding New Features)

1) Pick the correct plugin

  • Shared state / base elements: plugins/bootstrap.js
  • Floating panel behavior: plugins/panel_interaction.js
  • Address/module/locator features: plugins/resolver_locator.js
  • Register parsing/display: plugins/register.js
  • Hotspot pipeline/display: plugins/hotspot.js
  • WS message routing / request calls: plugins/runtime.js

2) Keep plugin load order compatible

tracer.py loads plugins in strict order. If your feature depends on symbols/state from another plugin, place code after that dependency.

3) Add new WS message types safely

  • Backend: emit/broadcast in tracer.py
  • Frontend: register handler in plugins/runtime.js
  • Prefer dedicated channels over polluting normal trace event output

4) Keep reverse workflow practical

When possible, include copyable values (absolute, base+offset, module!offset) and avoid requiring manual address math.

Notes

  • This is a developer-oriented local package folder (site-packages/frida_tools).
  • If you upgrade/reinstall frida-tools, custom changes may be overwritten.

About

frida-trace with FX panel.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors