USB sürücüsünde bir dosyayı silinebilir hale nasıl getirebilirim?


15

Birisi USB sürücümü kullandı ve bana geri döndükten sonra autorun.inf, silinemeyen bir tane buldum . Sadece H (hatta bir sistem dosyası olarak ayarlanmamış) olan dosya özniteliğini değiştirmeyi denedim ama Erişim Reddedildi diyerek devam ediyor.

USB FAT32'ye yerleştirildi, arkadaşımdan sorduğunda bana Panda USB Vaccine kullandığını söyledi

Bunu nasıl yapıyorlar? Im bazı Disk Sektörü editörü kullanmaya çalışıyorum ama bu tür bir dosya yapmak ve tekrar silinebilir hale getirmek için hangi hex dosyası değiştirmek hiçbir fikrim yok. Sürücüyü biçimlendirmek sürücüyü kaldırır, ancak bu tür bir dosya özniteliğini nasıl ayarlayabileceğimi merak ediyorum.


Aynı bağlantıyı yapan başka bir araç buldum BitDefender USB Immunizer
MegaNairda

Dosyadaki izinleri incelediniz mi?
Moab

@Moab USB'deki dosya sistemi FAT32'dir.
MegaNairda

Windows 7 veya sonraki sürümlerde, Panda USB Vaccine tarafından oluşturulan autorun.inf dosyası "HX" dosya öznitelikleriyle görüntülenirken, "H" gizli ve "X" ayrılmış FILE_ATTRIBUTE_DEVICE anlamına gelir.
Explorer09

Yanıtlar:


16

Test metodu

Panda, anlaşılır olan "aşısının" tam mekanizmasını ortaya koymuyor gibi görünüyor, çünkü temelde belirsizliği nedeniyle güvenlik . Nasıl çalıştığını biliyorsanız, etkileri tersine çevirebilir ve "aşı" işe yaramaz hale gelir.

Panda USB Vaccine'i indirip yükledim ve flash sürücümü "aşıladım" , komutları kullanarak flash sürücünün disk bölümünü dd ile pencerelere döktüm

dd --list

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

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxilk komut tarafından sağlanan, c:\vaccinated.imgonaltılık bir düzenleyicide açılan ve aranan GUID nerede AUTORUN.

USB Aşı ne yapar

Girişi AUTORUN.INFaşağıdaki on iki baytla başlar:

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

İlk on bir bayt yalnızca boşluk dolgulu 8.3 dosya adıdır :AUTORUN INF

Son bayt dosyanın özniteliklerini belirtir ve ikili temsili şu şekildedir:

01000010

Göre Microsoft EFI FAT32 Dosya Sistemi Şartname , bu son bayt aşağıdaki formu alır biraz alandır:

XYADVSHR

burada bit A, D, V, S, Hve Rvardır 1ve eğer dosya arşivlenir halinde, bir dizin, hacim İD 1 , bir sistem dosyası, gizli veya salt okunur. AUTORUN.INFolarak Hayarlandığından gizlidir 1.

Bit Xve Yayrılmış ve her ikisi de olmalıdır 0. Ancak, USB Aşısı setleri Yiçin 1.

Spesifikasyon ne diyor

Öznitelik baytının üst iki biti ayrılmıştır ve bir dosya oluşturulduğunda ve bundan sonra hiçbir zaman değiştirilmediğinde veya ona bakılmadığında her zaman 0 olarak ayarlanmalıdır.

Ayrıca, dizin içeriğinin doğrulanmasını önerir:

Bu yönergeler, disk bakım yardımcı programlarının dizin yapısında gelecekteki geliştirmelerle uyumluluğu korurken, tek tek dizin girişlerini 'doğruluk' için doğrulayabilmeleri için sağlanmıştır.

  1. DO DEĞİL işaretli dizin giriş alanları içeriğine bakmak saklıdır ve onlar sıfırdan başka bir değer olup olmadığını onlar "kötü" olduğunu, varsayalım.

  2. DO DEĞİL işaretli dizin girdisi alanlarının içeriğini sıfırlamak saklıdır onlar (onlar "kötü" olduğunu varsayarak) sıfır olmayan değer içermediği takdirde sıfıra. Dizin giriş alanları, sıfırdan ziyade ayrılmış olarak belirtilir . Başvurunuz tarafından yok sayılmalıdır. Bu alanlar, dosya sisteminin gelecekteki uzantıları için tasarlanmıştır. Onları yoksayarak bir yardımcı program işletim sisteminin gelecekteki sürümlerinde çalışmaya devam edebilir.

Gerçekte ne olur

CHKDSK kesinlikle belirtimi izler ve AUTORUN.INFFAT32 sürücüsünün anlamadığı girişi yok sayar , ancak Windows'un kendisi belirtimin ayrılmış ayrılmış bitlere bir daha bakma gereksinimine uymuyor gibi görünüyor : Her türlü erişim (dosyayı listelemek dışında) ve nitelikleri) reddedilir.

Örneğin, komut

DIR /A /Q

sahibi olduğu devletler AUTORUN.INFolduğunu .... FAT32 dosya sahipliğini desteklemediğinden, belirtmelidir \All.

Bu beklenmedik davranışın nedeni, FAT32 - Wikipedia # Directory girişine göre , Windows'un Ybir karakter aygıt adını (CON, PRN, AUX, CLOCK $, NUL, LPT1, COM1, vb.) Sinyal vermek için dahili olarak kullanması ve depolama cihazlarında bulunmamalıdır. 2

Bir bakıma, USB Vaccine Windows'u AUTORUN.INFgerçek bir dosya değil, okuyamayacağı veya yazamadığı bir cihaz olduğunu varsaymaya iter .

Dosya nasıl silinir

Dosya sistemine doğrudan erişiminiz varsa , dosyayı yeniden silinebilir hale getirmek Yiçin 0(bayt 42değerini değiştir) olarak ayarlamanız yeterlidir 02. Ayrıca, dizin girdisinin ilk baytını E5doğrudan dosyayı silinmiş olarak işaretleyerek de ayarlayabilirsiniz . 3

Başka bir seçenek de farklı bir sürücü kullanmak olacaktır. Ubuntu 12.04, örneğin dosyayı sorunsuz silebilir. Aslında, dizin girişini okurken otomatik olarak "düzeltir". 4


1 Bu özellik, örneğin birim etiketi veya Sistem Birim Bilgisi klasörü için kullanılır .

2 Kesinlikle yeterli, ayarı Xiçin 1herhangi bir etkiye sahip görünmemektedir.

3 Bunu, C:\vaccinated.imgonaltılık bir düzenleyici ile ilgili baytlarını değiştirerek ve değiştirilen görüntüyü aşağıdaki komutu kullanarak flash sürücüye yazarak doğruladım :

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

4 Spesifikasyondan belirgin bir sapma olsa da, düşünülmüş gibi görünüyor. Ubuntu , herhangi bir zarar vermediğinden X, ayarlanmışsa bozulmadan kalır 1. Ayar Yiçin biraz 1sürücünün tüm boş alanı kaplar bir undeletable dosyası oluşturarak, kolayca örneğin, kötü niyetli bir uygulama tarafından istismar kaynaklanmış olabilir.


6

Bu, Win32 ad alanında ayrılmış bir adı kullanan akıllı bir dosya sistemi hilesidir. Panda USB Vaccine'in bunu nasıl yaptığının ayrıntıları burada özetlenmiştir .

Esasen yazılım, adında bir klasör oluşturur autorun.inf(burada aynı ada sahip bir dosyanın oluşturulmasını önler) ve daha sonra bu klasörde adlı bir dosya LTP1oluşturulur. DOS'ta LPT1yazıcı bağlantı noktasını ifade eder ve Windows bunu geriye dönük uyumluluk için destekler. Bu nedenle LPT1, Windows adlı bir dosya talep ettiğinizde , yazıcı yazıcı bağlantı noktasını açmaya çalışır ve bu bir şekilde klasörün normal olarak silinmesini önler.

Sürücüyü biçimlendirmeden klasörü / dosyayı nasıl kaldıracağınıza gelince, bu Microsoft Bilgi Bankası makalesinde bazı ipuçları verilmektedir:

Neden 5: Dosya adı Win32 ad alanında ayrılmış bir ad içeriyor

Dosya adı, Win32 ad alanında ayrılmış bir ad (örneğin, "lpt1") içeriyorsa, dosyayı silemeyebilirsiniz. Bu sorunu gidermek için <a0> </a0>, dosyayı yeniden adlandırmak için Win32 olmayan bir program kullanın. Bir POSIX aracını veya dosyayı kullanmak için uygun iç sözdizimini kullanan başka bir aracı kullanabilirsiniz.

Ayrıca, dosyanın yolunu belirtmek için belirli bir sözdizimi kullanırsanız, tipik Win32 ayrılmış ad denetimlerini atlamak için bazı yerleşik komutları kullanabilirsiniz. Örneğin, Del komutu Windows XP'de kullanırsanız, aşağıdaki özel sözdizimini kullanarak dosyanın tam yolunu belirtirseniz "lpt1" adlı bir dosyayı silebilirsiniz:

del \\?\c:\path_to_file\lpt1

Windows NT ve Windows 2000 altında ayrılmış adlara sahip dosyaları silme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

120716 Windows'ta ayrılmış adları olan dosyalar nasıl kaldırılır

Windows XP altında ayrılmış adları olan dosyaları silme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

315226 Windows XP'de ayrılmış adlara sahip dosyalar nasıl kaldırılır

Tipik Win32 CreateFile mekanizmasını kullanarak bir dosya tanıtıcısını açarsanız , bazı dosya adları eski stil DOS aygıtları için ayrılır. Geriye dönük uyumluluk için bu dosya adlarına izin verilmez ve tipik Win32 dosya çağrıları kullanılarak oluşturulamazlar. Ancak, bu sorun NTFS'nin bir sınırlaması değildir.

Bir dosya oluşturulduğunda (veya silindiğinde), daha derin klasörlerde gezinmek için kullandığınız aynı tekniği kullanarak gerçekleştirilen tipik ad denetimlerini atlamak için bir Win32 programı kullanabilirsiniz MAX_PATH. Ayrıca, bazı POSIX araçları bu ad denetimlerine tabi değildir.


2
Panda USB aşısının USB sürücüsünü kötü niyetli autorun.inf'den korumanın eski yolu budur. Sağladığım bağlantıyı indirmeyi ve kullanmayı deneyin; herhangi bir klasör oluşturmadığını görürsünüz. Autorun.inf adlı tek bir dosya
MegaNairda

@MegaNairda: Tuhaf ... USB Aşısını kurdum, ancak FAT32 thumbdrive'ımı aşılamaya çalıştığımda, program AUTORUN.INFsürücüde (makalede belirtilen aynı "caacaa ..." dizesiyle) ve hemen donar. Otomatik çalıştırma dosyasını
silmede sorunum yok

BitDefender USB Immunizer bağlantısını deneyin Panda USB Vaccine, USB sürücüleri taktığımda bazen sistemimde donuyor.
MegaNairda

@MegaNairda: Bu başparmak sürücüsüyle ilgili bir sorun var gibiydi. Her iki program da onu aşılayamadı. Bununla birlikte, bu tesadüf yardımcı oldu, BitDefender'ın bağışıklayıcısının en azından benzer bir teknik kullandığını gösterdi. Hata günlüğü bunun altında iç içe klasörler / dosyaları bir dizi oluşturmak için çalıştık gösterdi I:\autorun.inf\bdsanitize#\bdsanitize#...nerede #"1" veya "2" dir. Günlük dosyası ayrıca her düzeyin dosya / dizin adını .dirveya ile ekler, .fileancak bu yalnızca günlük / hata ayıklama amacıyla gösterilebilir.
Lèse majesté

1
USB'nizde gerçekten bir sorun var gibi görünüyor. BitDefender'ın Immunizer'ı bir klasör oluşturur, autorun.infancak bundan sonra bir autorun.inf dosya ile değiştirilir . İle farkı autorun.infPanda USB Aşısı dosya boş ve içermiyor olmasıdır cacacaPanda yarattığı gibi.
MegaNairda
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.