14 مستودعات
Tools for analyzing binaries and kernel environments across different CPU architectures.
Distinct from Cross-Architecture Binary Compilation: Existing candidates focus on compilation or downloading, not the analysis of multi-architecture binaries in a debugger.
Explore 14 awesome GitHub repositories matching operating systems & systems programming · Cross-Architecture Binary Analysis. Refine with filters or upvote what's useful.
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
Supports binary and kernel analysis across multiple CPU architectures on a single host.
Angr is a binary analysis framework and static analysis tool used for reverse engineering compiled binaries. It serves as a binary decompiler and a lifting platform that translates machine code into a common intermediate representation to enable cross-architecture analysis. The framework integrates a symbolic execution engine and constraint solvers to determine the inputs required to reach specific program states. It also employs untrusted code sandboxing to isolate guest code from the host environment during analysis. Its capabilities cover control flow and data flow analysis, including the
Translates machine code from various architectures into a common intermediate representation to enable unified analysis.
Capstone is a multi-architecture disassembly framework and binary analysis engine. It translates raw machine code from various CPU architectures, such as x86, ARM, and RISC-V, into human-readable assembly instructions. The engine distinguishes itself by providing instruction semantic decomposition, which lists implicit registers read and written, and the ability to customize instruction mnemonics to meet specific technical analysis standards. It also features resilient stream disassembly, allowing the process to resynchronize and continue after encountering invalid instructions or embedded da
Transforms binary machine code from various hardware architectures into human-readable assembly instructions.
RetDec is a reverse engineering framework and static binary analysis tool. Its primary purpose is to function as an LLVM-based machine code decompiler that translates binary machine code from multiple architectures into high-level C source code. The system employs a multi-stage lifting pipeline to recover program logic, using an intermediate representation to apply optimizations before emitting source code. It distinguishes itself through the ability to identify compilers and packers, perform executable unpacking, and reconstruct class hierarchies and original program structures. The framewo
Lifts machine code into a common intermediate representation to enable cross-architecture analysis and optimizations.
Retdec is an LLVM-based machine code decompiler and static binary analysis tool designed for binary reverse engineering. It translates binary executable code into high-level representations to facilitate the reconstruction of program logic from compiled machine code. The system utilizes a retargetable frontend architecture and a multi-stage lifting pipeline to convert raw bytes into a common intermediate language. It differentiates custom program logic from known library code through signature-based identification and provides utilities for binary symbol demangling to restore human-readable n
Translates machine code into a common intermediate representation to facilitate cross-architecture analysis and optimization.
LibChecker is an Android application library analyzer used to identify third-party libraries and classify software components within installed applications. It functions as a software component classifier and a native library ABI inspector to determine if an application is 32-bit or 64-bit. The tool utilizes a rules repository and a local database to match detected libraries against known software signatures. It employs regex-based pattern detection and rule-based matching to identify components, even when files have been renamed or obfuscated. The project provides capabilities for Android p
Inspects compiled library headers to determine the target processor architecture and instruction set.
A True Instrumentable Binary Emulation Framework
Debugs code across different operating systems and CPU architectures without switching tools or environments.
هذا المشروع هو دليل شامل للتحضير للمقابلات التقنية وقاعدة معرفية لعلوم الحاسب. يعمل كمورد دراسي مهيكل مصمم لمساعدة مهندسي البرمجيات على مراجعة مفاهيم الهندسة الأساسية والتحضير لتقييمات البرمجة المهنية. يركز المستودع على مجموعة واسعة من المجالات النظرية والعملية، بما في ذلك مراجع مفصلة لهندسة تطبيقات الهاتف المحمول وأساسيات أنظمة التشغيل. ويوفر مواد منسقة حول أنماط هندسة البرمجيات وتحليل بروتوكولات الشبكة لدعم التطوير المهني. يغطي المحتوى قدرات أساسية مثل هياكل البيانات والخوارزميات، والتزامن وتعدد الخيوط، وإدارة الذاكرة. كما يتضمن تعمقاً في هندسة النظام، بما في ذلك جدولة العمليات، والاتصال بين العمليات، وتحسين عرض واجهة المستخدم.
Analyzes program binaries by organizing them into read-only and read-write segments for efficient storage.
This project is a comprehensive Android reverse engineering suite that functions as a decompiler, bytecode deobfuscator, and malware analysis tool. It is designed to convert APK, DEX, and OAT binaries into human-readable source code using a native implementation that does not require a Java Virtual Machine. The platform is distinguished by its integration with Frida for dynamic analysis, allowing users to hook methods, inject custom JavaScript, and dump device memory in real time. It also features specialized security engines, including a taint propagation engine and a stack-state machine, to
Traces arguments and return values through intermediate representations to determine how data moves through a program.
ROPgadget هو أداة تحليل ثنائية (binary analysis) ومفكك تجميع متعدد البنى مصمم لتحديد تسلسلات التعليمات المستخدمة في البرمجة الموجهة للعودة (return-oriented programming). يعمل كإطار عمل لتطوير الاستغلالات يحدد الأدوات (gadgets) داخل الملفات الثنائية لتسهيل إنشاء استغلالات فساد الذاكرة. تدعم الأداة تدقيق الملفات الثنائية عبر البنى المختلفة، ومعالجة كود الآلة من x86 وARM وMIPS وRISC-V. توفر واجهة موحدة لتحليل تنسيقات الملفات القابلة للتنفيذ المتنوعة، بما في ذلك ELF وPE وMach-O. تغطي قدراتها تحليل ثغرات الملفات الثنائية وتطوير حمولة الاستغلال. يتم تحقيق ذلك من خلال تفكيك المسح الخطي، والبحث عن الأدوات القائم على الأنماط، والتحقق من تسلسل التعليمات لضمان أن الأجزاء المحددة قابلة للتنفيذ.
Analyzes and parses binaries across multiple CPU architectures including x86, ARM, MIPS, and RISC-V.
Miasm هو إطار عمل Python للهندسة العكسية مصمم لتحليل الملفات الثنائية (binary)، والتفكيك (disassembly)، والتعديل. يعمل كإطار عمل لتحليل الملفات الثنائية يقوم برفع كود الآلة إلى تمثيل وسيط لتمكين أبحاث الأمن المستقلة عن المنصة. يعمل النظام كمحرك محاكاة ثنائي ومجموعة أدوات تعديل، مما يسمح بتنفيذ الكود الثنائي في بيئة افتراضية لتتبع تغييرات الحالة دون الحاجة إلى أجهزة فعلية. ويوفر أدوات لتصحيح الملفات الثنائية (patching) لتحديث وتعديل الملفات الثنائية الخام عبر معماريات CPU وتنسيقات تنفيذية متعددة. يغطي إطار العمل قدرات التفكيك، ورفع التمثيل الوسيط، والتبسيط الدلالي لإزالة التعتيم الثنائي. كما يتضمن دعماً لتحليل تنسيق الملفات الثنائية وتعيين الذاكرة لتتبع المراجع والتخطيط أثناء تحليل البرامج المجمعة.
Translates architecture-specific assembly into a generic language to perform platform-independent analysis and simplification.
SpotBugs هي أداة تحليل ثابت ومحلل بايت كود (bytecode) لتطبيقات Java. تقوم بمسح ملفات الفئات المجمعة لتحديد الأخطاء، والثغرات الأمنية، ومشكلات الأداء دون تنفيذ الكود. يعمل النظام ككاشف للأخطاء وأداة اختبار أمان التطبيقات الثابتة لتحديد الأخطاء المنطقية وإساءة استخدام واجهة برمجة التطبيقات. يتميز المشروع ببنية كاشف قائمة على الإضافات تسمح بدمج مكتبات خارجية لإضافة قواعد كشف مخصصة. يوفر تدقيقاً أمنياً متخصصاً للثغرات مثل حقن SQL، والبرمجة عبر المواقع (XSS)، واجتياز المسار، إلى جانب نظام نمطي لتحسين دقة التحليل وتقليل النتائج الإيجابية الكاذبة. تغطي الأداة مجموعة واسعة من مجالات الكشف، بما في ذلك أخطاء مزامنة التزامن، وإلغاء مرجعية المؤشر الفارغ، وتسريبات الموارد، وأخطاء تحويل النوع. كما تحدد الكود الميت، وعدم كفاءة الأداء، وانتهاكات اصطلاحات التسلسل. هذه الإمكانات متاحة عبر واجهة سطر الأوامر، وواجهة المستخدم الرسومية، والتكامل المباشر داخل بيئات التطوير المتكاملة. يمكن دمج SpotBugs في خطوط أنابيب البناء لفرض بوابات الجودة وتوليد تقارير التحليل بتنسيقات HTML أو XML.
Tracks the flow of values across method boundaries to detect null pointer dereferences and resource leaks.
Flare-floss is a security utility and static binary string extractor designed to uncover hidden text and configuration data within compiled binaries. It functions as an obfuscated string decoder and reverse engineering tool to translate encoded strings into readable text for security auditing. The project employs emulated execution to capture the decrypted state of strings in memory by running small chunks of binary code in a virtual CPU. It further utilizes static analysis disassembly, intermediate representation analysis, and heuristic-based pattern matching to identify and decode strings t
Converts machine instructions into a simplified intermediate representation to track data flow and string manipulation logic.
proot-distro is a rootless container runtime and Linux distribution manager that allows users to install and run isolated guest environments without requiring administrative root privileges. It utilizes PRoot to simulate root access and filesystem redirection, enabling the deployment of full Linux distributions in a non-root space. The project functions as an OCI container image handler, capable of building, pulling, and pushing OCI-compatible images and manifests. It further serves as a cross-architecture execution layer, utilizing user-mode emulation to run binaries and containers built for
Supports the execution of binaries built for different CPU architectures using user-mode emulation.