تشغيل ثنائيات MIPS القديمة على أجهزة الكمبيوتر المكتبية الحديثة x86
محاكاة تعليمات MIPS R4000 أثناء تحميل ثنائيات PE MIPS الأصلية، وتعيين استدعاءات النظام والحفاظ على حالة وحدة المعالجة المركزية لكل خيط لتطبيقات متعددة الخيوط. WoWMIPS، التي أنشأها x86matthew، هي أداة خدمات ويندوز تستخدم إعادة توجيه واجهة برمجة التطبيقات الديناميكية ومعالجة الاستثناءات الموجهة لتوجيه استدعاءات MIPS إلى واجهات برمجة التطبيقات المضيفة. تشمل القدرات الرئيسية تحميل PE المدرك لإعادة التوطين، وحالات وحدة المعالجة المركزية المحلية للخيط، والتنفيذ الخفيف الوزن داخل العملية. إنها تناسب مهندسي العكس، وهواة الحوسبة القديمة، وباحثي الأمن الذين يحتاجون إلى ممارسة كود MIPS القديم لنظام ويندوز NT دون محاكي آلة كامل.
ماذا تفعل WoWMIPS فعليًا عند تشغيل برنامج MIPS
تقوم WoWMIPS بترجمة تعليمات MIPS R4000 إلى x86 في الوقت الفعلي وتحميل ملفات Portable Executable بتنسيق MIPS مع معالجة إعادة التوطين، بحيث يمكن تنفيذ الثنائيات المجمعة لنظام Windows NT في عملية المضيف. يقوم المحمل بإنشاء دعامات API في وقت التحميل لإعادة توجيه استدعاءات نظام MIPS إلى واجهات برمجة التطبيقات الأصلية لنظام Windows، ويحتفظ الأداة بسجلات وحدة المعالجة المركزية وحالة كل خيط بحيث تحافظ الثنائيات متعددة الخيوط من MIPS على سياقات تنفيذ منفصلة.
كيف يؤثر على نظام المضيف أثناء التنفيذ
يعمل المشروع داخل العملية لتقليل الحمل الزائد، مما يمنح الوصول المباشر إلى الذاكرة للكود المحاكي بدلاً من تشغيل آلة افتراضية منفصلة. يقلل هذا التصميم من استخدام الموارد مقارنةً بمحاكيات النظام الكامل، ويت intercept Vectored Exception Handling الاستدعاءات بدون روابط يدوية دائمة. نظرًا لأن التنفيذ يحدث داخل مساحة عنوان المضيف، تتاجر الأداة بالعزل من أجل الأداء والبساطة حسب التصميم.
السلامة، حدود التوافق، ومن يجب أن يستخدمها
تعمل WoWMIPS كإثبات لمفهوم مع قيود واضحة: تفتقر إلى دعم وحدة النقطة العائمة، مما يقيد التوافق للتطبيقات المعتمدة على FPU، وتستهدف ثنائيات MIPS-I/R4000 في وضع المستخدم التي تم بناؤها في الأصل لإصدارات Windows NT الأقدم. يوفر المطور الشيفرة المصدرية للمراجعة، مما يساعد الباحثين والمهندسين العكسيين الذين يحتاجون إلى رؤية في تخطيط التعليمات وآليات إعادة توجيه API.
أداة عملية للمختصين، مع تنازل واضح عن التوافق
WoWMIPS هو تجربة عملية للباحثين ومستخدمي الحوسبة القديمة الذين يحتاجون إلى تشغيل ثنائيات Windows من عصر MIPS ببساطة في العمليات على أجهزة الكمبيوتر المكتبية الحديثة. إن إعادة توجيه واجهة برمجة التطبيقات ذات التكلفة المنخفضة، وعدم وجود API thunk، واستدعاءات VEH هي نقاط قوة، بينما غياب دعم وحدة المعالجة العائمة هو قيد تقني واحد يمنع التوافق الواسع للتطبيقات.