Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
datadome-vm-internals — DataDome के कस्टम अस्पष्ट VM और बाइटकोड प्रारूप का विश्लेषण, जिसमें स्ट्रिंग एन्क्रिप्शन, S-box सिफर, और ब्राउज़र फिंगरप्रिंटिंग संकेत रिवर्स इंजीनियरिंग शिक्षा के लिए उजागर किए गए हैं। | Kitploit
उपकरण/GitHubGitHub/manjustice/datadome-vm-internals
रिवर्स इंजीनियरिंगमालवेयर विश्लेषणबाइनरी विश्लेषणपेपर और शोधलर्निंग और शिक्षाएंटी-बॉट
GitHubmanjustice/datadome-vm-internals

datadome-vm-internals

DataDome के कस्टम अस्पष्ट VM और बाइटकोड प्रारूप का विश्लेषण, जिसमें स्ट्रिंग एन्क्रिप्शन, S-box सिफर, और ब्राउज़र फिंगरप्रिंटिंग संकेत रिवर्स इंजीनियरिंग शिक्षा के लिए उजागर किए गए हैं।

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
2754 महीने पहलेKitploit द्वारा समीक्षित

DataDome VM

DataDome अपने बंडल में एक कस्टम VM एम्बेड करता है ताकि वे जो वास्तव में कर रहे हैं उसे छिपा सकें। मैं उत्सुक हो गया और इसे अलग कर दिया। इसे यहाँ साझा कर रहा हूँ उन लोगों के लिए जो इसी तरह की रिवर्स इंजीनियरिंग पहेली में रुचि रखते हैं।

DataDome आपके ब्राउज़र में एक भारी अस्पष्ट (obfuscated) जावास्क्रिप्ट बंडल भेजता है। इसके अंदर, एक कस्टम वर्चुअल मशीन है — वे अपनी वास्तविक फिंगरप्रिंटिंग लॉजिक को एक निजी बाइटकोड प्रारूप में संकलित करते हैं, फिर इसे रनटाइम पर उस VM के अंदर चलाते हैं। यह लेखन के समय नवीनतम संस्करण का विश्लेषण है।

इस रेपो में कोई DataDome कोड शामिल नहीं है — केवल मेरा स्वयं का विश्लेषण और टूलिंग।

कृपया इसका उपयोग करने से पहले नीचे दिए गए नोट को पढ़ें।


अंदर क्या दिलचस्प है

एक बार जब आप बाइटकोड पढ़ सकते हैं, तो कुछ चीज़ें सामने आती हैं।

स्ट्रिंग एन्क्रिप्शन। सभी स्ट्रिंग्स बाइटकोड के शीर्ष पर एक एकल एन्क्रिप्टेड ब्लॉब में संग्रहीत हैं। प्रत्येक स्ट्रिंग को रनटाइम पर प्रति-एंट्री XOR कुंजी का उपयोग करके डीकोड किया जाता है, जो तालिका हेडर में बेक किए गए एक सीड के साथ संयुक्त होता है। इसलिए बिना सीड जाने कच्चे बाइट्स पढ़ने से भी कुछ नहीं पता चलता।

S-बॉक्स टेबल हर जगह। बाइटकोड का पहला ~20KB लगभग पूरी तरह से PUSH_N_IMM + ARRAY_FROM_STACK अनुक्रम हैं जो 256-बाइट लुकअप टेबल बनाते हैं। ये S-बॉक्स हैं, संभवतः एक कस्टम सिफर या AES राउंड के लिए जो एकत्रित सिग्नलों को भेजने से पहले हैश करने के लिए उपयोग किए जाते हैं।

फिंगरप्रिंटिंग सिग्नल जिन्हें आप स्ट्रिंग्स को डीकोड करने के बाद वास्तव में देख सकते हैं:

  • कैनवास: एक आयत बनाता है और पिक्सेल मान वापस पढ़ता है
  • WebGL: एक बार डीकोड होने पर पूरा शेडर स्रोत वहाँ सादे पाठ में होता है
  • टाइमिंग: मूल रूप से पूर्ण नेविगेशन टाइमलाइन
  • मेमोरी: वर्तमान JS हीप उपयोग
  • स्क्रीन: आयाम और पिक्सेल अनुपात
  • DOM ट्रिक्स: फ़ॉन्ट रेंडरिंग और लेआउट को मापने के लिए छिपे हुए तत्वों को इंजेक्ट करता है
  • ऑटोमेशन जाँच: क्लासिक वेबड्राइवर वाला

नोट

यह परियोजना पूरी तरह से इस जिज्ञासा को संतुष्ट करने के लिए मौजूद है कि कस्टम VM अस्पष्टता व्यवहार में कैसे काम करती है। यह रिवर्स इंजीनियरिंग में एक सीखने का अभ्यास है, बॉट डिटेक्शन को दरकिनार करने का उपकरण नहीं।

इस ज्ञान के साथ आप क्या करते हैं, यह आप पर निर्भर है।

टूल डाउनलोड करें