reverse-engineering-browser — متصفح بحث محلي أولاً لنظام macOS مبني على إصدار Brave مخصص يلتقط حركة مرور الشبكة والبصمات والسكربتات والأدلة وقت التشغيل لهندسة تطبيقات الويب عكسيًا. | Kitploit
اطّلع على أدلة المتصفح الكامنة وراء البصمات والطلبات والسكربتات وسلوك وقت التشغيل.
متصفح بحثي محلي أولاً ومساحة عمل لنظام macOS لفحص تطبيقات الويب
المصرّح بها.
تم إصدار v0.2.1
أصبح Origin Trace Traffic الآن يحتوي على جدول طلبات بعرض كامل على غرار DevTools. أصبحت المسارات والمضيفات أسهل في القراءة، مع أعمدة منفصلة للحالة والنوع والطريقة والتوقيت. تتبع الطلبات الحية أسفل القائمة؛ ويحافظ التمرير للأعلى على موضعك ويتيح الانتقال إلى الطلبات الجديدة. عند تحديد طلب، يظهر عنوان URL الكامل الخاص به مع إجراء Copy URL. تظل تحسينات خصوصية الجلسة والتشغيل الخاصة بـ v0.2.0 متاحة.
v0.2.1: إعادة تصميم Traffic الحي كجدول طلبات بعرض كامل قابل للقراءة
مع تسلسل هرمي للمسار والمضيف، وبيانات وصفية مدمجة للطلب، وتحديثات
متابعة إلى الأسفل، وانتقال إلى الطلب الجديد، وفحص ونسخ عنوان URL الكامل.
v0.2.0: إضافة عناصر تحكم لكل جلسة لالتقاط البيانات الوصفية أو المحتوى
المحدود، وملفات تعريف معزولة بدون مطالبات مع اشتراك صريح في Keychain،
والتحقق من جاهزية المتصفح وتدفقات إعادة المحاولة/إعادة التشغيل، وتشخيصات
Brave الخاصة، ومجموعة اختبار معيارية لإزالة التشويش الدلالي، وتمهيد
آلي لأدوات المطور.
v0.1.10: إصلاح حالة تسابق إلغاء WebKit عند التشغيل التي قد تُظهر
NSURLErrorDomain error -999 أثناء انتقال Origin Trace من واجهته
غير المتصلة إلى مساحة العمل الحية التي بدأت حديثاً.
v0.1.9: جعل تشغيل التطبيق العادي يبدأ الوسيط، ومستقبل القطع الأثرية،
والمصحح، والمحللات، وواجهة loopback، وجلسة Brave المخصصة المزوّدة
بالأدوات تلقائياً؛ وتغليف المساعدات المطلوبة وإضافة تقارير صريحة عن
فشل بدء التشغيل وتنظيف مملوك.
v0.1.8: إضافة إزالة تشويش محدودة بـ Rust/Oxc داخل Sources، وأصل
البايتات الأصلية، وحماية التداخل، وتقييم الوكيل والمفكك المخصص،
وافتراضات إكراه JSFuck الصريحة، واستعادة موزّع الحلقات/switch المحدودة.
v0.1.7: تحديث واجهة البحث وإعادة تنظيم الأدوات المتقدمة، وفحص
المصدر، وتفاصيل الطلب، والبصمات، والذاكرة، والتجارب.
v0.1.6: إضافة تدفقات عمل أقوى للمصدر والذاكرة وإشارات الطلب
والمحلل مع تغليف التطبيق الأصلي وتحديثات التحقق.
v0.1.5: توسيع تدفق العمل البحثي الأصلي وتوزيع macOS.
v0.1.4: توسيع مجسات البصمات الأصلية، وإضافة نشاط لكل تبويب من
الأحدث إلى الأقدم وعدّادات تبويبات حية، والتقاط صور Canvas باشتراك
صريح، وتقارير أوضح عن فجوات قائمة الانتظار، وعناصر تحكم لإيقاف
المجسات أو مسح أحداث الجلسة الحالية.
v0.1.3: إزالة الطلبات والأحداث ومخرجات Canvas النموذجية من حزمة
التطبيق الإنتاجية بحيث تبدأ كل جلسة بأدلة حقيقية ملتقطة.
v0.1.2: إضافة مساحة عمل Fingerprinting مع مخرجات صور Canvas، ومعاينة
إعادة تشغيل محلية، ودوال الرسم الملتقطة، ونشاط البصمات، وتفاصيل الأحداث،
وعوامل التصفية، وربط الطلبات.
الميزات
حركة مرور الشبكة الحية: افحص الطلبات في جدول بعرض كامل مع مسارات
ومضيفات وطرق ورموز حالة وتوقيت قابلة للقراءة؛ حدّد طلباً لفحص عنوان URL
الكامل والترويسات ونص الطلب ونص الاستجابة الملتقطة عبر CDP.
تنظيم التبويبات والنطاقات: افصل حركة المرور حسب تبويب المتصفح، ثم
ضيّق نطاق تبويب إلى نطاق وجهة محدد أو نوع مورد.
أدلة المتصفح الأصلية: سجّل الاستدعاءات وقراءات الخصائص عبر Canvas
وWebGL وWeb Audio وواجهات برمجة الأجهزة والتخطيط وPermissions وStorage
وWebRTC وبصمات وقت تشغيل JavaScript، بالإضافة إلى بيانات وصفية لدورة
حياة الطلب من إصدار Brave مخصص.
تتبع الأصل: تتبّع طلباً بشكل عكسي عبر الأحداث والسكربتات والإطارات
وسياقات التنفيذ والقطع الأثرية الملتقطة التي ساهمت فيه.
فحص المصدر وتصحيح الأخطاء: تصفّح مصادر الصفحة، واضبط نقاط التوقف،
وتوقف وتنقّل خلال JavaScript، وافحص النطاقات، وقيّم المراقبات، واستخدم
وحدة تحكم حية.
التقاط القطع الأثرية: احتفظ بنسخ محدودة من JavaScript وWebAssembly
المُسلَّمة عبر الشبكة والمُولَّدة في وقت التشغيل مع التجزئات والأصل،
بالإضافة إلى مخرجات صور Canvas المصرّح بها صراحةً.
أدوات الذاكرة والتتبع العكسي: افحص لقطات الكومة، والكائنات الحية،
وإطارات المكدس المفككة، والنتائج المتعلقة بـ VM.
تدفقات العمل البحثية: احفظ الطلبات في مجموعات، وأعد تشغيل طلبات
معزولة، وأجرِ تجارب مضبوطة، واحتفظ بملاحظات المحلل المحلية.
التقاط محلي ومحدود: تبقى الأدلة على الجهاز. تُحجب ترويسات الطلبات
الحساسة، وتُحدّد النصوص بحد أقصى 128 KiB في التقاط CDP، ولقوائم
الانتظار الأصلية ونقل القطع الأثرية حدود صريحة.
الوضع الصامت الأصلي: شغّل التقاط الأدلة الأصلية دون إرفاق DevTools
عندما لا يكون محتوى الطلب والاستجابة مطلوباً.
التطبيقات المُجمَّعة مخصصة لأجهزة Mac المزوّدة بشرائح Apple silicon. معاينة
Brave Browser Development المرتبطة أقدم من دعم المجسات الحالي. ابنِ تكامل
Brave المثبّت من مصدر هذا الإصدار لاستخدام كل مجس أصلي؛ فالمعاينة المنزّلة
لا يمكنها إظهارها. لا يحتوي Origin Trace على أي أدلة نموذجية مضمّنة.
التطبيقات موقّعة توقيعاً مخصصاً لكنها غير موثّقة من Apple، لذا قد يتطلب
التشغيل الأول الضغط مع الاستمرار على Control والنقر على التطبيق واختيار
Open. وسم إصدار GitHub v0.2.1 غير موقّع؛ لكن التزام الدمج الخاص به
موثّق من GitHub.
لا يتطلب تنزيل تطبيق Brave المُجمَّع سحب مصدر بحجم 100+ GiB. خصّص حوالي
1 GiB لتنزيل واستخراج كلا التطبيقين، بالإضافة إلى أي مساحة تريد الاحتفاظ
بها لملفات تعريف المتصفح والجلسات الملتقطة.
تشغيل التقاط حي باستخدام إصدار Brave مخصص موجود
من جذر المستودع:
root@kitploit:~
REB_CDP_NETWORK_CAPTURE=1 \
REB_BRAVE_BINARY="/path/to/Brave Browser Development.app/Contents/MacOS/Brave Browser Development" \
make live
يفتح Origin Trace ومتصفح Brave المخصص معاً. تصفّح في نافذة Brave تلك
وحدّد الطلبات في تبويب Traffic. أغلق Brave لإنهاء الجلسة. تُخزَّن
الأدلة الملتقطة تحت build/sessions/live/.
التقاط محتوى CDP صريح لأنه قد يحتفظ بمحتوى الصفحة. يحجب ترويسات
authorization وcookie وproxy-authorization وset-cookie. قد تكون نصوص
الاستجابة المتدفقة أو المخزّنة مؤقتاً أو الداخلية أو المُزالة مسبقاً
غير متاحة.
تُلتقط أسماء عمليات البصمات افتراضياً. للاحتفاظ أيضاً بالصورة الدقيقة
التي تُرجعها HTMLCanvasElement.toDataURL() لهذه الجلسة الواحدة، أضف
REB_CAPTURE_CANVAS_IMAGES=1. قد تحتوي مخرجات صور Canvas على محتوى
الصفحة، لذا فهي معطّلة افتراضياً، وتُحفظ فقط في مخزن الجلسة المحلي،
وتقتصر على 2 MiB لكل صورة.
بناء متصفح Brave المخصص للمرة الأولى
تنطبق هذه المتطلبات فقط عند تجميع Brave من المصدر. ولا تنطبق عند
استخدام تطبيق Brave المُجمَّع القابل للتنزيل.
متطلبات البناء من المصدر:
macOS مع Xcode كامل مثبّت؛
Node.js وpnpm؛
Python 3، ومترجم C++20، وzlib، وMake؛
مساحة حرة لا تقل عن 150 GiB، ويُوصى بـ 200 إلى 250 GiB.
./scripts/bootstrap-brave.sh --init
./scripts/sync-browser-integration.sh
make brave-doctor
make brave-probe-check
./scripts/brave-toolchain.sh build
قد يستغرق البناء الكامل الأول عدة ساعات. عمليات البناء اللاحقة تراكمية
وتعيد عادةً استخدام السحب الموجود والكائنات المُجمَّعة. بعد اكتماله،
ابدأ الالتقاط الحي بالأمر من القسم السابق.
التشغيل بدون التقاط محتوى CDP
لالتقاط البيانات الوصفية والقطع الأثرية الأصلية دون إرفاق DevTools حي:
root@kitploit:~
REB_NATIVE_QUIET_MODE=1 \
REB_BRAVE_BINARY="/path/to/Brave Browser Development.app/Contents/MacOS/Brave Browser Development" \
make live
المصادر ونقاط التوقف والتنقل والمراقبات ووحدة التحكم وعناوين URL الكاملة
والترويسات والنصوص غير متاحة في الوضع الصامت الأصلي.
استخدم هذا المشروع فقط على الأنظمة التي تملكها أو المصرّح لك صراحةً
بفحصها.