Technical Anshu
Tutorials Blog
ईमानदार सत्य

BAT to EXE आपकी स्क्रिप्ट में निकाली गई बैच फ़ाइलों के बारे में सच्चाई नहीं छिपाता है

शीर्षक कहता है कि अपनी स्क्रिप्ट छिपाएँ - और छिपाना ही सब कुछ है। यहां एक सरल प्रयोग है जो साबित करता है कि एक परिवर्तित EXE आपकी पूरी स्क्रिप्ट टेक्स्ट को किसी भी व्यक्ति को सौंप देता है जो देखना चाहता है।

By Technical AnshuWindows 10 / 117 minute read
पूरा वीडियो देखें - संपूर्ण BAT से EXE रूपांतरण प्रक्रिया को चरण दर चरण लाइव दिखाया गया है

प्रत्येक कनवर्टर विज्ञापित करता है कि वह आपकी स्क्रिप्ट को छिपाएगा और सुरक्षित रखेगा। यह पृष्ठ विपणन और यांत्रिकी के बीच सटीक रेखा खींचने के लिए मौजूद है। एक परिवर्तित EXE आपकी स्क्रिप्ट को छुपाता है - डेस्कटॉप से, नोटपैड-खुश उपयोगकर्ताओं से, आकस्मिक प्रतिलिपि बनाने से। लेकिन जिस तरह से ये रैपर काम करते हैं उसका मतलब है कि स्क्रिप्ट चलते समय डिस्क पर पढ़ने योग्य पाठ के रूप में मौजूद होनी चाहिए, और इससे यह बदल जाता है कि आप इसके अंदर सुरक्षित रूप से क्या डाल सकते हैं।

What happens inside %TEMP% while a converted EXE runs (example)
CleanupTool.exe startswrapper wakes up
Script extracteda .bat copy appears in %TEMP%READABLE
cmd.exe runs itplain text commands execute
EXE closestemp copy deleted on exit
Between step two and step four, your entire script sits on disk as readable text
निष्कर्षण कोई सिद्धांत नहीं है - एक परिवर्तित EXE चलाएं, अस्थायी फ़ोल्डर खोलें, और निष्पादित होने पर स्क्रिप्ट को देखें।
1

निष्कर्षण प्रयोग कोई भी दोहरा सकता है

  1. किसी भी हानिरहित स्क्रिप्ट को परिवर्तित करें, उदाहरण के लिए वह स्क्रिप्ट जो संदेश दिखाती है और रुक जाती है: echo Hello & pause
  2. एक्सप्लोरर में फ़ोल्डर %TEMP% खोलें
  3. परिवर्तित EXE चलाएँ और अस्थायी फ़ोल्डर देखें - प्रोग्राम चलते समय एक बेतरतीब दिखने वाले नाम वाली बैच फ़ाइल दिखाई देती है
  4. EXE बंद होने से पहले इसे कॉपी करें, इसे नोटपैड में खोलें - आपकी पूरी स्क्रिप्ट, सादे पठनीय पाठ में

कुछ कनवर्टर एक हटाएं नहीं विकल्प प्रदान करते हैं जो निकाली गई फ़ाइल को स्थायी रूप से पीछे छोड़ देता है, और प्रक्रिया उपकरण चल रहे कमांड लाइन से स्क्रिप्ट को भी कैप्चर कर सकते हैं। वीडियो का शीर्षक कहता है "अपनी स्क्रिप्ट छुपाएं", और छिपाना बिल्कुल सही शब्द है: स्टार्ट मेनू से छिपा हुआ और एक आकस्मिक डबल-क्लिकर से, जो भी इरादे से देखता है उसे दिखाई देता है।

2

वास्तव में छुपाना किस चीज़ से आपकी रक्षा करता है

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

यह किस चीज़ से रक्षा नहीं करता है: एक प्रतियोगी जो आपका तर्क चाहता है, एक ऑडिटर जो जानना चाहता है कि टूल क्या करता है, या एक हमलावर जो आपके द्वारा स्क्रिप्ट में टाइप किया गया सर्वर पासवर्ड चाहता है। तीनों के लिए रैपर टिशू पेपर है।

3

एन्क्रिप्शन विकल्प आपके विचार से कम बदलता है

बैट टू एक्सई कन्वर्टर प्रोग्राम को एन्क्रिप्ट प्रदान करता है, जो EXE को पासवर्ड से सुरक्षित करता है। इसका अर्थ स्पष्ट रूप से पढ़ें: जब प्रोग्राम प्रारंभ होता है तो पासवर्ड पूछा जाता है। जैसे ही कोई वैध उपयोगकर्ता इसमें प्रवेश करता है और उपकरण चलता है, स्क्रिप्ट को निकाला जाता है और पढ़ने योग्य रूप में निष्पादित किया जाता है। गेट उन लोगों को बाहर रखता है जो पासवर्ड नहीं जानते हैं - यह स्क्रिप्ट की सामग्री को उन लोगों से गुप्त नहीं रखता है जो पासवर्ड जानते हैं। किसी कंपनी की स्क्रिप्ट में टाइप किया गया साझा लॉन्च पासवर्ड उन सबसे खराब जगहों में से एक है जहां कोई रहस्य रह सकता है।

4

नियम जो आपको सुरक्षित रखते हैं

  1. बैच स्क्रिप्ट में कभी भी वास्तविक पासवर्ड, एपीआई कुंजी, वाई-फाई कुंजी या लाइसेंस रहस्य एम्बेड न करें - परिवर्तित या नहीं
  2. मान लें कि वितरित स्क्रिप्ट की प्रत्येक पंक्ति किसी दिन किसी के द्वारा पढ़ी जाएगी - ऐसा कुछ भी न लिखें जिसे प्रकाशित होते देखकर आपको शर्मिंदगी महसूस हो या नुकसान हो।
  3. यदि किसी कार्य को वास्तव में रहस्य की आवश्यकता है, तो रहस्य को स्क्रिप्ट के बाहर रखें - क्रेडेंशियल मैनेजर, पर्यावरण कॉन्फ़िगरेशन या रनटाइम पर एक संकेत, इस श्रृंखला के रहस्य पृष्ठ में शामिल है
  4. यदि तर्क ही आपकी आजीविका है, तो बैच गलत भाषा है - संवेदनशील भाग को संकलित प्रोग्राम या सर्वर-साइड सेवा में ले जाएँ

वीडियो में देखें पूरी प्रक्रिया

रूपांतरण प्रक्रिया के लिए वीडियो देखें - फिर वास्तविक पासवर्ड या सर्वर को छूने वाली किसी भी स्क्रिप्ट को परिवर्तित करने से पहले इस पृष्ठ पर नियम लागू करें।

Watch Full Video
अक्सर पूछे जाने वाले प्रश्न

क्या कोई वास्तव में परिवर्तित EXE से मेरी स्क्रिप्ट पुनर्प्राप्त कर सकता है

हाँ. जब EXE चलता है, तो बैच फ़ाइल को सादे पाठ में अस्थायी फ़ोल्डर में निकाला जाता है, जहां इसे कॉपी किया जा सकता है और पढ़ा जा सकता है। समर्पित एक्सट्रैक्टर उपकरण भी हैं। परिवर्तित स्क्रिप्ट के अंदर किसी भी चीज़ को प्रकाशित मानें, संरक्षित नहीं।

क्या पासवर्ड एन्क्रिप्शन विकल्प स्क्रिप्ट को सुरक्षित बनाता है?

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

तो फिर धर्म परिवर्तन ही क्यों

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

यह मार्गदर्शिका ऊपर लिंक किए गए तकनीकी अंशू वीडियो पर आधारित है - एक कदम पर अटक गए? वीडियो टिप्पणियों में पूछें - आपको उत्तर मिलेगा