---
title: REA - الهندسة العكسية لعامل الترميز الخاص بك
url: https://rea.tools/ar/
---

الهندسة العكسية ، مع مساعدك البرمجي

# اكتشف كيف تعمل البرامج.

اسأل وكيل البرمجة عن تطبيق أو لعبة أو موقع. تمنحه REA الأدوات لفحص الكود الذي يفسر الإجابة.

[ابدأ هنا](https://rea.tools/get-started/)
[شاهد مثالًا ↓](https://rea.tools/ar/#dinosaur)

## إعداد REA

انسخ هذا الطلب إلى مساعد البرمجة لديك:

مساعدك البرمجي

ثبّت REA واربطه بمساعد البرمجة هذا باستخدام npx rea-agents@latest setup. اعرض خطة الإعداد أولاً وانتظر موافقتي، ثم تحقّق من التثبيت.

أو نفّذ هذا الأمر في الطرفية:

`npx rea-agents@latest setup`

راجع خطة الإعداد ووافق عليها، ثم أعد تشغيل المساعد.


خيارات الإعداد


خيارات تثبيت أخرى: [curl ←](https://rea.tools/get-started/#curl-installation)

أول مرة ، أو مفقود Node.js أو المساعد البرمجي? [اتبع دليل الإعداد خطوة بخطوة →](https://rea.tools/get-started/)

[إنشاء بيئات التعلم المعزز →](https://rea.tools/ar/#rl-environments)

سجّل تطبيق ويب لتدريب الوكلاء واختبارهم.

[يعرض →](https://rea.tools/ar/showcase/)

استقصاءات وعروض تفاعلية.

[المدوّنة →](https://rea.tools/ar/blog/)

أساليب وملاحظات عن إعادة البناء.

## كيف تعمل

الهندسة العكسية هي فهم كيفية عمل البرمجيات عبر فحص البرنامج نفسه. مع REA، يستطيع وكيلك تتبّع الكود وشرح ميزة ومساعدتك على إعادة بنائها.

1. ### اسأل عن ميزة واحدة

   أعطِ وكيلك برنامجًا أو صفحة واطرح سؤالًا.
2. ### افحص البرنامج

   يساعد REA وكيلك على قراءة الشفرة ومعرفة ما يفعله البرنامج أثناء تشغيله.
3. ### افهمها ثم جرّب تعديلًا

   يستخدم وكيلك النتائج لشرح الميزة أو إعادة بنائها.

شاهد الاستقصاء الكامل للآلة الحاسبة

لماذا تعطي الآلة الحاسبة 220 عند حساب 200 + 10%؟

### تتبّع التعليمات خطوة بخطوة

الأصل · 64 \* تعليمات مختارة 

```
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
0x180124960: LEA RCX, [RSP + 0x160]
0x180124968: CALL 0x180122650
0x18012496e: LEA RDX, [R13 + 0x160]
0x180124975: LEA RCX, [RSP + 0x78]
0x18012497a: CALL 0x180109720
0x18012497f: MOV RSI, RAX
0x180124982: MOV qword ptr [RSP + 0x28], RAX
0x180124987: LEA RDX, [RSP + 0x160]
0x18012498f: MOV RCX, RAX
0x180124992: CALL 0x180123190
; … value-copy instructions omitted …
0x180124a14: MOV RDX, RDI
0x180124a17: LEA RCX, [RSP + 0xf8]
0x180124a1f: CALL 0x180109720
0x180124a24: LEA R8, [RSP + 0x30]
0x180124a29: MOV RDX, RAX
0x180124a2c: LEA RCX, [RSP + 0xb8]
0x180124a34: CALL 0x180123c10
```



01 \* أي فرع?

“**0/5 ب? 0 \* 5 ج?** اثنين يقفز إلى نفس المكان. التي مشغلي هذه?”

ابحث عن معرفات الأوامر ، ثم قم بتسمية الفرع.

0x5b
:   تقسيم ÷

0x5c
:   ضرب ×

02 · ماذا تفعل الدوال المستدعاة؟

"100 واضح. المكالمات هي مجرد عناوين. **أي واحد يقسم? القيمة التي يذهب في?**”

افحص وظائف المساعد وتتبع القيم المخزنة.

0x64
:   100

…123190
:   تقسيم

03 \* ما هي القاعدة?

"يتضاعف هذا المسار من خلال المدخلات الأخرى. لذا **10 ٪ تعني 10 ٪ من 200** بعد +.”

قم بتسمية المعاملات وتحقق من كلا مساري المشغل.

200 × 10 / 100
**20**

![](https://rea.tools/assets/localized/ar/figures/analyst-thinking.svg)

منطق الخبراء التوضيحي

**يمكنك فك التعليمات ، اتبع المكالمات وظيفة وإعادة بناء الحساب.**

اطرح السؤال نفسه على وكيلك

مثال موجه \* آلة حاسبة

استخدام REA لتفقد Windows آلة حاسبة. لماذا 200 + 10% منح 220?

مثال على الإجابة \* بناء على النتائج

بعد + ، يأخذ زر ٪ **نسبة مئوية من الرقم الأول.**

`10% of 200 = 20`**200 + 20 = 220**

ما يوفّره REA
:   تعليمات المعالج ، رمز فك والمكالمات.

ما يشرحه المساعد
:   أي فرع ينطبق ، ما يحسب وكيفية إعادة بنائه.

التجمع المحدد من دلل آلة حاسبة مثبتة. الأفكار والرد توضح النتائج. [تواصل مع مثال الآلة الحاسبة ↓](https://rea.tools/ar/#calculator)

لنجرب مثالين: تغيير سرعة لعبة، ثم إعادة بناء زر % في الحاسبة.

مثال 01 · Chromeلعبة الديناصورات

## لماذا يصبح الديناصور أسرع؟

تزداد سرعة اللعبة كلما واصلت الجري. لإعادة بنائها مع إمكانية ضبط السرعة، علينا أولًا معرفة كيف تتغير السرعة.

### 1. اسأل عن السرعة

مثال على سؤال · لعبة الديناصور

استخدام REA لتفقد هذه اللعبة ديناصور. لماذا لا تحصل على أسرع? عرض قاعدة السرعة ، ثم بناء نسخة صغيرة مع سرعة قابل للتعديل.

### 2. اعثر على قاعدة السرعة

يتيح REA للوكيل قراءة كود اللعبة أثناء تشغيلها. تبدأ السرعة من 6 وتزيد قليلًا مع كل تحديث ما دامت أقل من 13.

### 3. العب النتيجة

أعدنا بناء هذه القاعدة في اللعبة المصغرة أدناه وأضفنا شريطًا لضبط السرعة. ابدأ اللعب، ثم اختر سرعتك.

السرعة 6.0
 استخدم قاعدة التسارع المستردة

القاعدة الأصلية: ابدأ من 6 ، ثم زد نحو 13.

حرك شريط التمرير لضبط السرعة الخاصة بك. الفضاء أو القفز يزيل الصبار.



فعّل JavaScript للعب. لا يزال بإمكانك قراءة القاعدة وفتح الكود المصدري أدناه.

[افتح مختبر السرعة →](https://rea.tools/ar/examples/dino-lab/)

راجع البرنامج النصي والشيكات وكيفية تجربة التحليل

الهدف الذي تم فحصه: [وايو Chromium- مستمد متصفح الطبعة](https://wayou.github.io/t-rex-runner/).

REA \* تحميل index.js \* خطوط مختارة

```
if (this.currentSpeed < this.config.MAX_SPEED) {
  this.currentSpeed += this.config.ACCELERATION;
}
```

تبدأ في 6. إضافة 0.001 كل تحديث دون تصادم ، في حين أن السرعة أقل 13.

ماذا يفعل كل جزء

1. 01 · REA

   اقرأ البرنامج النصي للعبة الجري

   إرجاع الرمز الفعلي والإعدادات إلى الوكيل.
2. 02 \* وكيلك

   إعادة بناء القاعدة ، إضافة عنصر تحكم

   استخدم التسارع المسترد في لعبة صغيرة مع شريط تمرير السرعة.
3. 03 \* أنت

   تغيير السرعة واللعب

   جرب التسارع الأصلي ، ثم اختر وتيرتك الخاصة.

REA تفقد إصدار متصفح هتب من خلال اتصال التصحيح المحلي وعاد تحميلها `index.js`، بما في ذلك مصدرها وهضمها.

الإعدادات المحددة من البرنامج النصي الذي تم فحصه

```
ACCELERATION: 0.001,
MAX_SPEED: 13,
SPEED: 6
```

اتصلنا بوظيفة تحديث اللعبة الأصلية في فحص متصفح متحكم فيه ، مع تعطيل العقبات والجدولة التلقائية. بعد 4000 تحديث ، كانت السرعة 10.0 ؛ بعد 10000 ، كان 13.0 ، مقربا إلى رقم عشري واحد.

تحافظ اللعبة المصغرة الجديدة على قاعدة السرعة هذه. يعد رمز الرسم والقفز والتصادم تطبيقا تعليميا صغيرا. [افتح المختبر](https://rea.tools/ar/examples/dino-lab/) لرؤية رمز جديد وتشغيل نفس الاختيار السرعة.

لتفقد الهدف بنفسك ، اتبع [خطوات اتصال المتصفح](https://rea.tools/ar/guides/browser/#prepare) باستخدام [صفحة الديناصورات](https://wayou.github.io/t-rex-runner/). امنح وكيلك عنوان ورل للصفحة ونقطة نهاية التصحيح المحلية ، ثم انسخ المطالبة أعلاه.

[فحص رمز السرعة](https://github.com/wayou/t-rex-runner/blob/5455bfa408ec6b707c7300ff194b7390733a766d/index.js#L565-L571) · [Chromium الكتاب \* رخصة بسد](https://rea.tools/assets/licenses/dinosaur.txt)

مثال 02 · Windows آلة حاسبة

## أعد بناء زر % في الآلة الحاسبة.

يعمل زر % بشكل مختلف بعد + و×. لنعثر على القاعدتين ونجربهما في حاسبة صغيرة.

### 1. اسأل عن زر %

مثال على سؤال · الحاسبة

استخدام REA لتفقد Windows زر ٪ آلة حاسبة. استعادة القواعد بعد + و × ، ثم بناء آلة حاسبة صغيرة تستخدم على حد سواء.

### 2. اعثر على القاعدتين

يساعد REA الوكيل على قراءة الكود وراء زر %. يطبق الكود قاعدتين مختلفتين:

مع +
:   خذ 10٪ من الرقم الأول.`10% of 200 = 20 → 200 + 20 = 220`

مع ×
:   تحويل 10 ٪ إلى 0.1.`200 × 0.1 = 20`

### 3. جرّب زر %

أعدنا بناء القاعدتين أدناه. اختر + أو ×، واضغط %، ثم =.

200 +
**20**

10 ٪ من 200 = 20. ثم 200 + 20 = 220.

توضيح تفاعلي لقاعدة النسبة المئوية التي تم فحصها.

انظر الرمز الحقيقي وكيف تم التحقق من الإجابة

لهذا المثال, `previous = 200` و `current = 10`.

ملخص مقروء لمعالج ٪

```
if (operation == multiply || operation == divide) {
  percent = current / 100;
} else {
  percent = current * previous / 100;
}
```

من التطبيق المثبت إلى زر ٪ العمل

1. 01 · REA يقرأ calc.exe

   تطلق تطبيق الآلة الحاسبة

   يفتح الرمز `ms-calculator:`. ثم يقوم الوكيل بتحديد مكتبة التطبيق المثبت.
2. 02 · REA يقرأ المكتبة

   إرجاع رمز المعالج ٪

   تتحقق الوظيفة من المشغل وتستخدم الثابت `100`.
3. 03 \* وكيلك يفسر ذلك

   شرح وإعادة إنتاج القواعد

   تحقق من الفرع مع مصدر مايكروسوفت ، ثم حاول + و × أعلاه.

REA \* تعليمات أصلية مختارة

```
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
```

معرفات المشغل \* مصدر مايكروسوفت

```
#define IDC_MUL 92      // 0x5c
#define IDC_DIV 91      // 0x5b
#define IDC_PERCENT 118 // 0x76

0x64 = 100
```

تفتيشها مع REA 4.1.0: Windows آلة حاسبة 11.2508.4.0, س 64. يستخدم الملخص المقروء أسماء من المصدر العام لمايكروسوفت لشرح الفرع المسترد.

[النسبة المئوية للتنفيذ](https://github.com/microsoft/calculator/blob/d125246a4e19842ce1332e6c7839cf0e110027d8/src/CalcManager/CEngine/scifunc.cpp#L98-L111) · [حالات اختبار مايكروسوفت](https://github.com/microsoft/calculator/blob/d125246a4e19842ce1332e6c7839cf0e110027d8/src/CalculatorUnitTests/CalculatorManagerTest.cpp#L350-L370) · [دليل الإعداد الأصلي](https://rea.tools/guides/native/)

## REA دراسات الحالة.

استكشف ميزة في تطبيق أو لعبة منشورة، مع الكود والنتائج التي جرى التحقق منها.

[يعرض →](https://rea.tools/ar/showcase/)

اندرويد · APK التحليل

### كيف يقوم المصدق بإنشاء رمز تسجيل الدخول

تتبّع رمز تسجيل الدخول المكوّن من ستة أرقام في ملف APK المنشور لتطبيق Aegis، ثم حرّك الساعة التجريبية لترى سبب تغيّره كل 30 ثانية.

[قراءة دراسة حالة Android](https://rea.tools/showcase/aegis/)

Electron \* ميزة تتبع

### كيف Notion نسخ النص و هتمل

تتبّع JavaScript المضمّن في Notion وصولًا إلى حافظة النظام، وشاهد كيف يحافظ النسخ على بيانات الكتل الغنية.

[قراءة Notion دراسة حالة](https://rea.tools/ar/showcase/notion/)

مواطن \* إعادة الإعمار

### DX-Ballحساب عموم الصوت

استخلص كيف يتحول موضع الكرة إلى صوت يمينًا أو يسارًا في لعبة Windows من عام 1996.

[قراءة DX-Ball دراسة حالة](https://rea.tools/ar/showcase/dx-ball/)

## إنشاء بيئات التعلم المعزز

حوّل جلسة مسجلة لتطبيق ويب إلى بيئة قابلة للتشغيل لتدريب وكلاء الذكاء الاصطناعي واختبارهم.

يسجل وكيلك طلبات المتصفح واستجابات التطبيق. يستخدم REA هذه البيانات لبناء بيئة محلية يستطيع الوكلاء فيها التدرب على المهام دون تشغيل التطبيق الأصلي.

لدعم حذف المجلدات، يجب أن يُظهر التسجيل المجلد قبل الحذف وأن يؤكد عدم وجوده بعد ذلك.

[دليل إنشاء بيئة](https://rea.tools/guides/rl-environments/) · [شاهد العرض على X](https://x.com/reatools/status/2112574822584918075?s=20)

بعد إعداد REA في وكيلك، استبدل رابط المثال ومهام المجلدات بما يناسب تطبيقك:

مساعدك البرمجي

استخدم REA لإنشاء بيئة تعلم معزز من تطبيق الويب الاختباري لدي على `http://127.0.0.1:3000` غطّ عرض المجلدات وإنشاءها وإعادة تسميتها وحذفها. يمكنك إنشاء مجلدات اختبار وحذفها، لكن لا تغيّر البيانات الموجودة. احفظ البيئة في مجلد باسم `my-env`، وتحقق من العمليات المتاحة وأخبرني كيف أشغّلها.

مثال للطلب. استبدل الرابط ومهام المجلدات بما يناسب تطبيقك.

التحقيق الأول الخاص بك

## حاول REA على تطبيق صغير.

تحميل ملاحظاتنا سبيل المثال ، تتبع لها CSV تصدير ، وتحقق من إدخال واحد تم تغييره.

[جرب المثال الإرشادي](https://rea.tools/ar/first-investigation/)

## اختر هدفك.

تغطي هذه الأدلة الإعداد وأول استقصاء لكل نوع من البرمجيات.

### برامج كود الآلة

فحص الوظائف والسلاسل والمراجع وعلاقات استدعاء الوظائف في الملفات التنفيذية والمكتبات.

[تحليل دليل برامج كود الآلة](https://rea.tools/guides/native/)

### JavaScript & Electron

تتبّع الشفرة داخل تطبيق سطح مكتب مكتوب بلغة JavaScript.

[سير عمل التطبيق](https://rea.tools/guides/javascript/)

### نشاط المتصفح ووقت التشغيل

التقط المتصفح المحدد أو نشاط العملية ، ثم قارن النتائج عبر عمليات التشغيل.

[دليل مراقبة المتصفح](https://rea.tools/ar/guides/browser/)

جرّب مشروعًا أكبر

مثال موجه \* الموقع

استخدام REA لتفقد https://rea.tools/. استنساخ هذا الموقع بالنسبة لي.

نعم ، هذا واحد.

مثال موجه \* إعادة بناء اللعبة

استخدام REA لإعادة بناء هذه اللعبة من تنفيذها. استعادة منطق اللعب في ج واختباره ضد الأصلي.

[انظر ال DX-Ball دراسة حالة case](https://rea.tools/ar/showcase/dx-ball/)

## لديك أسئلة؟

[اقرأ الأسئلة الشائعة](https://rea.tools/ar/faq/) للحصول على مساعدة في الإعداد وإجابات عن الأسئلة المتكررة.

[انضم إلى Discord](https://discord.gg/GkcryMnJDM) للحصول على المساعدة ومناقشة تحليلاتك.

أبلغ عن خطأ أو اطلب ميزة عبر [GitHub Issues](https://github.com/morluto/rea/issues/new/choose).
