32 مستودعات
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
F Prime هو إطار عمل قائم على المكونات مصمم لتطوير ونشر البرمجيات المدمجة وبرمجيات الطيران الفضائي. يوفر بنية معيارية تفصل منطق البرمجيات عن واجهات الاتصال، مما يسمح للمطورين بتحديد هياكل النظام من خلال لغة نمذجة خاصة بالمجال. يتيح هذا النهج القائم على النماذج توليد الكود آلياً، مما يضمن الاتساق عبر طوبولوجيا النظام المعقدة مع الحفاظ على عقود واجهة صارمة بين وحدات البرمجيات. يتميز إطار العمل بنظام بناء متكامل ومجموعة عمليات بيانات أرضية. فهو يقوم بأتمتة دورة حياة البرمجيات المدمجة بالكامل، بدءاً من التجميع المتقاطع وإدارة التبعيات وصولاً إلى توليد واجهات القياس عن بُعد والأوامر. من خلال توفير بيئة موحدة لكل من برمجيات الطيران الموجودة على متن المركبة والمراقبة الأرضية، فإنه يسهل التكامل والاختبار والتحكم في الأنظمة المدمجة الموزعة عبر منصات أجهزة متنوعة. بالإضافة إلى بنيته الأساسية، يتضمن المشروع أدوات شاملة لمراقبة النظام، بما في ذلك تصور القياس عن بُعد في الوقت الفعلي، وتسجيل الأحداث، وتتبع التشخيص. وهو يدعم مجموعة واسعة من سيناريوهات النشر، من بيئات الأجهزة الخام (bare-metal) إلى أنظمة التشغيل في الوقت الفعلي، ويوفر آليات لإدارة الذاكرة، ونمذجة السلوك القائم على الحالة، وتنفيذ المهام غير المتزامنة. يتم صيانة المشروع كمستودع C++ مع توثيق شامل ودعم لنظام البناء من أجل التطوير عبر المنصات.
Provides an abstraction layer that mimics threads and message queues to support components requiring OS features in resource-constrained environments.
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.
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.
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.
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.
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.
Bruce هو برنامج ثابت (firmware) للأمن الهجومي لأجهزة ESP32 مصمم لهجمات الشبكة، وتحليل الراديو، وانتحال الهوية القائم على الأجهزة. يوفر مجموعة أدوات متخصصة لإجراء عمليات الفريق الأحمر، بما في ذلك أداة اختبار اختراق WiFi، ومجموعة أدوات راديو متعددة البروتوكولات، ونظام لمحاكاة لوحات مفاتيح وفئران USB لحقن الحمولات. يتميز البرنامج الثابت بمجموعة واسعة من قدرات معالجة الإشارات، مما يسمح باستنساخ وكتابة علامات RFID وإرسال طلبات اقتران تخريبية إلى أجهزة Bluetooth. كما يتضمن نظام راديو متعدد البروتوكولات قادر على تحليل وتشويش وإرسال الإشارات عبر ترددات Sub-GHz وFM والأشعة تحت الحمراء. يغطي المشروع مساحة واسعة من قدرات اختبار الأمان، بما في ذلك مجموعات هجمات الشبكة اللاسلكية لإلغاء المصادقة وإرسال رسائل البريد العشوائي، بالإضافة إلى نشر بوابات مقيدة لاعتراض حركة المرور. كما يدمج محاكاة USB HID لإدخال ضغطات المفاتيح وحركة الفأرة آلياً، وتتبع الموقع عبر GPS، وواجهة إدارة عن بعد قائمة على الويب لإدارة الأجهزة. يتضمن النظام مترجماً لـ JavaScript مدمجاً لتنفيذ نصوص برمجية مخصصة للأتمتة ويستخدم نظام ملفات صديقاً للذاكرة الفلاشية لإدارة الملفات والنصوص عبر الذاكرة الفلاشية الداخلية وبطاقات SD الخارجية.
Executes automated keystroke and mouse payloads on target computers via USB keyboard and mouse emulation.
Android-PIN-Bruteforce هي أداة أتمتة قائمة على الأجهزة مصممة لفتح شاشات قفل أجهزة Android عن طريق محاكاة إدخالات PIN الرقمية. تعمل كمحاكي إدخال USB HID يحاكي لوحة مفاتيح فعلية لإرسال ضغطات مفاتيح إلى جهاز مستهدف دون الحاجة إلى وصول الجذر (root) أو ADB. تم تصميم الأداة خصيصاً للعمل على الأجهزة المجهزة بـ NetHunter لتدقيق الأمان المادي وفتح الأجهزة. تدير الأداة عمليات قفل النظام من خلال تنفيذ فترات تهدئة تدريجية وتأخيرات قابلة للتهيئة بين دفعات الإدخال. تستخدم الأداة تعيين أجهزة مدفوعاً بالتكوين لضبط تسلسلات المفاتيح وملفات تعريف التوقيت لمختلف مصنعي الأجهزة وتطبيقات شاشات القفل. يدعم النظام الاستنفاد الرقمي الخطي وتوليد التسلسلات القائمة على الأنماط باستخدام أقنعة التعبير النمطي لاستهداف نطاقات PIN محددة. يتضمن النظام مراقبة الاتصال لاكتشاف حالة الجهاز وتشغيل عمليات إعادة المحاولة تلقائياً في حالة فصل الجهاز أو إعادة تشغيله.
Mimics a physical keyboard to send keystrokes to a target device without requiring root or ADB.
Asterinas هو نواة نظام تشغيل آمنة للذاكرة مصممة لمنع سباقات البيانات وتلف الذاكرة. تعمل كنواة متوافقة مع Linux-ABI، مما يتيح تنفيذ ملفات Linux الثنائية الحالية وأحمال عمل الحاويات مع توفير نموذج توزيع نظام تشغيل تصريحي. يتميز المشروع بكونه مضيف حاويات آلة افتراضية ونظام تشغيل ضيف للحوسبة السرية، مما يسمح له بالعمل داخل بيئات تنفيذ موثوقة معزولة بالأجهزة مثل Intel TDX. ينفذ قاعدة حوسبة موثوقة دنيا عن طريق عزل العمليات غير الآمنة منخفضة المستوى ويفصل آليات النواة الأساسية عن تنفيذات السياسات المحددة. يغطي النظام مجموعة واسعة من القدرات، بما في ذلك إدارة الذاكرة الفيزيائية والافتراضية، والمعالجة المتعددة المتماثلة، وتجريد الأجهزة لمختلف معماريات CPU. كما يتضمن دعمًا لأوقات تشغيل الحاويات الآمنة، ومجموعة شاملة من بدائيات الشبكات والمقابس (sockets)، وسلسلة أدوات متخصصة لتجميع النواة والمحاكاة. يدعم المشروع النشر متعدد المعماريات عبر منصات x86-64 و RISC-V 64 و LoongArch 64.
Supports running the kernel and operating systems using full system emulation and binary translation.
يوفر هذا المشروع بيئة تطوير لنواة Linux ومجموعة محاكاة نظام لبناء وتصحيح وحدات النواة وتجميع الـ baremetal عبر بنيات أجهزة متعددة. يعمل كبيئة تجريبية وإطار عمل شامل لتطوير النظام منخفض المستوى، باستخدام QEMU لمحاكاة بيئات الأجهزة دون الحاجة إلى أجهزة مادية. تدمج البيئة سلاسل أدوات التجميع المتقاطع باستخدام Buildroot و crosstool-NG لاستهداف منصات x86_64 و ARMv7 و ARMv8 من مضيف واحد. وتتميز بإطار عمل متخصص لتصحيح أخطاء النواة يستفيد من GDB و KGDB للتنفيذ خطوة بخطوة وفحص حالة كل من عمليات النواة ومساحة المستخدم. تشمل القدرات الواسعة اختبار الانحدار التلقائي لعزل فشل التمهيد والوظائف من خلال تقسيم التحكم في الإصدار، وتجريد الأجهزة لإدارة حالات طاقة وحدة المعالجة المركزية وسجلات النظام، وبدائيات اختبار منخفضة المستوى لسلامة حالة الذاكرة وتحليل التجميع. يتضمن النظام أيضاً أدوات لقياس أداء الأوامر، وتسجيل المخرجات، وتشغيل مساحة العمل المعبأة في حاويات.
Provides a full system emulation suite using QEMU and gem5 to execute kernel modules and baremetal assembly.