USB ड्राइव पर फ़ाइल को गैर-हटाने योग्य कैसे बनाया जाए?


15

किसी ने मेरी USB ड्राइव का उपयोग किया और उसे मुझे वापस करने पर, मुझे पता चला autorun.infकि एक अपरिहार्य है। मैंने इसे बदलने की कोशिश की यह फ़ाइल विशेषता है जो केवल एच है (सिस्टम फ़ाइल के रूप में भी सेट नहीं है), लेकिन यह एक्सेस अस्वीकृत कहलाता है।

USB FAT32 पर सेट है, मेरे दोस्त से पूछने पर, उसने मुझे बताया कि वह पांडा USB वैक्सीन का उपयोग करता है

वे ऐसा कैसे करते हैं? Im कुछ डिस्क सेक्टर संपादक का उपयोग करने की कोशिश कर रहा है, लेकिन इस तरह की फ़ाइल बनाने के लिए वे कौन सी हेक्स फ़ाइल को बदलते हैं और इसे फिर से हटाने योग्य बनाने का कोई विचार नहीं है। ड्राइव को फ़ॉर्मेट करना इसे हटा देता है, लेकिन मैं उत्सुक हूं कि इस प्रकार की फ़ाइल विशेषता को कैसे सेट किया जा सकता है।


मुझे एक और टूल मिला, जो उसी लिंक को BitDefender USB Immunizer
MegaNairda

क्या आपने फ़ाइल पर अनुमतियों का निरीक्षण किया था?
मोआब

@Moab USB पर फ़ाइल सिस्टम FAT32 है।
मेगानेयर

विंडोज 7 या बाद में, पांडा USB वैक्सीन द्वारा बनाए गए autorun.inf को फ़ाइल विशेषताओं "HX" के साथ प्रदर्शित किया जाएगा, जबकि "H" का अर्थ है छिपा हुआ और "X" का अर्थ है आरक्षित FILE_ATTRIBUTE_DEVICE।
एक्सप्लोरर 0

जवाबों:


16

जाँचने का तरीका

पांडा अपने "वैक्सीन" के सटीक तंत्र को प्रकट नहीं करता है, जो समझने योग्य है, क्योंकि यह मूल रूप से अस्पष्टता के माध्यम से सुरक्षा है । यदि आप जानते हैं कि यह कैसे काम करता है, तो आप प्रभावों को उलट सकते हैं और "टीका" बेकार हो जाता है।

मैंने पांडा USB वैक्सीन को डाउनलोड और इंस्टॉल किया और मेरी फ्लैश ड्राइव को "टीकाकरण" किया, कमांड के साथ विंडोज के लिए फ्लैश ड्राइव के विभाजन को dd के साथ डंप किया

dd --list

dd if=\\.\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} of=C:\vaccinated.img

जहां xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxGUID को पहले कमांड द्वारा प्रदान किया गया है, c:\vaccinated.imgएक हेक्स संपादक में खोला गया है और खोजा गया है AUTORUN

USB वैक्सीन क्या करती है

AUTORUN.INFनिम्नलिखित बारह बाइट्स के साथ प्रवेश शुरू होता है:

41 55 54 4F 52 55 4E 20 49 4E 46 42

पहले ग्यारह बाइट्स केवल अंतरिक्ष-गद्देदार 8.3 फ़ाइल नाम हैं :AUTORUN INF

अंतिम बाइट फ़ाइल की विशेषताओं को निर्दिष्ट करता है, और इसका बाइनरी प्रतिनिधित्व है:

01000010

के अनुसार माइक्रोसॉफ्ट EFI FAT32 फ़ाइल सिस्टम विशिष्टता , यह पिछले बाइट एक सा क्षेत्र है जो निम्न रूप लेता है:

XYADVSHR

जहां बिट्स A, D, V, S, Hऔर Rकर रहे हैं 1, तो और फ़ाइल संग्रहीत है तभी, निर्देशिका, मात्रा आईडी 1 , एक प्रणाली फ़ाइल, छिपा हुआ या केवल पढ़ने के। AUTORUN.INFछिपा हुआ है, जब Hसे सेट किया गया है 1

बिट्स Xऔर Yआरक्षित हैं और दोनों होने चाहिए 0। हालाँकि, USB वैक्सीन सेट करता Yहै 1

विनिर्देश क्या कहता है

विशेषता बाइट के ऊपरी दो बिट आरक्षित हैं और हमेशा 0 पर सेट होना चाहिए जब एक फ़ाइल बनाई जाती है और उसके बाद कभी भी संशोधित या देखा नहीं जाता है।

इसके अलावा, यह निर्देशिका सामग्री के सत्यापन के लिए सिफारिश करता है:

ये दिशानिर्देश प्रदान किए जाते हैं ताकि डिस्क रखरखाव उपयोगिताओं को निर्देशिका संरचना के भविष्य में वृद्धि के साथ संगतता बनाए रखते हुए 'शुद्धता' के लिए व्यक्तिगत निर्देशिका प्रविष्टियों को सत्यापित किया जा सके।

  1. ऐसा नहीं निर्देशिका प्रविष्टि क्षेत्रों में अंकित की सामग्री को ध्यान सुरक्षित और मान लेते हैं कि, अगर वे किसी भी शून्य के अलावा मान रहे हैं, कि वे "बुरा" कर रहे हैं।

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

वास्तव में क्या होता है

CHKDSK निश्चित रूप से विनिर्देशन का अनुसरण करता है और उस AUTORUN.INFप्रविष्टि को अनदेखा करता है जिसे FAT32 चालक समझ नहीं पाता है, लेकिन Windows स्वयं को विनिर्देशन की आवश्यकता का पालन करने के लिए आरक्षित बिट्स को फिर कभी नहीं देखना चाहता है : किसी भी तरह की पहुंच (फ़ाइल को सूचीबद्ध करने के अलावा) और इसकी विशेषताओं) से इनकार किया जाता है।

उदाहरण के लिए, कमांड

DIR /A /Q

बताता है कि का मालिक AUTORUN.INFहै ...। चूंकि FAT32 फ़ाइल स्वामित्व का समर्थन नहीं करता है, इसलिए इसे राज्य करना चाहिए \All

इस अप्रत्याशित व्यवहार का कारण यह है कि, FAT32 - विकिपीडिया # निर्देशिका प्रविष्टि के अनुसार , विंडोज Yएक चरित्र उपकरण नाम (CON, PRN, AUX, CLOCK $, NUL, LPT1, COM1, आदि), और संकेत करने के लिए आंतरिक रूप से बिट का उपयोग करता है। यह भंडारण उपकरणों पर मौजूद नहीं होना चाहिए। 2

बोलने के तरीके में, USB वैक्सीन विंडोज को यह मानकर चलता AUTORUN.INFहै कि यह एक वास्तविक फ़ाइल नहीं है, लेकिन एक उपकरण है, जिसे यह न तो पढ़ सकता है और न ही लिख सकता है।

फाइल को कैसे डिलीट करें

यदि आपके पास फ़ाइल सिस्टम तक सीधी पहुंच है, तो यह फ़ाइल को फिर से हटाने योग्य बनाने के Yलिए 0(बाइट 42को बदलने के लिए 02) सेट करने के लिए पर्याप्त है । आप डायरेक्ट्री प्रविष्टि का पहला बाइट भी सेट कर सकते हैं E5, सीधे फ़ाइल को हटा के रूप में चिह्नित कर सकते हैं। 3

एक अन्य विकल्प एक अलग ड्राइवर का उपयोग करना होगा। Ubuntu 12.04, उदाहरण के लिए, समस्याओं के बिना फ़ाइल को हटा सकते हैं। वास्तव में, यह स्वचालित रूप से निर्देशिका प्रविष्टि को "पढ़ते समय" ठीक करता है। 4


1 इस विशेषता का उपयोग, उदाहरण के लिए, वॉल्यूम लेबल या फ़ोल्डर सिस्टम वॉल्यूम जानकारी के लिए किया जाता है

2 निश्चित रूप से पर्याप्त, स्थापित करने Xके लिए 1कोई असर दिखाई नहीं देता।

3 मैंने C:\vaccinated.imgहेक्स संपादक के साथ संबंधित बाइट्स को बदलकर और निम्न आदेश का उपयोग करके फ्लैश ड्राइव में संशोधित छवि लिखकर इसे सत्यापित किया :

dd if=C:\vaccinated.img of=\\.\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

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


6

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

अनिवार्य रूप से सॉफ्टवेयर एक फ़ोल्डर बनाता है जिसका नाम है autorun.inf(जो उसी नाम से बनाई गई फ़ाइल को रोकता है), और फिर उस फ़ोल्डर में, नामक फ़ाइल LTP1बनाई जाती है। डॉस में, LPT1प्रिंटर पोर्ट को संदर्भित करता है, और विंडोज बैकवर्ड संगतता के लिए इसका समर्थन करता है। इसलिए जब आप एक फ़ाइल नाम का अनुरोध करते हैं LPT1, तो विंडोज प्रिंटर पोर्ट को खोलने की कोशिश करता है, और किसी तरह यह फ़ोल्डर को सामान्य रूप से हटाए जाने से रोकता है।

ड्राइव को फॉर्मेट किए बिना फोल्डर / फाइल को कैसे हटाएं, यह Microsoft नॉलेजबेस आर्टिकल कुछ टिप्स देता है:

कारण 5: फ़ाइल नाम में Win32 नाम स्थान में एक आरक्षित नाम शामिल है

यदि Win32 नाम स्थान में फ़ाइल नाम में एक आरक्षित नाम (उदाहरण के लिए, "lpt1") शामिल है, तो आप फ़ाइल को हटाने में सक्षम नहीं हो सकते हैं। इस समस्या को हल करने के लिए, फ़ाइल का नाम बदलने के लिए एक गैर-Win32 प्रोग्राम का उपयोग करें। आप POSIX टूल या किसी अन्य टूल का उपयोग कर सकते हैं जो फ़ाइल का उपयोग करने के लिए उपयुक्त आंतरिक सिंटैक्स का उपयोग करता है।

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

del \\?\c:\path_to_file\lpt1

Windows NT और Windows 2000 के तहत आरक्षित नामों वाली फ़ाइलों को हटाने के बारे में अधिक जानकारी के लिए, Microsoft नॉलेज बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:

120716 विंडोज में आरक्षित नामों वाली फाइलें कैसे निकालें

Windows XP के अंतर्गत आरक्षित नामों वाली फ़ाइलों को हटाने के बारे में अधिक जानकारी के लिए, Microsoft नॉलेज़ बेस में आलेख देखने के लिए निम्न आलेख संख्या पर क्लिक करें:

315226 विंडोज एक्सपी में आरक्षित नामों वाली फाइलें कैसे निकालें

यदि आप विशिष्ट Win32 CreateFile तंत्र का उपयोग करके किसी फ़ाइल का हैंडल खोलते हैं , तो कुछ फ़ाइल नाम पुराने शैली के DOS उपकरणों के लिए आरक्षित हैं। पिछड़ी संगतता के लिए, इन फ़ाइल नामों की अनुमति नहीं है और इन्हें विशिष्ट Win32 फ़ाइल कॉल का उपयोग करके नहीं बनाया जा सकता है। हालाँकि, यह समस्या NTFS की सीमा नहीं है।

आप किसी Win32 प्रोग्राम का उपयोग करने में सक्षम हो सकते हैं जो कि किसी फ़ाइल द्वारा बनाए जाने वाले (या हटाए गए) विशिष्ट नाम चेक को उसी तकनीक का उपयोग करके किया जाता है, जिसका उपयोग आप उन फ़ोल्डरों को करने के लिए करते हैं जो इससे अधिक गहरे हैं MAX_PATH। इसके अतिरिक्त, कुछ POSIX उपकरण इन नाम जाँचों के अधीन नहीं हैं।


2
यह यूएसबी ड्राइव को दुर्भावनापूर्ण autorun.inf से बचाने के लिए पांडा USB वैक्सीन का पुराना तरीका है। मेरे द्वारा दिए गए लिंक को डाउनलोड करने और उपयोग करने का प्रयास करें और आप देखेंगे कि यह कोई फ़ोल्डर नहीं बनाता है। बस एक ही फाइल जिसका नाम है autorun.inf
MegaNairda

@MegaNairda: अजीब ... मैंने USB वैक्सीन स्थापित किया था, लेकिन जब भी मैं अपने FAT32 AUTORUN.INFथंबड्राइव को टीका लगाने की कोशिश करता हूं, तो प्रोग्राम ड्राइव पर (उसी "caacaa ..." स्ट्रिंग का उल्लेख लेख के साथ) करता है और फिर तुरंत जमा। मुझे ऑटोरन फ़ाइल को डिलीट करने में कोई समस्या नहीं है ...
Lèse majesté

जब मैं USB ड्राइव सम्मिलित करता हूं तो BitDefender USB Immunizer लिंक पांडा USB वैक्सीन भी कभी-कभी अपने सिस्टम पर फ्रीज कर देता हूं।
मेगानेरा

@MegaNairda: लगता है कि थंबड्राइव के साथ एक समस्या थी। न ही कार्यक्रम इसे टीका लगा पा रहा था। हालांकि, यह संयोग इसमें सहायक था कि बिटडिफेंडर का प्रतिरक्षक कम से कम एक समान तकनीक का उपयोग करता है। त्रुटि लॉग से पता चला है इसके तहत नेस्टेड फ़ोल्डरों / फ़ाइलें की एक श्रृंखला बनाने की कोशिश की है कि I:\autorun.inf\bdsanitize#\bdsanitize#...जहां #"1" या "2" है। लॉग फ़ाइल ने प्रत्येक स्तर की फ़ाइल / dirname को भी इसके साथ जोड़ दिया .dirया .fileजो लॉगिंग / डिबगिंग उद्देश्यों के लिए दिखाया जा सकता है।
लेजे मेजेस्टे

1
ऐसा लगता है कि वास्तव में आपके USB में कोई समस्या है। BitDefender के Immunizer एक फ़ोल्डर बनाते हैं autorun.inf, लेकिन उसके बाद, इसे एक autorun.inf फ़ाइल से बदल दिया जाएगा । autorun.infपांडा USB वैक्सीन के साथ अंतर यह है कि फ़ाइल खाली है और इसमें cacacaपांडा द्वारा बनाई गई पसंद नहीं है ।
मेगानेयर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.