Deepseek ArtifactsDeepseek Artifacts
دليل مفتوح المصدر على GitHub

REA (Reverse Engineer Anything): تثبيت مهارات الهندسة العكسية واستخدامها في Claude Code / Codex

REA هو morluto/rea على GitHub: خادم MCP برخصة MIT، وأداة سطر أوامر CLI، ومهارة وكيل reverse-engineer-anything تتيح لـ Claude Code و Codex و Cursor وغيرها من العملاء فحص الملفات التنفيذية وتطبيقات Electron وتجميعات .NET وملفات APK والمواقع — محليًا، مع أدلة. فيما يلي التثبيت الموثَّق، والأوامر الأولى، وأين يقع الحد القانوني فعلًا.

REA في لمحة

  • مشروع واحد وثلاث قطع: حزمة npm المسماة `rea-agents` توفّر أداة `rea` وخادم MCP محليًا ومهارة `reverse-engineer-anything` التي تخبر الوكيل أي أداة تناسب أي هدف.
  • التثبيت أمر واحد تراجعه بنفسك: `npx rea-agents setup` يسرد مسارات الإعداد الدقيقة والنسخ الاحتياطية ومواضع المهارات، ثم ينتظر موافقتك. لا يُكتب أي شيء قبل أن توافق.
  • لكل من Claude Code و Codex و Cursor مسار أصلي أيضًا — مطالبتا `/plugin`، أو أمرا `codex plugin`، أو إضافة من Cursor Marketplace — كما يستطيع setup إعداد 28 عميلًا مباشرة.
  • REA ليس صندوقًا معزولًا ولا يقرر ما هو قانوني: فهو يعمل بأذونات مستخدمك على أهداف يجب أن تكون مخوَّلًا بتحليلها، وإخلاء المسؤولية الخاص بالمشروع يسرد ما يرفض المساعدة فيه.

morluto/rea — README

المصدر: github.comchecked 2026-11-13

فتح

docs/getting-started/installation.md

المصدر: github.comchecked 2026-11-13

فتح

.agents/skills/reverse-engineer-anything/SKILL.md

المصدر: github.comchecked 2026-11-13

فتح

docs/getting-started/cli.md

المصدر: github.comchecked 2026-11-13

فتح

rea-agents — npm registry

المصدر: registry.npmjs.orgchecked 2026-11-13

فتح

DISCLAIMER.md + SECURITY.md

المصدر: github.comchecked 2026-11-13

فتح

dsh-rea — DeepSeek Harness directory

المصدر: deepseekharnessplugins.comchecked 2026-11-13

فتح

dsh-reverse-skill — DeepSeek Harness directory

المصدر: deepseekharnessplugins.comchecked 2026-11-13

فتح

كل أمر ومعرّف عميل وإصدار ورقم في هذه الصفحة قُرئ من المصادر أعلاه في 2026-11-13: ملف README في المستودع، وdocs/getting-started/installation.md، وSKILL.md المضمّن، وdocs/getting-started/cli.md، وDISCLAIMER.md وSECURITY.md، وسجل npm. بيانات المستودع تأتي من GitHub API في اليوم نفسه: 455,720 نجمة، و111,916 تفريعة، وأُنشئ في 2026-04-14؛ وأحدث إصدار على npm لـ `rea-agents` هو 6.9.0، نُشر في 2026-11-12. عدد النجوم يتغير يوميًا، فاعتبره لقطة بتاريخ محدد. هذه الصفحة لا تنقل أي رقم أداء على الإطلاق: فالـ README والوثائق التي راجعناها لا تذكر أي نتائج قياس.

ما هو REA فعلًا

REA اختصار Reverse Engineer Anything. وهو مشروع مفتوح المصدر من طرف ثالث، لصاحبه morluto، برخصة MIT، على github.com/morluto/rea، وله موقع rea.tools. ليس منتجًا من Anthropic أو OpenAI أو Cursor، وليس مُفكِّك تجميع: بل هو الطبقة التي تتيح لوكيل برمجي تشغيل مُفكِّكات التجميع والمحلِّلات الساكنة، ثم شرح ما وجده.

التوزيعة هي حزمة npm المسماة `rea-agents`. وهي تعرض أمر `rea`، وخادم MCP محليًا، ومهارة `reverse-engineer-anything` — وهي وثيقة سير عمل تطلب من الوكيل أن يصنّف الهدف أولًا (ASAR/Electron، أرشيف، APK، .NET، برنامج ثابت، ملف تنفيذي أصلي، صفحة متصفح، التقاط) وأن يربط كل استنتاج بـ Evidence. يجري التحليل على جهازك؛ ويستلم الوكيل نتائج الأدوات، ثم يطبّق مزوّد النموذج الخاص به سياسة البيانات الخاصة به.

التحليل الأصلي العميق يتطلب محرّكًا تملكه أنت: Hopper أو Ghidra أو IDA أو Kuna. ويستطيع setup تثبيت Hopper بعد موافقة منفصلة، كما يعيد استخدام أي Ghidra أو IDA أو Kuna موجود. أما الفحص الساكن لـ JavaScript/Electron و.NET فلا يحتاج إلى محرّك أصلي إطلاقًا — ولهذا فإن أول اختبار على تطبيق Electron هو أرخص طريقة لمعرفة ما إذا كان REA يستحق مكانًا في سير عملك.

إصدار npm
rea-agents 6.9.0
الرخصة
MIT
نجوم GitHub
455,720
تاريخ إنشاء المستودع
2026-04-14

ما يمكنه فحصه

جدول الأهداف في README يبلغ 39 صفًا؛ وهذا هو الجزء الذي يحدد ما إذا كنت ستثبّته. العمود الأخير هو المتطلب الذي تذكره الوثائق فعليًا — ومعظم الصفوف لا تحتاج شيئًا يتجاوز Node.js.

الهدفما تحصل عليهيحتاج إلى
JavaScript / Electronالوحدات والاستيرادات وsource map والمسارات وحدود IPC والإضافات الأصلية — بشكل ساكن، دون تشغيل التطبيق.Node.js + npm (وعلى Linux، أداة `ps` من procps)
Native binariesشيفرة زائفة، ولغة تجميع، وسلاسل نصية، ورموز، واستدعاءات، وإحالات متقاطعة.Hopper أو Ghidra أو IDA أو Kuna
.NET assembliesبيانات وصفية، وتعليمات CIL، وتبعيات أصلية معلنة، ومقارنات بين عمليات البناء.لا شيء إضافي (ساكن فقط)
Android APKإعلانات Manifest، وفئات، ودوال مُفكَّكة التجميع، وإحالات؛ وبيانات توقيع APK.JADX بلا واجهة + JDK كامل (التوقيعات لا تحتاج شيئًا)
Websites / capturesبنية الصفحة، والسكربتات، وملاحظات الشبكة، ولقطات الشاشة المطلوبة؛ والتقاطات HAR وSAZ.متصفح من عائلة Chrome (الالتقاطات: HAR أو SAZ)
Go / Rust / PE / WASMمعلومات بناء Go، وحزم cargo-auditable في Rust، واستيرادات وشهادات PE، وملاحظات ELF، وWASM، ورايات التقوية.لا شيء إضافي (ساكن فقط)
Archives / firmwareجرد الأعضاء واستخراجها لـ ZIP/APK/IPA/MSIX/DMG وGodot PCK وUnityFS وwxapkg؛ ومناطق البرنامج الثابت.Binwalk أو Unblob على Linux، للبرنامج الثابت
GGUF / safetensorsبيانات GGUF وsafetensors الوصفية، وإعلانات التنسورات، وتجزئة اختيارية للملف كاملًا.لا شيء إضافي (ساكن فقط)
Release exposureتقرير تعرُّض الإصدار بمعرّفات فحص ثابتة وحالات وسبل معالجة: source map مشحونة، وfuses في Electron، وعلامات بيانات اعتماد.لا شيء إضافي (ساكن فقط)

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

التثبيت: أمر واحد تراجعه، ثم مسارات لكل عميل

setup تفاعلي افتراضيًا: يسرد العملاء المدعومين، ويعرض الملفات الدقيقة التي سيلمسها مع النسخ الاحتياطية، ويسأل قبل الكتابة. موافقة تنزيل npm وموافقة REA نفسه مطالبتان منفصلتان، فالموافقة على npm لا تعني الموافقة على تغييرات الإعداد.

1. الإعداد الموجَّه — يعمل مع كل عميل مدعوم

شغّله مع وجود Node.js وnpm في PATH. اختر العملاء (تسجيلات REA الموجودة محددة مسبقًا، والمكتشفة حديثًا ليست كذلك)، واقرأ الخطة، ثم وافق. بعد ذلك أعد تشغيل الوكلاء المذكورين في رسالة الإتمام تشغيلًا كاملًا: فالعميل العامل قد يستبدل تسجيله الخاص. للسكربتات، أضف `--client <id>` وابدأ بـ `--dry-run --json` للحصول على خطة للقراءة فقط.

الأوامر

npx rea-agents setupnpx rea-agents setup --client claude_code --dry-run --json

2. Claude Code: مطالبتا /plugin دون تشغيل setup

حزمة npm الخاصة بـ REA هي أيضًا إضافة لـ Claude Code. أضف المستودع كسوق، ثم ثبّت `rea@rea`. الإضافة لا تشغّل `rea setup`، لذا يظل إعداد المحرّكات (مسارات Ghidra/IDA) آتيًا من الأقسام أدناه، وتبلغ `rea doctor` عن الإضافة كـ `missing` — افحصها بـ `/plugin` و`/mcp` بدلًا من ذلك. استخدم الإضافة أو تسجيل setup لعميل معين، وليس كليهما، وإلا فسيعمل خادما `rea`.

الأوامر

/plugin marketplace add morluto/rea/plugin install rea@rea

3. Codex: الإضافة نفسها، وأمرا codex

الحزمة نفسها على npm تحمل بيان `.codex-plugin`. أضف السوق، ثم ثبّت `rea@rea`. يحتاج العميل إلى `node` مستقل في PATH. وكما في Claude Code، فإن التثبيت عبر الإضافة غير مرئي لـ `rea doctor`؛ استخدم `codex plugin list` لفحصه.

الأوامر

codex plugin marketplace add morluto/reacodex plugin add rea@rea

4. Cursor: تسجيل setup أو إضافة Marketplace

`rea setup --client cursor` يكتب `~/.cursor/mcp.json` إضافة إلى المهارة التي يديرها setup. ويعرض Marketplace في Cursor المستودع أيضًا كإضافة تجمع المهارة وخادم MCP باسم `rea` مثبَّتًا على إصدار منشور؛ وهذا المسار عبارة عن سحب Git ولا يضع `rea` في PATH. اختر أحد المسارين، لا كليهما.

الأوامر

npx rea-agents setup --client cursor

5. المهارة وحدها — تعليمات بلا أدوات

إذا أردت التعليمات فقط، مثلًا لاقترانها بخادم MCP سجّلته يدويًا، فثبّت المهارة من skills.sh. يمنح ذلك الوكيل قواعد التوجيه والمراجع المضمّنة لكنه لا يسجّل أي أدوات، لذا تبقى استدعاءات REA غائبة حتى يوجد خادم MCP.

الأوامر

npx skills add morluto/rea --skill reverse-engineer-anything

6. تحقّق قبل أن تثق

`rea doctor` للقراءة فقط. افحص عميلًا واحدًا والمهارة المثبَّتة ومحرّكًا واحدًا كلًا على حدة: فشل مزوّد واحد لا يعطّل الأدوات التي لا تحتاجه، وفحص العميل يتحقق من التسجيل لا من تحقيق ناجح. يقرأ doctor الملفات والمتطلبات المسبقة؛ ولا يرى الجلسة الجارية، لذا يظل الخادم المسجَّل بحاجة إلى إعادة تشغيل أو إعادة اتصال.

الأوامر

rea doctor --client claude_code --jsonrea doctor --skill --jsonrea doctor --provider ghidra --json

المتطلبات كما هي موثَّقة

  • 1Node.js 22.x (>= 22.23.4) أو 24.x (>= 24.22.1) أو 26.12.1+، مع npm المرافق له. الإصدار 23 و25 من Node، وإصدارات 26.x الأقدم، والإصدارات المسبقة، غير مدعومة.
  • 2عميل يدعم خوادم MCP المحلية. يعرف setup 28 معرّف عميل، منها claude_code وclaude_desktop وcodex وcursor وgemini_cli وwindsurf وopencode وcopilot_cli وantigravity وkimi وdsh وpi.
  • 3محرّك أصلي للعمل الأصلي فقط. التحليل الساكن لـ JavaScript/Electron و.NET لا يحتاج شيئًا آخر؛ وAndroid يحتاج JADX بلا واجهة وJDK؛ والبرنامج الثابت يحتاج Binwalk أو Unblob على Linux.
  • 4نفّذ جلب الحزمة من مجلد موثوق خارج المشروع الهدف، ومرّر مسارات مطلقة إلى أوامر التحليل — فمشغّل الحزم قد يختار حزمًا محلية في المشروع، ولا يستطيع REA التحقق مما جرى قبل بدء نقطة دخوله.

جلسة أولى تُثبت شيئًا

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

اسأل الوكيل

مثال README نفسه، كما هو. استبدل Notes بهدفك، واستبدل الميزة بشيء تستطيع التحقق منه يدويًا. توقّع أن يستدعي الوكيل أدوات REA، ويقرأ Evidence، ويسمّي الأجزاء التي لم يستطع إثباتها — فإن أجاب بلا دليل، فالأرجح أن اتصال MCP أو المهارة مفقود.

المطالبة

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

أو قد أداة CLI بنفسك

لكل سير عمل في MCP نظير في CLI، وهو أسرع طريقة للتحقق من صحة ادعاء ما حول REA. الأمر الأول يعيد سجل Evidence لمجلد Electron مستخرج أو لملف ASAR دون أي محرّك؛ والثاني يدقّق قطعة أثرية منشورة ويخرج بالرمز 3 عندما يبلغ فحص مكشوف درجة الخطورة التي تمرّرها.

الأوامر

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonrea audit-release-exposure ./dist/MyApp.app --fail_on high --json

لماذا المخرجات كبيرة — وما العمل حيالها

قد يبلغ Evidence لتطبيق حقيقي مئات الميغابايتات. والجواب الموثَّق هو حفظه ثم إسقاط عرض منه: `rea analyze-javascript-application … > app-evidence.json`، ثم `rea inspect-analysis-view` مع ملخص أو صفحة وحدات واحدة. وعبر MCP، تضبط `REA_MCP_MAX_RESPONSE_BYTES` و`REA_MCP_INPUT_SCHEMA_PROFILE=full` و`REA_MCP_OUTPUT_SCHEMA_PROFILE=compact` مقدار ما يراه النموذج من ذلك.

التحديث والإزالة

`rea update` يحدّث تثبيت npm أو Bun العام الذي يملك أداة CLI العاملة؛ وتثبيت `npx` يُحدَّث بإعادة تشغيل `npx rea-agents@latest setup`. و`rea uninstall` يزيل فقط تسجيلات REA وملفات المهارات التي يملكها، و`--purge-data` يُسقط أيضًا الذاكرة المؤقتة والحالة، ولا يمس أيٌّ منهما Hopper أو Node.js أو ملفات Evidence أو المهارات غير ذات الصلة.

الأوامر

rea updatenpx rea-agents@latest setuprea uninstallrea uninstall --purge-data

REA مقابل العمل اليدوي مقابل حزمة مهارات تعليمات فقط

المقارنة الصادقة ليست REA مقابل مهندس عكسي بشري. بل REA مقابل الوكيل نفسه مع صدفة أوامر وبلا أدوات، ومقابل حزم مهارات تقدّم تعليمات بلا خادم.

الجانبوكيل + صدفة أوامر، بلا REAوكيل + REA
توصيل الأدواتتلصق الأوامر والمسارات في المحادثة ويخمّن النموذج أي راية مُفكِّك تجميع يستخدم.توجّه المهارة الهدف إلى أداة لها مخطط؛ ويتحقق الخادم من الوسائط ويعيد Evidence منظمة.
Evidenceما يقتبسه الوكيل فحسب، دون سجل من أي ملف أو أي إزاحة جاء.تحمل النتائج دليلها وحدودها، وتبقى المجهولات مسرودة بدلًا من تنعيمها.
المخرجات الكبيرةتفريغ بحجم 300 MB إما يفجّر نافذة السياق أو يقتطعه `head`.يُحفظ Evidence ويُسقَط عرضًا — ملخص، أو صفحة وحدات، أو وحدة واحدة — قبل أن يصل إلى النموذج.
حزم تعليمات فقطحزمة مهارات هندسة عكسية تعلّم المنهج لكنها لا تسجّل أدوات، فيظل الوكيل يلجأ إلى صدفة الأوامر.يقدّم REA الشطرين معًا: المهارة وخادم MCP/CLI الذي تصفه. التثبيت بالمهارة وحدها مدعوم لكنه يترك الأدوات مفقودة.

الحدود القانونية والأمنية — من المشروع نفسه، لا من عندنا

يرسم DISCLAIMER.md وSECURITY.md في REA نفسه الحد، وهو أكثر صرامة مما يكون التسويق حول أدوات كهذه عادةً. النسخة القصيرة: القدرة على تحليل برنامج ليست إذنًا بتحليله.

  • الاستخدامات المقصودة: البحث الأمني، وتحليل البرمجيات الخبيثة والحوادث، وبحث الثغرات والإفصاح المنسَّق، ومسابقات CTF والتعليم، وقابلية التشغيل البيني، وحفظ البرمجيات، وتدقيق برمجيات تملكها أو تكون مخوَّلًا بفحصها.
  • غير مدعوم صراحةً: التحايل على DRM أو فحوص التراخيص أو مكافحة الغش أو غيرها من تدابير الحماية التقنية؛ الغش في الألعاب أو التلاعب بالخدمات عبر الإنترنت؛ تجاوز المصادقة أو ضوابط الوصول التي لا تكون مخوَّلًا باختبارها؛ نسخ شيفرة وأصول مملوكة؛ التهرب من سياسات مزوّدي النماذج.
  • إثبات التخويل مسؤوليتك أنت. فتوافر ملف تنفيذي للعموم، أو حيازة ملف، أو الوصول إلى نقطة تصحيح، لا يمنح إذنًا بحد ذاته، وقد تكون الهندسة العكسية مقيَّدة بالقانون أو برخصة البرنامج في نطاق ولايتك القضائية.
  • الأدوات التجارية تبقى تجارية: IDA Pro/Hex-Rays وHopper وJEB يجب الحصول عليها وترخيصها قانونيًا. وREA لا يمنح أي مفتاح أو رخصة أو تنشيط، والنسخ المقرصنة أو المفاتيح المشتركة غير مخوَّلة.

نقطتان عمليتان أخريان من SECURITY.md: REA ليس صندوقًا معزولًا — فأداة CLI وMCP يعملان بأذونات حسابك — وملفات الأهداف والالتقاطات وصفحات الويب بيانات غير موثوقة، فالتعليمة المضمَّنة في ملف تنفيذي ليست تعليمة منك. استخدم جهازًا افتراضيًا أو حاوية تُلقى بعد الاستخدام لأي شيء لم تبنه أنت، ولا توجّه سير عمل التشغيل إطلاقًا إلى أنظمة لا تملكها.

قبل التثبيت: خمس تحفظات صادقة

لا شيء منها سبب لتخطي REA؛ وكلها أسباب لتجربته على هدف واحد أولًا.

  • 1إنه مشروع طرف ثالث سريع التغير: انتقل npm من 6.8.0 إلى 6.9.0 خلال ثلاثة أسابيع، وتحذّر الوثائق من أن مهارة مثبَّتة من `main` قد تصف قدرات لا يملكها إصدار npm أقدم. اعتمد على قائمة أدوات الخادم المتصل، لا على نص المهارة.
  • 2تغطية العملاء واسعة لكنها غير متساوية: بعض معرّفات العملاء تحتاج rea-agents أحدث (droid وdsh وkimi وqoder وtrae وworkbuddy وzcode من 6.5.0؛ وfreebuff من 6.8.0)، و`lm_studio` يحتاج إصدارًا بعد 6.8.0.
  • 3يكتب setup في إعداد الوكيل ومجلدات المهارات. وهو يحتفظ بلقطات `.rea.backup` ويرفض استبدال ملفات لا يستطيع التحقق منها، لكنه لا يستطيع التنسيق مع كاتب آخر يعدّل الملف نفسه — أغلق العميل أولًا، كما تطلب الوثائق.
  • 4إعداد المحرّك هو الجزء الذي يوجع. Hopper تجاري وله نسخة تجريبية محدودة، والمثبّت الآلي يغطي macOS وLinux x86_64 فقط، والوثائق توجّه المعماريات الأخرى إلى Ghidra. عند غياب المحرك قد يصبح `healthy` الإجمالي في doctor مساويًا false؛ وتقول الوثائق إن هذا طبيعي ما دام مسار عملك يعمل، وإنما يمنع الشيفرة الزائفة الأصلية.
  • 5السياق والخصوصية: الوكيل يرى Evidence، أي أن مزوّد نموذجك يراه أيضًا. التحليل محلي، لكن النتائج ليست كذلك — أبقِ الأهداف الحساسة على نموذج محلي أو خارج هذه الحلقة كليًا.

DeepSeek Harness وحزم المهارات المجاورة

منصة DeepSeek Harness غير مذكورة في README الخاص بـ REA، لكن الحزمة تستطيع التسجيل هناك: `dsh` أحد معرّفات العملاء في setup، ودليل DSH يسرد مشروع REA نفسه ومحوّلات من المجتمع. zhaofeng130/dsh-rea محوّل غير رسمي يسجّل مهارة `reverse-engineer-anything` وأداتي `rea` و`rea_doctor`، ولا يحزم REA صراحةً. أما dhicoc/dsh-reverse-skill فشيء آخر: نقل لحزمة reverse-skill (87 ملف SKILL.md للهندسة العكسية واختبار الاختراق المخوَّل وCTF) بلا أي اعتماد على REA. ولا أي منهما منتسب إلى morluto/rea — اقرأهما قبل التثبيت.

الأسئلة الشائعة حول REA

واصل القراءة