Reverse Engineer Anything (REA) · Claude Code · الرابط وطريقة التركيب

Claude Code صار يقدر يعمل هندسة عكسية لأي تطبيق على جهازك… لآخر ميزة فيه، وببلاش

شفت ميزة بتطبيق وقلت «كيف عاملينها؟». REA (Reverse Engineer Anything) أداة MCP مفتوحة المصدر (رخصة MIT، 422 ألف+ نجمة على GitHub يوم 2026-11-02) بتعطي Claude Code أدوات يفكّك فيها التطبيق اللي على جهازك: تطبيقات Electron، مواقع، ملفات تنفيذية، .NET، وتطبيقات أندرويد. بيقرأ الكود، بيتتبّع الميزة من الكبسة لحد النتيجة، بيعرض لك الدليل على كل استنتاج، وبعدها بيساعدك تبني نسختك بالـ stack تبعك. هون الرابط، التركيب بأمر واحد (اتفحص على الوثائق الرسمية يوم 2026-11-02)، أول سؤال تسأله، وشو مسموح وشو لأ.

شو هي REA، وشو بتقدر تفكّك

الرابط: github.com/morluto/rea · الموقع الرسمي rea.tools · الحزمة على npm اسمها rea-agents (الإصدار 6.8.0 يوم 2026-10-25). الفكرة بجملة من الـ README نفسه: «شفت ميزة بتطبيق بدك ياها بمنتجك؟ اطلب من وكيلك يحقّق فيها بـ REA: بيفحص التطبيق بدون الكود المصدري، بيشرح كيف بتشتغل، بيعرض الدليل، وبيبني نسخة لمشروعك».

تقنياً: REA سيرفر MCP واحد (نفس البروتوكول اللي بيربط Claude Code بأي أداة خارجية) فيه أكثر من 170 أداة تحليل. Claude Code بيستدعيها لحاله: بيفتح التطبيق، بيقرأ وحداته، بيتتبّع الاستدعاءات، وبيرجّع لك النتيجة مع الدليل والحدود لكل استنتاج. التحليل بيصير على جهازك. وبتقدر تستعمل نفس الأدوات من الطرفية بدون أي وكيل.

01
بيفكّك
بيقرأ الوحدات والدوال والنصوص والرموز، من كود JavaScript لحد الـ assembly.
02
بيتتبّع
من الكبسة بالواجهة لحد الطلب الشبكي أو الملف اللي انكتب، مع الدليل على كل خطوة.
03
بيبني
Claude بياخد الآلية اللي فهمها وبيكتب نسخة إلك، بكودك وبالـ stack تبعك، وبيختبرها.

شو بتقدر تحلل (من جدول الـ README يوم 2026-11-02؛ الأهم للناس العاديين أول ثلاث صفوف):

الهدفشو بترجّع لك REAشو بتحتاج
تطبيقات JavaScript وElectron (مثل Slack، Notion، VS Code)الوحدات، الاستيرادات، source maps، المسارات، قنوات IPC بين الواجهة والنواة، والإضافات الأصليةNode وnpm بس، بدون أي محرّك إضافي
مواقعبنية الصفحة، السكربتات، الطلبات الشبكية، ولقطات شاشةمتصفح من عائلة Chrome
.NETالبيانات الوصفية، تعليمات CIL، الاعتماديات الأصلية، ومقارنة إصدارينولا شي (تحليل ساكن)
ملفات تنفيذية أصلية (exe، dmg، ELF)كود مزيّف (pseudocode)، assembly، نصوص، رموز، استدعاءات ومراجعمحرّك: Hopper أو Ghidra أو IDA أو Kuna
تطبيقات أندرويد (APK)البيان، الأصناف، الدوال المفكّكة والمراجعJADX + JDK كامل
تسجيلات شبكة محفوظة (HAR)الطلبات، الردود، الحمولات المكشوفة، وأماكنها بالكودملف HAR من أدوات المطوّر بالمتصفح
سلوك التشغيل (process capture)المخرجات، التفاعلات، الخروج، وتغييرات الملفات، ومقارنة تشغيلينلينكس أو ماك

فيه كمان دعم لملفات Go وRust وWASM وFlutter وFirmware وقواعد SQLite وغيرها (القائمة الكاملة بالـ README). ولو هدفك مش ميزة واحدة بل نسخ تطبيق كامل بواجهتك: هاد موضوع دليل «نسخة»؛ REA بتشتغل بالعكس: ميزة واحدة، بعمق، من الداخل.

شو بتحتاج على جهازك

  • Claude Code مركّب وشغّال. لسا ما ركّبته؟ دليل تركيب Claude Code.
  • Node.js بإصدار مدعوم: 22.x (من 22.23.4) أو 24.x (من 24.22.1) أو 26.12.1 وما فوق، ومعه npm. الإصدارات 23 و25 غير مدعومة. افحص:
node -v npm -v
  • ماك أو ويندوز أو لينكس. على لينكس لازم أمر ps من حزمة procps (موجود بأغلب التوزيعات).
  • محرّك تحليل، اختياري: بس للملفات التنفيذية الأصلية. Hopper (تجاري، بيشتغل بوضع تجريبي، ماك ولينكس) أو Ghidra (مجاني من NSA؛ على ويندوز الدعم تجريبي) أو IDA (تجاري) أو Kuna. تطبيقات JavaScript وElectron والمواقع و.NET ما بدها أي محرّك، وهاي أغلب اللي رح تحتاجه.
  • متصفح من عائلة Chrome لتحليل المواقع.
نصيحة الـ README: ابدأ بتطبيق Electron أو موقع. ما بدهم محرّك، والنتيجة بتطلع من أول جلسة. الملفات التنفيذية خلّيها لبعدين.
بثلاث خطوات

أمر واحد بيعمل كل شي، أو إضافة من داخل Claude Code. اختار طريقة وحدة.

1

أمر واحد: npx rea-agents setup

الطريقة الرسمية. افتح الطرفية بمجلد عادي (مش مجلد التطبيق اللي بدك تحلله) وشغّل:

npx rea-agents@latest setup

شو بيصير بعدها:

  1. npm بيسألك يحمّل الحزمة: وافق.
  2. REA بتعرض قائمة الوكلاء اللي لقتهم على جهازك (Claude Code، Codex، Cursor، Gemini CLI…): اختار Claude Code.
  3. بتعرض لك خطة التغييرات بالتفصيل: المسارات اللي رح تكتب فيها، ونسخة احتياطية لأي إعداد موجود. راجعها ووافق.
  4. بتسألك عن Hopper (محرّك الملفات التنفيذية): اختياري، وإلو موافقة لحاله. قول لأ إذا بدك تبدأ بـ JavaScript والمواقع.
  5. أعد تشغيل Claude Code.

اللي انكتب فعلياً عندك: سيرفر MCP اسمه rea بملف ~/.claude.json (مستوى المستخدم، يعني بيشتغل بكل مشاريعك)، ومهارة (Skill) اسمها reverse-engineer-anything بمجلد ~/.claude/skills فيها تعليمات التحقيق اللي Claude بيمشي عليها.

بدك تقفز سؤال اختيار الوكيل، أو تشوف الخطة بدون ما تكتب شي؟

npx rea-agents@latest setup --client claude_code npx -y rea-agents@latest setup --client claude_code --dry-run
التسجيل بيرتبط بالنسخة اللي عملت الـ setup. لما تشغّله عبر npx، Claude Code بيستعمل نسخة REA من ذاكرة npm المؤقتة؛ إذا مسحت الكاش بيوقف. للاستعمال الدائم ركّبها عالمياً (npm install --global rea-agents ثم rea setup)، وهيك بيصير عندك أمر rea بالطرفية كمان.
2

بديل: إضافة من داخل Claude Code

REA موجودة كإضافة (plugin) رسمية لـ Claude Code: نفس السيرفر ونفس المهارة، بس التركيب من داخل الجلسة بدون npx. السوق اسمه rea والإضافة اسمها rea:

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

الفروقات اللي لازم تعرفها (من وثائق REA):

  • وحدة من الثنتين. الإضافة أو أمر setup، مش الاثنين: بيصير عندك سيرفرين اسمهم rea.
  • الإضافة ما بتعمل setup. يعني إعداد المحرّكات (Hopper/Ghidra) بيضل عليك يدوياً لو احتجتهم.
  • أمر rea ما بيصير بالطرفية. لو بدك تفحص شي من الطرفية استعمل npx -y rea-agents@6.8.0 … بنفس إصدار الإضافة.
  • rea doctor ما بيشوف الإضافة. بيقول لك «missing» وبينصحك بـ setup: تجاهله، وافحص من Claude Code نفسه (القسم الجاي).
  • التحديث مع الإضافة. كل إصدار جديد بيحدّث الإضافة والسيرفر مع بعض من قائمة /plugin.
3

تأكد إنها شغالة

داخل جلسة Claude Code (بعد إعادة التشغيل)، ومن الطرفية:

/mcp claude mcp list claude mcp get rea claude plugin list

بـ /mcp لازم تشوف سيرفر rea متصل وجنبه عدد الأدوات. claude mcp list بيطبع ✔ Connected أو ✘ Failed to connect لكل سيرفر، وclaude mcp get rea بيعرض تفاصيله وسبب الفشل لو فشل. الأمر الأخير للإضافة بس.

فحص أعمق من REA نفسها (للقراءة فقط، ما بيغيّر شي؛ لطريقة setup مش للإضافة):

npx -y rea-agents@latest doctor --client claude_code --skill --json

ملاحظة على السياق: REA بتعلن أكثر من 170 أداة. Claude Code ما بيحمّل تعريفاتها كلها بكل رسالة، بيستعمل «البحث عن الأدوات» (tool search) وبيجيب الأداة لما يحتاجها، فما تخاف على سياق الجلسة. وبتقدر تسأل Claude مباشرة: «شو أدوات REA المتاحة عندك؟» وبيعدّدها.

أول تحقيق

من أول سؤال لحد ميزة مبنية بمشروعك.

4

أول سؤال: برومبتات جاهزة بالعربي

افتح Claude Code بمجلد مشروعك (اللي بدك تبني فيه الميزة)، واكتب سؤالك عادي بالعربي. اذكر كلمة REA عشان يروح على الأداة مباشرة، واعطيه اسم التطبيق أو مساره الكامل والميزة المحدّدة. هاد المثال الرسمي من الـ README، ونفسه بالعربي وأمثلة ثانية:

Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.
استعمل REA: افهم كيف ميزة البحث بتطبيق Notes على جهازي بتشتغل، اعرض لي الدليل خطوة خطوة، وبعدها ابنِ ميزة مشابهة لمشروعي. استعمل REA على تطبيق Electron الموجود بالمسار "C:/Users/me/AppData/Local/Programs/MyApp": كيف بيحفظ الإعدادات محلياً؟ وشو قنوات IPC اللي بتشتغل لما أضغط «حفظ»؟ استعمل REA على الموقع https://example.com: شو السكربتات اللي بتشتغل عند الضغط على زر «أضف للسلة»، ولوين بيروح الطلب؟ اعرض الطلبات الشبكية والدليل. استعمل REA على الملف "/Applications/Tool.app": فكّك دالة تصدير PDF واشرح لي الخوارزمية بالعربي، وميّز بين اللي متأكد منه واللي بتخمّنه.

بدّل الأسماء والمسارات بتبعك. المسار لازم يكون كامل (مطلق)، مش نسبي. وكل ما كانت الميزة أضيق («زر التصدير» بدل «التطبيق كله») كان التحقيق أسرع وأرخص.

REA بتعرّف 6 مسارات تحقيق جاهزة كأوامر داخل Claude Code (بتظهر لما تكتب / بصيغة /rea:investigate_feature (MCP)، وبتستدعيها هيك):

/mcp__rea__investigate_feature /mcp__rea__compare_application_versions /mcp__rea__trace_crash /mcp__rea__verify_reconstruction /mcp__rea__audit_residual_unknowns /mcp__rea__prepare_bounded_process_capture
المسارامتى تستعمله
investigate_featureالأساسي: تتبّع ميزة من اكتشافها لحد الدوال اللي بتنفّذها، مع الدليل
compare_application_versionsشو تغيّر بين إصدارين من نفس التطبيق
trace_crashربط انهيار (crash) بالمسار اللي سبّبه بالكود
verify_reconstructionبعد ما تبني نسختك: مقارنتها بسلوك الأصل بناءً على الدليل المحفوظ
audit_residual_unknownsمراجعة الأشياء اللي لسا مش مفهومة بالتحقيق
prepare_bounded_process_captureتصميم تجربة تشغيل محدودة وآمنة قبل ما تنفّذها
5

شو بيرجّع لك، وكيف تبني الميزة لمنتجك

REA ما بترجّع «الكود المصدري» للتطبيق، لأنه مش موجود أصلاً. اللي بترجّعه حسب نوع الهدف: لتطبيقات JavaScript وElectron الوحدات وعلاقاتها والمسارات وقنوات IPC؛ للملفات التنفيذية كود مزيّف (pseudocode) وassembly. ومع كل نتيجة الدليل (وين لقته بالضبط) والحدود (شو ما قدر يتأكد منه). تعليمات المهارة بتطلب من Claude يفصل دايماً بين ثلاث أشياء: ملاحظة، استنتاج، ومجهول. لما تقرأ التقرير دوّر على هالثلاثة.

بعد ما تفهم الآلية، هاد البرومبت للبناء (بدّل الـ stack بتبعك):

بناءً على اللي اكتشفته بـ REA، ابنِ نفس الميزة بمشروعي (Next.js + Postgres) بكود جديد كلّه إلنا. رتّبها هيك: 1) وصف الآلية بالعربي بثلاث فقرات، 2) الكود، 3) اختبارات بتغطي الحالات اللي شفناها بالتحقيق. ممنوع تنسخ أي سطر أو اسم متغيّر أو ملف أو أصل من التطبيق الأصلي. خلّصنا؟ استعمل مسار verify_reconstruction وقارن سلوك نسختنا بالدليل اللي جمعته: شو مطابق، شو ناقص، وشو مجهول.

أمثلة حقيقية من المشروع (صفحة Showcases على rea.tools): إعادة بناء دالة الصوت بلعبة DX-Ball من الـ assembly بحيث تطابق 3,205 حالة اختبار؛ تتبّع جسر الحافظة بتطبيق Notion من الواجهة عبر preload وIPC لحد النواة؛ واستعادة حسابات الزوايا بلعبة DOS قديمة. اقرأها عشان تعرف شكل تحقيق كامل قبل ما تبدأ تحقيقك.

6

من الطرفية بدون Claude

نفس الأدوات بتشتغل كأوامر. أكثر أمر بينفعك: تحليل مجلد تطبيق JavaScript أو Electron (مفكوك، أو ملف asar) وطباعة النتيجة كـ JSON، بدون أي محرّك:

npx -y rea-agents@latest analyze-javascript-application "D:/apps/example" --json

للاستعمال الدائم ركّبها عالمياً وبيصير عندك أمر rea:

npm install --global rea-agents rea --help rea guided-workflows rea doctor --json

الأمر الثالث بيعدّد مسارات التحقيق الستة، والرابع بيفحص جهازك (Node، المحرّكات، التسجيلات) بدون ما يغيّر شي. تحليل الملفات التنفيذية من الطرفية بده محرّك مضبوط أولاً (دليل CLI بالمستودع: docs/cli.md).

7

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

الـ README بيقول بوضوح: REA بتتغيّر بسرعة والإصدارات الجديدة فيها إصلاحات كثيرة، فحدّث قبل ما تفتح أي مشكلة. حسب طريقة تركيبك:

ركّبتها بـالتحديثالإزالة
npx setupnpx rea-agents@latest setup (راجع الخطة ووافق، ثم أعد تشغيل Claude Code)npx rea-agents@latest uninstall
تركيب عالميrea update ثم أمر setup اللي بيطبعهrea uninstall (مع --purge-data بيحذف الكاش والحالة كمان)
الإضافةمن قائمة /plugin داخل Claude Codeمن نفس القائمة (uninstall)

الإزالة بتشيل تسجيلات REA والمهارة بس: Hopper وNode وملفات الأدلة اللي جمعتها وباقي سيرفرات MCP بتضل. ولو بدك تشيل التسجيل من Claude Code يدوياً بدون أي أداة:

claude mcp remove rea --scope user
شو تنتبه له

الأخطاء اللي بتصير بأول أسبوع، وشو المجاني بالضبط.

8

أخطاء بتضيّع وقتك

تشغيل npx من داخل مجلد التطبيق المستهدفمدير الحزم ممكن يقرأ إعدادات ذاك المجلد أو يستعمل حزمه. وثائق REA بتحذّر منها صراحة.
من مجلد موثوق + مسار كاملشغّل setup والتحليل من مجلد عادي، ومرّر مسار التطبيق مطلق («D:/apps/example»).
setup والإضافة مع بعضسيرفرين اسمهم rea، وClaude بيستدعي أدوات مكرّرة.
طريقة وحدةلو ركّبت الثنتين بالغلط: claude mcp remove rea --scope user وخلّي الإضافة، أو العكس.
ما أعدت تشغيل Claude Codeالسيرفر الجديد ما بيظهر بالجلسة المفتوحة، وبتظن التركيب فشل.
أعد التشغيل، وافحص/mcp لازم يعرض rea متصل مع عدد أدواته.
Node 23 أو 25غير مدعومين، وبتظهر أخطاء غريبة من أول أمر.
22 أو 24 (LTS)بالحدود الدنيا 22.23.4 و24.22.1. افحص بـ node -v.
بتتوقع كود جاهز للصقالملفات التنفيذية بترجّع pseudocode وassembly، مش ملف تلصقه بمشروعك.
بتفهم وبتبنياقرأ الدليل، افهم الآلية، وخلّي Claude يكتب نسختك من الصفر (برومبت القسم 5).
سؤال عريض: «حلّل لي التطبيق كله»تحقيق طويل، استهلاك عالي، وتقرير ما بتقرأه.
ميزة وحدة بسؤال واحد«كيف زر التصدير بيبني ملف PDF؟» وبعدها كمّل بأسئلة أضيق.
9

تنبيهات صدق

REA مجانية ومفتوحة المصدر (MIT). بس «ببلاش» إله حدود، وهاي هي بالضبط.
  • استهلاك Claude من اشتراكك. التحقيق كلام كثير بين Claude والأداة؛ السؤال الضيّق بيوفّر عليك.
  • التحليل محلي، بس النتائج بتروح لـ Claude. الـ README بيقولها: REA ما بترفع تطبيقك لحدا، لكن وكيلك بيستلم نتائج الأدوات، وسياسة بيانات مزوّده (Anthropic هون) هي اللي بتنطبق عليها.
  • محرّكات الملفات التنفيذية مش كلها مجانية. Ghidra مجاني. Hopper وIDA وJEB تجاريين ولازم ترخيص قانوني (المشروع بيرفض النسخ المكسورة صراحة). Kuna بديل إضافي.
  • ويندوز: تطبيقات JavaScript وElectron و.NET والمواقع وأندرويد بتشتغل كاملة. الملفات التنفيذية محدودة: Hopper مش موجود لويندوز، وGhidra عليه تجريبي.
  • «أي تطبيق» = الأنواع اللي بالجدول. تطبيقات أندرويد نعم (APK مع JADX). تطبيقات iOS: فحص الحزمة ومواردها، مش تفكيك كامل.
  • الرقم بالريل. 410 ألف+ نجمة يوم تسجيل الريل؛ يوم 2026-11-02 صار 422,454.
?

أسئلة شائعة

بتشتغل على ويندوز؟
نعم. Node وnpm وClaude Code بيشتغلوا على ويندوز، وأمر setup بيكتب التسجيل بمسارات كاملة. الفرق بالمحرّكات بس: تطبيقات JavaScript وElectron و.NET والمواقع وأندرويد كاملة، والملفات التنفيذية بدها Ghidra (تجريبي على ويندوز) أو IDA. لو بتشتغل من WSL، ركّب REA جوّا WSL مع Claude Code تبع WSL.
لازم أركّب Hopper أو Ghidra؟
لأ، إلا إذا بدك تفكّك ملفات تنفيذية أصلية (exe، dmg، ELF). أغلب الأسئلة اليومية (تطبيق Electron، موقع، تطبيق .NET) بتتجاوب بدون أي محرّك. ولما تحتاج: setup بيقدر يركّب Hopper بموافقتك، وGhidra بتركّبه إنت وREA بتلاقيه.
بترفع تطبيقي لحدا؟
لأ. التحليل بيصير على جهازك. اللي بيطلع برّا هو نتائج الأدوات اللي Claude بيستلمها عشان يفكّر فيها، وهاي خاضعة لسياسة Anthropic زي أي شي بتكتبه بـ Claude Code. لو التطبيق حساس، لا تحلله بأداة ذكاء اصطناعي أصلاً.
بتقدر تنسخ لي تطبيق كامل؟
لأ، وهاد بالضبط اللي المشروع بيرفضه: نسخ برنامج مملوك لغيرك أو إعادة إنتاج كوده وأصوله. REA لفهم ميزة وبناء نسختك بكودك. ولو فكرتك «تطبيق بنفس فكرة X بواجهتي أنا»: دليل «نسخة».
شو الفرق عن إني أسأل Claude عادي كيف الميزة معمولة؟
بدون REA، Claude بيجاوب من ذاكرته وبيخمّن. مع REA بيقرأ ملفات التطبيق الفعلية اللي على جهازك، وبيرجّع لك دليل على كل جملة بيقولها، وبيقول لك شو ما عرف يتأكد منه. الفرق بين «غالباً هيك بتشتغل» و«هاي الدالة، بهالملف، وهاد اللي بتعمله».
ركّبت الإضافة وأمر rea مش موجود بالطرفية
طبيعي: الإضافة ما بتحط rea على الـ PATH. من الطرفية استعمل npx -y rea-agents@6.8.0 doctor --json بنفس إصدار الإضافة، أو ركّبها عالمياً (القسم 6). وتذكّر إنه rea doctor ما بيشوف الإضافة أصلاً؛ افحصها من /mcp.
قديش بتستهلك من اشتراك Claude؟
أكثر من محادثة عادية: التحقيق فيه عشرات استدعاءات الأدوات ونتائجها نصوص طويلة. ثلاث أشياء بتخفّف: سؤال ضيّق على ميزة وحدة، تطبيق صغير بالبداية، وترك إعداد الأدوات على الوضع المدمج (compact، وهو الافتراضي). وبتقدر تحدّد عائلات الأدوات اللي بدك ياها بس: rea setup --client claude_code --tool-families مع الأسماء من دليل MCP بالمستودع.
طلعت لي أخطاء، شو أعمل؟
حدّث أولاً (القسم 7)، أعد تشغيل Claude Code، وجرّب نفس المهمة. لو ضلت: افتح issue على المستودع مع إصدار REA ونوع الهدف وخطوات التكرار ونص الخطأ. وREA فيها مجتمع Discord مذكور بالـ README لو بدك تسأل.
✓ تم النسخ

Get the next guide first

Leave your email and new guides reach you as soon as they are out. No spam.

Your email stays with me, and you can ask me to delete it any time.