P-RIOT
⚡ P-RIOT
From Static Analysis to Advanced Fuzzing
01
Introduction
1. Static analysis
2. Binary lifting
3. From lifting to execution
4. Examples, P-Code, Intro to TCG
5. Hands-on: Kunai, disasm and lift
6. Hands-on: Kunai, IR analysis
7. TCG Internals
8. Hands-on: tracking code through the TCG −
• registers
• jumps
• Code coverage
02
Basic QEMU Emulation & Machine Creation
1. Overview of QEMU components and their interactions
2. Understanding QEMU machine types and hardware emulation
3. Introduction to firmware versioning and implications for emulation
4. Hands-on: Building and customizing a QEMU machine type for the ST Nucleo L452RE board with base firmware
5. Hands-on: Implementing a dummy device as an introduction to peripheral integration
6. Hands-on: Implementing and configuring the RCC (Reset and Clock Control) for clock management in QEMU
03
Intermediate Device Emulation with Enhanced Firmware
1. Discussing complex device interactions and DMA implementations using existing peripherals
2. Step-by-step guide on adding complex devices to firmware version 2, focusing on USARTs and UARTs for DMA demonstrations
3. Hands-on: Developing and integrating a new peripheral device in QEMU
4. Implementing and troubleshooting DMA for USARTs
5. Hands-on: Modifying and testing firmware version 2 in the emulated environment
6. Exploring potential implementations for missing devices like the SPI controller
04