
إضافة محاكي صغيرة ولطيفة لـ IDA مبنية على unicorn.
uEmu هو مكون إضافي محاكي صغير ولطيف لـ IDA مبني على محرك Unicorn.
يدعم البنى التالية مباشرة: x86، x64، ARM، ARM64، MIPS، MIPS64

MSR S3_x, X0 لـ ARM64)idapyswitchbrew install unicorn لتثبيت ثنائيات Unicornpip install unicorn لتثبيت روابط بايثون لـ UnicornFile / Script file... أو ALT+F7 في IDA لتحميل uEmu.pyاختياريًا، يمكن تحميل uEmu تلقائيًا كمكون إضافي لـ IDA. في هذه الحالة، ضعه في مجلد [IDA]/Plugins وقم بتغيير USE_AS_SCRIPT إلى False داخل uEmu.py

ALT/OPTION لتحديد رقم)بدء المحاكاة من المؤشر. من الضروري توفير سياق المعالج الأولي أولاً (انظر تحديث سياق المعالج) بعد ذلك، سيتم تعيين جميع المقاطع من قاعدة بيانات IDA إلى المحاكي (سيتم نسخ البيانات المهيأة أيضًا).
تنفيذ الكود حتى الوصول إلى نقطة توقف كود أو ذاكرة أو وجود حدث يتطلب إجراء المستخدم.
تنفيذ خطوة واحدة. اضغط مع الاستمرار ALT/OPTION لتحديد عدد الخطوات.

عندما تكون المحاكاة قيد التشغيل، يمكن استخدام هذا الأمر لمقاطعة التنفيذ.
يعيد ضبط مثيل المحاكي ويلغي تعيين جميع مناطق الذاكرة.
يمكنك استخدام نقاط توقف IDA للإشارة إلى المواقع التي يجب فيها مقاطعة المحاكاة. يشمل ذلك نقاط توقف الكود والذاكرة. تُستخدم عادةً مع أمر Run.
عندما يحتاج المحاكي إلى الوصول إلى ذاكرة لم يتم تعيينها بعد، سيعرض المكون الإضافي الحوار التالي.


عندما يواجه المحاكي تعليمة غير معروفة، يمكن تخطيها واستعادة سياق المعالج يدويًا.

مجرد لوحة للتحكم في التنفيذ.

سياق المعالج الحالي.

في كل مرة تتوقف فيها المحاكاة، سيتم تمييز السجلات المتغيرة. يمكن عرض السجلات في عمود أو عمودين أو ثلاثة عبر القائمة المنبثقة.
من الممكن تحديث سياق المعالج عبر القائمة المنبثقة (انظر أدناه).
سياق المعالج الموسع الحالي.

في كل مرة تتوقف فيها المحاكاة، سيتم تمييز السجلات المتغيرة. يمكن عرض السجلات في عمود أو عمودين أو ثلاثة عبر القائمة المنبثقة.
من الممكن تحديث سياق المعالج عبر القائمة المنبثقة (انظر أدناه).
استخدم هذا العرض لمراقبة مناطق الذاكرة لعنوان وحجم محددين. سيتم عرض التعليق في العنوان للراحة.

في كل مرة تتوقف فيها المحاكاة، سيتم تمييز كتل الذاكرة المتغيرة.

يمكن تغيير قيم السجلات بشكل فردي أو دفعة واحدة باستخدام ملف JSON عبر القائمة المنبثقة. يمكن أيضًا حفظ السياق الحالي في ملف JSON للاستخدام المستقبلي.



بالإضافة إلى جميع الوظائف المدرجة في القائمة المنبثقة، هناك أمران جديدان.

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

يحاول هذا الأمر مزامنة مقاطع IDA مع الذاكرة المعينة عن طريق إنشاء تعيينات جديدة أو دمجها مع الموجودة إن أمكن. يساعد هذا في إضافة مقاطع IDA جديدة إلى المحاكي أثناء التشغيل دون إعادة تشغيل المحاكي.
تحميل حالة uEmu من ملف.
حفظ حالة uEmu إلى ملف. يرجى ملاحظة أنه يتم حفظ السجلات المحددة في المكون الإضافي فقط.

من الممكن أيضًا إضافة وظائف جديدة أو بناء مشروعك فوق uEmu باستخدام نظام الامتدادات.
يرجى العثور على الوصف مع مثال هنا