awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

32 dépôts

Awesome GitHub RepositoriesHardware Interface Emulators

Tools that allow devices to act as standard hardware interfaces like USB HID, NFC tags, or RFID badges.

Distinct from Hardware Emulators: Focuses on emulating external hardware interfaces for interaction rather than simulating internal hardware for debugging.

Explore 32 awesome GitHub repositories matching operating systems & systems programming · Hardware Interface Emulators. Refine with filters or upvote what's useful.

Awesome Hardware Interface Emulators GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • shadps4-emu/shadps4Avatar de shadps4-emu

    shadps4-emu/shadPS4

    31,390Voir sur GitHub↗

    shadPS4 is a C++ game emulator and hardware virtualization tool designed to replicate the PlayStation 4 system environment and hardware to run console software on a computer. It functions as a cross-platform application compatible with Windows, Linux, macOS, and FreeBSD. The project serves as a graphics debugging tool capable of dumping shaders and integrating with rendering tools for performance analysis. It provides a system for recreating the console environment through the import of official firmware files, system fonts, and the use of decrypted keys for tracking game trophies. The emula

    Replicates PlayStation 4 hardware and system software to run games on a computer.

    C++cppcpp23emulation
    Voir sur GitHub↗31,390
  • rpcs3/rpcs3Avatar de RPCS3

    RPCS3/rpcs3

    18,209Voir sur GitHub↗

    RPCS3 is a C++ application that functions as a software environment for executing and managing PlayStation 3 console titles on desktop operating systems. It operates by translating proprietary console hardware instructions and graphics commands into formats compatible with modern computer hardware, allowing for the execution of original game software. The emulator distinguishes itself through a comprehensive suite of tools for managing game libraries, applying software patches to modify performance characteristics, and tracking the compatibility status of individual titles. It includes integr

    Replicates the console operating system functions and library calls to allow software to execute without requiring full hardware virtualization.

    C++assembly-languageccpp
    Voir sur GitHub↗18,209
  • phil-opp/blog_osAvatar de phil-opp

    phil-opp/blog_os

    17,518Voir sur GitHub↗

    This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves as a low-level system implementation focusing on the creation of a bare metal operating system. The system implements a bootable disk image toolchain that transforms source code into binaries compatible with a bootloader. It features a custom memory allocator for dynamic memory management and an x86 kernel implementation that includes paging, interrupt handling, and VGA text mode. The project covers several core capability areas, including low-level memory management through

    Launches compiled disk images in virtual machines to test kernel behavior.

    HTMLkerneloperating-systemrust
    Voir sur GitHub↗17,518
  • uberguidoz/flipperAvatar de UberGuidoZ

    UberGuidoZ/Flipper

    17,148Voir sur GitHub↗

    Flipper is a portable, multi-protocol hardware security tool designed for the analysis, capture, and emulation of wireless and physical access signals. It functions as a platform for security research and hardware experimentation, enabling users to interact with radio frequency, infrared, and near-field communication systems. The device distinguishes itself through its modular firmware architecture and script-based execution engine, which allow for the automation of complex signal transmissions and keystroke injection sequences. By utilizing direct hardware manipulation and event-driven polli

    Emulates physical access tokens and proximity tags for security research and testing.

    C
    Voir sur GitHub↗17,148
  • redox-os/redoxAvatar de redox-os

    redox-os/redox

    16,054Voir sur GitHub↗

    Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to

    Launches the operating system image within a virtualized environment to allow testing and interaction with the graphical user interface.

    Rustbsdfreebsdgnu
    Voir sur GitHub↗16,054
  • rust-embedded/rust-raspi3-os-tutorialsAvatar de rust-embedded

    rust-embedded/rust-raspi3-OS-tutorials

    14,682Voir sur GitHub↗

    This project is a tutorial and framework for building a low-level, bare-metal operating system from scratch using the Rust language. It focuses on ARMv8 kernel development specifically for the Raspberry Pi 3, providing the resources necessary to implement a monolithic kernel that runs directly on hardware without an underlying operating system. The project distinguishes itself by providing a complete embedded cross-compilation suite within a containerized environment to ensure consistent builds. It includes a dedicated kernel deployer that uses a serial interface and chainloader to load and b

    Enables testing of kernel functionality via system emulation before deploying to physical hardware.

    Rust
    Voir sur GitHub↗14,682
  • dolphin-emu/dolphinAvatar de dolphin-emu

    dolphin-emu/dolphin

    14,644Voir sur GitHub↗

    Dolphin is a software environment that simulates GameCube and Wii console hardware, allowing users to execute game discs and digital software on modern computing platforms. It functions by translating original console processor instructions into native host machine code at runtime and intercepting low-level graphics commands to render them through modern graphics APIs. The project distinguishes itself through a comprehensive netplay engine that enables online multiplayer for local games by synchronizing game states and input timing across remote instances. This system enforces deterministic e

    Simulates original console hardware environments to execute game discs and digital software on modern platforms.

    C++cppemulationemulator
    Voir sur GitHub↗14,644
  • s-matyukevich/raspberry-pi-osAvatar de s-matyukevich

    s-matyukevich/raspberry-pi-os

    13,854Voir sur GitHub↗

    This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m

    Simulates the boot process and hardware interactions to execute the kernel within a virtual machine.

    Carmarmv8assembler
    Voir sur GitHub↗13,854
  • hrydgard/ppssppAvatar de hrydgard

    hrydgard/ppsspp

    13,375Voir sur GitHub↗

    This project is a cross-platform, open-source emulator designed to execute handheld gaming software on modern desktop and mobile hardware. By recreating the original console environment and system libraries, it allows users to run game files without requiring original firmware. The software achieves high-performance execution through a combination of dynamic recompilation and just-in-time instruction translation, which map console-specific instructions to native host machine code. The emulator distinguishes itself by providing advanced visual and connectivity enhancements that extend beyond t

    Replaces low-level hardware components with software implementations of system libraries and kernels to improve compatibility and execution speed.

    C++emulatorsppsspppsp
    Voir sur GitHub↗13,375
  • qemu/qemuAvatar de qemu

    qemu/qemu

    12,714Voir sur GitHub↗

    QEMU is a cross-platform system emulator and hardware virtualization platform that enables the execution of multiple isolated operating systems on a single host machine. It functions as a processor architecture emulator, translating machine instructions between different hardware platforms to allow software designed for one architecture to run on another. The project distinguishes itself through a modular target architecture that separates core emulation logic from specific hardware definitions, supporting a wide range of processor and peripheral configurations. It utilizes dynamic binary tra

    Provides full system emulation and user-mode emulation for various processor architectures and peripheral devices.

    Cemulationqemuvirtualization
    Voir sur GitHub↗12,714
  • nasa/fprimeAvatar de nasa

    nasa/fprime

    10,766Voir sur GitHub↗

    F Prime est un framework basé sur des composants conçu pour le développement et le déploiement de logiciels embarqués et spatiaux. Il fournit une architecture modulaire qui découple la logique logicielle des interfaces de communication, permettant aux développeurs de définir des structures système via un langage de modélisation spécifique au domaine. Cette approche basée sur les modèles permet la génération automatique de code, garantissant la cohérence des topologies système complexes tout en maintenant des contrats d'interface stricts entre les modules logiciels. Le framework se distingue par son système de build intégré et sa suite d'opérations de données au sol. Il automatise l'intégralité du cycle de vie des logiciels embarqués, de la compilation croisée et la gestion des dépendances à la génération d'interfaces de télémétrie et de commande. En fournissant un environnement unifié pour les logiciels de vol embarqués et la surveillance au sol, il facilite l'intégration, les tests et le contrôle des systèmes embarqués distribués sur diverses plateformes matérielles. Au-delà de son architecture centrale, le projet inclut des outils complets pour l'observabilité du système, notamment la visualisation de télémétrie en temps réel, la journalisation d'événements et le traçage de diagnostic. Il prend en charge un large éventail de scénarios de déploiement, des environnements bare-metal aux systèmes d'exploitation temps réel, et fournit des mécanismes pour la gestion de la mémoire, la modélisation de comportement pilotée par les états et l'exécution de tâches asynchrones. Le projet est maintenu sous forme de dépôt C++ avec une documentation étendue et un support du système de build pour le développement multiplateforme.

    Provides an abstraction layer that mimics threads and message queues to support components requiring OS features in resource-constrained environments.

    C++componentscppembedded
    Voir sur GitHub↗10,766
  • mit-pdos/xv6-riscvAvatar de mit-pdos

    mit-pdos/xv6-riscv

    9,934Voir sur GitHub↗

    xv6-riscv is a simplified Unix-like teaching operating system designed for the study of kernel design and hardware interaction. It provides a low-level RISC-V kernel implementation that serves as a bootable system image for execution and debugging within a virtual machine or emulator. The project focuses on educational instruction regarding the RISC-V architecture. It enables the study of operating system concepts through a minimal kernel that implements process management and memory handling. The system covers core kernel operations including multiprocessor resource management and the imple

    Provides a target for system emulators to analyze the interaction between RISC-V hardware and the kernel.

    C
    Voir sur GitHub↗9,934
  • flipper-xfw/xtreme-firmwareAvatar de Flipper-XFW

    Flipper-XFW/Xtreme-Firmware

    9,887Voir sur GitHub↗

    Xtreme-Firmware is a custom operating system for the Flipper Zero designed to expand hardware capabilities and remove software restrictions. It functions as a multi-protocol signal emulator for capturing and replaying RFID, NFC, Sub-GHz, and Infrared signals to test hardware security. The project features a specialized USB HID attack framework for sending keystroke payloads and spoofing device identifiers over USB and Bluetooth. It also includes a WiFi penetration testing suite for scanning, sniffing, and sending deauthentication frames using a wireless development board. Broad capabilities

    Provides the ability to emulate physical contact keys and hardware identifiers to mimic original iButton hardware.

    Ccfwcustom-firmwareflipper-firmware
    Voir sur GitHub↗9,887
  • mit-pdos/xv6-publicAvatar de mit-pdos

    mit-pdos/xv6-public

    9,466Voir sur GitHub↗

    xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for

    Bootstraps the compiled system image within a virtual machine emulator for testing and execution.

    C
    Voir sur GitHub↗9,466
  • felixrieseberg/macintosh.jsAvatar de felixrieseberg

    felixrieseberg/macintosh.js

    8,480Voir sur GitHub↗

    macintosh.js is an Electron-based system emulator designed to run legacy operating systems and vintage software within a modern desktop application. It functions as a virtual machine that replicates the hardware and software environment of a Macintosh Quadra to execute System 8. The project includes a UDP network bridge and virtual Ethernet integration, which routes network traffic to specific ports to enable communication between multiple emulated instances on a local network. The emulator supports virtual disk management and disk-image mounting to transfer files between the host machine an

    Replicates a legacy Macintosh Quadra's physical components to launch and interact with operating system images.

    JavaScriptelectronemulatorjavascript
    Voir sur GitHub↗8,480
  • aflplusplus/aflplusplusAvatar de AFLplusplus

    AFLplusplus/AFLplusplus

    6,605Voir sur GitHub↗

    AFL++ is a coverage-guided fuzzing framework that discovers crashes and hangs in software by mutating inputs while tracking which code paths are exercised. It functions as both a fuzzing engine and a campaign manager, supporting targets with or without source code through compile-time instrumentation, dynamic binary instrumentation, and emulation. The framework includes tools for crash triage and analysis, test case minimization, and campaign deployment across local or distributed environments. The framework distinguishes itself through its breadth of instrumentation backends, allowing users

    Emulates entire x86_64 systems using KVM and QEMU with snapshot support for binary-only fuzzing in a controlled environment.

    C
    Voir sur GitHub↗6,605
  • pr3y/bruceAvatar de pr3y

    pr3y/Bruce

    5,985Voir sur GitHub↗

    Bruce est un firmware de sécurité offensive pour le matériel ESP32 conçu pour les attaques réseau, l'analyse radio et l'usurpation d'identité basée sur le matériel. Il fournit une boîte à outils spécialisée pour mener des opérations red team, incluant un outil de test de pénétration WiFi, une boîte à outils radio multi-protocole et un système pour émuler des claviers et souris USB afin d'injecter des charges utiles. Le firmware se distingue par un large éventail de capacités de manipulation de signaux, permettant le clonage et l'écriture de tags RFID et la transmission de demandes de couplage perturbatrices aux appareils Bluetooth. Il inclut également un système radio multi-protocole capable d'analyser, de brouiller et de transmettre des signaux sur des fréquences Sub-GHz, FM et infrarouges. Le projet couvre une large surface de capacités de test de sécurité, incluant des suites d'attaques de réseaux sans fil pour la désauthentification et le spam de balises, ainsi que le déploiement de portails captifs pour l'interception du trafic. Il intègre en outre l'émulation HID USB pour la saisie automatisée au clavier et à la souris, le suivi de localisation GPS et une interface d'administration à distance basée sur le web pour la gestion des appareils. Le système inclut un interpréteur JavaScript embarqué pour exécuter des scripts d'automatisation personnalisés et utilise un système de fichiers adapté à la mémoire flash pour gérer les fichiers et les scripts sur la mémoire flash interne et les cartes SD externes.

    Executes automated keystroke and mouse payloads on target computers via USB keyboard and mouse emulation.

    C++
    Voir sur GitHub↗5,985
  • urbanadventurer/android-pin-bruteforceAvatar de urbanadventurer

    urbanadventurer/Android-PIN-Bruteforce

    4,692Voir sur GitHub↗

    Android-PIN-Bruteforce est un outil d'automatisation basé sur le matériel conçu pour déverrouiller les écrans de verrouillage d'appareils Android en simulant des entrées de code PIN numériques. Il fonctionne comme un émulateur d'entrée USB HID qui imite un clavier physique pour envoyer des frappes de touches à un appareil cible sans nécessiter d'accès root ou ADB. L'utilitaire est spécifiquement conçu pour fonctionner sur des appareils équipés de NetHunter pour l'audit de sécurité physique et le déverrouillage d'appareils. L'outil gère les verrouillages système en mettant en œuvre des périodes de refroidissement progressives et des délais configurables entre les lots d'entrées. Il utilise un mappage matériel piloté par configuration pour ajuster les séquences de touches et les profils de synchronisation pour différents fabricants d'appareils et implémentations d'écrans de verrouillage. Le système prend en charge l'épuisement numérique linéaire et la génération de séquences basées sur des motifs en utilisant des masques d'expressions régulières pour cibler des plages de PIN spécifiques. Il inclut une surveillance de connexion pour détecter le statut de l'appareil et déclencher automatiquement des tentatives si un appareil est déconnecté ou redémarré.

    Mimics a physical keyboard to send keystrokes to a target device without requiring root or ADB.

    Shellandroidandroid-securitybruteforce
    Voir sur GitHub↗4,692
  • asterinas/asterinasAvatar de asterinas

    asterinas/asterinas

    4,678Voir sur GitHub↗

    Asterinas est un noyau de système d'exploitation sécurisé en mémoire conçu pour prévenir les data races et la corruption mémoire. Il fonctionne comme un noyau compatible Linux-ABI, permettant l'exécution de binaires Linux existants et de charges de travail conteneurisées tout en offrant un modèle de distribution de système d'exploitation déclaratif. Le projet se distingue en agissant comme un hôte de conteneurs pour machines virtuelles et un OS invité pour le confidential computing, lui permettant de s'exécuter au sein d'environnements d'exécution isolés matériellement comme Intel TDX. Il implémente une base de calcul de confiance minimale en isolant les opérations dangereuses de bas niveau et sépare les mécanismes fondamentaux du noyau des implémentations de politiques spécifiques. Le système couvre un large éventail de capacités, incluant la gestion de la mémoire physique et virtuelle, le multi-processing symétrique et l'abstraction matérielle pour diverses architectures CPU. Il inclut également le support pour les runtimes de conteneurs sécurisés, un ensemble complet de primitives réseau et socket, ainsi qu'une toolchain spécialisée pour la compilation et l'émulation du noyau. Le projet prend en charge le déploiement multi-architecture sur les plateformes x86-64, RISC-V 64 et LoongArch 64.

    Supports running the kernel and operating systems using full system emulation and binary translation.

    Rustkernelosrust
    Voir sur GitHub↗4,678
  • cirosantilli/linux-kernel-module-cheatAvatar de cirosantilli

    cirosantilli/linux-kernel-module-cheat

    4,491Voir sur GitHub↗

    Ce projet fournit un environnement de développement du noyau Linux et une suite d'émulation système pour construire et déboguer des modules noyau et de l'assembleur bare-metal à travers de multiples architectures matérielles. Il fonctionne comme un bac à sable complet et un framework pour le développement système bas niveau, utilisant QEMU pour simuler des environnements matériels sans avoir besoin de périphériques physiques. L'environnement intègre des chaînes de compilation croisée utilisant Buildroot et crosstool-NG pour cibler les plateformes x86_64, ARMv7 et ARMv8 depuis un seul hôte. Il dispose d'un framework de débogage noyau spécialisé qui exploite GDB et KGDB pour l'exécution pas à pas et l'inspection d'état des processus noyau et utilisateur. Ses larges capacités incluent des tests de régression automatisés pour isoler les échecs de démarrage et fonctionnels via la bissection de contrôle de version, l'abstraction matérielle pour gérer les états d'alimentation du CPU et les registres système, et des primitives de test bas niveau pour l'intégrité de l'état mémoire et l'analyse d'assembleur. Le système inclut également des utilitaires pour le benchmarking de performance des commandes, la journalisation de sortie et l'amorçage d'espaces de travail conteneurisés.

    Provides a full system emulation suite using QEMU and gem5 to execute kernel modules and baremetal assembly.

    Python
    Voir sur GitHub↗4,491
Préc.12Suivant
  1. Home
  2. Operating Systems & Systems Programming
  3. Virtualization & Emulation
  4. Hardware Emulators
  5. Hardware Interface Emulators

Explorer les sous-tags

  • Bus Slave EmulatorsSimulation of specific peripheral addresses on electronic buses for traffic interception. **Distinct from Hardware Interface Emulators:** Targets low-level bus protocol emulation (like I2C) specifically, unlike general USB/NFC interfaces
  • Emulator Target Images1 sous-tagBootable binary images specifically formatted to be run within hardware emulators. **Distinct from System Emulators:** Distinct from the emulator software itself; this refers to the target image being emulated.
  • System Emulators8 sous-tagsTools for launching operating system images within virtualized environments for graphical interaction. **Distinct from Hardware Interface Emulators:** Distinct from Hardware Interface Emulators: focuses on full system emulation rather than specific hardware interface simulation.
  • UART Peripheral EmulationMimics the behavior of serial devices to simulate UART communication targets. **Distinct from Hardware Interface Emulators:** Specifically targets the emulation of UART serial peripherals rather than general HID or RFID interfaces.
  • USB Interface AuditingAuditing of physical USB interfaces by emulating malicious peripherals and network bridges. **Distinct from Hardware Interface Emulators:** Focuses on testing the vulnerability of the host's USB port rather than generic hardware emulation
  • USB Keyboard EmulationSpecifically emulating a USB keyboard to inject keystrokes into a host system. **Distinct from Hardware Interface Emulators:** Focuses exclusively on keyboard input emulation for command execution