في هذه الصفحة

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

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

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

إعداد REA

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

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

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

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

npx rea-agents@latest setup

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

خيارات تثبيت أخرى: curl ←

أول مرة ، أو مفقود Node.js أو المساعد البرمجي? اتبع دليل الإعداد خطوة بخطوة →

كيف تعمل

الهندسة العكسية هي فهم كيفية عمل البرمجيات عبر فحص البرنامج نفسه. مع 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

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

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

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

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

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

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

10% of 200 = 20200 + 20 = 220
ما يوفّره REA
تعليمات المعالج ، رمز فك والمكالمات.
ما يشرحه المساعد
أي فرع ينطبق ، ما يحسب وكيفية إعادة بنائه.
التجمع المحدد من دلل آلة حاسبة مثبتة. الأفكار والرد توضح النتائج. تواصل مع مثال الآلة الحاسبة ↓

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

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

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

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

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

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

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

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

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

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

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

6 → 10 → 13

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

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

الهدف الذي تم فحصه: وايو Chromium- مستمد متصفح الطبعة.

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 ، مقربا إلى رقم عشري واحد.

تحافظ اللعبة المصغرة الجديدة على قاعدة السرعة هذه. يعد رمز الرسم والقفز والتصادم تطبيقا تعليميا صغيرا. افتح المختبر لرؤية رمز جديد وتشغيل نفس الاختيار السرعة.

لتفقد الهدف بنفسك ، اتبع خطوات اتصال المتصفح باستخدام صفحة الديناصورات. امنح وكيلك عنوان ورل للصفحة ونقطة نهاية التصحيح المحلية ، ثم انسخ المطالبة أعلاه.

فحص رمز السرعة · Chromium الكتاب * رخصة بسد

مثال 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. يستخدم الملخص المقروء أسماء من المصدر العام لمايكروسوفت لشرح الفرع المسترد.

النسبة المئوية للتنفيذ · حالات اختبار مايكروسوفت · دليل الإعداد الأصلي

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

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

يعرض →

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

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

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

قراءة دراسة حالة Android

Electron * ميزة تتبع

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

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

قراءة Notion دراسة حالة

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

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

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

قراءة DX-Ball دراسة حالة

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

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

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

جرب المثال الإرشادي

اختر هدفك.

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

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

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

تحليل دليل برامج كود الآلة

JavaScript & Electron

وحدات الخريطة ، والطرق ، والتصنيف الدولي للبراءات والتبعيات الأصلية من مجلد التطبيق أو ASAR أرشيف.

سير عمل التطبيق

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

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

دليل مراقبة المتصفح
جرّب مشروعًا أكبر
مثال موجه * الموقع

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

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

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

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

انظر ال DX-Ball دراسة حالة case

لديك أسئلة؟

أعلى