IDA Pro چیست و چگونه کار میکند؟

IDA Pro چیست و چگونه کار میکند

IDA Pro چیست: IDA Pro، توسعه یافته توسط Hex-Rays، یک برنامه نرم افزاری معروف است که برای مهندسی معکوس کد باینری استفاده می شود. به عنوان یک disassembler  و debugger، کاربران را قادر می‌سازد تا در جزئیات پیچیده فایل‌های اجرایی، از جمله including executables ، shared libraries، object files و firmware به دقت بپردازند. IDA Pro با پشتیبانی از معماری های مختلف پردازنده و فرمت های فایل، ابزاری همه کاره برای تجزیه و تحلیل کد در پلتفرم های مختلف است.

بیایید ویژگی های داخلی IDA Pro را بررسی کنیم:

  • جداسازی قطعات (disssembly)
  • تجزیه و تحلیل کد (Code Analysis)
  • اشکال زدا (Debugger)
  • پشتیبانی از پردازشگر و فرمت فایل
  • نمای نمودار
  • رابط اسکریپت
  • همکاری و اشتراک گذاری

 

پس از راه‌اندازی IDA، با پنجره اولیه روبرو می‌شوید که گزینه «Disassemble a New File» را برای باز کردن ارائه می‌دهد.

 

IDA Pro چیست

شکل 1: باز شدن پنجره

 

IDA Pro چیست

شکل 2: نمای اولیه IDA Pro

 

IDA Pro به صورت خودکار فرمت فایل فایل اجرایی را پس از باز کردن شناسایی و تشخیص می دهد. همچنین، کل فایل اجرایی را به طور کامل تجزیه و تحلیل می کند و یک آرشیو .idb )پایگاه داده ( ایجاد می کند. این آرشیو به عنوان یک پایگاه داده جامع شامل کدهای جدا شده، نتایج تجزیه و تحلیل و سایر اطلاعات مرتبط استخراج شده از فایل اجرایی است.

 

IDA Pro چیست

شکل 3: بارگذاری یک فایل جدید

 

در IDA Pro، فایل‌های خاص اهداف مشخصی را دنبال می‌کنند:

ID0: این فایل حاوی محتویات پایگاه داده B-tree است. این داده ها و ساختارهای واقعی مورد استفاده توسط IDA Pro برای تجزیه و تحلیل، جداسازی قطعات و عملیات های مختلف دیگر را ذخیره می کند.

ID1: فایل .id1 دارای پرچم هایی است که توضیحاتی را برای هر بایت برنامه ارائه می دهد. این پرچم ها به شناسایی ویژگی های خاص کد در طول تجزیه و تحلیل کمک می کنند.

NAM: فایل .nam به عنوان نمایه ای عمل می کند که اطلاعات مربوط به مکان های برنامه نامگذاری شده را در خود جای می دهد. به ارجاع کارآمد و دسترسی به نهادهای نامگذاری شده در کد جدا شده کمک می کند و به درک کلی ساختار برنامه کمک می کند.

 

IDA Pro چیست

رابط های IDA Pro:

بیایید رابط های مهم و مفید IDA Pro را ببینیم.

  • IDA View-A
  • Hex View-A
  • Strings
  • imports
  • exports
  • Switches
  • Help window

IDA View-A:

View-A نمای جداسازی قطعات اولیه را در IDA Pro نشان می‌دهد که این نما یک نمای کلی از دستورالعمل های اسمبلی برنامه ارائه می دهد و به کاربران اجازه می دهد تا عملکرد و منطق کد را پیمایش، تجزیه و تحلیل و درک کنند.

 

IDA Pro چیست

شکل 5: نمای عادی IDA-A

 

IDA Pro چیست

شکل 6: نمای تفصیلی IDA

 

نمای هکس:

نمایش هگزا دسیمال برنامه را نمایش می دهد که به راحتی نمایش هگزا دسیمال را با دستورالعمل های جداسازی مرتبط می کند و تجزیه و تحلیل جامع کد باینری برنامه را تسهیل می کند.

 

IDA Pro چیست

شکل 7: پنجره هگزا

 

نمای رشته:

پنجره رشته ها رشته های استخراج شده را در یک لیست سازماندهی می کند و به کاربران امکان می دهد که آنها را مرور، جستجو و دستکاری کنند. هر ورودی رشته معمولاً شامل خود مقدار رشته، آدرسی که در آن یافت شده و اطلاعات زمینه‌ای اضافی است.

پنجره رشته ها کاربران را قادر می سازد تا ارجاعات متقابل به رشته ها را از قسمت های مختلف کد جدا شده مشاهده کنند. این ویژگی به شناسایی نحوه استفاده از رشته ها کمک می کند و بینشی در مورد عملکرد برنامه ارائه می دهد.

IDA Pro چیست

شکل 8: پنجره رشته ها

 

پنجره export و import

Exports: این بخش توابع یا نمادهای صادر شده توسط برنامه تحلیل شده را نمایش می دهد. توابع صادر شده معمولاً برای سایر ماژول ها یا فایل های اجرایی قابل دسترسی هستند و به آنها اجازه می دهد تا به عنوان یک رابط برای اجزای خارجی استفاده شوند.

Imports: در این بخش، پنجره توابع یا نمادهایی را که برنامه تحلیل شده از کتابخانه ها یا ماژول های خارجی وارد می کند، فهرست می کند. توابع وارداتی ارجاعاتی به توابعی هستند که برنامه به آنها متکی است اما به صورت خارجی پیاده سازی می شوند.

 

IDA Pro چیست

شکل 9: پنجره export و import

 

Import Functions:

IDA Pro چیست

شکل 10: import functions

 

Export functions:

IDA Pro چیست

شکل 11: export functions

 

switch:

IDA Pro چیست

شکل 12: switching shortcut Tiles

 

پنجره راهنما:

IDA Pro چیست

شکل 13: پنجره راهنما

 

نتیجه گیری:

به طور خلاصه، IDA Pro یک ابزار قدرتمند و همه کاره برای مهندسان معکوس، محققان امنیتی و تحلیلگران نرم افزار است. ویژگی های قوی آن، مانند جداسازی، تجزیه و تحلیل کد، اشکال زدایی، و پشتیبانی از معماری های مختلف پردازنده و فرمت های فایل، تجزیه و تحلیل عمیق و درک کد باینری را امکان پذیر می کند.

در حالی که این نمای کلی نگاهی اجمالی به قابلیت های IDA Pro ارائه می دهد، متخصصان امنیتی می توانند به گسترش دانش، مهارت ها و کاربرد این ابزار قدرتمند ادامه دهند و پتانسیل کامل آن را برای چالش های امنیتی پیچیده باز کنند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *