|
IDA-Minsc هو مكون إضافي لـ IDA Pro يساعد مستخدمًا مع البرمجة النصية للمكون الإضافي IDAPYTHON الذي تم تجميعه مع Disassembler. يجمع هذا المكون الإضافي الجوانب المختلفة من واجهة برمجة تطبيقات Idapython إلى تنسيق أبسط يتيح للمهندس العكسي أن يدعو جوانب مختلفة من عملهم مع القليل من الاستثمار.
يتم تقديم عدد من المفاهيم مثل نظام وضع العلامات ، ودعم الوظائف متعددة المعالم ، والتصفية بنية أن يمكن إجراء معظم مشكلات البحث والشرح مع بضعة أسطر من التعليمات البرمجية. يجب أن يمكّن هذا المستخدم من كتابة التعليمات البرمجية المؤقتة والاختراق السريعة التي يمكن استخدامها لزيادة مساعيه العكسية دون إلهاء.
يجب أن يكون التثبيت بسيطًا جدًا ويتطلب ببساطة استنساخ المستودع مباشرة في دليل مستخدم IDA الخاص بالمستخدم. على منصة Windows ، عادة ما يكون هذا موجودًا عند %APPDATA%/Hex-Rays/IDA Pro . بينما على منصة Linux يمكن العثور عليها في $HOME/.idapro . يجب أن تحل هذه المحتويات من هذا المستودع محل هذا الدليل. إذا كان لديك أي ملفات تقيم حاليًا هناك ، فما عليك سوى نقلها إلى دليل المستودع. بعد التثبيت ، يجب على IDA Pro تحميل المكون الإضافي الخاص به Idapython والذي يجب أن يؤدي إلى idapythonrc.py الذي ينتمي إلى Ida-Minsc الذي سيحل بعد ذلك محل مساحة الاسم الافتراضية لـ Idapython مع المساحة المكوّنة.
لاستنساخ المستودع في $TARGET ، يمكن للمرء ببساطة القيام به:
$ git clone https://github.com/arizvisa/ida-minsc "$TARGET"
بعد استنساخ المستودع ، سيحتاج المستخدم إلى تثبيت تبعيات Python المطلوبة في حزم موقعه. يمكن القيام بذلك باستخدام pip وهي أداة مجمعة مع Python. الملف الذي يحتوي على متطلبات المستخدم في جذر المستودع requirements.txt .
لتثبيت تبعيات Python المطلوبة ، يمكن للمرء تشغيل pip على النحو التالي:
$ pip install -r "requirements.txt"
في هذه المرحلة عندما يبدأ المستخدم في IDA Pro ، ستحل IDA-Minsc محل مساحة اسم Idapython مع هذه النقطة التي يمكن استخدامها على الفور. للتحقق من تثبيت IDA-Minsc بشكل صحيح ، يمكن للمرء ببساطة كتابة ما يلي في موجه Idapython:
> database.config.version()
هذا يجب أن يعيد الرقم 0 لأنه لم يتم تحميل أي قاعدة بيانات.
بعد تثبيت تبعيات Python ، يمكنك القيام بشيء مثل ما يلي لإدراج جميع الوظائف في قاعدة البيانات الخاصة بك:
> database.functions.list()
أو للتكرار من خلال جميع الوظائف في قاعدة البيانات ، يمكنك المحاولة:
> for ea in database.functions():
print(hex(ea))
يرجى الرجوع إلى الوثائق لمزيد من التفاصيل حول ما يتيحه هذا البرنامج المساعد.
تتوفر الوثائق الشاملة في صفحة المشروع على github.io ، أو يمكن بناؤها محليًا عبر فرع "المستندات".
إذا كان المستخدم يرغب في إنشاء وثائق للاستخدام المحلي ، فسوف يحتاجون أولاً إلى تثبيت حزمة sphinx. بعد ذلك ، يوجد مجمل الوثائق في فرع "المستندات". ما عليك سوى الخروج من الفرع ، وقم بتغيير الدليل إلى "المستندات" ، ثم قم بتشغيل GNU على أنه:
$ make html
سيؤدي ذلك إلى تحليل نظام الإنشاء للوحدات النمطية المتاحة ثم تقديم جميع الوثائق في دليل _build بالنسبة إلى docs/Makefile . يمكن إنشاء الوثائق لعدد من التنسيقات المختلفة. لسرد جميع التنسيقات المتاحة ، اكتب make help في موجه الأوامر.
راجع المساهمة.
بفضل عدد من الأشخاص المجهولين وغير المجهولين الذين ساعدوا في تطوير هذا البرنامج المساعد على مدار كل هذه السنوات.