مقدمه
این رشته پست ها یک راهنمای جامع کاربردی برای ابزار مهندسی معکوس گیدرا هستند. توی این مجموعه پست در حداقل 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 تا زبان پایتون، سی، جاوا و اسمبلی ضروریه. هرچند ما خودمونم جاوا بلد نیستم و مشکلی برامون پیش نیومده.
چه چیزایی رو قراره یاد بگیریم:
- یادگیری گیدرا و ساختار اون(عملی-تئوری)
- مهندسی معکوس(عملی-تئوری)
- توسعه و استفاده ی پیشرفته از گیدرا(عملی-تئوری)
- بررسی عملکرد دیس اسمبلر(تئوری)
- ساختار و نمایش سطح بالای گیدرا(تئوری)
- تغییر گیدرا متناسب با نیاز شما(تئوری)
- بررسی کامل گیدرا از سطح ماشین تا سطح بالا(تئوری)
- کاربردهای بیشتر گیدرا(تئوری)
تاریخ قرار گرفتن قسمت بعدی:
21 مهر 1400
منبع:سیسوگ