Boomerang

This project was born from a desire to practice Rust and refine concepts I first explored with Chestburster during my thesis. The key ideas remain similar: intercept and instrument system calls, forward memory accesses, and migrate processes between different hosts. Indeed, embedded systems differ greatly from one another. I've found that the conditions for analysis can vary widely across these environments, prompting questions like: Can I recompile and flash a modified kernel? Can I compile and load a kernel module? Are ptrace syscalls enabled? Do I want to use an emulator? Therefore, I prefer to let the analyst decide how the interception should happen and use the library accordingly. My aim is to provide building blocks for writing dynamic analysis tools (debuggers, fuzzers, etc.) tailored for specific analyses. This is still a work in progress.