الهندسة العكسية ، مع مساعدك البرمجي
اكتشف كيف
تعمل البرامج.
يوفّر REA لمساعد البرمجة لديك أدوات لفحص البرنامج وشرح ما يفعله.
تعرف بالفعل إعادة? تخطي إلى أدلة التحليل →
تريد أن تذهب أعمق? اقرأ المدونة Blog
إعداد REA
انسخ هذا الطلب إلى مساعد البرمجة لديك:
ثبّت REA واربطه بمساعد البرمجة هذا باستخدام npx rea-agents@latest setup. اعرض خطة الإعداد أولاً وانتظر موافقتي، ثم تحقّق من التثبيت.
أو نفّذ هذا الأمر في الطرفية:
npx rea-agents@latest setup
راجع خطة الإعداد ووافق عليها، ثم أعد تشغيل المساعد.
أول مرة ، أو مفقود Node.js أو المساعد البرمجي? اتبع دليل الإعداد خطوة بخطوة →
ما هي الهندسة العكسية؟
فهم طريقة عمل البرنامج من خلال فحص البرنامج نفسه.
الهدف: فهم ميزة جيدا بما فيه الكفاية ل اشرح ذلك, تغيير ذلك أو إعادة بنائه.
مثلاً: لماذا تعطي الآلة الحاسبة 220 عند حساب 200 + 10%؟
قبل REA · تبحث بنفسك
الأصل · 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 · تسأل مساعدك
طلب واحد فقط.
اسأل المساعد بكلمات بسيطة.
استخدام REA لتفقد Windows آلة حاسبة. لماذا 200 + 10% منح 220?
بعد + ، يأخذ زر ٪ نسبة مئوية من الرقم الأول.
10% of 200 = 20200 + 20 = 220
- ما يوفّره REA
- تعليمات المعالج ، رمز فك والمكالمات.
- ما يشرحه المساعد
- أي فرع ينطبق ، ما يحسب وكيفية إعادة بنائه.
دعونا نحاول مثالين. تغيير سرعة اللعبة ، ثم العودة إلى آلة حاسبة وإعادة بناء زر ٪ لها.
مثال 01 · Chromeلعبة الديناصورات
لماذا يصبح الديناصور أسرع؟
- الهدف
- إعادة بناء اللعبة مع سرعة قابلة للتعديل.
- لماذا عكس هندسة ذلك?
- لإعادة إنتاج تسارعها ، نحتاج إلى القاعدة في لعبة الجري: مدى سرعة يبدأ ، وكم يزيد وعندما يتوقف.
جرّب اللعبة المعاد بناؤها
القاعدة الأصلية: ابدأ من 6 ، ثم زد نحو 13.
ما أعاده REA
البرنامج النصي قيد التشغيل بالفعل في الصفحة. يقرأ الوكيل وظيفة التحديث وإعدادات السرعة ، ثم يستخدم هذه القاعدة في لعبة جديدة.
استخدام REA لتفقد هذه اللعبة ديناصور. لماذا لا تحصل على أسرع? عرض قاعدة السرعة ، ثم بناء نسخة صغيرة مع سرعة قابل للتعديل.
الهدف الذي تم فحصه: وايو Chromium- مستمد متصفح الطبعة.
if (this.currentSpeed < this.config.MAX_SPEED) {
this.currentSpeed += this.config.ACCELERATION;
}
تبدأ في 6. إضافة 0.001 كل تحديث دون تصادم ، في حين أن السرعة أقل 13.
افتح مختبر السرعة →ماذا يفعل كل جزء
- 01 · REAاقرأ البرنامج النصي للعبة الجريإرجاع الرمز الفعلي والإعدادات إلى الوكيل.
- 02 * وكيلكإعادة بناء القاعدة ، إضافة عنصر تحكماستخدم التسارع المسترد في لعبة صغيرة مع شريط تمرير السرعة.
- 03 * أنتتغيير السرعة واللعبجرب التسارع الأصلي ، ثم اختر وتيرتك الخاصة.
راجع البرنامج النصي والشيكات وكيفية تجربة التحليل
REA تفقد إصدار متصفح هتب من خلال اتصال التصحيح المحلي وعاد تحميلها index.js، بما في ذلك مصدرها وهضمها.
ACCELERATION: 0.001,
MAX_SPEED: 13,
SPEED: 6
اتصلنا بوظيفة تحديث اللعبة الأصلية في فحص متصفح متحكم فيه ، مع تعطيل العقبات والجدولة التلقائية. بعد 4000 تحديث ، كانت السرعة 10.0 ؛ بعد 10000 ، كان 13.0 ، مقربا إلى رقم عشري واحد.
تحافظ اللعبة المصغرة الجديدة على قاعدة السرعة هذه. يعد رمز الرسم والقفز والتصادم تطبيقا تعليميا صغيرا. افتح المختبر لرؤية رمز جديد وتشغيل نفس الاختيار السرعة.
لتفقد الهدف بنفسك ، اتبع خطوات اتصال المتصفح باستخدام صفحة الديناصورات. امنح وكيلك عنوان ورل للصفحة ونقطة نهاية التصحيح المحلية ، ثم انسخ المطالبة أعلاه.
مثال 02 · Windows آلة حاسبة
أعد بناء زر % في الآلة الحاسبة.
رأينا لماذا 200 + 10% يعطي 220. الآن دعنا نستعيد القواعد لكل من + و × ، ونجربها.
- الهدف
- بناء آلة حاسبة صغيرة أن يعالج كلا + و correctly بشكل صحيح.
- لماذا عكس هندسة ذلك?
- يستخدم نفس الزر قواعد مختلفة بعد + و ×. نقوم بفحص التطبيق المثبت للعثور على الرقم الذي يتم تطبيق النسبة عليه.
جرب الحساب
10 ٪ من 200 = 20. ثم 200 + 20 = 220.
ما أعاده REA
فرع واحد يقسم على 100. الآخر يتضاعف أيضا في الرقم الأول. يستخدم الوكيل كلاهما لإعادة إنشاء الزر٪.
لهذا المثال, previous = 200 و current = 10.
استخدام REA لتفقد Windows زر ٪ آلة حاسبة. استعادة القواعد بعد + و × ، ثم بناء آلة حاسبة صغيرة تستخدم على حد سواء.
if (operation == multiply || operation == divide) {
percent = current / 100;
} else {
percent = current * previous / 100;
}
- مع +
-
خذ 10٪ من الرقم الأول.
10% of 200 = 20 → 200 + 20 = 220 - مع ×
-
تحويل 10 ٪ إلى 0.1.
200 × 0.1 = 20
من التطبيق المثبت إلى زر ٪ العمل
-
01 · REA يقرأ calc.exeتطلق تطبيق الآلة الحاسبةيفتح الرمز
ms-calculator:. ثم يقوم الوكيل بتحديد مكتبة التطبيق المثبت. -
02 · REA يقرأ المكتبةإرجاع رمز المعالج ٪ تتحقق الوظيفة من المشغل وتستخدم الثابت
100. - 03 * وكيلك يفسر ذلكشرح وإعادة إنتاج القواعدتحقق من الفرع مع مصدر مايكروسوفت ، ثم حاول + و × أعلاه.
انظر الرمز الحقيقي وكيف تم التحقق من الإجابة
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 على تطبيق صغير.
تحميل ملاحظاتنا سبيل المثال ، تتبع لها CSV تصدير ، وتحقق من إدخال واحد تم تغييره.
هل تريد التعمّق أكثر؟
أخبر وكيلك بما تريد فهمه أو بنائه. مع REA، يمكنك العمل معا على أي شيء من استنساخ هذا الموقع إلى إعادة بناء لعبة من تنفيذها.
استخدام REA لتفقد https://reverseengineeranything.app/. استنساخ هذا الموقع بالنسبة لي.
نعم ، هذا واحد.
استخدام REA لإعادة بناء هذه اللعبة من تنفيذها. استعادة منطق اللعب في ج واختباره ضد الأصلي.
لخطوات الإعداد والتحليل ، اختر هدفك:
برامج كود الآلة
فحص الوظائف والسلاسل والمراجع وعلاقات استدعاء الوظائف في الملفات التنفيذية والمكتبات.
تحليل دليل برامج كود الآلةJavaScript & Electron
وحدات الخريطة ، والطرق ، والتصنيف الدولي للبراءات والتبعيات الأصلية من مجلد التطبيق أو ASAR أرشيف.
سير عمل التطبيقنشاط المتصفح ووقت التشغيل
التقط المتصفح المحدد أو نشاط العملية ، ثم قارن النتائج عبر عمليات التشغيل.
دليل مراقبة المتصفحلديك أسئلة؟
قراءة التعليمات, الدردشة معنا على Discord، أو افتح أ GitHub القضية لالبق وطلبات الميزة.
انضم إلى المجتمع
تبادل التحقيقات والحصول على مساعدة من الآخرين REA المستخدمين على Discord. اتبع REA على س للحصول على تحديثات المشروع.