Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
View8 — V8 बाइटकोड (JSC फाइलें) को उच्च-स्तरीय पठनीय JavaScript-जैसे कोड में डीकंपाइल करता है, जिसमें कई V8 संस्करणों के लिए समर्थन, ट्री आउटपुट, और मैलवेयर विश्लेषण के लिए निर्धारित फ़ंक्शन नामकरण शामिल है। | Kitploit
उपकरण/GitHubGitHub/suleram/view8
स्थैतिक विश्लेषणभेद्यता विश्लेषणरिवर्स इंजीनियरिंगमालवेयर विश्लेषणबाइनरी विश्लेषण
GitHubsuleram/view8

View8

V8 बाइटकोड (JSC फाइलें) को उच्च-स्तरीय पठनीय JavaScript-जैसे कोड में डीकंपाइल करता है, जिसमें कई V8 संस्करणों के लिए समर्थन, ट्री आउटपुट, और मैलवेयर विश्लेषण के लिए निर्धारित फ़ंक्शन नामकरण शामिल है।

रिपॉजिटरी देखें
38460872 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

View8

View8 एक स्थैतिक विश्लेषण उपकरण है जिसे क्रमबद्ध V8 बाइटकोड ऑब्जेक्ट्स (JSC फ़ाइलें) को उच्च-स्तरीय पठनीय कोड में डीकंपाइल करने के लिए डिज़ाइन किया गया है। इन क्रमबद्ध ऑब्जेक्ट्स को पार्स और डिसअसेंबल करने के लिए, View8 एक पैच किए गए संकलित V8 बाइनरी का उपयोग करता है। परिणामस्वरूप, View8 JavaScript के समान एक टेक्स्टुअल आउटपुट उत्पन्न करता है।

आवश्यकताएँ

  • Python 3.x
  • डिसअसेंबलर बाइनरी। उपलब्ध संस्करण:
    • V8 संस्करण 9.4.146.24 (Node V16.x में उपयोग किया गया)
    • V8 संस्करण 10.2.154.26 (Node V18.x में उपयोग किया गया)
    • V8 संस्करण 11.3.244.8 (Node V20.x में उपयोग किया गया)

संकलित संस्करणों के लिए, रिलीज़ पृष्ठ पर जाएँ।

उपयोग

कमांड-लाइन तर्क

  • --inp, -i: इनपुट फ़ाइल का नाम।
  • --out, -o: आउटपुट का पथ। चयनित विकल्पों के आधार पर, आउटपुट एक एकल फ़ाइल या एक निर्देशिका वृक्ष हो सकता है।
  • --input_format, -f: इनपुट प्रारूप निर्दिष्ट करें। विकल्प हैं:
    • raw: इनपुट एक कच्ची JSC फ़ाइल है।
    • disassembled: इनपुट फ़ाइल पहले से ही डिसअसेंबल की गई है।
    • serialized: इनपुट पहले से ही डीकंपाइल किया गया है और क्रमबद्ध प्रारूप में संग्रहीत है। वर्तमान क्रमबद्ध प्रारूप Python pickle है; केवल विश्वसनीय इनपुट का उपयोग करें।
  • --export_format, -e: निर्यात प्रारूप(ों) निर्दिष्ट करें। विकल्प v8_opcode, translated, decompiled, और serialized हैं। कई विकल्पों को जोड़ा जा सकता है। डिफ़ॉल्ट: decompiled।
  • --path, -p: डिसअसेंबलर बाइनरी का पथ। यदि इनपुट कच्चे प्रारूप में है और View8 स्वचालित रूप से मेल खाने वाले डिसअसेंबलर का पता नहीं लगा सकता है तो आवश्यक है।
  • --scope: स्कोप तर्कों का प्रचार करें। डिफ़ॉल्ट: 1।
  • --normalize: पते से प्राप्त फ़ंक्शन पहचानकर्ताओं को पार्स क्रम के आधार पर नियतात्मक नामों से बदलें।
  • --normalize-map [CSV]: --normalize का उपयोग करते समय, प्रत्येक मूल फ़ंक्शन नाम को उसके सामान्यीकृत नाम से मैप करने वाली एक CSV लिखें। जब पथ छोड़ा जाता है, तो View8 --out से <output>.name_map.csv प्राप्त करता है, या जब कोई आउटपुट पथ सेट नहीं होता है तो --inp से।
  • --tree, -t: सभी फ़ंक्शनों को एक फ़ाइल में संग्रहीत करने के बजाय आउटपुट को एक वृक्ष संरचना में विभाजित करें। उस फ़ंक्शन को निर्दिष्ट करें जिसे वृक्ष मूल के रूप में उपयोग किया जाएगा। डिफ़ॉल्ट मुख्य फ़ंक्शन से शुरू करने के लिए, start का उपयोग करें।
  • --split_mode: वृक्ष विभाजन मोड। विकल्प declarers, calls, और references हैं। डिफ़ॉल्ट: declarers।
  • --inline_depth, -d: calls और references मोड में, चयनित वृक्ष मूल से गहराई N तक पहुंच योग्य फ़ंक्शनों को मुख्य वृक्ष फ़ाइल में शामिल करें। गहराई 0 का अर्थ केवल चयनित मूल है; गहराई 1 में प्रत्यक्ष कैली/संदर्भ शामिल हैं; गहराई 2 में उनके बच्चे शामिल हैं। declarers के साथ उपयोग नहीं किया जाता।
  • --inline_branch_limit, -l: वृक्ष मोड में, जब बाल शाखाएँ --inline_depth द्वारा शामिल की जाती हैं, तो अधिकतम N फ़ंक्शनों वाली पूर्ण बाल शाखाओं को मुख्य वृक्ष फ़ाइल में इनलाइन करें। बड़ी शाखाएँ अलग से सहेजी जाती हैं।
  • --split_depth: calls और references मोड में, निर्यातित उपयोग शाखाओं को कितनी गहराई तक ट्रैवर्स किया जाता है, इसे सीमित करें। डिफ़ॉल्ट: 4।
  • --include, -n: आउटपुट में शामिल करने के लिए फ़ंक्शनों वाली फ़ाइल।
  • --exclude, -x: आउटपुट से बाहर करने के लिए फ़ंक्शनों वाली फ़ाइल।
  • --func: चयनित फ़ंक्शन प्रदर्शित करें।
  • --show_all: फ़ंक्शन प्रदर्शन मोड में, छिपे हुए के रूप में चिह्नित पंक्तियों को भी दिखाएँ।
  • --verbosity, -v: वर्बोसिटी स्तर। स्वीकृत सीमा: 0 से 3।

मूल उपयोग

V8 बाइटकोड फ़ाइल को डीकंपाइल करने और डीकंपाइल किए गए कोड को निर्यात करने के लिए:

python view8.py -i input_file -o output_file

डिसअसेंबलर पथ

डिफ़ॉल्ट रूप से, View8 VersionDetector.exe का उपयोग करके इनपुट फ़ाइल के V8 बाइटकोड संस्करण का पता लगाता है और स्वचालित रूप से Bin फ़ोल्डर में एक संगत डिसअसेंबलर बाइनरी खोजता है। इसे --path या -p विकल्प के साथ एक अलग डिसअसेंबलर बाइनरी निर्दिष्ट करके बदला जा सकता है:

python view8.py -i input_file -o output_file --path /path/to/disassembler

डिसअसेंबल की गई फ़ाइलों का प्रसंस्करण

डिसअसेंबलिंग प्रक्रिया को छोड़ने और पहले से डिसअसेंबल की गई फ़ाइल को इनपुट के रूप में प्रदान करने के लिए, --input_format disassembled या -f disassembled विकल्प का उपयोग करें:

python view8.py -i input_file -o output_file -f disassembled

नियतात्मक फ़ंक्शन नाम और मैपिंग CSV

पते से प्राप्त फ़ंक्शन नामों को नियतात्मक पहचानकर्ताओं से बदलने के लिए --normalize का उपयोग करें। मूल और सामान्यीकृत नामों के बीच संबंध को संरक्षित करने के लिए, --normalize-map जोड़ें:

python view8.py \
  --input_format disassembled \
  --inp sample.jsc.disasm.txt \
  --normalize \
  --normalize-map \
  --out decompiled/sample.dec.txt \
  --export_format decompiled serialized

यह निम्नलिखित कॉलमों के साथ decompiled/sample.dec.name_map.csv लिखता है:

original_name,normalized_name
func_start_0x268514e9dcd9,func_start_0x100000000
func_rne_0x268514eb0779,func_rne_0x100000001

एक स्पष्ट CSV पथ भी प्रदान किया जा सकता है:

python view8.py \
  --input_format disassembled \
  --inp sample.jsc.disasm.txt \
  --normalize \
  --normalize-map mappings/sample.names.csv \
  --out decompiled/sample.dec.txt

क्रमबद्ध फ़ाइलें बनाना और प्रसंस्करण करना

कभी-कभी फ़ाइल को एक क्रमबद्ध प्रारूप में डीकंपाइल करना उपयोगी होता है जो पार्स किए गए ऑब्जेक्ट्स और संरचनाओं को संरक्षित करता है। इस प्रकार का आउटपुट टेक्स्ट प्रारूप की तुलना में पोस्ट-प्रोसेस करना आसान हो सकता है, उदाहरण के लिए आगे डीऑबफस्केशन के दौरान। क्रमबद्ध आउटपुट बनाने के लिए, serialized निर्यात प्रारूप का उपयोग करें:

python view8.py -i input_file -o output_file -e serialized

सुरक्षा चेतावनी: वर्तमान क्रमबद्ध प्रारूप एक Python pickle फ़ाइल (.pkl) है। अविश्वसनीय स्रोतों से डेटा अनपिकल करना मनमाना कोड निष्पादित कर सकता है। केवल उन क्रमबद्ध फ़ाइलों को लोड करें जिन्हें आपने स्वयं उत्पन्न किया है।

क्रमबद्ध आउटपुट को वापस लोड करने और इसे किसी अन्य प्रारूप में निर्यात करने के लिए, --input_format serialized या -f serialized का उपयोग करें:

python view8.py -i input_file -o output_file -f serialized

निर्यात प्रारूप

--export_format या -e विकल्प का उपयोग करके निर्यात प्रारूप(ों) को निर्दिष्ट करें। आप कई प्रारूपों को जोड़ सकते हैं:

  • v8_opcode
  • translated
  • decompiled
  • serialized

उदाहरण के लिए, V8 ऑपकोड और डीकंपाइल किए गए कोड दोनों को साथ-साथ निर्यात करने के लिए:

python view8.py -i input_file -o output_file -e v8_opcode decompiled
टूल डाउनलोड करें