Перейти к содержимому

مهندسی معکوس نرم‌افزار با هوش مصنوعی | بازسازی یک اپلیکیشن با REA

Net Admin Plus

0:00 / 0:00

مهندسی معکوس نرم‌افزار با هوش مصنوعی | بازسازی یک اپلیکیشن با REA

1 508 просмотров · 6 дн. назад
Net Admin Plus
25,2 тыс. подписчиков
1 508 просмотров · 6 дн. назад
توی این ویدیوی کانال نت ادمین پلاس، مهندسی معکوس نرم‌افزار با هوش مصنوعی (AI Reverse Engineering) رو بررسی می‌کنیم و با ابزار متن‌باز REA یا Reverse Engineer Anything آشنا می‌شیم. ابزاری که به AI Agent کمک می‌کنه نرم‌افزارهای موجود رو تحلیل کنه، منطق عملکرد اون‌ها رو بهتر درک کنه و در فرایند بازسازی نرم‌افزار یا پیاده‌سازی قابلیت‌های مشابه به ما کمک کنه. توی این آموزش، ابتدا با مفاهیم پایه مهندسی معکوس، Binary، Disassembly و Decompilation آشنا می‌شیم. در ادامه، REA رو روی macOS راه‌اندازی می‌کنیم و با استفاده از یک AI Agent، نرم‌افزار Uno Calculator رو بررسی می‌کنیم تا ببینیم آیا می‌شه بدون دسترسی به Source Code اصلی، یک اپلیکیشن مشابه و Native برای macOS با Swift و SwiftUI ساخت یا نه. 🔗 پروژه REA در GitHub: https://github.com/morluto/rea 🔗 وب‌سایت رسمی REA: https://rea.tools/ 🔗 پروژه Uno Calculator: https://github.com/unoplatform/calcul... ⭐️ فهرست محتوا ⭐️ [زمان] معرفی REA و کاربرد هوش مصنوعی در مهندسی معکوس نرم‌افزار ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ 🔴 وبلاگ: https://ramtiin.ir 🔵 کانال تلگرام: https://t.me/+50QA0saHuCQ5NDk0 🟡 اینستاگرام:   / netadminplus   🟣 فیسبوک:   / netadminplus   ⚪ توییتر:   / netadmiinplus   ⚫ حمایت: https://ramtiin.ir/donate ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ مهندسی معکوس نرم‌افزار یا Software Reverse Engineering فرایندی هست که طی اون تلاش می‌کنیم ساختار داخلی، منطق عملکرد و نحوه پیاده‌سازی یک نرم‌افزار رو بررسی و درک کنیم؛ حتی زمانی که به Source Code اصلی اون دسترسی نداریم. در نرم‌افزارهایی که با زبان‌هایی مثل C و C++ توسعه داده می‌شن، Source Code طی فرایند Compilation به Machine Code تبدیل می‌شه. این دستورالعمل‌ها در فایل‌های اجرایی یا Executable قرار می‌گیرن و پردازنده می‌تونه اون‌ها رو اجرا کنه. اما زمانی که فقط فایل اجرایی یک نرم‌افزار رو در اختیار داریم، برای بررسی منطق داخلی اون می‌تونیم از تکنیک‌هایی مثل Disassembly و Decompilation استفاده کنیم. در فرایند Disassembly، دستورالعمل‌های ماشین به نمایش قابل‌خواندنی مثل Assembly تبدیل می‌شن. در مقابل، Decompilation تلاش می‌کنه از کد سطح پایین، نمایی شبیه زبان‌های برنامه‌نویسی سطح بالا بازسازی کنه که معمولاً بهش Pseudocode می‌گیم. ابزارهایی مثل Ghidra، IDA و Hopper سال‌هاست برای تحلیل Binaryها و مهندسی معکوس نرم‌افزارها استفاده می‌شن. اما تحلیل دستی نرم‌افزار، به‌خصوص در پروژه‌های پیچیده، می‌تونه زمان‌بر باشه و به دانش تخصصی نیاز داشته باشه. اینجاست که استفاده از هوش مصنوعی و AI Agentها می‌تونه به این فرایند کمک کنه. پروژه متن‌باز REA یا Reverse Engineer Anything از طریق Model Context Protocol یا MCP، ابزارها و قابلیت‌های تحلیل نرم‌افزار رو در اختیار AI Agent قرار می‌ده. به این ترتیب، Agent می‌تونه با استفاده از ابزارهای تحلیل، اطلاعات مربوط به ساختار نرم‌افزار، توابع، ارتباطات داخلی و رفتار برنامه رو بررسی کنه و از نتایج به‌دست‌اومده برای درک بهتر عملکرد نرم‌افزار یا کمک به پیاده‌سازی یک نسخه مشابه استفاده کنه. یکی از کاربردهای چنین رویکردی اینه که وقتی قصد توسعه یک نرم‌افزار جدید رو داریم، بتونیم نحوه عملکرد قابلیت‌های موجود در نرم‌افزارهای دیگه رو بررسی کنیم و بر اساس نتایج تحلیل، قابلیت مشابهی رو در پروژه خودمون توسعه بدیم. البته REA به‌تنهایی یک ابزار جادویی برای بازیابی Source Code اصلی یا کپی کامل نرم‌افزارها نیست. کیفیت نتایج به نوع نرم‌افزار، ابزارهای تحلیل، اطلاعات قابل استخراج و توانایی AI Agent در تفسیر و پیاده‌سازی اون‌ها بستگی داره. برای بررسی عملی این قابلیت، از نرم‌افزار Uno Calculator استفاده می‌کنیم؛ یک ماشین‌حساب Open Source که نسخه macOS هم داره. در این آزمایش تلاش می‌کنیم بدون استفاده از Source Code اصلی، اپلیکیشن رو با کمک REA و یک AI Agent تحلیل کنیم و نسخه‌ای مشابه اون رو به‌صورت Native روی macOS توسعه بدیم. در پایان هم نتیجه بازسازی رو از نظر ظاهر، قابلیت‌ها و عملکرد با نرم‌افزار اصلی مقایسه می‌کنیم تا ببینیم استفاده از AI در فرایند Reverse Engineering چقدر می‌تونه کاربردی باشه و چه محدودیت‌هایی داره. نکته مهم اینه که مهندسی معکوس و بازسازی قابلیت‌های نرم‌افزارها باید با رعایت حقوق مالکیت فکری، شرایط لایسنس و مجوزهای مربوط انجام بشه. اگر به هوش مصنوعی، AI Agentها، مهندسی معکوس، برنامه‌نویسی، توسعه نرم‌افزار یا ابزارهای Open Source علاقه دارید، این ویدیو می‌تونه دید بهتری نسبت به کاربرد عملی AI در تحلیل و بازسازی نرم‌افزارها بهتون بده. #ReverseEngineering #REA #AIAgents #ArtificialIntelligence #SoftwareDevelopment #مهندسی_معکوس