العودة إلى التحديثات
UpdatedAug 31, 2026

sogen — Updated!

🪅 مُحاكي مساحة المستخدم لنظامي Windows و Linux

مشاركة


inspect.software score badge for momo5502/sogen

يشغّل Sogen برامج Windows وLinux بدون نظام تشغيل حقيقي، ويتيح لك رؤية والتحكم في كل ما تفعله هذه البرامج.

بدلاً من إعادة تنفيذ آلاف واجهات برمجة تطبيقات أنظمة التشغيل، يحاكي Sogen الملفات الثنائية على مستوى وحدة المعالجة المركزية واستدعاءات النظام، ويشغّل ملفات DLL الحقيقية للنظام، بحيث يتطابق السلوك بشكل وثيق مع نظام التشغيل الحقيقي.

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

مبني بلغة C++ ويعمل بواسطة محرك وحدة المعالجة المركزية الذي تختاره:

جرّبه الآن: sogen.dev
 

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

  • ملفات DLL حقيقية للنظام: يشغّل ntdll وkernel32 وuser32 الفعلية، وليس نسخاً معاد تنفيذها
  • الربط وإعادة الكتابة: اعتراض وتغيير الذاكرة والتعليمات واستدعاءات النظام واستدعاءات واجهات برمجة التطبيقات
  • داخلية Windows موثوقة: تحميل PE (إعادة التوطين، TLS)، أنواع ذاكرة Windows، SEH، تعدد الخيوط، السجل، نظام الملفات والشبكات
  • التقاط اللقطات والاستعادة: تسلسل كامل للحالة، لقطات سريعة في الذاكرة، وتحميل ملفات minidump
  • يعمل في كل مكان: Windows وLinux وmacOS وAndroid وiOS والمتصفح، على x86-64 وarm64
  • حتمي: كل عملية تشغيل قابلة لإعادة الإنتاج، حتى مستوى التعليمة
     

معاينة

معاينة

تصحيح أخطاء غير قابل للاكتشاف

صحّح الأخطاء باستخدام الأدوات التي تعرفها بالفعل، مثل IDA Pro أو GDB، عبر بروتوكول GDB، أو استخدم مصحح الأخطاء المدمج داخل المتصفح.
يعمل مصحح الأخطاء على مستوى المحاكي، خارج العملية، لذا يبقى غير مرئي لفحوصات مكافحة التصحيح.

تصحيح أخطاء عملية تعمل في Sogen من جلسة GDB عن بُعد في IDA Pro  

تشغيل الألعاب في بيئة معزولة

تعمل تطبيقات الواجهة الرسومية الأصلية، مع نوافذ وحوارات وعناصر تحكم عاملة.
تمكّن المحاكاة الافتراضية لوحدة معالجة الرسومات تسريع ثلاثي الأبعاد على وحدة معالجة الرسومات الحقيقية لديك، بينما يعمل محرك Hyper-V على تشغيل الكود محلياً على وحدة المعالجة المركزية لديك. سريع بما يكفي للألعاب.
تعمل عناوين Direct3D 8/9/10/11 عبر DXVK، الذي يترجم Direct3D إلى Vulkan فوق جسر وحدة معالجة الرسومات.

لعبة تعمل داخل محاكي Sogen  

نظرة عامة على المشروع

فيديو يوتيوب

انقر هنا للاطلاع على الشرائح.
 

روابط Python

ثبّت باستخدام:

pip install sogen

تتطلب روابط Python جذر محاكاة. يمكنك تنزيل جذر جاهز هنا، أو إنشاء جذر خاص بك باتباع التعليمات في الويكي.

مثال:

import sogen

emu = sogen.windows.create_application("c:/test-sample.exe", emulation_root="./root")


def on_module_load(module):
    if module.name.lower() == "test-sample.exe":
        emu.hooks.memory_execution_at(module.entry_point, lambda address: print(f"hit entry point: 0x{address:x}"))

emu.callbacks.on_module_load = on_module_load
emu.start()
print(emu.process.exit_status)

راجع examples/python/README.md للحصول على تفاصيل الإعداد ومثال أكبر.
 

روابط غير رسمية

روابط Dart متاحة في مستودع منفصل.
 

بدء سريع (Windows + Visual Studio)

[!TIP]
راجع الويكي لمزيد من التفاصيل حول كيفية البناء والتشغيل على Windows وLinux وmacOS و...

1. تحقق من الكود:

git clone --recurse-submodules https://github.com/momo5502/sogen.git

2. شغّل الأمر التالي في موجه أوامر تطوير x64 في الدليل المستنسخ:

cmake --preset=vs2022

3. قم ببناء الحل الذي تم إنشاؤه في build/vs2022/sogen.sln

4. أنشئ تفريغاً للسجل بتشغيل grab-registry.bat كمسؤول وضعه في مجلد القطع الأثرية بجوار analyzer.exe

5. شغّل البرنامج الذي تختاره:

analyzer.exe C:\example.exe

الفئات