lapsang-boys / pippi

A modular, extensible and collaborative reverse engineering ecosystem
https://pippi.re
BSD 2-Clause "Simplified" License
7 stars 1 forks source link

Ideas #1

Open karlek opened 5 years ago

karlek commented 5 years ago

Surrounding

Interactive

Dynamic

Static

Future aspirational

karlek commented 5 years ago

File format reverse engineering mode. Annotate, color, document, select and mark field as length or offset, reserved, etc. Inspired by yours truly.

https://raw.githubusercontent.com/mewmew/dissection/master/img/elf_dissection.png

mewmew commented 5 years ago

entropy cube

entropy visualized

mewmew commented 5 years ago

For binary instrumentation, investigate using uprobes (instead of ptrace) as we wish to get execution context for every instruction. For this purpose, uprobes should be more performant than ptrace.

From https://www.youtube.com/watch?v=de9cVAx6REA: 2019-09-01-170558_1229x224_scrot

mewmew commented 4 years ago

Putting this here to have easy access to the links.

For emulation, rather than relying on e.g. QEMU, we should look into Unicorn (by the same people that wrote Capstone).

Slides from 2015: https://www.unicorn-engine.org/BHUSA2015-unicorn.pdf

Stumbled upon this, as I'd love to play around with the Tiny Code Generator of QEMU, and as it turns out, Unicorn is essentially QEMU without "bloat" (or rather features useful for emulation, but feature we will not need for static and dynamic analysis of binaries).

mewmew commented 4 years ago

Another system to look into playing around with is S²E which can be used for symbolic execution, among others.