panda-re / pypanda-plugins

PyPANDA plugins

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyPANDA Plugins

Standalone Python plugins for PANDA's Python Interface.

They are separated into two directories:

  • src/pyplugins - PyPlugins
  • scripts - libraries and scripts designed for use with standalone pypanda scripts

Install

Optional Virtualenv Setup

python3 -m venv venv
. venv/bin/activate

Install PANDA from source and build (not shown), then install PyPanda (with develop or install)

cd panda/panda/python/core/pandare
python setup.py develop

Install this PyPlugins package (with develop or install)

cd panda-pyplugins/
python setup.py develop

Plugins

Basic Block Count (bb_count.py)

A plugin that provides a live-updating basic block count.

Webpage url: https://localhost:8080/BasicBlockCount

Live Process Graph (proc_graph.py)

A plugin that provides a live-updating process graph.

Webpage url: https://localhost:8080/LiveProcGraph

Process Graph

Scripts

FileHook

When the guest attempts to access a file, silently redirect the access to another file.

hook = FileHook(panda)
hook.rename_file("/does_not_exist", "/etc/issue")

FileFaker

** Currently broken ** When the guest attempts to read from a file which may or may not exist, provide fake contents.

fake = FileFaker(panda)
faker.replace_file("/does_not_exist", FakeFile("Hello World")

IoctlFaker

When the guest issues an IOCTL that returns -ENOTTY (i.e., no driver has registered this IOCTL), silence the error.

iofaker = IoctlFaker(panda)
panda.run()

print(iofaker.get_forced_returns())

ModeFilter

Class of decorators to simplify state machines in PyPANDA scripts.

ProcWriteCapture

Whenever a guest process writes data, record it to the host disk.

ProcWriteCapture(panda)
panda.run()
# Local files will be created when guest programs write output

Status

These plugins are unversioned.

About

PyPANDA plugins


Languages

Language:Python 97.8%Language:HTML 2.2%