انتقل إلى المحتوى

مفكك تفاعلي أيدا (برمجية)

هذه المقالة يتيمة. ساعد بإضافة وصلة إليها في مقالة متعلقة بها
غير مفحوصة
يرجى مراجعة هذه المقالة وإزالة وسم المقالات غير المراجعة، ووسمها بوسوم الصيانة المناسبة.
من ويكيبيديا، الموسوعة الحرة
Interactive Disassembler
Portrait of Françoise d'Aubigné, whose image is used as the IDA logo
معلومات عامة
نوع
نظام التشغيل
المنصة
النموذج المصدري
متوفر بلغات
المطور الأصلي
المطورون
Hex-Rays
موقع الويب
معلومات تقنية
لغة البرمجة
الإصدار الأول
21 مايو 1991؛ منذ 33 سنة (1991-05-21)[1]
الإصدار الأخير
8.4 SP2[2]
الرخصة
Proprietary
الملفات المقروءة
الملفات المنتجة

المُفكك التفاعلي ( IDA ) هو مُفكك لبرامج الكمبيوتر والذي يقوم بإنشاء كود مصدر لغة التجميع من كود قابل للتنفيذ بواسطة الجهاز . يدعم مجموعة متنوعة من التنسيقات القابلة للتنفيذ للمعالجات وأنظمة التشغيل المختلفة. يمكن أيضًا استخدامه كمصحح أخطاء (Debugger) لأنظمة التشغيل مثل Windows PE وMac OS X Mach-O وملفات Linux ELF القابلة للتنفيذ. كما يتوفر مكون إضافي لدعم فك التجميع (Disassembly).، والذي يقوم بإنشاء تمثيل عالي المستوى يشبه كود المصدر C للبرنامج الذي تم تحليله، مقابل تكلفة إضافية. [5] [6]

تُستخدم IDA على نطاق واسع في الهندسة العكسية للبرمجيات، بما في ذلك تحليل البرامج الضارة [7] [8] وأبحاث نقاط ضعف البرمجيات . [9] يشار إلى IDA باسم "مفكك المعايير الصناعية الفعلية". [10] [11] [12] [13]

تاريخ

[عدل]

بدأ *إلفاك جيلفانوف* تطوير IDA في عام 1990، ووزّعه في البداية كتطبيق مشترك (Shareware). وفي عام 1996، تولت شركة *DataRescue* البلجيكية تطوير البرنامج وطرحه كمنتج تجاري تحت اسم *IDA Pro*.

لم تكن الإصدارات الأولية من IDA تحتوي على واجهة مستخدم رسومية (GUI) ، وتم تشغيلها كتطبيق وحدة تحكم ممتد لنظام DOS أو OS/2 أو Windows. [14] في عام 1999، أصدرت DataRescue الإصدار الأول من IDA Pro مع واجهة المستخدم الرسومية، IDA Pro 4.0. [15]

في عام 2005، أسس جيلفانوف شركة Hex-Rays لمتابعة تطوير ملحق Hex-Rays Decompiler IDA. [16] [17] في يناير 2008، تولت شركة Hex-Rays تطوير ودعم برنامج IDA Pro الخاص بـ DataRescue. [18] [19]

في عام 2022، استحوذت شركة Smartfin، وهي شركة أوروبية لرأس المال الاستثماري والأسهم الخاصة، على شركة Hex-Rays. [20] [21]

سمات

[عدل]

يقوم *IDA* بتحويل البرامج المترجمة إلى تمثيل بلغة التجميع (Assembly). وإلى جانب التفكيك الأساسي، يضيف *IDA* تلقائيًا شروحات إلى البرامج المفككة، متضمنة معلومات حول:

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

البرمجة النصية

[عدل]

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

قام المستخدمون بإنشاء مكونات إضافية تسمح باستخدام لغات برمجة نصية شائعة أخرى بدلاً من IDC أو بالإضافة إليها. يدعم IdaRUB [22] لغة Ruby ويضيف IDAPython [23] دعمًا لـ Python . اعتبارًا من الإصدار 5.4، يأتي IDAPython (المعتمد على Python 2.5) مثبتًا مسبقًا مع IDA Pro.

مصحح الأخطاء

[عدل]

يدعم *IDA Pro* مجموعة من أدوات تصحيح الأخطاء (Debugging tools)، بما في ذلك:

  • تتيح تطبيقات Windows وLinux وMac البعيدة (التي توفرها Hex-Rays) تشغيل ملف قابل للتنفيذ في بيئته الأصلية (من المفترض باستخدام جهاز افتراضي للبرامج الضارة)
  • يتم دعم GNU Debugger (gdb) على Linux وOS X، بالإضافة إلى مصحح أخطاء Windows الأصلي
  • يتم توفير مكون إضافي لـ Bochs لتصحيح أخطاء التطبيقات البسيطة (على سبيل المثال، ملفات UPX التالفة أو الملفات المضغوطة المضغوطة mpress)
  • مصحح أخطاء يعتمد على PIN من Intel
  • إعادة تشغيل التتبع

الإصدار الأحدث من IDA Pro هو إصدار تجاري (الإصدار 8.4 اعتبارًا من يونيو 2024)، بينما يتوفر إصدار محدود القدرات، يُعرف باسم IDA Free، للتنزيل مجانًا.

الأنظمة/المعالجات/المُجمِّعات المدعومة

[عدل]

الشعار

[عدل]

شعار IDA Pro هو صورة مقصوصة لفرانسواز دوبيني، ماركيز دي ماينتنون . صورة الشعار تشبه لوحة مصغرة لفرانسواز دوبيني التي تم توثيقها لرسام في دائرة بيير مينارد . [25]

تم تقديم النسخة الأصلية ذات اللون الرمادي من الشعار في سبتمبر 1999، مع إصدار IDA 4.0. [26] صرح إلفاك جيلفانوف أن الشعار ليس تصويرًا للقديسة إيدا من لوفين . [27]

انظر أيضا

[عدل]

مراجع

[عدل]

 

  1. ^ Czokow, Geoffrey (20 May 2021). "IDA: celebrating 30 years of binary analysis innovation". Hex-Rays (بالإنجليزية). Retrieved 2023-03-19.
  2. ^ "IDA 8.4.240527 (8.4sp2)". مؤرشف من الأصل في 2024-06-02. اطلع عليه بتاريخ 2024-06-28.
  3. ^ "Hex-rays Home". مؤرشف من الأصل في 2024-05-26. اطلع عليه بتاريخ 2008-03-31.
  4. ^ "IDA 8.4.240527 (8.4sp2)". 27 مايو 2024. مؤرشف من الأصل في 2024-06-02. اطلع عليه بتاريخ 2024-06-28.IDA 8.4.240527 (8.4sp2)&rft.date=2024-05-27&rft_id=https://hex-rays.com/products/ida/news/8_4sp2/&rfr_id=info:sid/ar.wikipedia.org:مفكك تفاعلي أيدا (برمجية)" class="Z3988">
  5. ^ Eagle، Chris (2011). "Chapter 23: Real-World IDA Plug-ins". The IDA Pro Book : the Unoffical Guide to the World's Most Popular Disassembler (ط. 2nd). San Francisco: No Starch Press. ص. 500–502. ISBN:978-1-59327-395-8. OCLC:830164382.
  6. ^ "Hex-Rays Decompiler". hex-rays.com. مؤرشف من الأصل في 2022-05-20. اطلع عليه بتاريخ 2023-03-18.
  7. ^ Staff, S. C. (11 Sep 2017). "Hex-Rays IDA Pro". SC Media (بالإنجليزية). Retrieved 2023-03-13.
  8. ^ Sikorski، Michael (2012). "Chapter 5. IDA Pro". Practical Malware Analysis : a Hands-On Guide to Dissecting Malicious Software. Andrew Honig. San Francisco: No Starch Press. ISBN:978-1-59327-430-6. OCLC:830164262.
  9. ^ Shoshitaishvili، Yan؛ Wang، Ruoyu؛ Salls، Christopher؛ Stephens، Nick؛ Polino، Mario؛ Dutcher، Andrew؛ Grosen، John؛ Feng، Siji؛ Hauser، Christophe (22 مايو 2016). "SOK: (State of) the Art of War: Offensive Techniques in Binary Analysis". 2016 IEEE Symposium on Security and Privacy (SP). ص. 138–157. DOI:10.1109/SP.2016.17. hdl:11311/1161277. ISBN:978-1-5090-0824-7. S2CID:3337994. مؤرشف من الأصل في 2022-12-08. اطلع عليه بتاريخ 2023-03-17.
  10. ^ Ben Khadra، M. Ammar؛ Stoffel، Dominik؛ Kunz، Wolfgang (1 أكتوبر 2016). "Speculative disassembly of binary code". Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems. CASES '16. New York, NY, USA: Association for Computing Machinery. ص. 1–10. DOI:10.1145/2968455.2968505. ISBN:978-1-4503-4482-1. S2CID:16206393. It outperforms IDA Pro, the de-facto industry standard disassembler, in terms of disassembly correctness.
  11. ^ Di Federico، Alessandro؛ Payer، Mathias؛ Agosta، Giovanni (5 فبراير 2017). "Rev.ng: A unified binary analysis framework to recover CFGS and function boundaries". Proceedings of the 26th International Conference on Compiler Construction. CC 2017. New York, NY, USA: Association for Computing Machinery. ص. 131–141. DOI:10.1145/3033019.3033028. ISBN:978-1-4503-5233-8. S2CID:15830760. We evaluate our prototype implementation against the de-facto industry standard for static binary analysis, IDA Pro,
  12. ^ Garcia Prado، Carlos؛ Erickson، Jon (10 أبريل 2018). "Solving Ad-hoc Problems with Hex-Rays API". FireEye Threat Research Blog. مؤرشف من الأصل في 2022-06-02. اطلع عليه بتاريخ 2023-03-12. IDA Pro is the de facto standard when it comes to binary reverse engineering.
  13. ^ Andriesse، Dennis (2019). "Appendix C: List of Binary Analysis Tools". Practical binary analysis : build your own Linux tools for binary instrumentation, analysis, and disassembly. San Francisco, CA. ISBN:978-1-59327-913-4. OCLC:1050453850. This [IDA Pro] is the de facto industry-standard recursive disassembler.{{استشهاد بكتاب}}: صيانة الاستشهاد: مكان بدون ناشر (link)
  14. ^ "DataRescue IDA Page : download an evaluation version". DataRescue. مؤرشف من الأصل في 1997-02-14.
  15. ^ "DataRescue IDA Pro What's new Page". DataRescue. مؤرشف من الأصل في 1999-10-10.
  16. ^ "Gegevens van de geregistreerde entiteit | KBO Public Search". kbopub.economie.fgov.be. اطلع عليه بتاريخ 2023-03-13.
  17. ^ "Hex-Rays Decompiler". Hex-Rays. مؤرشف من الأصل في 2007-10-11.
  18. ^ "DataRescue Home Page : home of the IDA Pro Disassembler and of PhotoRescue". DataRescue. مؤرشف من الأصل في 2008-02-21. News 07/01/2008: IDA Pro moves to Hex-Rays.
  19. ^ "Hex-Rays Home Page". Hex-Rays. مؤرشف من الأصل في 2008-02-12.
  20. ^ "A consortium of investors acquires Hex-Rays – Hex Rays" (بالإنجليزية). Archived from the original on 2023-07-21. Retrieved 2023-07-21.
  21. ^ "News Industry | Smartfin led consortium acquires Hex-Rays to accelerate product innovation efforts". Help Net Security (بالإنجليزية الأمريكية). 20 Oct 2022. Archived from the original on 2023-07-21. Retrieved 2023-07-21.
  22. ^ "Spoonm/Idarub". غيت هاب. مؤرشف من الأصل في 2016-01-08. اطلع عليه بتاريخ 2011-12-05.
  23. ^ "Idapython [d-dome.net]". مؤرشف من الأصل في 2006-01-16.
  24. ^ "FLIRT Compiler Support". Hex-Rays. مؤرشف من الأصل في 2011-10-03. اطلع عليه بتاريخ 2010-04-13.
  25. ^ "Französische Schule, Nachfolge Pierre Mignard - Osterauktion 17.04.2019 - Schätzwert: EUR 1.500 bis EUR 2.600 - Dorotheum". www.dorotheum.com (بالألمانية). Archived from the original on 2023-08-14. Retrieved 2024-07-08.
  26. ^ Czokow, Geoffrey (20 May 2021). "IDA: celebrating 30 years of binary analysis innovation". Hex-Rays (بالإنجليزية). Retrieved 2023-03-19.
  27. ^ Guilfanov، Ilfak (13 أبريل 2006). "Sainte Ida | Hex Blog". Hex Blog. مؤرشف من الأصل في 2011-06-17. اطلع عليه بتاريخ 2024-07-08.

قراءة إضافية

[عدل]

روابط خارجية

[عدل]