كان البرنامج يختفي في السابق. يُترجم إلى كود آلي، ويُصغَّر، وتُحذف رموزه، ويُشحن ككتل غامضة لا يمكنك سوى تحسّسها من الخارج. انتهى ذلك العصر بهدوء في أبريل 2026، وبحلول أكتوبر كان عالم البرمجة كله قد لاحظ.
أصبح REA، أي Reverse Engineer Anything، أحد أسرع المستودعات نمواً التي استضافها GitHub على الإطلاق: نحو 262 ألف نجمة و66 ألف تفريعة، كل ذلك في مشروع واحد برخصة MIT لم يكن موجوداً قبل ثمانية أشهر. هذه ليست قصة تسريب قاعدة بيانات ولا هلع ثغرة يوم صفر. الأمر أكبر وأغرب. يمنح REA وكيل البرمجة بالذكاء الاصطناعي مفاتيح فحص أي قطعة برمجية، حتى لغة التجميع الخام، وشرح كيفية عملها فعلاً.
إذا كنت تبني البرمجيات أو تشتريها أو تدافع عنها، فهذا يغيّر حساباتك. إليك ما هو REA حقاً، وما يستطيع وما لا يستطيع فعله، وماذا يعني ذلك لعملك.
ما هو REA فعلاً
REA هو أداة سطر أوامر وخادم MCP. الجزء الثاني هو الأهم. بروتوكول سياق النموذج (MCP) هو المعيار المفتوح الذي يسمح لوكلاء مثل Claude Code وCodex وCursor وGemini CLI وGrok Build باستدعاء أدوات خارجية. يتصل REA في هذه الفتحة ويمنح وكيلك صندوق أدوات كامل للهندسة العكسية.
وجّهه إلى تطبيق أو ملف تنفيذي أو موقع، واطرح سؤالاً بلغة عادية. لماذا تتسارع الديناصور؟ كيف يولّد هذا التطبيق رمز الدخول الخاص بي؟ يعيد REA الأدلة: كود شبهي، لغة تجميع، سلاسل نصية، رموز، مخططات استدعاء، وملاحظات وقت التشغيل. يقرأ وكيلك هذه الأدلة، ويشرح السلوك، ثم يستطيع إعادة بناء الميزة لمشروعك الخاص.
كل شيء يعمل محلياً. لا شيء يُرسل إلى سحابة شخص آخر. والأهم: يعيد REA أدلته وحدوده جنباً إلى جنب. يخبرك بما وجده وبالمكان الذي يبدأ فيه الاستنتاج بالاهتزاز.
الأهداف التي يستطيع فتحها
هنا يتسع النطاق فعلاً. REA ليس مفككاً بحيلة واحدة. توثيقه الرسمي يغطي:
- الملفات التنفيذية الأصلية: كود شبهي، لغة تجميع، سلاسل، رموز، استدعاءات ومراجع، مدعومة بـHopper أو Ghidra أو IDA
- تطبيقات جافاسكربت وإلكترون: الوحدات والاستيرادات وخرائط المصدر والمسارات وحدود الـIPC
- تجميعات .NET: البيانات الوصفية وتعليمات CIL والتبعيات الأصلية
- المواقع: بنية الصفحة والسكربتات وملاحظات الشبكة من جلسة متصفح حقيقية
- حزم أندرويد APK: تعريفات المانيفست والأصناف والدوال المفكوكة
- ملفات Go وRust التنفيذية: قوائم الوحدات المدمجة وأسماء الحزم والإصدارات وحواف التبعية
- البرمجيات الثابتة وWASM وbytecode الخاص بـEVM وقواعد SQLite وتطبيقات Flutter وتسجيلات الشبكة
تجد الأدلة وخطوات الإعداد ودراسات الحالة على موقع المشروع rea.tools. يستعرض الموقع تحقيقات حقيقية: لماذا تحوّل حاسبة ويندوز 200 + 10% إلى 220 (فهي تأخذ نسبة من الرقم الأول بعد علامة الجمع)، وكيف تنسخ Notion بيانات الكتل المنسقة إلى الحافظة، وكيف حسبت لعبة من 1996 توزيع الصوت يميناً ويساراً. كل ادعاء يرتبط بالتعليمات الفعلية ويُقارن بالكود المنشور.
ما لا يستطيع فعله (اقرأ هذا الجزء مرتين)
REA لا يستعيد الكود المصدري الأصلي. بل يعيد بناء المنطق والسلوك. هذا الفرق هو ما يفصل أداة هندسية مفيدة عن تفكير سحري، ومن يعدك بغير ذلك يبيعك قصة لا قدرة.
وهو ليس بلا عوائق أيضاً. يحتاج التحليل الأصلي إلى محرك حقيقي مثبت: Hopper أو Ghidra أو IDA. وبعض الأهداف تتطلب أدوات إضافية مثل JADX لأندرويد أو TShark للحزم. والمشروع يتطور بسرعة، لذا ستحدّثه كثيراً.
ثم هناك الضجيج. مستودع بهذه الشعبية يجذب المقلّدين والاحتيال. هناك مستودعات منسوخة تعيد استخدام الاسم وتنسخ ملف README، وقد ظهرت بالفعل تنزيلات مزيفة لـREA. المصادر الشرعية محدودة: github.com/morluto/rea وrea.tools وحزمة rea-agents على npm. وأي شيء آخر يستحق الشك.
الجزء الذي يجب أن يسمعه كل صاحب عمل
إليك الحقيقة المزعجة التي جعلها REA بديهية: إذا كان تطبيقك يشحن منطقه إلى جهاز المستخدم، فلم يعد هذا المنطق سراً.
ليس صعب الاكتشاف، ولا مموهاً بما يكفي، بل مقروء. التصغير والتغليف وحذف الرموز تبطئ الإنسان. لكنها بالكاد تبطئ وكيل ذكاء اصطناعي يستطيع تتبع مخطط استدعاء عبر آلاف التعليمات في ثوانٍ.
هذا لا يعني أن منتجك صار بلا قيمة فجأة. يعني أن خندقك يجب أن ينتقل. الأجزاء القابلة للدفاع في البرمجيات الحديثة لم تكن يوماً في العميل فعلاً:
- أبقِ الجواهر على الخادم. قواعد التسعير وخوارزميات التقييم ومنطق مكافحة الاحتيال والبيانات الخاصة تنتمي إلى واجهتك البرمجية، لا إلى تطبيق مترجم يستطيع أحد فك تغليفه.
- لا تشحن أسراراً أبداً. مفاتيح الـAPI والرموز وبيانات الاعتماد في كود العميل كانت دوماً فكرة سيئة. وقد حوّل REA عبارة "سيجدها أحدهم" إلى يقين.
- نافس بالتجربة والتنفيذ لا بالسرية. تجربة استخدام ممتازة وموثوقية ودعماً وتكاملات وسرعة تطوير كلها أصعب بكثير في النسخ من دالة واحدة.
- اعزل كل ما لا تثق به. أداة الهندسة العكسية تفحص كوداً معادياً بطبيعتها. شغّلها في آلة افتراضية معزولة، لا على جهاز يحمل بياناتك الحقيقية.
- اعرف الخط القانوني. تدقيق الأمان والتشغيل البيني والتعلّم واستعادة كودك المفقود أمور مقبولة عموماً. أما نسخ منتج منافس أو تجاوز الحماية الرقمية فليس كذلك، والأداة لا تبيّض النية.
الخلاصة
REA هو أوضح إشارة حتى الآن إلى أن شفافية البرمجيات صارت هي الوضع الافتراضي. وكلاء مستخدميك يستطيعون قراءة تطبيقك، ووكلاء منافسيك أيضاً. السؤال ليس إن كان منطقك مرئياً. السؤال هو إن كنت قد بنيت شيئاً يصمد أمام أن يُرى.
للمطورين، هذا محرر: ادرس كيف تعمل أفضل التطبيقات ثم ابنِ شيئاً أفضل. وللشركات، هذا دعوة لتدقيق ما تشحنه فعلاً. افتح حزمة العميل واسأل نفسك ماذا ستجد لو بدأ وكيل فضولي يشد الخيوط.
لأن وكيل أحدهم يشدها بالفعل الآن.
المصادر: مشروع REA (github.com/morluto/rea وrea.tools)، وتحليل Nate's Newsletter عن REA، وتغطية Geeky-Gadgets وأدلة مجتمع REA.