عن المشروع
Sogen هو محاكي في مساحة المستخدم يقوم بتشغيل برامج Windows وLinux دون وجود نظام تشغيل حقيقي، مما يوفر رؤية كاملة وتحكماً كاملاً في تنفيذها. بدلاً من إعادة تنفيذ واجهات برمجة تطبيقات نظام التشغيل، يحاكي Sogen البرامج الثنائية على مستوى وحدة المعالجة المركزية واستدعاءات النظام مع تشغيل مكتبات النظام الفعلية (مثل ntdll وkernel32 وuser32)، مما يضمن أن السلوك يطابق بشكل وثيق نظام تشغيل حقيقي.
تشمل القدرات الرئيسية:
- **مكتبات نظام حقيقية**: يستخدم مكتبات Windows الحقيقية بدلاً من النماذج البديلة.
- **الربط وإعادة الكتابة**: اعتراض وتعديل الذاكرة والتعليمات واستدعاءات النظام واستدعاءات واجهة البرمجة.
- **داخلية دقيقة**: دعم تحميل PE (إعادة التوطين، TLS)، وأنواع ذاكرة Windows، ومعالجة الاستثناءات SEH، والخيوط، والسجل، ونظام الملفات، والشبكات.
- **لقطة واستعادة**: تسلسل كامل للحالة، ولقطات سريعة في الذاكرة، وتحميل ملفات minidump.
- **عبر المنصات**: يعمل على Windows وLinux وmacOS وAndroid وiOS والمتصفحات، ويدعم x86-64 وarm64.
- **تنفيذ حتمي**: تشغيل قابل للتكرار حتى مستوى التعليمات الفردية.
يوفر Sogen عدة محركات خلفية لوحدة المعالجة المركزية: Unicorn Engine وicicle-emu وHyper-V (WHP) وKVM وFEX. يمكن التصحيح عبر بروتوكول GDB (مثل مع IDA Pro) أو مصحح متصفح مدمج، ويعمل على مستوى المحاكي ليبقى غير مرئي لفحوصات مكافحة التصحيح. يمكن تشغيل تطبيقات وألعاب واجهة المستخدم الرسومية الأصلية في بيئة معزولة، مع افتراضية وحدة معالجة الرسومات لتسريع ثلاثي الأبعاد ودعم Direct3D 8/9/10/11 عبر ترجمة DXVK إلى Vulkan.
روابط بايثون متاحة عبر `pip install sogen`، وتتطلب جذر محاكاة (قابل للتنزيل أو الإنشاء الذاتي). توجد روابط دارت غير رسمية في مستودع منفصل. المشروع مبني بلغة C++ ويتضمن دليلاً سريعاً للبدء على Windows مع Visual Studio، يتضمن الاستنساخ مع الوحدات الفرعية، وCMake preset، والبناء، وإنشاء تفريغ سجل للتحليل.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.