REA: یه MCP برای مهندسی معکوس هر اپی
خلاصهٔ کاملتر
REA (مخفف Reverse Engineer Anything) یه سرور MCP هست، یعنی یه پروتکل که ایجنتهای هوش مصنوعی باهاش به ابزارهای بیرونی وصل میشن. سازندههاش میگن ایده سادهست: یه قابلیت تو یه اپ دیدی و میخوای تو محصول خودت داشته باشیش؟ از ایجنتت بخواه با REA بررسیش کنه. ایجنت بدون سورسکد اپ رو میگرده، توضیح میده اون قابلیت چطور کار میکنه، مدرکش رو نشون میده و یه نسخه برای پروژهت میسازه.
نصبش با یه دستور npx rea-agents setup انجام میشه. این دستور سرور MCP و دستورالعملهای کاری رو برای ایجنتهایی مثل Claude Code، Codex، Cursor و Gemini CLI ثبت میکنه و از تنظیمات قبلی بکاپ میگیره. به Node.js نسخهی 22.19 به بالا، 24.11 به بالا یا 26 احتیاج داره. همین ابزارها از ترمینال هم با دستور rea در دسترسن.
برای تحلیل عمیق باینریهای native به یکی از ابزارهای decompiler (یعنی برنامهای که کد ماشین رو به شبهکد قابلخوندن برمیگردونه) مثل Hopper، Ghidra یا IDA نیاز داری. خروجیش شبهکد، اسمبلی، رشتهها، سیمبلها و ارجاعهاست. ولی تحلیل استاتیک جاوااسکریپت و .NET به هیچکدوم احتیاج نداره و فقط فایلها رو میخونه، بدون اینکه اپ رو اجرا کنه.
دامنهی هدفها گستردهست: اپهای JavaScript و Electron (ماژولها، importها، IPC)، وبسایتها با یه مرورگر خانوادهی Chrome، فایلهای HAR، بایتکد EVM، APK اندروید با JADX، firmware با Binwalk یا Unblob و حتی crashهای ضبطشدهی لینوکس. بعضی از این قابلیتها فقط روی لینوکس یا مک کار میکنن.
چند تا نمونهی واقعی هم آوردن. مثلاً تو بازی DX-Ball محاسبهی pan صدا رو به زبون C بازسازی کردن که با 3,205 حالت تست x86 اصلی جور درمیاد و هر 63 بایت تابع کامپایلشده رو دوباره تولید میکنه. یه نمونهی دیگه هم مسیر clipboard تو اپ Electron نوشن رو از renderer تا main process دنبال کرده.
تیم پروژه تأکید میکنه که تحلیلها روی سیستم خودت انجام میشه و اپ آپلود نمیشه، ولی نتیجهها به ایجنت و مدل هوش مصنوعیش میرسه که سیاست دادهی خودش رو داره. همینطور گفتن که REA فقط برای مهندسی معکوس قانونیه و گرفتن مجوزهای لازم با خود کاربره.
نکات کلیدی:
- REA یه سرور MCP متنباز با لایسنس MIT برای مهندسی معکوسه.
- نصب با npx rea-agents setup و پشتیبانی از Claude Code، Codex، Cursor و Gemini CLI.
- به Node.js نسخهی 22.19+، 24.11+ یا 26+ نیاز داره.
- تحلیل native به Hopper، Ghidra یا IDA وابستهست، ولی JavaScript و .NET بدون اونا کار میکنن.
- تحلیلها لوکال انجام میشن، ولی خروجی به مدل هوش مصنوعی ایجنت فرستاده میشه.




