Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ipyida — تكامل وحدة تحكم IPython مع IDA Pro | Kitploit
أدوات/GitHubGitHub/eset/ipyida
الهندسة العكسيةالبرمجة النصية والأتمتةتحليل الملفات الثنائية
GitHubeset/ipyida

ipyida

تكامل وحدة تحكم IPython مع IDA Pro

عرض المستودع
85076منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

= IPyIDA

IPyIDA هو حل يعتمد على بايثون فقط لإضافة وحدة تحكم IPython إلى IDA Pro. استخدم <Shift-.> لفتح نافذة تحتوي على وحدة تحكم Qt مدمجة. يمكنك بعد ذلك الاستفادة من الإكمال التلقائي في IPython والمساعدة عبر الإنترنت وحقل الإدخال بخط أحادي المسافة والرسوم البيانية وما إلى ذلك.

يمكنك أيضًا الاتصال بالنواة خارج IDA باستخدام ipython console --existing.

image::ipyida-screenshot.png[لقطة شاشة IPyIDA,width=100%]

== التثبيت

يجب أن يكون IPyIDA متوافقًا مع IDA 6.6 والإصدارات الأحدث على Windows وOS X وLinux. وقد تم اختباره على IDA حتى الإصدار 9.2.

=== تثبيت سريع وسهل

يتم توفير برنامج نصي لتثبيت IPyIDA وتبعياته تلقائيًا من وحدة تحكم IDA. ما عليك سوى نسخ السطر التالي إلى وحدة تحكم IDA.

.Python 2 [source,python]

import urllib2; exec urllib2.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py').read()

.Python 3 [source,python]

import urllib.request; exec(urllib.request.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py').read())

على macOS، لا يوفر Python3.framework ملف شهادة CA موثوقًا. يمكنك استخدام ملف النظام /etc/ssl/cert.pem.

[source,python]

import urllib.request; exec(urllib.request.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py', cafile="/etc/ssl/cert.pem").read())

سينفذ البرنامج النصي ما يلي:

  1. تثبيت pip إذا لم يكن مثبتًا بالفعل
  2. تثبيت حزمة ipyida من https://pypi.org/project/ipyida/[PyPi]
  3. نسخ ipyida_plugin_stub.py إلى دليل plugins الخاص بالمستخدم
  4. تحميل إضافة IPyIDA

يمكنك فحص البرنامج النصي link:install_from_ida.py[] إذا كنت ترغب في معرفة ما يفعله بالضبط.

==== الترقية

أعد تشغيل البرنامج النصي للتثبيت لتحديثه إلى أحدث إصدار وأعد تشغيل IDA.

=== تثبيته بالطريقة المعتادة في IDA

إذا كنت تفضل إدارة التبعيات والتحديثات بنفسك، يمكنك نسخ ipyida_plugin_stub.py ودليل ipyida داخل دليل plugins الخاص بـ IDA.

تتطلب هذه الطريقة إدارة التبعيات بنفسك. يتطلب IPyIDA حزمتي ipykernel وqtconsole، وحزمة qasync إذا كنت تستخدم إصدار ipykernel 5 أو أحدث.

== التكامل مع Jupyter Notebook

يتضمن IPyIDA أمرًا سحريًا، %open_notebook، لفتح متصفح مع دفتر ملاحظات (notebook) مرتبط بـ IPyIDA. يتولى الأمر تثبيت التبعيات عند تشغيله لأول مرة وبدء خادم Notebook ما لم يكن هناك خادم يعمل بالفعل. اطلع على تعليمات الأمر (بكتابة %open_notebook?) لمزيد من الخيارات.

== تخصيص وحدة تحكم IPython

افتراضيًا، لا تتوفر أي متغيرات عامة (globals) في وحدة التحكم. إذا كنت تريد استيراد وحدة قبل فتح وحدة التحكم، سيقرأ IPyIDA ملف ipyidarc.py من دليل مستخدم IDA (idaapi.get_user_idadir()). أي شيء تستورده في هذا الملف سيكون متاحًا في وحدة تحكم IPython.

هذا مشابه لملف idapythonrc.py.

=== الوضع الداكن

عند استخدام سمة داكنة في IDA Pro، يكون من الأنسب أيضًا استخدام سمة داكنة في وحدة تحكم IPython. لتفعيل السمة الداكنة المدمجة في qtconsole، أضف ما يلي في ملف ipyidarc.py الخاص بك:

[source, python]

import qtconsole.styles import ipyida.ida_qtconsole ipyida.ida_qtconsole.set_widget_options(dict( style_sheet = qtconsole.styles.default_dark_style_sheet, syntax_style = qtconsole.styles.default_dark_syntax_style ))

== التكامل مع بيئات التطوير المتكاملة (IDE)

من أبرز ميزات iPyIDA القدرة على دمجه مع بيئة التطوير PyCharm IDE. يتيح ذلك ميزات مثل التنقل خلال الكود سطرًا بسطر (stepping)، وتمييز الصياغة (syntax highlighting)، والتكامل مع Github CoPilot، وغيرها. لاستخدام هذه الميزة، ما عليك سوى تشغيل IDA وفتح قاعدة بيانات، وإنشاء Jupyter Notebook في PyCharm، وإضافة بعض الكود، ثم النقر على تشغيل (run). يقوم IPyIDA بكل السحر في الخلفية.

image::pycharm-screenshot.png[لقطة شاشة IPyIDA,width=100%]

== تحذيرات

=== عدم استجابة وحدة التحكم الخارجية إذا بقيت نافذة IDA في الخلفية لفترة طويلة

هذه المشكلة خاصة بميزة App Nap في OS X 10.9 والإصدارات الأحدث. عند التشغيل، يبدو أن تعطيل App Nap لـ IDA Pro يصلح المشكلة، لكنه حل مؤقت (hack) في الوقت الحالي وسيستهلك المزيد من طاقة البطارية على الكمبيوتر المحمول، لذا يجب أن نجد حلًا أفضل.

إليك كيفية تعطيل App Nap لـ IDA Pro:

[source,bash]

defaults write com.hexrays.idaq NSAppSleepDisabled -bool YES defaults write com.hexrays.idaq64 NSAppSleepDisabled -bool YES

== أعمال مشابهة

قام @james91b أيضًا بدمج نواة IPython في IDA بنجاح. وبصفتي مستخدمًا لـ IDA على أنظمة غير Windows، كنت بحاجة إلى حل يعمل عبر المنصات (cross-platform) فاتخذت نهجًا يعتمد على بايثون فقط لتنفيذه. على الرغم من أن بعض أفكار التنفيذ مستمدة من ذلك المشروع، فقد تمت كتابة IPyIDA من الصفر. تحية تقدير لـ @james91b وجميع المساهمين في IDA_IPython. يتوفر IDA_IPython على Github على https://github.com/james91b/ida_ipython.

تنزيل الأداة