Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
B2R2 — B2R2 هو إطار عمل تحليل ثنائي مُدار بالكامل مكتوب بلغة F#. يوفر مجموعة غنية من الخوارزميات والوظائف والأدوات للهندسة العكسية، وتحليل البرامج، وفحص المستوى الثنائي. | Kitploit
أدوات/GitHubGitHub/b2r2-org/b2r2
التحليل الثابتالتحليل الديناميكي (عزل)الهندسة العكسيةالاختبار العشوائيتحليل الملفات الثنائيةالأوراق والأبحاثالتعلم والتعليم
GitHubb2r2-org/b2r2

B2R2

B2R2 هو إطار عمل تحليل ثنائي مُدار بالكامل مكتوب بلغة F#. يوفر مجموعة غنية من الخوارزميات والوظائف والأدوات للهندسة العكسية، وتحليل البرامج، وفحص المستوى الثنائي.

عرض المستودع
45967منذ يوم واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

alt text

B2R2 B2R2

B2R2

B2R2 هو إطار عمل لتحليل البرامج الثنائية مكتوب بالكامل بلغة F#. يوفر مجموعة غنية من الخوارزميات والوظائف والأدوات للهندسة العكسية وتحليل البرامج وفحص المستوى الثنائي.

اسم B2R2 مستوحى من R2-D2، الروبوت الأيقوني من حرب النجوم. سُمي المشروع في الأصل B2-R2، ثم اعتمد لاحقًا النموذج الخالي من الشرطة B2R2 لأن معرفات .NET ومساحات الأسماء لا تسمح بالواصلات. يعكس الاسم غرض المشروع: يشير "B" و"2" إلى الحساب الثنائي ثنائي الحالة، بينما يمثل "R" الهندسة العكسية. باختصار، B2R2 صُمم للهندسة العكسية الثنائية.

نظرة عامة

  1. B2R2 سَهْل التحليل: مكتوب بلغة F#، وهي لغة مناسبة لبناء محللي البرامج بفضل مزايا مثل مطابقة الأنماط وأنواع البيانات الجبرية والتجريدات الوظيفية التعبيرية.

  2. B2R2 سريع: تم تصميم محرك تحليل البرامج الثنائية الأساسي الخاص به لتحقيق الكفاءة ومكتوب بأسلوب وظيفي أولاً. وهذا يجعله مناسبًا بشكل طبيعي لـ التوازي النقي عبر مهام التحليل الشائعة مثل رفع التعليمات واستعادة تدفق التحكم.

  3. B2R2 سَهْل الاستخدام: باعتباره مكتبة مُدارة بالكامل، فإنه يتجنب إعدادات التبعيات الأصلية المعقدة. قم بتثبيت .NET SDK، وستكون جاهزًا للبدء. كما أن دعم IntelliSense الأصلي يجعل استكشاف واجهات برمجة التطبيقات أسهل.

  4. B2R2 مستقل عن نظام التشغيل: يعمل على Linux وmacOS وWindows، بالإضافة إلى أي منصة أخرى يدعمها .NET.

  5. B2R2 قابل للتشغيل البيني: لا يرتبط بلغة برمجة واحدة. من حيث المبدأ، يمكن استخدام واجهات برمجة تطبيقات B2R2 من أي لغة مدعومة من CLI.

الميزات

يدعم B2R2 تحليل التعليمات، وفك تجميع البرامج الثنائية، والتجميع، واستعادة تدفق التحكم، ولبنات البناء الأساسية الأخرى لتحليل البرامج الثنائية. كما يتضمن العديد من أدوات سطر الأوامر الموجهة للمستخدم والمماثلة لـ readelf وobjdump، مع بقائه غير محدد المنصة. يدعم B2R2 حاليًا أربعة تنسيقات ملفات ثنائية: ELF وPE وMach-O وWebAssembly.

يلخص الجدول أدناه الميزات التي يدعمها B2R2 حاليًا. بعض المجالات لا تزال قيد التطوير، والمساهمات مرحب بها. قبل فتح طلب سحب، يرجى التأكد من قراءة إرشادات المساهمة الخاصة بنا.

التبعيات

يحافظ B2R2 على حجم التبعيات صغيرًا بشكل متعمد لتسهيل عملية البناء ولإبقاء النواة مركزة على الخوارزميات وهياكل البيانات الفعالة لتحليل البرامج الثنائية. لا تحتوي المكتبة الأساسية على أي تبعيات خارجية، ومعظم المكتبات الخارجية اختيارية وتستخدم فقط بواسطة مكونات أو أدوات معينة. فيما يلي قائمة بالمكتبات الخارجية المستخدمة في المشروع.

  • System.IO.Hashing
  • FSharp.Compiler.Service
  • FParsec
  • BenchmarkDotNet
  • Avalonia.FuncUI

توثيق واجهة برمجة التطبيقات

يتم إنشاء توثيقنا باستخدام fsdocs وهو متاح على https://b2r2.org/B2R2/.

مثال

لنجرب استخدام واجهات برمجة تطبيقات B2R2.

  1. أولاً، أنشئ دليلاً فارغاً باسم DIRNAME:

    root@kitploit:~
    mkdir DIRNAME
    cd DIRNAME
    
  2. ثم، أنشئ مشروع وحدة تحكم فارغاً باستخدام أداة سطر الأوامر dotnet:

    root@kitploit:~
    $ dotnet new console -lang F#
    
  3. أضف حزمة NuGet B2R2.FrontEnd.API إلى المشروع:

    root@kitploit:~
    $ dotnet add package B2R2.FrontEnd.API
    
  4. قم بتعديل ملف Program.fs باستخدام المحرر المفضل لديك كما يلي:

    root@kitploit:~
    open B2R2
    open B2R2.FrontEnd
    
    [<EntryPoint>]
    let main argv =
      let isa = ISA "amd64"
      let bytes = [| 0x65uy; 0xffuy; 0x15uy; 0x10uy; 0x00uy; 0x00uy; 0x00uy |]
      let hdl = BinHandle(bytes, isa)
      let lifter = hdl.NewLiftingUnit()
      let ins = lifter.ParseInstruction 0UL // parse the instruction at offset 0
      lifter.LiftInstruction ins |> printfn "%A"
      0
    
  5. قم بتشغيله بكتابة dotnet run. يجب أن ترى عبارات IR المرفوعة في وحدة التحكم الخاصة بك. هذا كل شيء! لقد قمت للتو برفع تعليمة Intel ببضعة أسطر فقط من كود F#.

البناء

بناء B2R2 أمر بسيط. قم بتثبيت .NET 10 SDK أو إصدار أحدث، وستكون جاهزًا للبناء من جذر المصدر.

  • لبناء B2R2 في وضع الإصدار، قم بتشغيل dotnet build -c Release.

  • لبناء B2R2 في وضع التصحيح، قم بتشغيل dotnet build.

لمزيد من المعلومات حول إعداد بيئة تطوير F#، قم بزيارة موقع F# الرسمي: http://fsharp.org/.

الإسناد

تم تطوير B2R2 بواسطة أعضاء مختبر SoftSec في KAIST بالتعاون مع مركز أبحاث أمن الفضاء الإلكتروني (CSRC) في KAIST. راجع AUTHORS.md للحصول على القائمة الكاملة للمساهمين.

الاستشهاد

إذا كنت تستخدم B2R2 في بحثك، فيرجى النظر في الاستشهاد بهذه الورقة البحثية:

root@kitploit:~
@INPROCEEDINGS{jung:bar:2019,
  author = {Minkyu Jung and Soomin Kim and HyungSeok Han and Jaeseung Choi and Sang Kil Cha},
  title = {{B2R2}: Building an Efficient Front-End for Binary Analysis},
  booktitle = {Proceedings of the NDSS Workshop on Binary Analysis Research},
  year = 2019
}

البرنامج التعليمي

يتوفر برنامج تعليمي عبر الإنترنت لـ B2R2، يغطي أساسيات استخدام B2R2 ويقدم أمثلة عملية. تحقق منه على الرابط التالي: https://b2r2.org/tutorial-icst2026/.

المنشورات

فيما يلي الأوراق البحثية التي تستخدم أو تبنى على B2R2. إذا كان يجب إدراج عملك، يرجى فتح طلب سحب.

  • EVMpress: Precise Type Inference for Next-Generation EVM Decompilation, CBT 2025 (PDF)
  • Towards Sound Reassembly of Modern x86-64 Binaries, ASPLOS 2025 (PDF)
  • PoE: A Domain-Specific Language for Exploitation, SVCC 2024 (PDF)
  • FunProbe: Probing Functions from Binary Code through Probabilistic Analysis, FSE 2023 (PDF)
  • How'd Security Benefit Reverse Engineers? The Implication of Intel CET on Function Identification, DSN 2022 (PDF)
  • Smartian: Enhancing Smart Contract Fuzzing with Static and Dynamic Data-Flow Analyses, ASE 2021 (PDF)
  • NTFuzz: Enabling Type-Aware Kernel Fuzzing on Windows with Static Binary Analysis, Oakland 2021 (PDF)
تنزيل الأداة
CPUDocsIns ParsingDisasmLiftingCFG RecoveryAssembly
x86:full_moon::full_moon::full_moon::full_moon::full_moon::full_moon:
x86-64:full_moon::full_moon::full_moon::full_moon::full_moon::full_moon:
ARMv7:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
ARMv8 (AArch64):full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
MIPS32:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
MIPS64:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
EVM:full_moon::full_moon::full_moon::full_moon::full_moon::new_moon:
TMS320C6000:full_moon::full_moon::full_moon::new_moon::first_quarter_moon::new_moon:
AVR:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
PA-RISC:full_moon::full_moon::full_moon::new_moon::first_quarter_moon::new_moon:
PPC32:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
SPARC:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
SH4:full_moon::full_moon::full_moon::new_moon::first_quarter_moon::new_moon:
RISC-V:full_moon::full_moon::full_moon::full_moon::first_quarter_moon::new_moon:
S390:full_moon::full_moon::full_moon::new_moon::first_quarter_moon::new_moon: