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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
rdpscan-BlueKeep — CVE-2019-0708 "BlueKeep" भेद्यता के लिए एक त्वरित स्कैनर। | Kitploit
उपकरण/GitHubGitHub/gh0st0ne/rdpscan-bluekeep
टोहीभेद्यता स्कैनरशोषणजानकारी एकत्र करनानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंग
GitHubgh0st0ne/rdpscan-bluekeep

rdpscan-BlueKeep

CVE-2019-0708 "BlueKeep" भेद्यता के लिए एक त्वरित स्कैनर।

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

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

सभी देखें →

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

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

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

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

Windows download macOS download Linux download Follow

CVE-2019-0708 bluekeep भेद्यता के लिए rdpscan

यह Microsoft Remote Desktop में CVE-2019-0708 भेद्यता के लिए एक quick-and-dirty स्कैनर है। अभी, सार्वजनिक इंटरनेट पर लगभग 900,000 मशीनें इस भेद्यता के प्रति संवेदनशील हैं, इसलिए कई लोग WannaCry और notPetya जैसे वर्म जल्द आने की उम्मीद कर रहे हैं। इसलिए, अपने नेटवर्क को स्कैन करें और कमजोर सिस्टम पर पैच (या कम से कम, NLA सक्षम) करें।

यह एक कमांड-लाइन टूल है। आप स्रोत डाउनलोड करके इसे संकलित कर सकते हैं स्वयं, या आप पहले से संकलित बाइनरी में से एक डाउनलोड कर सकते हैं Windows या macOS के लिए ऊपर दिए गए लिंक से।

यह टूल पूरी तरह से https://github.com/zerosum0x0/CVE-2019-0708 के rdesktop पैच पर आधारित है। मैंने केवल कोड को ट्रिम किया है ताकि मैं macOS और Windows पर आसानी से संकलित कर सकूं, साथ ही कई लक्ष्यों को स्कैन करने की क्षमता जोड़ी है।

स्थिति

यह केवल कुछ दिन पुराना और प्रायोगिक है। हालाँकि, मैं पूरे इंटरनेट को स्कैन करके इसका परीक्षण कर रहा हूँ (masscan की मदद से), इसलिए मैं बहुत सारी समस्याओं से काफी जल्दी निपट रहा हूँ। आप मदद/टिप्पणियों के लिए मुझसे ट्विटर (@erratarob) पर संपर्क कर सकते हैं।

  • 2019-05-38 - बेहतर आउटपुट परिणाम विवरण, साथ ही उनके अर्थ का दस्तावेज़ीकरण (नीचे देखें)।
  • 2019-05-27 - Windows और macOS बाइनरी जारी की गईं (ऊपर दिए गए बैज पर क्लिक करें)।
  • 2019-05-26 - Windows नेटवर्किंग समस्याओं को ठीक किया जा रहा है
  • 2019-05-25 - Linux और macOS अच्छी तरह काम कर रहे हैं, Windows में कुछ नेटवर्क त्रुटियाँ हैं
  • 2019-05-24 - Linux और macOS पर काम करता है, Windows में कुछ संकलन बग हैं
  • 2019-05-23 - वर्तमान में XCode के भीतर macOS पर काम कर रहा हूँ

प्राथमिक उपयोग

किसी नेटवर्क को स्कैन करने के लिए, इसे निम्न प्रकार चलाएँ:

root@kitploit:~
rdpscan 192.168.1.1-192.168.1.255

यह प्रत्येक पते के लिए 3 परिणामों में से एक उत्पन्न करता है:

  • SAFE - यदि लक्ष्य पैच किया हुआ या कम से कम CredSSP/NLA की आवश्यकता वाला पाया गया हो
  • VULNERABLE - यदि लक्ष्य की भेद्यता की पुष्टि हो गई हो
  • UNKNOWN - यदि लक्ष्य प्रतिक्रिया नहीं देता है या कोई प्रोटोकॉल विफलता है

जब किसी लक्ष्य IP पते पर कुछ भी मौजूद नहीं होता है, तो पुराने संस्करण प्रिंट करते थे संदेश "UNKNOWN - connection timed out"। बड़े नेटवर्क को स्कैन करते समय, यह उन सिस्टमों के बारे में बहुत अधिक जानकारी का भार पैदा करता है जिनकी आपको परवाह नहीं है इसलिए, नया संस्करण डिफ़ॉल्ट रूप से यह जानकारी नहीं देता है जब तक कि आप कमांड-लाइन पर -v (verbose के लिए) नहीं जोड़ते।

आप बड़े नेटवर्क को स्कैन करने की गति बढ़ा सकते हैं वर्कर्स की संख्या बढ़ाकर:

root@kitploit:~
rdpscan --workers 10000 10.0.0.0/8

हालाँकि, मेरे कंप्यूटर पर, यह केवल लगभग 1500 वर्कर्स ही उत्पन्न करता है, क्योंकि सिस्टम सीमाओं के कारण, चाहे मैं इस पैरामीटर को कितना भी ऊँचा कॉन्फ़िगर करूँ।

आप इसे masscan के साथ संयोजन में उपयोग करके गति को और भी अधिक बढ़ा सकते हैं, जैसा कि नीचे वर्णित है।

परिणामों की व्याख्या

तीन सामान्य प्रतिक्रियाएँ हैं:

  • SAFE - जिसका अर्थ है कि लक्ष्य संभवतः पैच किया हुआ है या अन्यथा इस बग के प्रति संवेदनशील नहीं है।
  • VULNERABLE: जिसका अर्थ है कि हमने पुष्टि कर दी है कि लक्ष्य संवेदनशील है इस बग के प्रति, और जब वर्म आएगा, तो संभवतः संक्रमित हो जाएगा।
  • UNKNOWN: इसका अर्थ है कि हम किसी भी तरह की पुष्टि नहीं कर सकते, आमतौर पर क्योंकि लक्ष्य प्रतिक्रिया नहीं देता है या RDP नहीं चला रहा है, जो अधिकांश प्रतिक्रियाएँ हैं। साथ ही, जब लक्ष्य संसाधनों से बाहर होते हैं या नेटवर्क समस्याओं का सामना कर रहे होते हैं, तो हमें इनमें से बहुत सारे मिलेंगे। अंत में, प्रोटोकॉल त्रुटियाँ बहुत सारे के लिए जिम्मेदार हैं। जबकि तीन मुख्य प्रतिक्रियाएँ SAFE, VULNERABLE, और UNKNOWN हैं, उनमें निदान समझाने वाला अतिरिक्त पाठ होता है। यह अनुभाग उन विभिन्न स्ट्रिंग्स का वर्णन करता है जो आप देखेंगे।

SAFE

हमारे विचार में तीन मुख्य कारण हैं जिनकी वजह से कोई लक्ष्य सुरक्षित है:

  • SAFE - Target appears patched ऐसा तब होता है जब लक्ष्य ट्रिगर करने वाले अनुरोध का जवाब नहीं देता है। इसका मतलब है कि यह एक Windows सिस्टम है जिसे पैच किया गया है, या ऐसा सिस्टम है जो शुरू से ही संवेदनशील नहीं था, जैसे Windows 10 या Unix।
  • SAFE - CredSSP/NLA required इसका मतलब है कि RDP कनेक्शन स्थापित होने से पहले लक्ष्य को पहले Network Level Authentication की आवश्यकता होती है। यह टूल वैध क्रेडेंशियल्स के बिना, इस बिंदु से आगे नहीं जा सकता, इसलिए यह निर्धारित नहीं कर सकता कि लक्ष्य पैच किया गया है या नहीं। हालाँकि, हैकर्स भी कमजोर सिस्टम का शोषण करने के लिए इस बिंदु से आगे नहीं बढ़ सकते, इसलिए आप संभवतः "सुरक्षित" हैं। लेकिन जब एक्सप्लॉइट सामने आएंगे, तो वैध यूज़रनेम/पासवर्ड वाले अंदरूनी लोग सिस्टम का शोषण करने में सक्षम होंगे यदि वह अन-पैच्ड है।
  • SAFE - not RDP इसका मतलब है कि सिस्टम RDP नहीं है, बल्कि कोई अन्य सेवा है जो संयोगवश इसी पोर्ट का उपयोग करती है, और स्पष्ट रूप से RDP नहीं होने वाली प्रतिक्रिया देती है। सामान्य उदाहरण हैं HTTP और SSH। ध्यान दें कि पहचाने जाने योग्य प्रोटोकॉल के बजाय, एक सर्वर RST या FIN पैकेट के साथ जवाब दे सकता है। इन्हें UNKNOWN के रूप में पहचाना जाता है SAFE के बजाय।

VULNERABLE

इसका मतलब है कि हमने पुष्टि कर दी है कि सिस्टम इस बग के प्रति संवेदनशील है।

  • VULNERABLE - got appid जब सिस्टम संवेदनशील होता है तो केवल एक ही प्रतिक्रिया होती है, यह वाली।

UNKNOWN

अज्ञात (UNKNOWN) के लिए असंख्य विविधताएँ हैं

  • UNKNOWN - no connection - timeout यह अब तक की सबसे आम प्रतिक्रिया है, और तब होती है जब लक्ष्य IP पता कोई भी प्रतिक्रिया नहीं देता है। वास्तव में, यह इतना सामान्य है कि पतों की बड़ी श्रृंखलाओं को स्कैन करते समय, इसे आमतौर पर छोड़ दिया जाता है। इसे सक्षम करने के लिए आपको -v (verbose) फ्लैग जोड़ना होगा।
  • UNKNOWN - no connection - refused (RST) यह अब तक की दूसरी सबसे आम प्रतिक्रिया है, और तब होती है जब लक्ष्य मौजूद होता है और नेटवर्क ट्रैफ़िक का जवाब देता है, लेकिन RDP नहीं चला रहा होता है, इसलिए वह TCP RST पैकेट के साथ कनेक्शन अस्वीकार कर देता है।
  • UNKNOWN - RDP protocol error - receive timeout यह तीसरी सबसे आम प्रतिक्रिया है, और तब होती है जब हमने सफलतापूर्वक एक RDP कनेक्शन स्थापित कर लिया है, लेकिन फिर सर्वर हमें जवाब देना बंद कर देता है। यह नेटवर्क त्रुटियों के कारण होता है और जब लक्ष्य सिस्टम किसी कारण से अतिभारित होता है। यह इस छोर पर नेटवर्क त्रुटियाँ भी हो सकती हैं, जैसे जब आप NAT के पीछे हों और उसे बहुत अधिक कनेक्शनों से अतिभारित कर रहे हों।
  • UNKNOWN - no connection - connection closed इसका मतलब है कि हमने एक कनेक्शन (TCP SYN-ACK) स्थापित कर लिया है, लेकिन फिर कनेक्शन तुरंत बंद कर दिया जाता है (RST या FIN के साथ)। ऐसा होने के कई कारण हैं, जिन्हें हम अलग नहीं कर सकते:
    • यह RDP चला रहा है, लेकिन किसी कारण से कनेक्शन बंद कर देता है, संभवतः क्योंकि यह संसाधनों से बाहर है।
    • यह RDP नहीं है, और हमारे द्वारा भेजे गए RDP अनुरोध को पसंद नहीं करता है, इसलिए हमें एक अच्छा त्रुटि संदेश भेजने के बजाय (जो SAFE - not RDP को ट्रिगर करेगा), यह अचानक कनेक्शन बंद कर देता है।
    • कोई मध्यस्थ डिवाइस, जैसे IPS, फ़ायरवॉल, या NAT, कनेक्शन बंद कर देता है क्योंकि उसने इसे शत्रुतापूर्ण पहचाना, या संसाधन समाप्त हो गए।
    • कुछ अन्य कारण जिन्हें मैंने पहचाना नहीं है, बहुत सारी अजीब चीज़ें होती हैं जब मैं इंटरनेट स्कैन करता हूँ।
  • UNKNOWN - no connection - host unreachable (ICMP error) दूरस्थ नेटवर्क रिपोर्ट करता है कि होस्ट तक नहीं पहुँचा जा सकता है या वह चालू नहीं है। यदि आपको लगता है कि होस्ट को चालू होना चाहिए तो बाद में पुनः प्रयास करें।
  • UNKNOWN - no connection - network unreachable (ICMP error) दूर छोर पर एक (क्षणिक) नेटवर्क त्रुटि है, यदि आपको लगता है कि नेटवर्क को चालू होना चाहिए तो बाद में पुनः प्रयास करें।
  • UNKNOWN - RDP protocol error इसका मतलब है कि RDP प्रोटोकॉल में कुछ भ्रष्टाचार हुआ है, या तो क्योंकि दूरस्थ पक्ष इसे गलत तरीके से लागू करता है (Windows सिस्टम नहीं), क्योंकि यह क्षणिक नेटवर्क त्रुटि को बुरी तरह से संभाल रहा है, या कुछ और।
  • UNKNOWN - SSL protocol error Windows Vista के बाद से, RDP SSL पर चलने के लिए STARTTLS प्रोटोकॉल का उपयोग करता है। इस परत की अपनी समस्याएँ हैं जैसा ऊपर बताया गया है, जिसमें अंतर्निहित नेटवर्क त्रुटियों को बुरी तरह से संभालना, या किसी प्रकार की असंगतता वाले सिस्टम के साथ संवाद करने का प्रयास करना शामिल है। यदि आपको बहुत लंबा त्रुटि संदेश मिलता है (जैसे SSL3_GET_RECORD:wrong version), तो इसका कारण यह है कि दूसरे पक्ष में SSL में बग है, या आपकी अपनी SSL लाइब्रेरी में बग है जिसका आप उपयोग कर रहे हैं।

masscan के साथ उपयोग

यह rdpscan टूल काफी धीमा है, प्रति सेकंड केवल कुछ सौ लक्ष्यों को स्कैन करता है। आप इसके बजाय चीज़ों को तेज़ करने के लिए masscan का उपयोग कर सकते हैं। masscan टूल लगभग 1000 गुना तेज़ है, लेकिन केवल सीमित जानकारी देता है लक्ष्य के बारे में।

चरण हैं:

  • पहले masscan के साथ पता श्रेणियों को स्कैन करें ताकि उन होस्ट्स को जल्दी खोजा जा सके जो पोर्ट 3389 (या जो भी पोर्ट आप उपयोग करते हैं) पर प्रतिक्रिया देते हैं।
  • दूसरा, masscan के आउटपुट को rdpscan में फीड करें, ताकि उसे केवल उन्हीं लक्ष्यों को स्कैन करना पड़े जिन्हें हम जानते हैं कि सक्रिय हैं।

इसे चलाने का सरल तरीका है उन्हें कमांड-लाइन पर संयोजित करना:

root@kitploit:~
masscan 10.0.0.0/8 -p3389 | rdpscan --file -

मैं इसे दो चरणों में करता हूँ:

root@kitploit:~
masscan 10.0.0.0/8 -p3389 > ips.txt
rdpscan --file ips.txt --workers 10000 >results.txt

संकलन

कठिन हिस्सा OpenSSL लाइब्रेरीज़ को स्थापित करना है, और सिस्टम पर मौजूद अन्य संस्करणों से टकराव न होना। Debian Linux पर, मैं यह करता हूँ:

root@kitploit:~
$ sudo apt install libssl-dev

एक बार जब आप उस समस्या को हल कर लेते हैं, तो आप बस सभी .c फाइलों को एक साथ संकलित करते हैं इस प्रकार:

root@kitploit:~
$ gcc *.c -lssl -lcrypto -o rdpscan

मैंने निर्देशिका में एक Makefile रखा है जो यह करता है, इसलिए आप संभवतः केवल यह कर सकते हैं:

root@kitploit:~
$ make

कोड C में लिखा गया है, इसलिए इसमें C कंपाइलर स्थापित होना आवश्यक है, जैसे निम्नलिखित करना:

root@kitploit:~
$ sudo apt install build-essential

सामान्य संकलन त्रुटियाँ

यह अनुभाग अधिक स्पष्ट बिल्ड त्रुटियों का वर्णन करता है।

root@kitploit:~
ssl.h:24:25: fatal error: openssl/rc4.h: No such file or directory

इसका मतलब है कि आपके पास OpenSSL हेडर स्थापित नहीं हैं, या वे किसी path में नहीं हैं। याद रखें कि भले ही आपके पास OpenSSL बाइनरी स्थापित हों, इसका मतलब यह नहीं है कि आपने डेवलपमेंट सामग्री स्थापित कर ली है। आपको दोनों की आवश्यकता है हेडर और लाइब्रेरीज़ स्थापित होने की।

Debian पर इन चीज़ों को स्थापित करने के लिए, करें:

root@kitploit:~
$ sudo apt install libssl-dev

path समस्या को ठीक करने के लिए, एक संकलन फ्लैग -I/usr/local/include, या कुछ इसी तरह जोड़ें।

लिंकर समस्या का एक उदाहरण निम्नलिखित है:

root@kitploit:~
Undefined symbols for architecture x86_64:
"_OPENSSL_init_ssl", referenced from:
    _tcp_tls_connect in tcp-fac73c.o
"_RSA_get0_key", referenced from:
    _rdssl_rkey_get_exp_mod in ssl-d5fdf5.o
"_SSL_CTX_set_options", referenced from:
    _tcp_tls_connect in tcp-fac73c.o
"_X509_get_X509_PUBKEY", referenced from:
    _rdssl_cert_to_rkey in ssl-d5fdf5.o

मुझे यह macOS पर मिलता है क्योंकि OpenSSL के कई संस्करण हैं। मैं इसे पाथों को हार्ड-कोड करके ठीक करता हूँ:

root@kitploit:~
$ gcc *.c -lssl -lcrypto -I/usr/local/include -L/usr/local/lib -o rdpscan

दूसरों की टिप्पणियों के अनुसार, यदि आपने Homebrew से चीज़ें स्थापित की हैं तो निम्न कमांड-लाइन macOS पर काम कर सकती है मुझे अभी भी ऊपर दी गई लिंकिंग त्रुटियाँ मिलती हैं, हालाँकि, क्योंकि मैंने अन्य OpenSSL घटक स्थापित किए हैं जो टकराव पैदा कर रहे हैं।

root@kitploit:~
gcc $(brew --prefix)/opt/openssl/lib/libssl.a $(brew --prefix)/opt/openssl/lib/libcrypto.a -o rdpscan *.c

चलाना

ऊपर दिया गया अनुभाग प्रोग्राम चलाने के लिए त्वरित-प्रारंभ सुझाव देता है। यह अनुभाग अधिक गहन सहायता देता है।

एकल लक्ष्य को स्कैन करने के लिए, बस लक्ष्य का पता पास करें:

root@kitploit:~
./rdpscan 192.168.10.101

आप IPv6 पते और DNS नाम पास कर सकते हैं। आप कई लक्ष्य पास कर सकते हैं। इसका एक उदाहरण होगा:

root@kitploit:~
./rdpscan 192.168.10.101 exchange.example.com 2001:0db8:85a3::1

आप पतों की श्रेणियाँ भी स्कैन कर सकते हैं, या तो begin-end IPv4 पतों का उपयोग करके, या IPv4 CIDR spec का। IPv6 श्रेणियाँ समर्थित नहीं हैं क्योंकि वे बहुत बड़ी होती हैं।

root@kitploit:~
./rdpscan 10.0.0.1-10.0.0.25 192.168.0.0/16

डिफ़ॉल्ट रूप से, यह एक बार में केवल 100 लक्ष्यों को स्कैन करता है। आप इस संख्या को बढ़ा सकते हैं --workers पैरामीटर के साथ। हालाँकि, आप इस पैरामीटर को कितना भी ऊँचा सेट करें, व्यवहार में आपको एक बार में लगभग 500 से 1500 वर्कर्स चलते हुए मिलेंगे, जो आपके सिस्टम पर निर्भर करता है।

root@kitploit:~
./rdpscan --workers 1000 10.0.0.0/24

कमांड-लाइन पर लक्ष्य निर्दिष्ट करने के बजाय, आप उन्हें फ़ाइल से लोड कर सकते हैं, अच्छे नाम वाले --file पैरामीटर का उपयोग करके:

root@kitploit:~
./rdpscan --file ips.txt

फ़ाइल का प्रारूप प्रति पंक्ति एक पता, नाम, या श्रेणी है। यह masscan द्वारा उत्पन्न टेक्स्ट का उपभोग भी कर सकता है। अतिरिक्त व्हॉट्सस्पेस को हटा दिया जाता है, खाली पंक्तियों को अनदेखा किया जाता है, और किसी भी टिप्पणी पंक्तियों को अनदेखा किया जाता है। एक टिप्पणी वह है जो # वर्ण या // वर्णों से शुरू होती है।

आउटपुट stdout पर भेजा जाता है जो VULNERABLE, SAFE, या UNKNOWN की स्थिति देता है। प्रत्येक के लिए अतिरिक्त कारण हो सकते हैं। ये कारण ऊपर वर्णित हैं।

root@kitploit:~
211.101.37.250 - SAFE - CredSSP/NLA required
185.11.124.79 - SAFE - not RDP - SSH response seen
125.121.137.42 - UNKNOWN - no connection - refused (RST)
40.117.191.215 - SAFE - CredSSP/NLA required
121.204.186.182 - SAFE - CredSSP/NLA required
99.8.11.148 - SAFE - CredSSP/NLA required
121.204.186.114 - SAFE - CredSSP/NLA required
49.50.145.236 - SAFE - CredSSP/NLA required
106.12.74.155 - VULNERABLE - got appid
222.84.253.26 - SAFE - CredSSP/NLA required
144.35.133.109 - UNKNOWN - RDP protocol error - receive timeout
199.212.226.196 - UNKNOWN - RDP protocol error - receive timeout
183.134.58.152 - UNKNOWN - no connection - refused (RST)
83.162.246.149 - VULNERABLE - got appid

आप इसे grep और cut जैसे अतिरिक्त यूनिक्स कमांड के साथ प्रोसेस कर सकते हैं। केवल संवेदनशील मशीनों की सूची पाने के लिए:

root@kitploit:~
./rdpscan 10.0.0.0/8 | grep 'VULN' | cut -f1 -d'-'

पैरामीटर -dddd का अर्थ diagnostic जानकारी है, जहाँ आप जितने अधिक ds जोड़ते हैं, उतने अधिक विवरण प्रिंट होते हैं। इसे stdout के बजाय stderr पर भेजा जाता है ताकि आप स्ट्रीम्स को अलग कर सकें। bash का उपयोग करके यह इस प्रकार किया जाता है:

root@kitploit:~
./rdpscan --file myips.txt -ddd 2> diag.txt 1> results.txt

डायग्नोस्टिक जानकारी

-d पैरामीटर जोड़ने से कनेक्शनों की डायग्नोस्टिक जानकारी stderr पर डंप हो जाती है।

root@kitploit:~
./rdpscan 62.15.34.157 -d

[+] [62.15.34.157]:3389 - connecting...
[+] [62.15.34.157]:3389 - connected from [10.1.10.133]:49211
[+] [62.15.34.157]:3389 - SSL connection
[+] [62.15.34.157]:3389 - version = v4.8
[+] [62.15.34.157]:3389 - Sending MS_T120 check packet
[-] [62.15.34.157]:3389 - Max sends reached, waiting...
62.15.34.157    - SAFE - Target appears patched

macOS/Linux पर, आप stdout और stderr को अलग-अलग फाइलों में सामान्य तरीके से रीडायरेक्ट कर सकते हैं:

root@kitploit:~
./rdpscan --file ips.txt 2> diag.txt 1> results.txt

SOCKS5 और Tor मज़े

तो इसमें SOCKS5 समर्थन शामिल है:

root@kitploit:~
./rdpscan --file ips.txt --socks5 localhost --socks5port 9050

यह कनेक्शन समस्याओं को और बदतर बना देता है, इसलिए आपको बहुत अधिक "UNKNOWN" परिणाम मिलते हैं।

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