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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ChaseHQ — Chase H.Q. لنظام ZX Spectrum — تمت هندستها عكسيًا وإعادة بنائها بلغة C محمولة | Kitploit
أدوات/GitHubGitHub/dpt/chasehq
الهندسة العكسيةأمان الأجهزة وإنترنت الأشياءتحليل الملفات الثنائيةالتعلم والتعليم
GitHubdpt/chasehq

ChaseHQ

Chase H.Q. لنظام ZX Spectrum — تمت هندستها عكسيًا وإعادة بنائها بلغة C محمولة

عرض المستودعالموقع الإلكتروني
342منذ 16 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

تفكيك لعبة Chase H.Q. لـ ZX Spectrum

هندسة عكسية بواسطة David Thomas، 2023-2024

بدأ المشروع: مارس 2023

استخدام Spectrum Analyser لفحص اللعبة، بما في ذلك تحويل الشاشة إلى اللون الأخضر

هذا تفكيك قيد الإعداد لـ تحويل لعبة Chase H.Q. إلى ZX Spectrum بواسطة Ocean Software. حتى الآن يغطي هذا إصدار 48K والمرحلة الأولى فقط من اللعبة. إصدار 128K أفضل (يحمّل جميع المراحل دفعة واحدة، ويحتوي على موسيقى AY ورسوم متحركة لشاشة القائمة) لكنه يحتوي على شيفرة أكثر بكثير يجب أخذها في الاعتبار، لذا من الأسهل البدء بإصدار 48K ومن المرحلة الأولى أولاً.

ملاحظة: أعمل حالياً على إصدار 128K في فرع "128k".

في هذا المستودع ملف تحكم خاص بـ SkoolKit يمكنك استخدامه لتفكيك اللعبة. يعمل هذا عندما تكون اللعبة في حالة "سليمة" بعد تحميلها للتو. انظر أدناه لمعرفة كيفية إنشاء لقطة سليمة وتعليمات استخدام SkoolKit. لقد وفرت ملف Makefile لأتمتة معظم الخطوات المطلوبة.

التفكيك الحالي موجود هنا.

لماذا؟

لمعرفة كيف تعمل! (وربما يوماً ما نتمكن من صنع مراحل جديدة...)

طريقة الاستخدام

  • ثبّت SkoolKit:
root@kitploit:~
pip3 install skoolkit
  • نزّل اللعبة وحوّلها إلى لقطة بصيغة .z80:
root@kitploit:~
make pristine

سترى:

root@kitploit:~
Downloading https://worldofspectrum.net/pub/sinclair/games/c/ChaseH.Q..tzx.zip
Extracting Chase HQ - Side 1.tzx
Program: CHASE HQ
Fast loading data block: 23755,3870
Data (514 bytes)
Data (6914 bytes)
Data (19074 bytes)
Data (16130 bytes)
Data (4 bytes)
Data (6898 bytes)
Tape finished
Simulation stopped (PC at start address): PC=23372
Writing chase-hq.z80

أنشئ ملف skool كما يلي:

root@kitploit:~
make skool

ملف skool هو قائمة تجميع عالية المستوى، يمكننا من خلالها توليد قوائم تجميع عادية أو تفكيكات HTML. تُوضع الملفات المُولَّدة افتراضياً في مجلد باسم 'build'. يمكنك تعديل ملف skool وإعادته إلى ملف تحكم آخر كما يلي:

root@kitploit:~
make ctl

هذا يجعل من السهل سحب تغييراتك مرة أخرى إلى ملف التحكم الرئيسي عبر تنفيذ:

root@kitploit:~
cp build/ChaseHQ.ctl ChaseHQ.ctl

أو يمكنك مقارنة الملفين بأمر diff لتكون أكثر انتقائية في تجهيز التغييرات.

كلما كبر ملف التحكم وازدادت تفاصيله، كان شرحنا للعبة أفضل!

أنشئ قائمة تجميع كما يلي:

root@kitploit:~
make asm

عادةً ما أحرر والملفات الثلاثة — ملف التحكم وملف skool وملف التجميع — مفتوحة جميعها لأتمكن من التحقق من تأثير تغييراتي: استخدام MacVim لتحرير المصادر

أنشئ ملف tap أو z80 لتحميله في المحاكيات أو أجهزة Spectrum الحقيقية كما يلي:

root@kitploit:~
make tap  # or z80

كيف نحدد طريقة عمل اللعبة؟

  • الخيار (1) هو تشغيل اللعبة في المفكك التفاعلي Spectrum Analyser والبحث عن الأدلة.
  • الخيار (2) هو التحديق في الشيفرة بتركيز شديد حتى تصبح منطقية.

ستحتاج على الأرجح إلى القيام بالأمرين معاً.

شاهد https://youtu.be/ZcoFi4T4tsU للحصول على فيديو قصير لي وأنا أشغّل Spectrum Analyser لمعرفة كيف تبني اللعبة مخزونها المؤقت الخلفي (back buffer).

POKEs

إذا لم تكن مهتماً بالتفكيك نفسه، فثمة نتيجة جانبية لطيفة: POKEs تجعل اللعبة أسهل أو أصعب أو مختلفة فقط.

  • اعتمادات لا نهائية
    POKE 39998,166

  • وقت لا نهائي
    POKE 39937,0

  • ضربة واحدة للقبض
    POKE 46351,62

  • تيربو لا نهائي
    POKE 45221,0

  • التحكم في معدل ظهور السيارات
    POKE 23834,<spawn rate> -- 20 هو الإعداد الافتراضي للمرحلة 1. 10 سيجعل السيارات تظهر بمعدل ضعف.

  • ضبط لون المرحلة
    POKE 23796,<attribute byte> -- 112 هو أسود على أصفر، كما في المرحلة 1. 96 سيعطي أسود على أخضر.
    POKE 23797,<attribute byte>

روابط

موضوع منتديات Spectrum Computing: https://spectrumcomputing.co.uk/forums/viewtopic.php?p=113633

العب Chase H.Q. عبر الإنترنت: http://torinak.com/qaop#!chasehq

ذات صلة

مشروع التفكيك السابق لي: https://github.com/dpt/The-Great-Escape

تنزيل الأداة