✅ چالش مهندسی معکوس CrackMe-v1
مهندسی معکوس فرایندی است که در آن عملکرد، ساختار یا رفتار یک نرمافزار یا سیستم را بدون دسترسی به کد منبع آن تحلیل و بازسازی میکنیم. هدف میتواند کشف منطق داخلی، درک پروتکلها، بازیابی الگوریتمها یا یافتن نقاط ضعف امنیتی باشد. دو رویکرد کلی در مهندسی معکوس و آنالیز برنامه وجود دارد:
🔹 تحلیل استاتیک: مطالعهٔ باینری و دادههای درون فایل بدون اجرای آن (مثلاً با دکامپلر، disassembler، خواندن بخشهای داده و نمادها). مناسب برای یافتن ساختارها، توابع و رشتهها.
🔹 تحلیل داینامیک: اجرای برنامه در محیط کنترلشده و دنبالکردن رفتار در زمان اجرا (دیباگر، tracing، مانیتورینگ syscalls). مناسب برای دیدن مقدارهای واقعی، مسیرهای اجرا و اثرات جانبی.
کاربردهای مهندسی معکوس در امنیت و حوزههای مرتبط عبارتند از:
✔️ کشف آسیبپذیریها (Vulnerability Research): تحلیل باینریها برای پیدا کردن باگها و اکسپلویتهای احتمالی.
✔️ تحلیل بدافزار (Malware Analysis): بررسی رفتار برنامههای مخرب، شناسایی تروجانها، و توسعهٔ راهکارهای مقابله.
✔️ تضمین کیفیت و سازگاری (Interoperability): درک پروتکلها یا فرمتهای اختصاصی برای ایجاد نرمافزارهای سازگار.
✔️ بازبینی لایسنس و رعایت قوانین (License Auditing): بررسی مکانیزمهای لایسنس و تضمین اینکه نرمافزار مطابق سیاستها رفتار میکند.
✔️ جرایم و دیجیتال فورنزیک (Forensics): بازیابی شواهد و تحلیل رفتار برنامهها پس از حادثهٔ امنیتی.
در این چالش یک فایل اجرایی ۶۴-بیتی در اختیار قرار میگیرد که قبل از نمایش فلگ از کاربر لایسنس میگیرد. هدف شما پیدا کردن لایسنس درست یا دستکاری برنامه بهگونهای است که فلگ را مشاهده کنید.
فایل اجرایی ممکن است رفتارهای غیرمنتظره یا مخرب (مثل تغییر فایلها، فراخوانی شبکه، یا اجرای کدهای سیستمی) داشته باشد. حتماً فایل را تنها در محیطهای ایزوله اجرا کنید.
این تمرین برای تقویت مهارتهای خواندن اسمبلی، تحلیل استاتیک/داینامیک و درک مکانیزمهای سادهٔ چک کردن لایسنس طراحی شده است.
اهداف آموزشی
✔️آشنایی عملی با تحلیل باینریهای ۶۴-بیتی.
✔️تحلیل جریان کنترل و توابع مرتبط با اعتبارسنجی (license check).
✔️بهکارگیری ابزارهای مهندسی معکوس (مثل IDA/Ghidra/radare2/x64dbg/strace/ltrace) برای استخراج منطق برنامه.
این چالش توسط آقای محمدرضا احسانی فرد ایجاد شده است.
درصد پیشرفت حل چالش
0%