Trussed is a no_std Rust library and framework for building cryptographic firmware on microcontrollers. It implements a client-service syscall architecture: applications use strongly-typed client traits such as CryptoClient, FilesystemClient, and CertificateClient to send Request enums through an interchange channel; Service::process dispatches requests to pluggable mechanism implementations or custom backends, persists keys and files across three littlefs2 filesystems (internal, external, volatile), and returns Reply enums. It is not a standalone application or CLI but an embedded component used by firmware runners such as Solo 2 and Nitrokey 3.
The Firmware Modification Kit (FMK) is a CLI-based application toolkit designed for the extraction, analysis, and rebuilding of embedded Linux firmware images, primarily for routers and IoT devices. It functions as a monolithic suite of shell scripts, C/C++ binaries, and Python utilities that orchestrate a workflow: ingest a firmware binary, extract its filesystems (SquashFS, CramFS, YAFFS2), allow modification of contents or web UIs, and rebuild the image. The architecture relies heavily on bundled legacy versions of open-source tools, specifically Binwalk 2.1.1, multiple versions of SquashFS tools (2.0 through 4.2), and the 7-Zip/LZMA SDK. While functionally effective for its niche in embedded security and reverse engineering, the codebase exhibits significant technical debt due to massive code duplication across versioned forks of the same libraries and reliance on outdated dependencies (Python 2, legacy Windows API calls).