pyplugins.interventions package¶
Penguin Interventions Plugins¶
This package contains a collection of Penguin interventions plugins for dynamic analysis, emulation, and modeling of embedded Linux systems. These plugins provide mechanisms to intercept, log, and model various guest OS behaviors, such as pseudo-file accesses, NVRAM operations, symbolic execution of IOCTLs, and more.
Overview¶
Purpose: Enhance the observability, control, and modeling of guest system interactions during emulation or analysis. Useful for firmware analysis, device modeling, and dynamic introspection.
Key Plugins:
- pseudofiles: Model and log accesses to pseudo-files (e.g., /dev, /proc, /sys).
- nvram2: Track and log NVRAM get/set/clear operations.
- hyperfile: Provide a hypercall-based interface for guest/host file operations.
- symex: Symbolically execute IOCTLs to discover distinct execution paths and constraints.
Usage: Plugins are loaded via the Penguin framework and can be configured for specific analysis tasks.
See individual plugin modules for detailed documentation and configuration options.
Submodules¶
- pyplugins.interventions.hyperfile module
- pyplugins.interventions.kernelversion module
- pyplugins.interventions.kmods module
- pyplugins.interventions.lifeguard module
- pyplugins.interventions.mount module
- pyplugins.interventions.nvram2 module
- pyplugins.interventions.pseudofiles module
- Pseudofiles Plugin
Pseudofilescentralized_log()dump_results()fail_detect_ioctl()fail_detect_opens()gen_hyperfile_function()hyp_enoent()ioctl_default()log_ioctl_failure()populate_hf_config()proc_mtd_check()read_const_buf()read_const_map()read_const_map_file()read_default()read_empty()read_from_file()read_one()read_zero()symex_ioctl_return()uninit()write_default()write_discard()write_to_file()
get_total_counts()ignore_cmd()ignore_ioctl_path()make_rwif()path_interesting()proc_interesting()sort_file_failures()
- pyplugins.interventions.remotectrl module
- pyplugins.interventions.symex module