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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
UnBattletech — معركة التكنولوجيا: بداية صقر الهلال الهندسة العكسية | Kitploit
أدوات/GitHubGitHub/velteyn/unbattletech
التحليل الثابتالهندسة العكسيةمصممي الأخطاءتحليل الملفات الثنائيةالتعلم والتعليمتحليل البرامج الثابتة
GitHubvelteyn/unbattletech

UnBattletech

معركة التكنولوجيا: بداية صقر الهلال الهندسة العكسية

عرض المستودع
8127منذ 7 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

UnBattletech

هندسة عكسية لـ BattleTech: The Crescent Hawk's Inception (1988، MS-DOS؛ نُشرت بواسطة Infocom، المحرك من Westwood Associates) — وإعادة إنشاء Godot 4 / C# قيد التقدم لها.

اقرأ هذا القسم قبل الوثوق بأي شيء آخر في هذا المستودع. المشروع عبارة عن جهدين بمستويين مختلفين جدًا من النضج، وكلمة "phase" في أي مكان آخر في الوثائق تعني الكود المكتوب، وليس السلوك المُثبت.


1. مُخرَجَان، يُبنيان بالتوازي

ينتج هذا المشروع قطعتين في الوقت نفسه، والثانية تستند على الأولى:

(1) الهندسة العكسية الموثّقة. تفكيك reko/، ومواصفات docs/، ومحاكي Spice86 مع أدوات MCP الخاصة بـ BattleTech، وأدوات Python. هذا هو عمل الهندسة العكسية الحقيقي: صيغ الملفات، ونص القصة، وخريطة الذاكرة، وجزء كبير من منطق المحرك موثّق ومُتحقَّق منه مقابل مخرجات المفكّك وآثار المحاكي الحية. وهو مُخرَج بحد ذاته، وهو أيضًا المواصفة لـ (2).

(2) إعادة الإنشاء (BattleTechCHI/). برنامج Godot 4 C# يُشتق من (1): يقرأ ملفات البيانات الأصلية (.BLD، .MTP، .ANM، حفظات GAME*) ويعيد تنفيذ سلوك المحرك كما هو موثّق في (1). إنه مخلص للبيانات، وليس مخلصًا للسلوك، ولم يُتحقق منه من البداية إلى النهاية مقابل الأصل.

يعملان بالتوازي، لكن اتجاه الاعتماد ثابت:

(2) لا يمكن أن يكون مخلصًا إلا بقدر اكتمال (1) والتحقق منه. حيث تقول (1) مُستنتَج أو مفتوح، فإن (2) تخمين.

لهذا السبب تضع خارطة الطريق سدّ فجوات الهندسة العكسية (المسار 1) والتحقق التفاضلي لـ (2) مقابل المحاكي (المسار 3) قبل العمل على الميزات. إعادة الإنشاء لا تكون جيدة إلا بقدر جودة الهندسة العكسية التي تستند عليها.

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


2. مصفوفة الحالة الصادقة

المفتاح: ✅ صحيح / منجز · ⚠️ جزئي، تقريبي، أو بفجوات صامتة · ❓ غير معروف / غير مُتحقق منه · ❌ غائب

النظاميقرأ الملفات الأصلية وقت التشغيلالسلوك يطابق الأصلالتحقق
فك تشفير BLD + النص المشفّر✅ BldLoader.cs✅ (النص)✅ ذهاب وإياب BLD↔JSON مطابق بالبايت (tools/bld)
مفسّر أكواد BLD (28 خانة 0xE4–0xFF)✅⚠️ جزئي❓ لم يُلعب من البداية إلى النهاية؛ أحجام المعاملات ثابتة (EB/EC/F6/F7)؛ كل الخانات مُعالَجة (لا إسقاط صامت)
إرسال Fn1CD3 (47 حالة)✅⚠️ جزئي❓ مُنفَّذ من التفكيك؛ عدة حالات تقريبية
ترويسة/بلاطات خريطة MTP✅ MapLoader.cs / LocalMapView.cs✅ (البنية)⚠️ التخطيط مفكوك، لم يُقارَن إطارًا بإطار
رسوم ANM المتحركة (XOR-delta RLE)✅ وقت التشغيل، مع بديل PNG⚠️❓؛ المستودع لا يحتوي على أوراق رسوم ANM (Assets/Animations/ فارغ)
بلاطات ICN/CMP❌ (محوّلة مسبقًا)—TileManager يحمّل BMP؛ Assets/Tilesets/ فارغ
ملفات الحفظ GAME1–6 (4096 بايت)✅ محلّل SaveManager.cs❓❌ ذهاب وإياب غير مُتحقق منه مقابل حفظات أصلية
حالة القصة (b0057، الخصائص)✅ (قراءة)❓ المعنى مُستنتَج❓ الدلالات غير مؤكدة أثناء اللعب
القتال (الإصابة، الضرر، الذكاء الاصطناعي، الحرارة، الذخيرة، الضباب)— (منطق خاص)❌ تقريبي❌ RNG/الصيغ لم تُقارَن مقابل الأصل
منفذ العرض / تخطيط الشاشة—⚠️ تقريبي❓ لم يُعثر على بنية منفذ عرض قياسية
الصوت / الموسيقى❌❌❌ الصيغة غير مفكوكة
ربط الخريطة→BLD للمُشغّلات⚠️ جزئي❓جدول خصائص البلاطات + ترجمة [0x5460]:0x4602 غير مفكوكة

ما يمكن لإعادة البناء فعله اليوم

  • إقلاع تسلسل العنوان/البداية وعروض الخريطة المحلية + خريطة العالم.
  • تحميل وفك تشفير سكربتات .BLD الحقيقية وتفسيرها (حوارات، قوائم، متاجر، العديد من حالات الإرسال) — مع فجوات صامتة في الأكواد غير المنفَّذة.
  • تحليل خرائط .MTP الحقيقية، وقراءة/كتابة تخطيط الحفظ الحقيقي بحجم 4096 بايت.
  • تشغيل حلقة قتال تكتيكي من الصفر (RNG/LoS/الإصابة/الضرر/الذكاء الاصطناعي خاص بها).

ما لا يمكنها ادّعاؤه بصدق

  • أنها تعيد إنتاج سلوك الأصل. القتال، وعرض منفذ العرض، وأجزاء من آلة حالة القصة هي إعادات بناء، وليست نقلًا مُتحققًا منه.
  • أنها مكتفية ذاتيًا بصريًا: مجموعات البلاطات والرسوم المتحركة والخطوط ليست في المستودع (فقط 15 خريطة PNG محوّلة و44 صورة ميكا PNG).

3. ما تمت هندسته عكسيًا فعلاً (وأين)

المجالالحالةالوثيقة القياسية
صيغة BLD، التشفير، الأكواد🟢 متينdocs/formats/bld-bytecode.md
نص القصة (كل 26 BLD)🟢 مُستخرَجdocs/story/STORY_TEXT.txt
خريطة الذاكرة (أكثر من 100 عنوان، مقاطع)🟢 متينdocs/formats/memory-map.md
خريطة العالم / الخرائط المحلية🟢 متينdocs/world-map.md
نموذج القتال🟡 ~90%، بعضه مُستنتَجdocs/combat-system.md
الاقتصاد / المتاجر / المخزون🟡 تدفق الواجهة مُلاحَظ الآن مباشرةdocs/story/story-system.md
صيغة ANM🟢 موثّقdocs/formats/anm-format.md
تجريد منفذ العرض🔴 غير مكتملdocs/engine/viewport.md
الصوت🔴 0%—

4. المجاهيل المعروفة (الهندسة العكسية المتبقية)

هذه هي العوائق الحقيقية؛ خارطة الطريق في §6 مرهونة بها.

  1. قتال مطابق بالبايت. RNG، المبادرة/ترتيب الأدوار، معدّلات الإصابة، جدول موقع الإصابة، حل العناقيد، الحرارة، انفجار الذخيرة، اختيار هدف الذكاء الاصطناعي — حاليًا مستوحاة من التفكيك، ولم تُقارَن قط. (docs/combat-system.md)
  2. مقاطع غير مفكوكة. كود القتال/الحركة في المقطعين 19EF / 1000 مفقود من مخرجات Reko؛ يجب استعادة تلك الروتينات. (docs/UNVERIFIED_DISCOVERIES.md §7)
  3. دلالات حالة القصة. b0057 (0/1/2) والجيران b0055/b0056/b0058 مُستنتَجة؛ معرّفات الخصائص 0x1C–0x23 غير مربوطة. (§5)
  4. ربط الخريطة→BLD للمُشغّلات. جدول خصائص البلاطات (0x32C6) + جدول الترجمة ([0x5460]:0x4602) غير مفكوكين؛ المداخل تُوجد حاليًا بالمشي اليدوي على الخريطة (Citadel (34,10)، ComStar (51,10) على خريطة البداية). (docs/context.md)
  5. نموذج منفذ العرض. لم يُعثر على بنية منفذ عرض قياسية؛ بنية إعدادات المقطع 0x246C مربوطة جزئيًا فقط؛ دلالات push/pop غير معروفة. (docs/engine/viewport.md)
  6. خصائص البلاطات / التصادم. أي البتات تعني ماء/جدار؛ أي روتين يقرأ 0x32C6 من أجل الحركة. (§2)
  7. ذهاب وإياب صيغة الحفظ. المحلّل موجود؛ لم يُجرَ تحميل→حفظ→مقارنة حقيقي لـ GAME*.
  8. اقتصاد الطالب ودورة اليوم. نبضة البدل، عتبة التوقف، نوم الثكنات، بوابة المهمة اليومية — الآلية مُلاحَظة، الكود غير موجود. (docs/story/story-system.md)
  9. فجوات أكواد BLD. أي الأكواد تحدث فعلاً عبر الملفات الـ26، وأيها يتخطاها المفسّر بصمت. (فرع default في BldInterpreter.cs)
  10. صيغة الصوت/الموسيقى. غير مفكوكة بالكامل.
  11. موقع بيانات خريطة العالم. من أين تُحمَّل بيانات البلاطات/الخريطة (المقطع 2A02 أم مكان آخر). (§1)

5. علم الآثار الرجعي (خارج الملف التنفيذي)

الهندسة العكسية من الملف التنفيذي وحده لها حدود (كود محسّن بواسطة المترجم، مقاطع غائبة، دلالات مُستنتَجة). لفهم ما هو فعلاً في اللعبة نتحقق من عدة أنواع من المصادر — لا يمكن لأي منها أن يحل محل الملف التنفيذي، لكنها معًا توضح النية وتسدّ الفجوات:

  • الوثائق الأصلية — الدليل، وكتاب الأدلة/التلميحات، ومراجعات المجلات من 1988–89 (نية التصميم، المصطلحات، الواجهة المقصودة). لم تُقتنَ بعد — مهمة أثرية.
  • اللعب الشخصي — جلسات المؤلف نفسه: ما يلاحظه اللاعب فعلاً، وأفضل مولّد للفرضيات للتحقق منها في المحاكي.
  • أدلة اللعب المنشورة — استُخدمت بالفعل: docs/walkthrough/bt-walkthrough-1..3.md (التنقل وتسلسل الأحداث).
  • ألعاب محرك Westwood الشقيقة — Mines of Titan (1989، x86، تم بصمها بالفعل: 25 دالة مشتركة في الرسوميات/النص) ومحركات منفذ العرض اللاحقة (Eye of the Beholder، Kyrandia، Lands of Lore) من أجل نموذج منفذ العرض.
  • نُسخ/إصدارات BattleTech CHI الأخرى — C64 / Apple II / Amiga (إن وُجدت) وإصدارات "Gold" اللاحقة؛ المترجمات المختلفة تكشف بنية مختلفة.
  • أدوات المحاكي كحقيقة أرضية — آثار Spice86 + أدوات MCP الـ23 bt_* تعطي حالة السجلات/الذاكرة وقت التشغيل بدقة للمقارنة معها.
تنزيل الأداة