مهندسی معکوس: لبهٔ تکنولوژی با گیدرا (Ghidra) – شماره 00

0
142
مهندسی معکوس: لبهٔ تکنولوژی با گیدرا (Ghidra) – شماره 00

مقدمه

این رشته پست ها یک راهنمای جامع کاربردی برای ابزار مهندسی معکوس گیدرا هستند. توی این مجموعه پست در حداقل 50 قسمت که به صورت هفتگی، آخر هفته ها در سایت قرار میگیرن، از صفر کار با گیدرا رو یاد میگیریم و از گیدرا برای کارای مختلف(آنالیز بدافزار و بررسی باینری و …) استفاده میکنیم. جلوتر که بریم هم میبینید که چطوری میشه با استفاده از اسکریپت های گیدرا کارای پیچیده و زمان بر رو اتوماتیک انجام داد. در ادامه هم مباحث عملی رو رها میکنیم و فقط به تئوری های سطح بالای مهندسی معکوس و گیدرا میپردازیم.

بعد از خوندن کامل و انجام نمونه کارهایی که تا 20 قسمت اول انجام میدیم شما به یه متخصص گیدرا تبدیل میشید و میتونید توی اکثر کارهای مهندسی معکوس از این ابزار استفاده کنید و ابزار خودتون رو برای گیدرا توسعه بدید. ضمنا در مورد جامعه ی کاربری گیدرا هم صحبت میکنیم و اینکه چطور میتونید توی توسعه ی گیدرا مشارکت داشته باشید و نمونه کدهاتون، باگ هایی که پیدا کردید و هرچیز دیگه رو به پروژه ی گیدرا که متعلق به سازمان ملی امنیت آمریکاست(NSA) ارائه بدید و با باقیه جامعه ی کاربری در ارتباط باشید.

این مجموعه ی آموزشی کامل ترین آموزش ممکن رو ارائه میده و اگر برای مطالعش وقت بگذارید، توی زمینه های زیادی میتونه بهتون کمک کنه و راهگشا باشه.

 

کیا باید این مجموعه پست رو دنبال کنن

بایدی در کار نیست؛ اما این مجموعه پست برای علاقه‌مندان به مهندسی معکوس، آنالیز بدافزار، تشخیص باگ، تست نفوذ، توسعهٔ اکسپلویت، بررسی نرم‌افزار، مسائل امنیت و امنیت اطلاعات در نظر گرفته شده ولی تقریباً هر توسعه‌دهنده‌ای میتونه برای خیلی کارا ازش استفاده کنه.
برای اینکه بتونین حداکثر بهره رو از این مجموعه پست ببرید هم بهتره موارد زیر رو کامل بلد باشید:

  • زبان های برنامه نویسی و ماشین شامل: Assembly, C, Python, Java
  • آشنایی با بخش های درونی سیستم
  • دیباگر ها
  • دیس اسمبلر ها

هرچند اگر بلد نباشید هم مشکلی ایجاد نمیشه، ولی کارتون ممکنه یکم سخت بشه و حداقل بهتره یک زبان برنامه‌نویسی رو بلد باشید.

 

منابع

بخش اول این مجموعه پست از کتاب زیر هست که نکات تئوری رو مختصر شرح داده و کد بیس خوبی هم به این منظور توسعه داده و ما هم مرحله‌به‌مرحله روند کتاب رو دنبال می‌کنیم و مسائل رو با هم حل می‌کنیم.

Ghidra Software Reverse Engineering for Beginners_ Analyze, identify, and avoid malicious code and potential threats in your networks and systems

در بخش انتهایی هم مباحث سطح بالای مهندسی معکوس رو از کتاب‌های مختلف جناب Chris Eagle باهم بررسی می‌کنیم و یاد می‌گیریم.

 

ابزار ها

ابزاری که ازشون استفاده می‌کنیم:

سیستم عامل هایی که قابلیت اجرا دارند نرم افزار های مورد استفاده
Windows, MacOS,Linux Ghidra
Windows, MacOS,Linux Git
Windows, MacOS,Linux Java JDK 11
Windows, MacOS,Linux Eclipcse IDE for Java developers
Windows, MacOS,Linux Gradle 5.0 یا جدید تر
Windows, MacOS,Linux VirtualBox
Windows MinGW64
Windows Olly Debugger

 

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

هر چیزی نیاز باشه رو هم توی همین مجموعه پست ارائه میدیم و نیاز به چیز دیگه ای ندارید. اما بازم تکرار می‌کنیم برای اینکه حداکثر استفاده رو از این پست‌ها داشته باشین 4 تا زبان پایتون، سی، جاوا و اسمبلی ضروریه. هرچند ما خودمونم جاوا بلد نیستم و مشکلی برامون پیش نیومده.

 

چه چیزایی رو قراره یاد بگیریم:

  1. یادگیری گیدرا و ساختار اون(عملی-تئوری)
  2. مهندسی معکوس(عملی-تئوری)
  3. توسعه و استفاده ی پیشرفته از گیدرا(عملی-تئوری)
  4. بررسی عملکرد دیس اسمبلر(تئوری)
  5. ساختار و نمایش سطح بالای گیدرا(تئوری)
  6. تغییر گیدرا متناسب با نیاز شما(تئوری)
  7. بررسی کامل گیدرا از سطح ماشین تا سطح بالا(تئوری)
  8. کاربردهای بیشتر گیدرا(تئوری)

 

تاریخ قرار گرفتن قسمت بعدی:

21 مهر 1400

 

منبع:سیسوگ

مطلب قبلیآشنایی با رگولاتور ها – قسمت اول – مقدمه
مطلب بعدیآموزش جامع و کاربردی STM8

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید