يجعل Idacode من السهل تنفيذ وتصحيح البرامج النصية Python في بيئة IDA الخاصة بك دون ترك رمز Visual Studio. يمكن العثور على امتداد VS Code في السوق.
لا يزال Idacode في حالة مبكرة جدًا ، ومن المتوقع أن يكون الحشرات. يرجى فتح مشكلة جديدة إذا واجهت أي مشاكل.
debugpy للاتصال ، فإنه يقوم بمزامنة نافذة الإخراج بشكل طبيعي مع لوحة إخراج VS Code.يدعم Idacode كل من Python 2 و Python 3!
لإعداد التبعيات لتشغيل المكون الإضافي IDA:
# make sure to use the correct Python version
# IDACode supports the latest debugpy as of version 3.0.0, make sure to upgrade!
python -m pip install --user debugpy tornado إما استنساخ هذا المستودع أو قم بتنزيل حزمة إصدار من هنا. يعكس ida.zip محتويات مجلد ida في هذا المستودع. انسخ جميع الملفات إلى دليل المكون الإضافي IDAS.
الخطوة التالية هي تكوين إعداداتك لتتناسب مع بيئتك. تحرير idacode_utils/settings.py وفقًا لذلك:
HOST : هذا هو عنوان المضيف. هذا دائمًا ما يكون 127.0.0.1 إلا إذا كنت تريد أن تكون متاحة من موقع بعيد. ضع في اعتبارك أن هذا البرنامج المساعد لا يستخدم المصادقة.PORT : هذا هو المنفذ الذي تريد أن تستمع إليه IDA. يتم استخدام هذا لاتصال WebSocket بين IDA و VS Code.DEBUG_PORT : هذا هو المنفذ الذي تريد الاستماع إليه لجلسات التصحيح الواردة.PYTHON : هذا هو المسار المطلق لتوزيع Python الذي يستخدمه إعداد IDA الخاص بك.LOGGING : يحدد ما إذا كان يجب على مصحح الأخطاء تسجيل الدخول إلى الملفات. هذا مفيد بشكل خاص عندما تواجه مشكلات مع Idacode. يرجى تقديم مشكلة جديدة إذا وجدت أي شيء. توجد الملفات دائمًا في دليل Temp الخاص بك (على سبيل المثال Windows: %TEMP% ). تسمى الملفات debugpy.*.log . يمكنك الآن بدء تشغيل البرنامج المساعد من خلال النقر على IDACode في قائمة الإضافات.
امتداد VS Code متاح في السوق. لتكوين الامتداد ، يرجى الرجوع إلى readMe للملحق.
اضغط على IDACode في قائمة البرنامج المساعد. يجب أن يتم الترحيب بك بالنص التالي:
IDACode listening on 127.0.0.1:7065
اعتبارًا من الإصدار 0.2.0 يدعم Idacode "تنفيذ على الحفظ" والذي يتم تمكينه افتراضيًا. سيقوم VS Code تلقائيًا بتنفيذ البرنامج النصي الخاص بك في IDA بمجرد حفظ المستند الحالي (على سبيل المثال مع CTRL+S). يمكن تعطيل هذا السلوك في الإعدادات.
هناك 4 أوامر تحت تصرفك:

بمجرد أن يكون لديك مجلد مفتوح تريد وضع البرامج النصية الخاصة بك ( يجب عليك تحديد المجلد عندما يطلب منك VS Code!) أنت مستعد للاتصال بـ IDA. يمكنك القيام بذلك إما عن طريق تنفيذ Connect to IDA أو Connect and attach a debugger to IDA . يرجى مراعاة أن جلسة التصحيح دائمة حتى تقوم بإعادة تشغيل IDA. لا يمكنك تغيير مجلد مساحة العمل بمجرد بدء تصحيح الأخطاء.
تأكد من أن مجلد مساحة العمل هو المجلد الذي توجد فيه البرامج النصية الرئيسية.
بمجرد توصيلك ، يمكنك تحديد Execute script in IDA .
يستخدم Idacode مصحح الأخطاء عن بُعد لـ VS Code للاتصال بـ IDA. يتم دعم جميع ميزات VS Code. ومع ذلك ، يجب عليك تحديد نقطة إدخال البرامج النصية باستخدام وظيفة Python Buildin: breakpoint . تخبر هذه التعليمات مصحح الأخطاء بإيقاف التنفيذ ، إذا لم يكن هناك تصحيح الأخطاء ، فسيتجاهل الوظيفة. يستورد Idacode حزمة مساعدة تسمى dbg والتي تنفذ حمولة زائدة من breakpoint تسمى bp . تدعم هذه الوظيفة التسجيل والشرطيات:
name = idc . get_segm_name ( segment )
dbg . bp ( name == ".text" , f"found { name } at { segment } " ) يرجى أيضًا ملاحظة أن مكالمة breakpoint() يجب ألا تحدث أبدًا في نهاية الملف ، يجب أن تكون دائمًا قبل أي سطر آخر من التعليمات البرمجية أثناء كسره في التعليمات التالية في الرمز الخاص بك. لاحظ أيضًا أنه إذا قررت استخدام حزمة dbg ، فيجب عليك إما إزالة جميع المراجع أو استخدام المتغير __idacode__ على أنه مشروط قبل تنفيذها كنصي IDA العادي.
من المهم أيضًا أن يقوم إرفاق مصحح أخطاء بإنشاء مثيل تصحيح جديد. في معظم الحالات ، هذا ليس ما تريده. إذا قمت بالانفصال عن مصحح الأخطاء ، فاستخدم مصحح الأخطاء عن بُعد في Code للاتصال مرة أخرى.
