All Projects → bnbdr → ida-bpf-processor

bnbdr / ida-bpf-processor

Licence: MIT license
BPF Processor for IDA Python

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ida-bpf-processor

Scratchabit
Easily retargetable and hackable interactive disassembler with IDAPython-compatible plugin API
Stars: ✭ 369 (+800%)
Mutual labels:  disassembler, ida
Hyara
Yara rule making tool (IDA Pro & Binary Ninja & Cutter Plugin)
Stars: ✭ 142 (+246.34%)
Mutual labels:  ida, idapython-plugin
Redasm
The OpenSource Disassembler
Stars: ✭ 1,042 (+2441.46%)
Mutual labels:  disassembler, ida
obfDetect
IDA plugin to pinpoint obfuscated code
Stars: ✭ 99 (+141.46%)
Mutual labels:  ida, idapython-plugin
Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (+13007.32%)
Mutual labels:  disassembler, bpf
Ghida
Stars: ✭ 549 (+1239.02%)
Mutual labels:  disassembler, ida
Necromancer
IDA Pro V850 Processor Module Extension
Stars: ✭ 21 (-48.78%)
Mutual labels:  processor, ida
Sundials.jl
Julia interface to Sundials, including a nonlinear solver (KINSOL), ODE's (CVODE and ARKODE), and DAE's (IDA) in a SciML scientific machine learning enabled manner
Stars: ✭ 167 (+307.32%)
Mutual labels:  ida
juniEmu
Emulator interface for ARM 32-bit
Stars: ✭ 32 (-21.95%)
Mutual labels:  disassembler
Capstone.NET
.NET Core and .NET Framework binding for the Capstone Disassembly Framework
Stars: ✭ 108 (+163.41%)
Mutual labels:  disassembler
Octavo
Verilog FPGA Parts Library. Old Octavo soft-CPU project.
Stars: ✭ 66 (+60.98%)
Mutual labels:  processor
gdt helper
Ghidra Data Type (GDT) Helper
Stars: ✭ 24 (-41.46%)
Mutual labels:  disassembler
nds loader
Nintendo DS loader module for IDA Pro 6.1
Stars: ✭ 16 (-60.98%)
Mutual labels:  ida
wp-queue-tasks
Create and process tasks asynchronously in WordPress
Stars: ✭ 17 (-58.54%)
Mutual labels:  processor
Home-Brew-Computer
SystemOT, yet another home brew cpu.
Stars: ✭ 21 (-48.78%)
Mutual labels:  processor
fa
Automation tool for locating symbols & structs in binary (primary IDA focused)
Stars: ✭ 58 (+41.46%)
Mutual labels:  ida
nand2tetris
💡 Nand2tetris course
Stars: ✭ 31 (-24.39%)
Mutual labels:  processor
java-class-tools
Read and write java class files in Node.js or in the browser.
Stars: ✭ 27 (-34.15%)
Mutual labels:  disassembler
connect
tiny cross-platform socket API library
Stars: ✭ 46 (+12.2%)
Mutual labels:  bpf
easyseccomp
DSL language to write seccomp filters
Stars: ✭ 21 (-48.78%)
Mutual labels:  seccomp

BPF Bytecode Processor for IDA (python)

Processor

Supports the old BPF bytecode only (no eBPF).

The processor will display conditional branches with a 0 value true-offset as their opposite logical counterpart, e.g. JEQ 0xFF, 0, 1 as JNE 0xFF, 1, 0.

Loader

The loader accepts files that have a custom bpf header and sets up several symbolic constants for seccomp:

SECCOMP_RET_KILL = 0x00000000
SECCOMP_RET_TRAP = 0x00030000
SECCOMP_RET_ERRNO = 0x00050000
SECCOMP_RET_TRACE = 0x7ff00000
SECCOMP_RET_ALLOW = 0x7fff0000
// --------------
AUDIT_ARCH_I386 = 0x40000003
AUDIT_ARCH_X86_64 = 0xC000003E

File Format

The loader accepts files in the following format (see 010template):

int magic;
int reserved;
struct sock_filter bpf_c[0];

where magic must be "bpf\0" and reserved must be 0.

Installation

put the processor plugin bpf.py in:

<IDA_INSTALL_DIR>\procs\

put the file loader bpf_loader.py in:

<IDA_INSTALL_DIR>\loaders\

Supported Versions

  • IDA 7.x (tested on 7.0).
  • For older IDA versions use this.

License

MIT 2018 @bnbdr

Relevant References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].