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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/ejfkdev/jd
स्थैतिक विश्लेषणगतिशील विश्लेषण (सैंडबॉक्सिंग)कोड विश्लेषणरिवर्स इंजीनियरिंगमालवेयर विश्लेषणउपयोगिताएँ और फ्रेमवर्क
GitHubejfkdev/jd

jd

Go CLI जो javascript-obfuscator (obfuscator.io) आउटपुट को डीऑब्फस्केट करता है और AST ट्रांसफॉर्म, स्टैटिक डिकोडिंग, और goja सैंडबॉक्स फ़ॉलबैक का उपयोग करके JavaScript को अनमिनिफाई करता है।

रिपॉजिटरी देखें
2201 महीना पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

jd

CI Release License Go Version Release zread

中文

jd एक Go टूल है जो javascript-obfuscator (obfuscator.io) के आउटपुट को डीऑब्फस्केट करता है और JavaScript को अनमिनिफाई करता है। यह webcrack और synchrony का Go पोर्ट है।

विशेषताएँ

Obfuscator.io डीऑब्फस्केशन

javascript-obfuscator के आउटपुट का पता लगाता है और उसे उलटता है:

  • स्ट्रिंग ऐरे का पता लगाना (फ़ंक्शन-रैप्ड और सरल ऐरे रूप, var/const/let)
  • ऐरे रोटेटर का पता लगाना (ब्रेक कंडीशन के साथ push/shift IIFE)
  • डिकोडर का पता लगाना (इंडेक्स-शिफ्ट, Base64/RC4/कस्टम एन्कोडिंग, दो-पैरामीटर डिकोडर)
  • रैपर एलियास का समाधान (डिकोडर के लिए var/function एलियास)
  • हाइब्रिड डिकोडिंग — स्टैटिक सिमुलेशन (SIMPLE/Base64/RC4) के साथ कस्टम एन्कोडर के लिए goja सैंडबॉक्स फ़ॉलबैक
  • हेल्पर हटाना — डिकोडिंग के बाद स्ट्रिंग ऐरे, रोटेटर, और डिकोडर डिक्लेरेशन हटा दिए जाते हैं

अनमिनिफाई

20+ पठनीयता ट्रांसफ़ॉर्म:

ट्रांसफ़ॉर्मउदाहरण
computed-propertiesconsole["log"] → console.log
merge-strings"a" + "b" → "ab"
unminify-booleans!0 → true, !1 → false
number-expressions1 + 2 → 3
void-to-undefinedvoid 0 → undefined
raw-literals0x1 → 1
sequencea(), b(), c() → अलग स्टेटमेंट
split-variable-declarationsvar a=1, b=2 → var a=1; var b=2
block-statementsसिंगल-स्टेटमेंट बॉडी को { } में लपेटें
logical-to-ifa && b() → if (a) b()
ternary-to-ifa ? b() : c() → if (a) b() else c()
merge-else-ifelse { if (...) } → else if (...)
for-to-whilefor(;;) → while(true)
yoda5 === x → x === 5
infinity1/0 → Infinity
invert-boolean-logic!(a == b) → a != b
unary-expressionsस्टेटमेंट स्तर पर नो-ऑप void/!/typeof हटाएँ
remove-double-not!!true → true

ES मॉड्यूल समर्थन

goja का पार्सर ES मॉड्यूल सिंटैक्स (import/export) का समर्थन नहीं करता। jd पहले import/export स्टेटमेंट निकालता है, शेष स्क्रिप्ट को पार्स करता है, ट्रांसफ़ॉर्म चलाता है, फिर आउटपुट में स्टेटमेंट जोड़ता है। डायनामिक import() एक्सप्रेशन को import डिक्लेरेशन से सही ढंग से अलग किया जाता है।

Regex-सुरक्षित फ़ॉर्मेटिंग

उन फ़ाइलों के लिए जिन्हें goja पूरी तरह पार्स नहीं कर सकता (जैसे भारी regex उपयोग वाली Monaco editor भाषा परिभाषाएँ), jd सोर्स-स्तरीय फ़ॉर्मेटिंग पर फ़ॉलबैक करता है: एक टोकनाइज़र regex लिटरल, स्ट्रिंग, और कमेंट को यथावत रखते हुए सेमीकोलन पर विभाजित करता है।

इंस्टॉलेशन

macOS (Homebrew)

brew install ejfkdev/tap/jd

प्री-बिल्ट बाइनरीज़

GitHub Releases से डाउनलोड करें (Linux/macOS/Windows, x86_64/ARM64)।

सोर्स से बिल्ड करें

go build -o jd .

उपयोग

# Deobfuscate a file (output to stdout)
jd obfuscated.js

# Write to a file
jd obfuscated.js -o cleaned.js

# Read from stdin
cat obfuscated.js | jd -

# Process a directory — recursively processes all .js/.mjs/.cjs files,
# mirrors the directory tree to the output directory.
jd src/ -o dist/

# Directory mode with default output: creates <input>-deobfuscated
jd src/

# Specify file extensions
jd src/ -o dist/ --ext .js,.mjs

# Parallel processing (N workers, default: number of CPUs)
jd src/ -o dist/ -j 8

# Skip non-code files (only output processed JS)
jd src/ -o dist/ --copy-noncode=false

# Only deobfuscate, skip unminify
jd --unminify=false obfuscated.js

# JSON output with warnings
jd --json obfuscated.js

फ़्लैग

फ़्लैगडिफ़ॉल्टविवरण
-o, --outputstdoutआउटपुट फ़ाइल या डायरेक्टरी (डायरेक्टरी के लिए डिफ़ॉल्ट: <input>-deobfuscated)
--deobfuscatetrueobfuscator.io डीऑब्फस्केशन चलाएँ
--unminifytrueपठनीयता ट्रांसफ़ॉर्म चलाएँ
--sandboxautoडिकोडर निष्पादन: auto (पहले स्टैटिक फिर सैंडबॉक्स), only (हमेशा सैंडबॉक्स), off (केवल स्टैटिक)
--timeout10sप्रति-फ़ाइल सैंडबॉक्स टाइमआउट
--ext.js,.mjs,.cjsडायरेक्टरी मोड में प्रोसेस करने के लिए फ़ाइल एक्सटेंशन
-j, --workers0 (=CPU)डायरेक्टरी मोड के लिए समानांतर वर्कर
--copy-noncodetrueगैर-कोड फ़ाइलों को आउटपुट डायरेक्टरी में कॉपी करें
-v, --verbosefalsestderr पर डायग्नोस्टिक्स प्रिंट करें
--jsonfalse{code, warnings} JSON उत्पन्न करें

आर्किटेक्चर

jd/
├── main.go                     # CLI entry
├── internal/
│   ├── cli/                    # cobra CLI (i18n: English/Chinese)
│   ├── deobfuscator/           # top-level pipeline + ES module preprocessing
│   ├── jsast/                  # AST walker (Cursor, Replace, Remove, Clone)
│   ├── codegen/                # AST → JavaScript printer (pretty/compact)
│   ├── scope/                  # lexical scope & binding analysis
│   ├── sandbox/                # goja VM wrapper for decoder execution
│   ├── decoder/                # static decoding: Base64/RC4/rotation
│   ├── deobfuscate/            # string-array/rotator/decoder detection + transforms
│   ├── unminify/               # 20 readability transforms + fixpoint runner
│   └── transform/              # Transform abstraction + ApplyFixpoint
└── testdata/samples/           # test fixtures

पाइपलाइन

parse → splitModuleStatements → deobfuscate → unminify → generate
  1. Parse — IgnoreRegExpErrors के साथ goja पार्सर; अपार्सेबल फ़ाइलों के लिए सोर्स-स्तरीय फ़ॉर्मेटिंग पर फ़ॉलबैक
  2. Deobfuscate — obfuscator.io स्ट्रिंग ऐरे/रोटेटर/डिकोडर का पता लगाएँ, सभी कॉल साइट डिकोड करें (पहले स्टैटिक, सैंडबॉक्स फ़ॉलबैक), हेल्पर हटाएँ
  3. Unminify — मर्ज किए गए पठनीयता ट्रांसफ़ॉर्म का फिक्सपॉइंट लूप (≤20 पास)
  4. Generate — ऑपरेटर प्रीसीडेंस और सही पैरेंथेसाइज़ेशन के साथ pretty-mode कोडजेन

हाइब्रिड डिकोडिंग

डिकोडर दो-चरणीय दृष्टिकोण का उपयोग करता है:

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