Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
rebrowser-patches — مجموعة من الترقيعات (patches) لـ puppeteer و playwright لتجنب اكتشاف الأتمتة والتسريبات. تساعد في تجنب صفحات CAPTCHA الخاصة بـ Cloudflare و DataDome. سهلة الترقيع/إلغاء الترقيع، ويمكن تمكينها/تعطيلها عند الطلب. | Kitploit
أدوات/GitHubGitHub/rebrowser/rebrowser-patches
زاحف الويبمكافحة الروبوتاتانتحال البصمة الرقميةتجاوز كابتشاالأفضل في تجاوز كابتشا #20الأفضل في انتحال البصمة الرقمية #9
GitHubrebrowser/rebrowser-patches

rebrowser-patches

مجموعة من الترقيعات (patches) لـ puppeteer و playwright لتجنب اكتشاف الأتمتة والتسريبات. تساعد في تجنب صفحات CAPTCHA الخاصة بـ Cloudflare و DataDome. سهلة الترقيع/إلغاء الترقيع، ويمكن تمكينها/تعطيلها عند الطلب.

1.4k83123منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
الموقع الإلكتروني

🪄 تصحيحات لأتمتة المتصفح غير القابلة للاكتشاف

يحتوي هذا المستودع على تصحيحات لتحسين مكتبات أتمتة الويب الشائعة. على وجه التحديد، يستهدف حزمتي puppeteer و playwright.

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

هل أحتاج حقًا إلى أي تصحيحات؟

تعمل Puppeteer و Playwright افتراضيًا مع بعض التسريبات الكبيرة التي يسهل اكتشافها. لا يهم مدى جودة بروكسياتك، وبصماتك الرقمية، ونصوص سلوكياتك؛ إذا لم تكن قد طبّقت التصحيح، فأنت مجرد علم أحمر كبير لأي موقع رئيسي.

🕵️ يمكنك بسهولة اختبار إعداد الأتمتة لديك ضد تقنيات الكشف الحديثة الرئيسية باستخدام rebrowser-bot-detector (المصادر والتفاصيل)

قبل التصحيحات 👎بعد التصحيحات 👍
قبلبعد

هل هناك بديل جاهز سهل؟

إذا كنت لا تريد العبث بالتصحيحات وجميع الأخطاء المحتملة، فهناك حل جاهز لك. هذه الحزم طبّقت ببساطة rebrowser-patches فوق الكود الأصلي، لا أكثر.

Puppeteer: rebrowser-puppeteer (المصدر) و rebrowser-puppeteer-core (المصدر)

Playwright (Node.js): rebrowser-playwright (المصدر) و rebrowser-playwright-core (المصدر)

Playwright (Python): rebrowser-playwright (المصدر)

أسهل طريقة لبدء استخدامه هي تعديل package.json لاستخدام الحزم الجديدة مع الإبقاء على الاسم القديم كاسم مستعار. بهذه الطريقة، لن تحتاج إلى تغيير أي كود مصدري في الأتمتة الخاصة بك. إليك كيفية القيام بذلك:

  1. افتح package.json واستبدل "puppeteer": "^23.3.1" و "puppeteer-core": "^23.3.1" بـ "puppeteer": "npm:rebrowser-puppeteer@^23.3.1" و "puppeteer-core": "npm:rebrowser-puppeteer-core@^23.3.1". ملاحظة: 23.3.1 مجرد مثال، تحقق من أحدث إصدار على npm.
  2. شغّل npm install (أو yarn install)

طريقة أخرى هي استخدام الحزم الجديدة فعليًا بدلاً من الحزمة الأصلية. إليك الخطوات التي يجب اتباعها:

  1. افتح package.json واستبدل حزمتي puppeteer و puppeteer-core بحزمتي rebrowser-puppeteer و rebrowser-puppeteer-core. لا تغيّر إصدارات الحزم، فقط استبدل الأسماء.
  2. شغّل npm install (أو yarn install)
  3. ابحث في نصوصك البرمجية عن أي ذكر لـ puppeteer و puppeteer-core واستبدله بـ rebrowser-puppeteer و rebrowser-puppeteer-core

🚀 هذا كل شيء! فقط قم بزيارة صفحة rebrowser-bot-detector واختبر متصفحك المُصحَّح.

هدفنا هو الحفاظ على حزم البديل الجاهز هذه ودعمها بأحدث الإصدارات، لكننا نركّز بشكل أساسي على الإصدارات الحديثة. لذا إذا كنت ما زلت تستخدم puppeteer 13.3.7 من أوائل التسعينيات، فقد حان الوقت للترقية. هناك احتمال كبير ألا يكسر ذلك أي شيء حقًا لأن الواجهة البرمجية (API) مستقرة إلى حد كبير بمرور الوقت.

التصحيحات المتاحة

إصلاح تسريب Runtime.Enable

تعتمد مكتبات الأتمتة الشائعة على أمر CDP Runtime.Enable، الذي يسمح باستقبال الأحداث من نطاق Runtime.. وهذا أمر بالغ الأهمية لإدارة سياقات التنفيذ المستخدمة لتقييم JavaScript في الصفحات، وهي ميزة أساسية لأي عملية أتمتة.

ومع ذلك، هناك تقنية تكتشف استخدام هذا الأمر، مما يكشف أن المتصفح خاضع لبرنامج أتمتة مثل Puppeteer أو Playwright. هذه التقنية تُستخدم من قبل جميع برامج مكافحة البوتات الرئيسية مثل Cloudflare و DataDome وغيرها.

لقد أعددنا مقالًا كاملًا عن تحقيقنا حول هذا التسريب، يمكنك قراءته في مدونتنا.

لمزيد من التفاصيل حول هذه التقنية، اقرأ تدوينة DataDome: كيف تؤثر ميزة Headless Chrome الجديدة وإشارة CDP على اكتشاف البوتات. باختصار، إنها بضعة أسطر من JavaScript في الصفحة تُستدعى تلقائيًا إذا تم استخدام Runtime.Enable.

يعمل إصلاحنا على تعطيل أمر Runtime.Enable التلقائي في كل إطار. بدلاً من ذلك، نقوم يدويًا بإنشاء سياقات بمعرّفات غير معروفة عند إنشاء إطار. ثم عندما يحتاج كود إلى التنفيذ، هناك عدة طرق للحصول على معرّف السياق.

1. إنشاء binding جديد في العالم الرئيسي، واستدعاؤه وحفظ معرّف السياق الخاص به.

🟢 الإيجابيات: النهج الأمثل الذي يحافظ على الوصول إلى العالم الرئيسي ويعمل مع web workers و iframes. لا تحتاج إلى تغيير أي شيء في قاعدة الكود الحالية لديك.

🔴 السلبيات: لم يتم اكتشاف أي منها حتى الآن.

2. إنشاء سياق معزول جديد عبر Page.createIsolatedWorld وحفظ معرّفه.

🟢 الإيجابيات: سيتم تنفيذ جميع أكوادك في عالم معزول منفصل، مما يمنع نصوص الصفحة من اكتشاف تغييراتك عبر MutationObserver والتقنيات الأخرى.

🔴 السلبيات: لن تتمكن من الوصول إلى متغيرات وكود السياق الرئيسي. على الرغم من أن هذا ضروري لبعض حالات الاستخدام، فإن السياق المعزول يعمل بشكل جيد عمومًا في معظم السيناريوهات. أيضًا، لا تسمح web workers بإنشاء عوالم جديدة، لذا لا يمكنك تنفيذ الكود الخاص بك داخل worker. هذه حالة استخدام متخصصة ولكنها قد تهم في بعض المواقف. يوجد حل بديل لهذه المشكلة، يرجى قراءة كيفية الوصول إلى كائنات السياق الرئيسي من السياق المعزول في Puppeteer و Playwright.

3. استدعاء Runtime.Enable ثم استدعاء Runtime.Disable فورًا.

يؤدي هذا إلى تشغيل أحداث Runtime.executionContextCreated، مما يتيح لنا التقاط معرّف السياق الصحيح.

🟢 الإيجابيات: ستحصل على وصول كامل إلى السياق الرئيسي.

🔴 السلبيات: هناك احتمال ضئيل أنه خلال هذه الفترة الزمنية القصيرة، ستستدعي الصفحة كودًا يؤدي إلى التسريب. الخطر منخفض، لأن كود الكشف يُستدعى عادةً أثناء إجراءات محددة مثل صفحات CAPTCHA أو نماذج تسجيل الدخول/التسجيل، وعادةً بعد تحميل الصفحة مباشرةً. منطق عملك يُستدعى عادةً بعد ذلك بقليل.

🎉 تُظهر اختباراتنا أن جميع هذه الأساليب غير قابلة للاكتشاف حاليًا بواسطة Cloudflare أو DataDome.

ملاحظة: يمكنك تغيير إعدادات هذا التصحيح أثناء التشغيل باستخدام متغير بيئة. يتيح لك ذلك التبديل بسهولة بين الإصدارات المُصحَّحة وغير المُصحَّحة بناءً على منطق عملك.

  • REBROWSER_PATCHES_RUNTIME_FIX_MODE=addBinding — تقنية addBinding (الافتراضية)
  • REBROWSER_PATCHES_RUNTIME_FIX_MODE=alwaysIsolated — تشغيل جميع النصوص دائمًا في سياق معزول
  • REBROWSER_PATCHES_RUNTIME_FIX_MODE=enableDisable — استخدام تقنية Enable/Disable
  • REBROWSER_PATCHES_RUNTIME_FIX_MODE=0 — تعطيل إصلاح هذا التسريب تمامًا
  • REBROWSER_PATCHES_DEBUG=1 — تفعيل بعض رسائل التصحيح

تذكر أنه يمكنك ضبط هذه المتغيرات بطرق مختلفة، على سبيل المثال، في الكود:

process.env.REBROWSER_PATCHES_RUNTIME_FIX_MODE = "alwaysIsolated"

أو في سطر الأوامر:

REBROWSER_PATCHES_RUNTIME_FIX_MODE=alwaysIsolated node app.js
تنزيل الأداة