Skip to content

An attempt at creating a JIT'd Pcode emulation engine for fuzzing purposes

Notifications You must be signed in to change notification settings

Jumboperson/pcfe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PCFE

PCode Fuzzing Engine

PCFE is an attempt at creating a JIT'd Pcode emulation engine for fuzzing purposes.

Currently just JIT some code from the provided binary file, call it, and display some register information.

Todo List

  • Add big endian support
  • Fix the weird bug with branching + optimizations
  • Breakpoints
  • Coverage callbacks
  • Emulator API
    • Python bindings for ease of use
    • Loading snapshots
      • Also may require Sleighcraft modifications

Planned features

  • Branch coverage
  • Compare coverage
  • Tie into LibAFL
  • Provide an interface for using with libfuzzer/AFL/hongfuzz

Requirements

  • Rust 1.53
  • llvm 10.0+

Usage

cargo run <target bin> [-vvvv] [-a ARCH]

About

An attempt at creating a JIT'd Pcode emulation engine for fuzzing purposes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages