در این مقاله میخوایم یه نگاهی به ابزار radare2 بندازیم و یکم در رابطه با مهندسی معکوس فایل های باینری صحبت کنیم.خب اول بریم و مبحث مهندسی معکوس با این ابزار رو توضیح بدیم.
مهندسی معکوس یا همون (Reverse Engineering) یک فرآیند موقت و خلاقانه برای استخراج دانش طراحی و پیاده سازی اطلاعات از هر چیزی هست که در واقعیت استفاده می کنیم. به طور مشابه ، معکوس کردن یک نرم افزار عملی هستش که به منظور تجزیه و تحلیل نرم افزار برای بررسی داخلی اون درصورتی که کد منبع رو نداریم و قصد استفاده ازش رو داریم سودمند هستش.
باید گفت توی دنیای امروز ، دلایل زیادی برای تغییر نرم افزار وجود دارد. این روزها اهداف اصلی معکوس کردن باینری یا نرم افزار, توسعه محصولات رقیب یا شکستن نرم افزار تجاری موجود هست. معکوس کردن در مورد نرم افزار هایی که مکانیزم های مختلف برای محافظت در برابر کپی نرم افزار را شکست می دهند بسیار محبوب است. مهندسی معکوس نرم افزار به شکل های مختلف وجود دارد. یک تحلیلگر بدافزار برای تجزیه و تحلیل مواردی مانند نرم افزارهای مخرب ، Worm یا Trojan که گسترش بزرگی دارند ، نیاز به انجام مهندسی معکوس (RE) دارد. یک رمزنگار , مهندسی معکوس را برای یادگیری الگوریتم های رمزنگاری انتخاب می کند و در مقابل روش های مختلفی را برای شکستن الگوریتم های رمزنگاری جهت رمزگشایی تست می کند. علاوه بر این ، شرکت های فناوری که محصولات میلیون دلاری را توسعه می دهند ، یک مهندس معکوس را برای بررسی نرم افزار برای مطابقت با مدیریت حقوق دیجیتال (DRM) استخدام می کنند. در تمام موارد فوق ، ما واقعاً به کد منبع نرم افزار نیازی نداریم. در واقع ، اگر کد منبع داشته باشیم ، حتی نیازی به انجام (RE) نداریم.
*** حالا بریم سراغ ابزار RADARE2 :
radare2 یک چارچوب مهندسی معکوس منبع باز (Open Source) است که برای تجزیه و تحلیل استاتیک و دینامیکی ، پزشکی قانونی دیجیتال یا بهره برداری از نرم افزار با پشتیبانی از چندین سیستم عامل ، معماری و قالب های باینری استفاده می شود. Radare2 با چند ابزار مهم دیگر برای استخراج داده های پرونده ، تبدیل پایه ، تغییر باینری یکپارچه و بسیاری موارد دیگر استفاده می شود. این برنامه نه تنها یک جداکننده عالی است بلکه اشکال زدایی خوبی هم انجام می دهد ، خصوصاً وقتی شما عاشق کار با CLI (رابط خط فرمان) باشید. تسلط بر radare2 ساده نیست زیرا برای استفاده از آن باید تعداد زیادی دستور را به خاطر بسپارید. اما ، این ابزار یک کنترل خط فرمان بصری است ، در مقایسه با نوشتن کد با استفاده از اتصالات IDA. اگر با IDA Pro یا Hopper آشنا هستید در واقع یک پخش کننده CTF هستید ، باید radare2 را امتحان کنید.
با استفاده از کد های دستوری زیر میتونید این ابزار رو روی سیستم عامل لینوکس خودتون نصب کنید (کالی بصورت پیشفرض این ابزار رو داره)
#cloning from Github repository
git clone https://github.com/radare/radare2
#change the current the working directory
cd radare2
# run install.sh
sudo sys/install.sh
*** مجموعه ای از دستورات radare2 به همراه کاربرد:
*** برای دریافت Cheet Sheet و دستورات کامل این ابزار میتونید به لینک زیر مراجعه کنید.
متخصص تست نفوذ و امنیت
فعال در حوزه تست نفوذ و امنیت , علاقه مند به مباحث شبکه و برنامه نویسی عاشق یادگیری و آموزش دادن. دوستان عزیز جهت مطرح کردن سوالات و مشکلات خودشون در دوره های آموزشی بنده میتونن از طریق کانال تلگرام اقدام کنند. https://t.me/hakkfateam
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود