REA: دع وكلاء الذكاء الاصطناعي يفككون البرامج التي لا يتوفر مصدرها

يربط مشروع REA مفتوح المصدر (Reverse Engineer Anything) أدوات التحليل العكسي بوكلاء البرمجة المدعومين بالذكاء الاصطناعي، مثل Claude Code وCodex وCursor. إذا أعجبتك ميزة في تطبيق شخص آخر، يمكنك أن تطلب من الوكيل تحليل البرنامج وشرح كيفية تنفيذ الميزة، مع تقديم الأدلة، ثم كتابة ميزة مشابهة في مشروعك. والتحليل العكسي هو استنتاج طريقة كتابة البرنامج انطلاقًا من النسخة المترجمة، عند عدم توفر الشيفرة المصدرية.

REA بحد ذاته خدمة MCP. وMCP واجهة عامة تتيح لوكلاء الذكاء الاصطناعي استخدام أدوات خارجية؛ وبعد ربطها، يستطيع الوكيل استدعاء إمكانات REA التحليلية مباشرةً من المحادثة. لا يتطلب التثبيت سوى أمر واحد: npx rea-agents setup. وسيسجل الخدمة في وكلاء مثل Claude Code وCodex وCursor وGemini CLI وGrok Build. كما ينشئ نسخة احتياطية ويطلب تأكيدك قبل تعديل الإعدادات. وإذا لم تكن تستخدم وكيلاً، يمكنك أيضًا تشغيل الأوامر مباشرةً في الطرفية.

يمكنه تحليل أنواع كثيرة من البرامج. أما البرامج الأصلية، أي البرامج المترجمة مباشرةً إلى شيفرة آلة، فتتطلب أدوات تفكيك مثل Hopper وGhidra وIDA لإعادة شيفرة الآلة إلى لغة التجميع وشيفرة زائفة تشبه لغة C. ويمكن تحليل تطبيقات Electron، وهي برامج سطح مكتب مبنية بتقنيات الويب مثل Notion، عبر فك أرشيف ASAR المضمّن في حزمة التثبيت مباشرةً، ثم توضيح بنية الوحدات والاتصالات بين العمليات، من دون الحاجة إلى أدوات إضافية. كما يدعم برامج .NET وتطبيقات APK لنظام Android والبرامج الثابتة والمواقع وسجلات التقاط حركة الشبكة وشيفرة بايت لعقود Ethereum، بالإضافة إلى تسجيل سلوك البرامج أثناء التشغيل على Linux وmacOS.

يُجرى التحليل على الجهاز المحلي، ولا يرفع REA البرنامج المستهدف. لكن نتائج التحليل تُرسل إلى مزوّد خدمة النموذج الذي يعمل الوكيل من خلاله، وتعتمد طريقة التعامل مع البيانات على سياسات كل مزوّد.

يعرض المشروع ثلاث دراسات حالة. الأولى لعبة كسر الطوب الكلاسيكية DX-Ball: انطلاقًا من استدعاء لتشغيل مؤثر صوتي، تتبّع التحليل الدالة التي تحسب قناتي الصوت اليمنى واليسرى وفقًا لموقع الكرة، ثم أعاد بناء الشيفرة الزائفة غير المكتملة على هيئة شيفرة C. تطابقت نتائج مجموعات الاختبار البالغ عددها 3205 مع النسخة الأصلية، كما تطابقت تمامًا معها البايتات الـ63 الناتجة عن التجميع. والثانية نسخة سطح المكتب من Notion: تتبّع المسار الكامل لعملية النسخ واللصق من الواجهة، مرورًا بالنصوص البرمجية المُحمّلة مسبقًا والاتصال بين العمليات، وصولًا إلى العملية الرئيسية. والثالثة لعبة «أرض الخيال الشرقي» (TH04) لأجهزة الكمبيوتر اليابانية القديمة PC-98: استُعيدت خوارزمية حساب زوايا حلقات رصاصات وابل الطلقات من تعليمات ذات 16 بت.

بالنسبة إلى باحثي الأمن ومطوّري نسخ الألعاب القديمة والعاملين على حفظ البرمجيات، كان عليهم سابقًا قراءة أدوات التفكيك سطرًا سطرًا وتتبع الاستدعاءات طبقةً تلو الأخرى. أما الآن فيمكنهم أن يتركوا الوكيل يتتبعها أولًا، ثم يتحققوا بأنفسهم من الأدلة التي يقدمها. كما أصبح لدى المطورين العاديين سبيل إضافي لدراسة كيفية تنفيذ ميزة لدى منتج منافس.

يشير ملف README إلى أن المشروع حصد بالفعل 50 ألف نجمة على GitHub. ونُشرت حزمة npm للمرة الأولى في يوليو من هذا العام، وصدر أحدث إصدار، 6.3.0، اليوم.

انتبه إلى نقطتين قبل الاستخدام. يصرّح المشروع بأنه يدعم الأبحاث القانونية في مجال الهندسة العكسية فقط، وأن مسؤولية الحصول على التصاريح والامتثال تقع على المستخدم؛ فقد تنتهك الهندسة العكسية لبرامج الآخرين اتفاقية المستخدم أو قوانين حقوق النشر. كما يوضح المشروع أنه لم يصدر أي عملة مشفرة ولم يزكِّ أيًّا منها، وأن الرموز التي تستخدم اسم REA لا علاقة لها به.

https://github.com/morluto/rea