KLIK / 002 / REA
REA: فهم كيفاش خدام برنامج، بالدليل وبلا وعود باسترجاع Source كامل
دليل Reverse Engineer Anything: إعداد MCP، اختيار أدوات التحليل، وأول تحقيق فبرنامج عندك الإذن تحللو، مع حدود النتائج والخصوصية.

عندك تطبيق قديم ديالك كايقرا ملف Configuration، ولكن ماعندكش نسخة Source المطابقة للـ Build. بغيتي تعرف منين كايجيب واحد الإعداد، ماشي تعاود تصاوب البرنامج كامل بالتخمين. هاد النوع ديال الأسئلة هو البداية المعقولة لـ Reverse engineering: سؤال محدود، نسخة محددة، ودليل تقدر ترجع ليه.
REA كيربط AI Agent بأدوات كاتعاون ففحص البرامج والملفات والسلوك ديالها. الاسم Reverse Engineer Anything واسع، ولكن النتيجة ديال أي تحقيق كتبقى مربوطة بالملفات، النظام والأدوات المتوفرة. راجعنا الوثائق الرسمية نهار 25 أكتوبر 2026، ولكن ماجربناش جميع Providers والأنظمة المذكورة فيها.
REA ماشي زر كيرجع المشروع الأصلي
تقدر تلقى Strings، Imports، Modules، Calls، ولا Pseudocode على حسب الهدف وأداة التحليل. هادو مؤشرات كتعاون تفهم التنفيذ؛ ماشي ضمانة باسترجاع أسماء المتغيرات الأصلية، Comments، Architecture ولا مشروع كيتبنى مباشرة. Compilation وOptimization كيبدلو بزاف ديال التفاصيل، وغياب Symbols كيقلل شنو تقدر تعرف بثقة.
فـ JavaScript وElectron، REA كيقدر يفحص بنية التطبيق والروابط بين Modules وملفات أخرى. فالـ .NET كاين تحليل Static للـ Metadata وCIL. فالـ Native binaries ممكن تحتاج Hopper، Ghidra ولا IDA. README فيه لائحة أوسع، ولكن ماخصكش تثبت كلشي باش تجاوب على سؤال واحد فبرنامج Electron ديالك.
بدا بالإذن والنطاق
خدم على تطبيق بنيتيه، مشروع مفتوح بترخيص واضح، أو برنامج عندك موافقة صريحة تحللو. حدد شنو مسموح: قراءة نسخة Offline، تشغيل نسخة اختبار، ولا مراقبة Network فبيئة خاصة. الوصول للملف بوحدو ماكيعطيكش الحق تفوت رخصة، DRM، ولا تستعمل أسرار خدمة أخرى.
مثالنا هنا نسخة من تطبيق شخصي، والسؤال هو: «كيفاش كيتقرا إعداد Export؟» ماتدخلش Accounts ديال الناس، Tokens ولا ملفات زبناء فالاختبار. إلا بغيتي تفهم فكرة من منتج آخر، فهم السلوك وكتب تطبيقك الخاص بعد التأكد من الحقوق، بدل نسخ كود أو Assets ماعندكش الحق فيهم.
المتطلبات كاتختلف على حساب الهدف
الـ README الحالي كيحدد Node.js 22.x من 22.23.4، أو 24.x من 24.22.1، أو 26.12.1 ومافوق، ومعاه npm. راجع هاد الأرقام فصفحة التثبيت وقت الاستعمال، حيث المشروع كيتبدل بسرعة. كاتحتاج كذلك Agent كيدعم MCP؛ Setup كيساند أسماء بحال Codex، Claude Code وCursor، مع تفاصيل خاصة بكل Client.
التحليل Static ديال JavaScript ماكيحتاجش Native decompiler. تحليل Native كيتطلب Provider مناسب ومثبت، وبعضهم عندو رخصة مؤدى عنها. على Linux كاين شرط procps-compatible ps لبعض المسارات، مذكور فدليل Installation. Windows وmacOS وLinux ماعندهمش نفس الدعم لكل أداة؛ راجع Guide ديال الهدف، ماشي غير نظام REA الأساسي.
التثبيت خطوة بخطوة
- ثبت Node وnpm بالإصدار المدعوم من المصدر الرسمي، وفتح Terminal عادي.
- شغّل أمر Setup اللي ناشرو المشروع:
npx rea-agents setup- اختار Agent اللي كتستعمل، وقرا التغييرات المقترحة قبل الموافقة. Setup كيسجل MCP والتعليمات المرتبطة به، وكيوجد نسخ احتياطية للإعدادات الموجودة.
- عاود فتح Agent، وتأكد أنه كايشوف أدوات REA. تثبيت Package ماشي دليل أن Client حمل Registration الجديد.
- إلا احتجتي Native analysis، زيد Provider من الدليل المناسب. ماتوافقش على تنزيل برنامج كبير أو رخصة جديدة غير حيث Agent طلبها بلا شرح.
ماتخلطش إعداد REA مع تثبيت الهدف اللي غادي تحللو. كل واحد عندو Source وثقة وشروط مختلفة. إلا وقع Error، سجل اسم Client وإصدار Node ورسالة Setup، وحيد الأسرار من Log قبل مشاركتو.
أول تحقيق: قرا قبل ما تشغّل
وجد نسخة منفصلة من التطبيق أو ASAR ديالك. خليه بعيد على النسخة اللي كتخدم بها يومياً. حدد المسار الكامل وشنو بغيتي تعرف، وطلب من Agent يبدا بالتحليل Static، بلا تشغيل التطبيق وبلا تعديل الملفات. مثلاً:
Inspect this copy of my Electron application. Find how the export setting
is loaded. Start with static analysis. Show file paths and evidence,
separate facts from guesses, and ask before running or modifying anything.هاد Prompt اقتراح عملي من عندنا، ماشي Command داخلي فـ REA. فالأجوبة، قلب على المسار، الدالة أو Module، والعلاقة مع الإعداد. إلا جاوبك غير بـ «كيبان ليا»، طلب منو يوريك فين كيتقرا الإعداد، شنو القيمة الافتراضية، وفين كتستعمل من بعد. هكا تقدر تتبع الجواب فالملفات بنفسك.
إلا عندك Terminal Workflow، README كيعطي هاد الأمر للتحليل ديال JavaScript application. بدّل المسار بنسخة ديالك؛ الاقتباس مهم إلا كان المسار فيه Spaces:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonعلى Windows استعمل مسار كامل مقتبس بحال المسار اللي عندك فعلاً. الخيار -y كيسمح لـ npx يكمل تنزيل Package بلا سؤال التأكيد ديالو؛ راجع المصدر أولاً. هاد الفحص Static ماشي تصريح بتشغيل كل ملف كيخرج فالنتيجة.
كيفاش تعرف أن الجواب كافي؟
كتب النتيجة فثلاث خانات: شنو تأكد بالملفات، شنو استنتاج مرجح، وشنو باقي مجهول. إلا بان اسم مفتاح فـ String، راه هادي بداية؛ خاصك تعرف واش كيتستعمل، ولا غير بقايا كود. تتبع المسار حتى تقرى الإعداد وتشوف أثره فوظيفة Export ديال النسخة المحددة.
إلا بقات نقطة مرتبطة بالسلوك Runtime، دير تجربة فبيئة اختبار وبحساب فارغ، وبإذن على الخطوة المحددة. Static inspection ماكيشغّلش التطبيق، بينما Runtime capture يقدر يكتب ملفات، يتاصل بالشبكة أو يحرك UI بصلاحياتك. كتب الفرق فالنتيجة، وماتعرضش التخمين كأنه مشاهدة مباشرة.
المصاريف والخصوصية والحدود
قبل ما تسالي التحقيق، طلب مذكرة صغيرة يقدر واحد آخر يتبعها بلا المحادثة كاملة. فيها اسم Build اللي تحلل، المسار ديال الدليل، شنو السؤال، وشنو الخطوة اللي أكدت الجواب. إلا ماقدرتش تربط الاستنتاج بسطر ولا Observation واضحة، خلي الثقة فيه محدودة.
مثلاً، لقيتي Default ديال Export ولكن ماجربتيش تغيير القيمة. كتب «القيمة الافتراضية تأكدت بالقراءة، وأثر التغيير مازال ماجربتوش». هاد الجملة أدق من «فهمنا Export كامل». وملي يتبدل Build، عاود راجع الدليل قبل ما تنقل نفس الخلاصة للنسخة الجديدة. كتب حتى شنو باقي ماعرفتيهش، باش المطور اللي غادي يصلح المشكل مايبنيش الخدمة على حاجة مازال ما تأكداتش.
REA مرخص بـ MIT، ولكن Agent أو Model Provider أو Native tool يقدر يحتاج اشتراك أو رخصة. حتى إلا أدوات التحليل خدامة فالجهاز، الملفات اللي كتحلل تقدر تخرج منو: Agent سحابي يقدر يتلقى الملفات أو المقاطع اللي كتدخل للسياق. راجع اتفاق السرية، الصلاحيات وسياسة البيانات قبل أي مشروع مهني.
البرنامج المضغوط، Obfuscation، الملفات الناقصة أو اختلاف النسخة يقدرو يوقفو التحقيق أو يضعفو الاستنتاج. خزن نسخة الهدف، الإصدار والنتائج باش التحقيق يبقى قابل للإعادة. إلا الأداة عطلات، نقص السؤال لهدف أصغر قبل ما تثبت أدوات إضافية.
REA مناسب باش تجاوب على سؤال تقني عندك الحق تحقق فيه، وتخرج بتفسير فيه أدلة وحدود واضحة. إلا محتاج تصلح برنامج ديالك، استعمل هاد الأدلة باش توجه الإصلاح، ومن بعد دوزو من اختبارات ما قبل Deploy. فهم الكود وتأكيد أن الإصلاح خدام جوج خدمات مكملين لبعضهم.

