Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
attesor — هندسة عكسية مدعومة بالذكاء الاصطناعي لـ Rosetta (2 لنظام Linux). تنبيه: بسبب اتفاقية المستخدم، لن أتطرق إلى الكود المصدري. كل شيء يتم بواسطة الذكاء الاصطناعي، لذلك قد يكون هناك تطبيق غير منظم. | Kitploit
أدوات/GitHubGitHub/inokinoki/attesor
الهندسة العكسيةأمن الأجهزةتحليل الملفات الثنائيةالتعلم والتعليمالهندسة العكسية بمساعدة الذكاء الاصطناعيتحليل البرامج الثابتة
GitHubinokinoki/attesor

attesor

هندسة عكسية مدعومة بالذكاء الاصطناعي لـ Rosetta (2 لنظام Linux). تنبيه: بسبب اتفاقية المستخدم، لن أتطرق إلى الكود المصدري. كل شيء يتم بواسطة الذكاء الاصطناعي، لذلك قد يكون هناك تطبيق غير منظم.

عرض المستودع
72320منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

مشروع الهندسة العكسية لـ Rosetta 2

License: MIT Status

جهد شامل للهندسة العكسية لفهم وتوثيق تقنية الترجمة الثنائية Rosetta 2 من Apple.

جدول المحتويات

  1. الخلفية
  2. ما هي Rosetta؟
  3. ما هي Rosetta 2؟
  4. كيف تقدم Apple Rosetta 2 في macOS
  5. الهندسة التقنية
  6. هذا المشروع
  7. هيكل الملفات
  8. الاستخدام
  9. التقدم
  10. المراجع

الخلفية

الانتقال المعماري

في نوفمبر 2020، أعلنت Apple عن أول حواسيب Mac بمعالج Apple Silicon، مما يمثل تحولًا تاريخيًا من معالجات Intel x86_64 إلى رقائقها الخاصة M1 القائمة على ARM. كان هذا ثالث تحول معماري رئيسي لـ Apple:

  1. 1994: Motorola 68000 -> PowerPC
  2. 2006: PowerPC -> Intel x86_64
  3. 2020: Intel x86_64 -> Apple Silicon (ARM64)

تطلب كل انتقال حلًا للترجمة الثنائية لتشغيل البرامج الموجودة خلال فترة الهجرة. Rosetta 2 هو أكثر أنظمة الترجمة الثنائية تطورًا من Apple حتى الآن.


ما هي Rosetta؟

Rosetta (2006-2011) كان أول برنامج ترجمة ثنائية ديناميكية من Apple، مما مكّن تطبيقات PowerPC من العمل على حواسيب Mac القائمة على Intel.

الميزات الرئيسية:

  • الترجمة الديناميكية: ترجمة تعليمات PowerPC إلى x86_64 في وقت التشغيل
  • التكامل مع نظام التشغيل: مدمج في Mac OS X 10.4 (Tiger) حتى 10.6 (Snow Leopard)
  • التشغيل الشفاف: شغّل المستخدمون تطبيقات PowerPC بشكل طبيعي
  • تكلفة الأداء: عادةً ما تكون أبطأ بنسبة 20-50% من التعليمات البرمجية الأصلية

تمت إزالة Rosetta في Mac OS X 10.7 (Lion)، مما أكمل الانتقال إلى Intel.


ما هي Rosetta 2؟

Rosetta 2 هي تقنية ترجمة ثنائية ديناميكية متقدمة من Apple تتيح للتطبيقات المترجمة لحواسيب Mac ذات معالجات Intel x86_64 العمل على حواسيب Mac ذات معالجات Apple Silicon (ARM64).

نظرة عامة على البنية```

┌─────────────────────────────────────────────────────────────┐ │ User Application (x86_64) │ ├─────────────────────────────────────────────────────────────┤ │ Rosetta 2 Layer │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ Translator │ │ Runtime │ │ System Call │ │ │ │ (AOT/JIT) │ │ Library │ │ Translation │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ macOS Kernel (ARM64) │ ├─────────────────────────────────────────────────────────────┤ │ Apple Silicon Hardware │ └─────────────────────────────────────────────────────────────┘

### التقنيات الرئيسية

1. **الترجمة المسبقة (AOT)**
   - يترجم ملفات x86_64 الثنائية إلى ARM64 وقت التثبيت
   - يخزن الكود المترجم في ذاكرة تخزين مؤقت لتشغيل أسرع لاحقاً
   - يقلل من الحمل الزمني مقارنة بالترجمة الفورية (JIT) الخالصة

2. **الترجمة الفورية (JIT)**
   - يترجم أجزاء الكود عند الطلب أثناء التنفيذ
   - يعالج الكود المحمل ديناميكياً والكود ذاتي التعديل
   - يحافظ على ذاكرة تخزين مؤقت للترجمة لتحقيق الكفاءة

3. **ترجمة مجموعة التعليمات**
   - تعيين تعليمات x86_64 إلى ARM64
   - ترجمة تعليمات المتجهات SSE/AVX إلى NEON
   - أعلام x86_64 إلى رموز الشروط في ARM64

4. **ترجمة استدعاءات النظام**
   - يترجم استدعاءات نظام macOS لـ x86_64 إلى ما يعادلها لـ ARM64
   - يعالج اصطلاحات الاستدعاء المختلفة
   - يدير حالة المسجلات عبر حدود استدعاء النظام

5. **دعم وقت التشغيل**
   - محاكاة اكتشاف ميزات المعالج
   - معالجة التخزين المحلي للخيوط
   - معالجة الإشارات والاستثناءات

---

## كيفية تقديم Apple لـ Rosetta 2 في macOS

### موقع التثبيت

توجد Rosetta 2 في:```
/Library/Apple/usr/libexec/oah/
├── rosetta        # Main translator binary
├── rosettad       # Rosetta daemon
└── librosetta.*   # Runtime libraries

يشير مجلد oah إلى 'أجهزة العمارة القديمة' - استمرار من عصر الانتقال من PowerPC.

التثبيت التلقائي

على أجهزة Mac المزودة بـ Apple Silicon، فإن Rosetta 2 غير مثبتة افتراضيًا. يتم تشغيلها بطريقتين:

  1. مطالبة التشغيل الأولى ``` The "Rosetta" software is not installed on your Mac. Rosetta translates apps from Intel-based Macs for use on Apple Silicon Macs.
  2. التثبيت عبر سطر الأوامر ```bash softwareupdate --install-rosetta --agree-to-license

المكونات المسلمة

المكوّنالوصف
RosettaLinux/rosettaملف ثنائي أساسي ARM64 يحتوي على محرك الترجمة
RosettaLinux/rosettadخفي النظام لإدارة خدمات الترجمة
debugserver -> /usr/libexec/rosetta/debugserverدعم التصحيح للعمليات المترجمة
libRosettaRuntimeمكتبة وقت التشغيل المرتبطة أثناء الترجمة
translate_tool -> /usr/libexec/rosetta/translate_toolأداة الترجمة لبناء ملفات ثنائية مترجمة

التكامل مع macOS

  1. launchd Integration: يعمل خفي Rosetta كخدمة نظام
  2. Code Signing: يتم توقيع الملفات الثنائية المترجمة تلقائيًا
  3. Gatekeeper: تمر تطبيقات Rosetta المترجمة عبر فحوصات الأمان
  4. System Integrity Protection: محمية من التعديل

العمارة التقنية

عملية الترجمة```

┌──────────────────────────────────────────────────────────────────┐ │ Phase 1: Binary Loading │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Load x86_64 Mach-O binary │ │ 2. Parse segments, sections, symbols │ │ 3. Validate code signatures │ │ 4. Map into translation context │ └──────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ Phase 2: AOT Translation │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Disassemble x86_64 code sections │ │ 2. Translate instructions to ARM64 │ │ 3. Apply optimizations │ │ 4. Store in translation cache (~/.oah) │ └──────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ Phase 3: Runtime Execution │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Load translated ARM64 code │ │ 2. Set up x86_64 emulation context │ │ 3. Handle JIT translations for dynamic code │ │ 4. Translate syscalls on-the-fly │ └──────────────────────────────────────────────────────────────────┘

### تحديات الترجمة الرئيسية

1. **تعيين السجلات**
   - تحتوي x86_64 على 16 GPR؛ بينما تحتوي ARM64 على 31 GPR
   - سجل الأعلام x86_64 -> أعلام NZCV لـ ARM64
   - محاكاة RIP (مؤشر التعليمات)

2. **ترتيب الذاكرة**
   - x86_64: ترتيب ذاكرة قوي (TSO)
   - ARM64: ترتيب ذاكرة ضعيف
   - يتطلب حواجز ذاكرة لضمان الصحة

3. **تعليمات المتجهات**
   - SSE (128-bit) -> تعيين مباشر لـ NEON (128-bit)
   - AVX (256-bit) -> محاكاة زوج NEON
   - معالجة استثناءات مختلفة لـ SIMD

4. **اتفاقيات الاستدعاء**
   - x86_64: أول 6 وسائط في السجلات (RDI, RSI, RDX, RCX, R8, R9)
   - ARM64: أول 8 وسائط في السجلات (X0-X7)
   - تخطيطات إطار مكدس مختلفة

---

## هذا المشروع

يحتوي هذا المستودع على تطبيقات هندسة عكسية للدوال من ثنائيات Rosetta 2. من خلال التحليل الدقيق وإلغاء الترجمة، قمنا بتحديد وتوثيق الغرض الدلالي لمئات الدوال.

### الأهداف
تنزيل الأداة