ما هو REA (Reverse Engineer Anything)؟ خادم MCP الذي حقق 115 ألف نجمة على GitHub في أسبوع

REA هو خادم MCP مفتوح المصدر يمكّن وكلاء البرمجة من الهندسة العكسية للملفات الثنائية والتطبيقات وتسجيلات الشبكة. الإعداد والحدود ومسار HAR إلى Apidog.

Ashley Innocent

Ashley Innocent

13 أكتوبر 2026

ما هو REA (Reverse Engineer Anything)؟ خادم MCP الذي حقق 115 ألف نجمة على GitHub في أسبوع

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

‏REA، واختصاره Reverse Engineer Anything، هو خادم MCP وأداة CLI مفتوحا المصدر يمنحان وكيل البرمجة الأدوات اللازمة لتفكيك البرمجيات بدون الحصول على الكود المصدري. وجّه Claude Code أو Codex أو Cursor أو وكيلًا آخر إلى ملف ثنائي أصلي أو تطبيق Electron أو تجميعة ‎.NET أو حزمة APK أندرويد أو موقع ويب أو تسجيل شبكة محفوظ، واسأل كيف تعمل ميزة معينة، ويعيد REA كودًا زائفًا ورسومًا بيانية للوحدات وسجلات الطلبات والأدلة وراء كل ادعاء. بعد ذلك يشرح الوكيل السلوك أو يعيد بناءه.

تم إنشاء مستودع morluto/rea في أبريل 2026 وبقي غير ملحوظ تقريبًا حتى الأسبوع الأول من أكتوبر. وبحلول 12 أكتوبر كان قد تجاوز 115,000 نجمة و25,000 نسخة مفترقة، وهي واحدة من أسرع الصعودات التي شهدتها GitHub. يغطي هذا الدليل ما يفعله REA وكيفية تثبيته وأين يتمتع بقوة وأين تتجاوز الضجة واقعَه، بالإضافة إلى الجزء الذي تتجاهله أغلب التغطيات: يقرأ REA تسجيلات HAR وmitmproxy، ما يجعله واجهة أمامية لهندسة API المعكوسة يمكنك إكمالها في Apidog.

زر

الأرقام الكامنة وراء الضجة

يُظهر التتبع اليومي من Trendshift شكل القفزة. ظهر REA لأول مرة في قائمة الترند في 4 أكتوبر بنحو 1,400 نجمة جديدة في يوم واحد. ثم تضاعف النمو لمدة أسبوع.

التاريخ النجوم الجديدة في ذلك اليوم
4 أكتوبر 1,373
7 أكتوبر 5,602
9 أكتوبر 19,375
10 أكتوبر 26,572
11 أكتوبر 31,255

حافظ المستودع على المركز الأول في GitHub Trending خلال خمسة من الأيام السبعة من 6 إلى 12 أكتوبر. وواكبت الإصدارات نفس الوتيرة: صدر الإصدار 3.2 في 3 أكتوبر، و4.0 في 5 أكتوبر، و5.0 في 7 أكتوبر، و6.0 في 8 أكتوبر، ومن 6.1 إلى 6.4 بين 9 و11 أكتوبر. هذه الوتيرة مهمة لأي شخص يتبنى المشروع، وسنعود إليها.

لا يوجد تغريدة أو منشور إطلاق واحد يفسر القفزة. العرض نفسه أدى العمل: «شاهد ميزة تعجبك. افهم كيف تعمل حتى مستوى الملف الثنائي.» انتشرت بسرعة مقاطع فيديو تظهر وكلاء يعيدون بناء تطبيقات سطح المكتب من ملفاتهم الثنائية، مع الادعاءات المعتادة بأن البرمجيات انتهت. القراءة الأكثر فائدة أضيق من ذلك. REA موصّل مغلف جيدًا يربط الوكلاء بأدوات الهندسة العكسية الموجودة مسبقًا.

ما يفعله REA

يعمل REA كخادم MCP محلي. يستدعي وكيلك أدواته، فيفحص REA الهدف بالمحرك المناسب، ويحصل الوكيل على نتائج منظمة مع حدودها ونقاطها المجهولة. نفس مسارات العمل متاحة كأوامر CLI، لذا يمكنك كتابة نصوص برمجية لها بدون وكيل على الإطلاق.

ما يحلله، بحسب جدول الأهداف في README:

الهدف ما يعيده REA يحتاج إلى
ملفات ثنائية أصلية كود زائف، تجميع، نصوص، رموز، مراجع متقاطعة Hopper أو Ghidra أو IDA
ملفات Go الثنائية إصدار المترجم، الوحدات، إعدادات البناء لا شيء إضافي
تطبيقات JavaScript وElectron الوحدات، الاستيرادات، خرائط المصدر، المسارات، حدود IPC Node.js فقط
مواقع الويب بنية الصفحة، النصوص البرمجية، ملاحظات الشبكة، لقطات الشاشة متصفح من عائلة Chrome
تسجيلات الشبكة المحفوظة الطلبات، الاستجابات، الحمولات، مواقع المصدر HAR؛ وmitmdump على Linux لأجل mitmproxy
تجميعات ‎.NET البيانات الوصفية، CIL، الاعتماديات الأصلية لا شيء إضافي
حزم APK وأجهزة أندرويد البيان، الطرق المفككة، السجلات، لقطات الشاشة JADX مع JDK؛ وadb
البرامج الثابتة المناطق، نتائج الاستخراج Binwalk أو Unblob على Linux
كود WASM وEVM الثنائي الأقسام، الاستيرادات والتصديرات، محددات الإرسال WABT؛ Linux x64

الاختيار التصميمي الذي يميز REA عن الغلاف البسيط هو نموذج الأدلة. كل نتيجة تحمل مصدرها: بصمات الملفات، نطاقات البايت، مؤشرات JSON داخل التسجيل، وقائمة صريحة بما لم يستطع التحليل إثباته. يكرر المشروع ذلك في وثائقه. يجري التحليل على جهازك، لكن الأسئلة الشائعة في README صريحة في أن مزوّد نموذج الوكيل لا يزال يتلقى نتائج الأدوات وفق سياسة بياناته الخاصة.

كيفية تثبيت REA

تحتاج إلى Node.js 22.19 أو أحدث (23 و25 غير مدعومين) وnpm. يسجل أمر واحد خادم MCP ويثبّت تعليمات المهارة المطابقة لوكيلك:

npx rea-agents setup

يعرض الإعداد خطة، وينسخ الإعدادات الحالية احتياطيًا، ولا يكتب إلا بعد موافقتك. وفقًا لـدليل التثبيت، يدعم المشروع Claude Code وClaude Desktop وCodex وCursor وGemini CLI وWindsurf وDevin وOpenCode وAntigravity وGitHub Copilot CLI وVS Code وGrok Build وHermes والمزيد، ويمكن اختيار كل منها بعلامة --client. أعد تشغيل الوكيل بعد ذلك ثم اطلب منه شيئًا مثل:

Understand how search works in the Notes app, show me the evidence,
and build a similar feature for my project.

لأجل واجهة CLI عامة:

npm install --global rea-agents
rea doctor --json

تعمل تحليلات JavaScript الثابت و‎.NET ومواقع الويب والتسجيلات بدون أي محرك إضافي. تحتاج الهندسة العكسية العميقة للملفات الأصلية إلى Hopper أو Ghidra 12.1 مع JDK 21 أو أحدث أو IDA. يمكن للإعداد تثبيت Hopper بموافقتك، لكن Hopper برنامج تجاري منفصل بترخيصه الخاص. نسخة Ghidra على Windows موسومة بأنها تجريبية.

ما يجيده REA، بحسب العروض التوضيحية

دراسات الحالة من المشروع نفسه هي المعيار الأكثر صدقًا. في دراسة DX-Boll، تابع الوكيل استدعاء صوتي حتى دالة المساعدة الخاصة بتحويل الموضع إلى توزيع صوتي، وحوّل كودًا زائفًا غير مكتمل إلى C، واجتازت إعادة البناء 3,205 من حالات اختبار x86 الأصلية مع إعادة إنتاج جميع بايتات الوظيفة الثلاثة والستين. في دراسة Notion، تتبع واجهة الحافظة من الـrenderer عبر preload وIPC إلى العملية الرئيسية في Electron. وفي دراسة ثالثة استعاد حساب زاوية حلقة الرصاصات من تعليمات 16 بت في لعبة PC-98 من تسعينيات القرن الماضي.

لاحظ النمط. هذه أسئلة محددة النطاق بدقة حول وظيفة واحدة أو مسار بيانات واحد، مع طريقة للتحقق من الإجابة. هنا تعمل الهندسة العكسية بقيادة الوكلاء اليوم. عروض «أعد بناء هذا التطبيق بالكامل» تبدو جيدة في الفيديو وتنتج شيئًا يشبه الهدف، لكن مراجعة مبكرة قارنت REA بوكيل عادي في تطبيق Mac بسيط ووجدت الفارق ضيقًا وتشغيل REA أبطأ. تظهر القيمة عندما يكون السؤال محددًا والهدف معقدًا.

REA لعمل واجهات API: من التسجيل إلى مواصفات مختبرة

هنا الجزء المناسب لأي شخص يبني على واجهات API. تقرأ أداة REA‏ inspect_web_network_capture ملف HAR (أو تسجيل mitmproxy أصليًا على Linux) دون اتصال. لا تعيد أبدًا طلب عناوين URL المسجلة. تتحقق من كل مدخل، وتحافظ على أجسام الطلبات والاستجابات مع بصماتها، وتستبعد بنيويًا ترويسات التفويض وملفات تعريف الارتباط وبيانات الاعتماد في URL من الأدلة.

ثم تفعل شيئًا سيتعرف عليه أي فريق API فورًا. مرّر الأدلة المحتفظ بها إلى inspect_analysis_view باستخدام عرض api-surface، وسيجمّع REA كل طلب حسب الطريقة والأصل ونموذج المسار المستنتج. تصبح المعرفات الرقمية {numeric}، ومعرفات UUID تصبح {uuid}، والسلاسل السداسية العشرية الطويلة تصبح {hex}، والتواريخ تصبح {iso-date}. يستشهد كل مجموعة بالسجلات التي جاءت منها ويشير إلى الحالات أو أنواع المحتوى المختلطة. دليل تسجيلات الشبكة حذر في توضيحه أن العرض لا يدّعي شيئًا عن المخطط أو المعالج. إنه جرد مستنتج، لا مواصفات.

هذا الجرد هو بالضبط نقطة البداية لمسار دليلنا لهندسة API المعكوسة، ويكمله Apidog:

  1. سجّل مرة واحدة. في Chrome DevTools، أعِد تنفيذ المسار واحفظ جميع الطلبات كملف HAR مع المحتوى. سجّل باستخدام حساب اختباري؛ ملف HAR يحمل رموزًا نشطة.
  2. دع الوكيل يرسم الخريطة. اطلب من وكيلك تشغيل REA على HAR وتلخيص سطح API. تحصل على قائمة نقاط النهاية وأنماط المعرفات والمكالمات التي أعادت أخطاء، مع مؤشرات تعود إلى السجلات الأصلية.
  3. استورد نفس HAR إلى Apidog. يحوّل Apidog الطلبات المسجلة إلى نقاط نهاية، مع خيار لإنشاء حالة اختبار افتراضية لكل نقطة نهاية واستبعاد الأصول الثابتة عند الاستيراد. يغطي دليلنا لاستيراد HAR خطوات التنظيف.
  4. رقِّ النماذج المستنتجة إلى معلمات مسار حقيقية. تخبرك علامات REA‏ {numeric} و{uuid} بالأجزاء التي يجب تحويلها إلى معلمات في تعريفات نقاط النهاية في Apidog.
  5. حاكِ واختبر. فعّل smart mock في Apidog ليعمل كود العميل مقابل API المعاد بناؤه قبل أن تلمس الحقيقية، ثم اكتب تأكيدات استنادًا إلى أشكال الاستجابات المسجلة وشغّلها من Apidog CLI في CI.

التقسيم واضح. يجيد REA قراءة الأدلة وشرحها. أما Apidog فهو المكان الذي تتحول فيه نقاط النهاية إلى عقد موثق ومحاكى ومختبر يمكن لفريقك مشاركته. لا يؤدي أي منهما عمل الآخر.

تحذيرات قبل التبني

سرعة الإصدارات سلاح ذو حدين. صدرت سبعة إصدارات فرعية في تسعة أيام، وتعني سياسة المشروع always-bump-minor أن زيادة فرعية قد تكون تغييرًا كاسرًا. غيّر دليل الترحية إلى 6.2 شكل كل نتيجة MCP. إذا كتبت نصوصًا برمجية على مخرجات REA‏ JSON، ثبّت الإصدارة واقرأ سجل التغييرات قبل التحديث.

إنه موصل، وليس بيئة عزل. تنص سياسة أمان المشروع على أن جسر المزود المحلي ليس sandbox وأن فتح ملف ثنائي غير موثوق يشغّل تحليله بصلاحيات مستخدمك. حلّل الأهداف غير الموثوقة داخل بيئة معزولة، تمامًا كما تفعل عند عزل استدعاءات أدوات أي وكيل.

قيود المنصات محددة. تحتاج معالجة mitmproxy الأصلية إلى mitmdump 12.2.3 بالضبط، على Linux، وتقوم بتوفيره أنت. مسارات استخراج البرامج الثابتة وEVM وWASM مخصصة لـLinux x64. لا تتوفر نسخة Windows من Hopper.

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

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

الأسئلة الشائعة

هل REA مجاني؟ نعم. الكود مرخص تحت MIT وحزمة npm مجانية. Hopper منتج مدفوع إذا اخترته للتحليل الأصلي؛ وGhidra مجاني.

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

هل أحتاج إلى Ghidra أو IDA للبدء؟ ليس لتحليل JavaScript أو Electron أو ‎.NET أو مواقع الويب أو التسجيلات. فقط فك تجميع الملفات الثنائية الأصلية يحتاج إلى محرك.

هل يمكن لـREA إنتاج مواصفات OpenAPI من حركة الشبكة؟ لا. عرض api-surface جرد مستنتج مع نماذج مسار. استورد HAR إلى Apidog للحصول على تعريفات نقاط نهاية قابلة للتعديل، ثم صدّر OpenAPI من هناك. نزّل Apidog لتجربة الاستيراد على تسجيل تملكه بالفعل.

ما يعنيه ذلك لك

استحق REA نجومه لأنه حزم محركات هندسة عكسية حقيقية خلف خادم MCP واحد ووثّق الأدلة التي يعيدها. استخدمه للأسئلة محددة النطاق: كيف تعمل وظيفة واحدة، أو أي قناة IPC تحمل رسالة، أو كيف يبدو اتصال تطبيق ما. تعامل مع عروض إعادة بناء كل شيء على أنها عروض فقط.

بالنسبة لفرق API، الفائدة العملية هي مسار التسجيل. دع الوكيل يقرأ HAR باستخدام REA، ثم استورد نفس الملف إلى Apidog وحوّل الجرد إلى نقاط نهاية يمكنك محاكاتها واختبارها وتوثيقها.

زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات