18 مستودعات
Tools for monitoring and modifying running processes across various hardware architectures.
Distinct from Low Level Tools: None of the candidates specifically target the a-priori activity of low-level debugging; they focus on systems programming or general tools.
Explore 18 awesome GitHub repositories matching operating systems & systems programming · Low-Level Debuggers. Refine with filters or upvote what's useful.
radare2 is a reverse engineering framework and binary analysis toolset. It functions as a multi-architecture disassembler, low-level binary debugger, and hexadecimal editor for inspecting executable structures and interpreting machine code when original source files are unavailable. The framework provides capabilities for decompiling machine instructions, performing symbolic analysis, and diffing binary files to identify structural changes across versions. It also includes a digital forensic analyzer and disk analyzer for browsing filesystem formats in userland. The toolset supports binary p
Monitors and modifies running processes across different hardware architectures to identify bugs and analyze behavior.
Ish is a Linux shell emulator for iOS that provides a local terminal environment for running shell commands and managing files. It functions as an instruction-level emulator that enables the execution of Linux binaries on mobile devices by simulating an Alpine Linux environment. The project distinguishes itself by combining user-mode Linux emulation with a virtual root filesystem. This allows the software to map Linux kernel system calls to host functions and execute scripts and toolsets directly on an iPhone or iPad. The emulator also provides low-level program debugging capabilities, inclu
Provides low-level debugging tools to analyze program behavior through instruction and system call tracking.
rr is a deterministic record and replay framework and reverse debugger for Linux processes. It provides a deterministic execution environment that captures program execution, allowing bugs and crashes to be reproduced exactly through replay. The tool enables reverse program execution, allowing a developer to move the program counter backward through recorded history to trace a bug from its effect back to its source. It utilizes a recording mechanism that ensures a process run can be replayed with identical memory and register states. The framework covers low-level software analysis and nativ
Inspects memory and program state changes over time using data breakpoints and reverse execution to find root causes.
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Provides a comprehensive low-level debugging framework for analyzing various binary formats across multiple architectures.
Unicorn is a multi-architecture CPU emulation framework and library that utilizes just-in-time compilation to execute instructions across various processor architectures, including ARM, x86, and RISC-V. It functions as both a JIT compilation engine and an instrumentation tool, allowing for the execution of machine code without the need for physical hardware. The framework is distinguished by its hook-based execution instrumentation, which enables the interception of specific instructions and memory accesses to trigger custom callback functions. It provides a language-agnostic binding layer an
Provides low-level monitoring and modification of instruction execution and memory access during runtime.
GEF is a Python-based extension for GDB that serves as a framework for binary analysis, exploit development, and low-level debugging. It functions as a dynamic analysis extension designed to assist in reverse engineering workflows and malware analysis by enhancing the debugger's ability to inspect process state and memory. The project is distinguished by its specialized heap analysis tools, which allow for the inspection of glibc heap arenas, bins, and chunks to detect memory corruption. It also provides a dedicated toolkit for exploit development, including cyclic pattern generation for offs
Facilitates troubleshooting of crashes and memory corruption via inspection of CPU registers and virtual memory mappings.
Blink is a JIT-based instruction emulator and x86-64 Linux emulator designed to run Linux binaries and ELF files across different host operating systems and architectures. It functions as a binary execution sandbox and system call simulator, providing a controlled environment for running programs. The project distinguishes itself with a terminal user interface for monitoring execution, managing breakpoints, and visualizing JIT compilation paths. It supports self-modifying code through a cache-invalidating memory model and provides execution environment isolation using restricted directory ove
Enables inspection of virtual machine state via breakpoints and JIT visualization to troubleshoot machine code.
mGBA is a high-accuracy Game Boy Advance emulator and hardware-level debugger designed to run handheld console ROMs on modern computers. It serves as a scriptable emulation environment that allows for the execution of portable hardware software and the simulation of associated peripherals. The project distinguishes itself through its focus on technical analysis, providing a suite of tools for retro game debugging and game logic inspection. It includes a host-client debug protocol that enables external debugger connectivity via TCP socket communication and an event-driven scripting engine for
Implements a hardware-level debugger for inspecting memory and analyzing execution flows during emulation.
palera1n is an iOS jailbreak tool that exploits a permanent hardware vulnerability in the bootrom of A8 through A11 Apple devices running iOS 15.0 or later, granting root access for system customization and third-party software installation. The tool also extends this jailbreak technique to Apple T2-equipped Macs running bridgeOS 5.0 or later, providing system-level access and modification capabilities on those devices. The tool offers two distinct jailbreak environments: a Rootless mode that provides system access without modifying the root filesystem, and a Full-root mode that grants unrest
Booting into PongoOS shell for low-level debugging, custom image loading, and direct hardware interaction on jailbroken devices.
libfuse is a library and kernel module combination that enables the development of custom Linux filesystems that run in userspace rather than in kernel space. It provides a bridge between the kernel's virtual filesystem layer and a userspace daemon, allowing filesystem operations to be forwarded and handled by a regular user process. The project offers two distinct APIs: a high-level callback-driven API where filesystem operations are implemented as simple functions that return results synchronously, and a low-level API that exposes raw kernel request structures directly for fine-grained contr
Builds filesystems by directly processing raw kernel filesystem requests through the low-level API.
Bitwise is a computer architecture education kit and a comprehensive set of guides for building a custom CPU, operating system, and compiler from scratch. It serves as a CPU design tutorial and a practical framework for implementing a unique instruction set architecture. The project provides a custom instruction set architecture toolchain, including resources for creating a matching assembler and compiler. It further includes a hardware development guide for synthesizing computer components and peripheral controllers for deployment on programmable logic devices and FPGAs. The kit covers full
Includes tools for creating software simulators and debuggers to validate the functionality of the custom CPU.
ProcMon-for-Linux هي أداة مراقبة نظام قائمة على eBPF ومراقب عمليات لنظام Linux. تعمل كمتتبع لاستدعاءات النظام ومسجل نشاط، حيث تلتقط أحداث النواة ومساحة المستخدم في الوقت الفعلي لتحليل سلوك نظام التشغيل. يتميز المشروع بواجهة مستخدم نصية لفحص ملفات التتبع المسجلة. يفصل بين تسجيل الأحداث عالي الأداء بدون واجهة وواجهة التحليل لمنع فقدان البيانات أثناء أحمال النظام الثقيلة. توفر الأداة قدرات لتتبع استدعاءات النظام ومراقبة النشاط، بما في ذلك القدرة على تصفية الأحداث حسب معرفات العمليات أو أنواع استدعاءات نظام معينة. تدعم تصحيح أخطاء العمليات منخفض المستوى والتحليل بأثر رجعي لنشاط النظام.
Enables low-level analysis of interactions between software and the Linux kernel to identify bottlenecks.
EasyLogger هي مكتبة تسجيل (logging) خفيفة الوزن بلغة C/C++ وإطار عمل غير متزامن مصمم للأنظمة المدمجة، وأجهزة إنترنت الأشياء (IoT)، والأجهزة القابلة للارتداء. تعمل كمسجل فعال للموارد ومدير لذاكرة الفلاش، وتوفر أدوات لتصحيح الأخطاء منخفض المستوى وتسجيل أحداث النظام بأقل متطلبات من ذاكرة القراءة فقط (ROM) وذاكرة الوصول العشوائي (RAM). يتميز المشروع بنموذج تسجيل غير متزامن يقوم بتخزين الرسائل مؤقتاً في خيط (thread) منفصل، مما يمنع عمليات التسجيل من حظر تنفيذ التطبيق في الوقت الفعلي. ويتضمن مديراً متخصصاً لذاكرة الفلاش يستخدم التخزين المؤقت الدائري لحفظ السجلات في تخزين غير متطاير، مما يضمن الحفاظ على البيانات الحيوية عبر إعادة تشغيل الجهاز. تغطي المكتبة نطاقاً واسعاً من قدرات المراقبة، بما في ذلك تأكيدات النظام للتحقق من الحالة، وتصفية الخطورة في وقت التجميع ووقت التشغيل، وتوليد ملفات تفريغ سداسية عشرية ثنائية خام. وتدعم إثراء البيانات الوصفية بالطوابع الزمنية ومعرفات الخيوط، إلى جانب واجهة محمولة لتوجيه السجلات إلى وجهات مخصصة مثل المنافذ التسلسلية أو الملفات. يضمن النظام سلامة البيانات من خلال مزامنة الكتابة ويوفر آليات لتفريغ المخزن المؤقت يدوياً واسترجاع السجلات المخزنة.
Generates raw hexadecimal dumps and binary data outputs for low-level system state analysis.
asm-dude هي إضافة لـ Visual Studio مصممة لتطوير لغة التجميع (assembly) والبرمجة منخفضة المستوى. توفر تمييزاً للصيغة، وإكمالاً للكود، ومراجع للرموز (mnemonics) لكل من نوافذ المصدر والتفكيك (disassembly). تتميز الإضافة بأداة مرجعية للرموز تعرض أوصافاً منبثقة وتوقيعات المعلمات لتعليمات التجميع. تتم إدارة هذه المراجع عبر ملفات بيانات قابلة للتكوين، مما يسمح بإدخالات تعليمات وأوصاف مخصصة. تتكامل الإضافة مع المحرر لتوفير تلميحات حساسة للسياق وإكمال الكلمات الرئيسية أثناء الكتابة. كما تستخدم تمييزاً للصيغة يعتمد على الأنماط وطي الكود لتحسين قابلية قراءة كود الآلة المفكك أثناء تصحيح الأخطاء.
Facilitates the analysis of disassembled machine code using visual aids within a debugger.
Binsider is a collection of specialized toolsets for hexadecimal editing, ELF structural analysis, system call tracing, and execution performance profiling. It provides a suite of utilities designed for binary reverse engineering, encompassing both static structural analysis and dynamic runtime monitoring of compiled binaries. The project distinguishes itself by combining low-level binary manipulation, such as a hex editor for raw byte modification, with an ELF binary analysis tool for inspecting file structures and metadata. It also includes a Linux system call tracer for observing dynamic b
Tracks real-time program flow and modifies raw bytes to identify and fix binary errors.
Seer is a graphical frontend for GDB that provides a visual interface for inspecting variables, managing breakpoints, and stepping through code. It functions as a low-level debugger visualizer with specialized tools for call stack inspection and register visualization. The project distinguishes itself by integrating low-level program analysis directly into the visual experience, featuring a synchronized assembly overlay that maps CPU registers and assembly instructions to source code lines. It also includes memory bug detection capabilities by randomizing the program starting address during t
Allows low-level analysis by mapping CPU registers and assembly instructions directly to source code.
This project is an educational operating system kernel designed to demonstrate the fundamental architectural principles of memory paging and process management. It is implemented as a minimal kernel that serves as a practical reference for building a functioning system from the ground up. The implementation features a preemptive multitasking kernel that switches execution contexts between threads to share a single CPU. It includes an x86 virtual memory manager that uses paging to map virtual addresses to physical memory and isolate processes. The system covers low-level hardware interfacing
Implements low-level debugging tools to identify errors in boot sequences and memory paging.
هذا المشروع عبارة عن بيئة تعليمية قائمة على الويب مصممة لمحاكاة بنية معالج 8 بت وتنفيذ لغة التجميع. يعمل كجهاز افتراضي يترجم كود التجميع الرمزي إلى تعليمات آلة، مما يسمح للمستخدمين بمراقبة دورة الجلب-فك التشفير-التنفيذ وتأثيرها على حالة النظام في الوقت الفعلي. يتميز المحاكي بواجهة تفاعلية تربط شاشات السجل والذاكرة المرئية مباشرة بحالة المعالج الأساسية. يدمج مجمعاً ثنائي التمرير يدير حل التسمية الرمزية وتعيين عنوان الذاكرة، مما يوفر طريقة منظمة لتنظيم برامج التجميع والتنقل فيها. يمكن للمستخدمين التحكم في تردد ساعة المعالج الافتراضي، مما يمكنهم من وتيرة تنفيذ التعليمات للمراقبة الدقيقة وتصحيح الأخطاء. يوفر التطبيق مجموعة شاملة من الأدوات لمراقبة أعلام المعالج الداخلية، وقيم السجل، ومحتويات الذاكرة. يدعم تنسيق البيانات المرن للذاكرة والسجلات، مما يسمح بعرض القيم إما بتدوين ست عشري أو عشري. تم بناء البيئة كتطبيق قائم على المتصفح، مما يسهل دراسة مفاهيم الحوسبة منخفضة المستوى ومنطق الأنظمة المضمنة دون الحاجة إلى أجهزة خارجية.
Functions as a virtual machine environment for real-time debugging and processor state monitoring.