غالبًا ما يتضمن تجريف الويب استخراج البيانات من مواقع الويب ، ولكن قد يكون تحديًا في كثير من الحالات. قد لا يمكن الوصول إلى البيانات التي تحتاجها مباشرة بسبب تقنيات التغلب التي تستخدمها مواقع الويب.
javaScript opfuscation ، على وجه الخصوص ، هي طريقة تستخدم لجعل عملية التجريف أكثر صعوبة باستخدام JavaScript.
في هذه المقالة ، سنناقش JavaScript deobfuscation ، ولماذا يهم في تجريف الويب ، وكيفية التعامل معه.
javaScript Opfuscation هي تقنية لجعل الكود أكثر صعوبة في تفسير البشر أو الأدوات الآلية. غالبًا ما تملأ المواقع الإلكترونية JavaScript لحماية بياناتها أو إعاقة محاولات تجريف الويب.
تغيير أسماء المتغير والوظائف : تتم إعادة تسمية أسماء المتغيرات والوظائف إلى سلاسل عشوائية مثل A1 و B2 وما إلى ذلك ، مما يجعل من الصعب فهم الغرض.
: يتم تشفير أوتار أو عناوين URL أو البيانات الحساسة باستخدام base64 أو طرق تشفير أخرى.
: يمكن تغيير ترتيب تنفيذ التعليمات البرمجية لجعل من الصعب اتباع منطق البرنامج وتدفقه.
: تتم إضافة رمز غير ذي صلة أو لا يمكن الوصول إليه لزيادة تعقيد النصي وحجمه.
: تتم إزالة المسافة البيضاء غير الضرورية والتعليقات لتقليل قابلية القراءة وتقليص حجم الكود.
: يتم لف وظائف مهمة في طبقات متعددة أو تنفيذها من خلال مكالمات غير مباشرة لإضافة التعقيد وإخفاء الغرض الحقيقي.
رمز JS الأصلي:
let productPrice = 29.99; let productName = "Wireless Mouse"; function displayProductInfo() { console.log("Product Name: " productName); console.log("Price: $" productPrice); } displayProductInfo();
var _0x1a2b3c = ["\x57\x69\x72\x65\x6C\x65\x73\x73\x20\x4D\x6F\x75\x73\x65", "\x4C\x65\x74\x20\x70\x72\x6F\x64\x75\x63\x74\x50\x72\x69\x63\x65", "\x24"]; let _0x4c3b1a = 29.99; let _0x6d24f5 = "Wireless Mouse"; function _0x44a5bc() { console[_0x1a2b3c[1]](_0x1a2b3c[0] _0x6d24f5); console[_0x1a2b3c[1]](_0x1a2b3c[2] _0x4c3b1a); } _0x44a5bc();DOM (نموذج كائن المستند)
، مما يجعل تتبعه أكثر صعوبة. هذا هو المكان الذي يأتي فيه JavaScript deobfuscation!
لماذا JavaScript deobfuscation مهم؟
ضرورية لأن العديد من مواقع الويب تعتمد على تقنيات التغلب لمنع الكشط. لتجاوز هذه الدفاعات ، يجب على كاشفات الويب عكس عملية التغلب. بدون deobfuscation ، قد تفوت الكاشطات معلومات مهمة أو تكافح للتفاعل مع العناصر الديناميكية بشكل صحيح. في سياق الكشط ، يتيح لك فهم JavaScript deobfuscation:
: يساعد deobfuscation في الكشف عن البيانات المخزنة في متغيرات JavaScript أو السلاسل المشفرة أو HTML التي تم إنشاؤها ديناميكيًا ، مثل أسعار المنتج أو مستويات المخزون.
تتفاعل مع رمز javaScript المتفوقتجاوز التدابير المضادة للانتشار : يساعد deobfuscation في التغلب على آليات مكافحة الإرشاد القائمة على جافا سكريبت مثل captchas ، أو الحد من المعدل ، أو بصمات المتصفح ، والسماح بتقليد السلوك البشري وتجاوز هذه الرفوف.
يشير JavaScript deobfuscation
التفتيش اليدوي : يمكن أن تكون مراجعة رمز JavaScript لتحديد الأنماط وفك تشفير العناصر المزعجة فعالة ولكنها غالبًا ما تكون كثيفة الوقت وتتطلب فهمًا قويًا لـ JavaScript.
DeObfuscators الآلية
أدوات تصحيح الأخطاء
: يمكن لمطوري تجريف الويب استخدام أدوات مطور المتصفح للتخطي عبر رمز JavaScript ومراقبة تنفيذها. يساعد هذا في تتبع كيفية معالجة البرنامج النصي مع الصفحة أو يتواصل مع الخادم.code beautifiers
: هذه الأدوات تنسيق الكود المقلوب لجعلها أكثر قابلية للقراءة ، والتي غالبًا ما تكون الخطوة الأولى قبل تطبيق تقنيات deobfuscation أكثر تعقيدًا.
تجريف البيانات الديناميكية : تم تصميم العديد من أدوات الكشط لتكرار سلوك المستخدم على مواقع javaScript الثقيلة ، مما يسمح لها بالتفاعل مع عناصر مثل الأزرار أو المنسدلة لتحميل المحتوى الديناميكي.
خاتمة
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3