lorder Posted February 3, 2011 Share Posted February 3, 2011 [color="#2E8B57"][u][b][center][size="3"][font="Comic Sans MS"]Elimizde flash belleklerde bağışıklık yapan bi usb disk security var. Fakat şöyle bi sorun var yeni sürümlerini kullanmak işime gelmiyor çünkü immunity özelliği mevcut değil. Bende inceledim ve yapılışını çözdüm ama vs2010 da c# ile denediğimde bazı sorunlar oluşuyor. Kısaca mantığını açıklıyım: Autorun.inf dosyası engellenmek isteniyor ise, Autorun.inf diye bi klasör oluşturulur. Ardından o klasörün içine bi klasör daha oluşturulur isimi önemli değil fakat sonunda mutlaka (.) olmalı mesela usb disk security de zhengbo. diye bi klasör oluşturuluyor. Bunu yaparken oluşan klasörde problem yok fakat sonraki . asıl önemli olan nokta dosyanın silinmesini ve değiştirilmesini engelleyen nokta oluşmuyor. Win klasör ismini noktasız kaydediyor. Öyle olunca da bi işe yaramıyor. linux ta bu noktayı ellerimle koyabiliyorum ve sonuç başarılı. Acaba usb disk security bu noktayı nasıl yaptı bi bilgisi olan varsa basit bi immunity tool yapmak istiyorum. Ama o dosya ismindeki nokta olmadan olmuyor.[/font][/size][/center][/b][/u][/color] Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 (edited) Visual Basic Kodu: [SPOILER][code]Imports System.IO Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click sürücüleriAra() End Sub Function Bağışıklık(ByVal sürücü As String) Try Directory.CreateDirectory(sürücü & "\Autorun.inf") Shell("mkdir \\?\" & sürücü & "\Autorun.inf\tnctr.") Dim fl As New FileInfo(sürücü & "\Autorun.inf") fl.Attributes = 2 + FileAttributes.ReadOnly Catch Fail As Exception MsgBox(Fail.Message) End Try End Function Sub sürücüleriAra() Try Dim tümSürücüler() As IO.DriveInfo = IO.DriveInfo.GetDrives() Dim s As IO.DriveInfo For Each s In tümsürücüler If s.DriveType = IO.DriveType.Removable Then If s.IsReady Then Bağışıklık(s.Name) End If End If Next Catch Fail As Exception MsgBox(Fail.Message) End Try End Sub End Class[/code][/SPOILER] C# Kodu(Add Reference >>> .NET Sekmesinden Microsoft.VisualBasic ekle): [SPOILER][code]using System; using Microsoft.VisualBasic; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { sürücüleriAra(); } public object Bağışıklık(string sürücü) { try { Directory.CreateDirectory(sürücü + "\\Autorun.inf"); Interaction.Shell("mkdir \\\\?\\" + sürücü + "\\Autorun.inf\\tnctr."); FileInfo fl = new FileInfo(sürücü + "\\Autorun.inf"); fl.Attributes = FileAttributes.Hidden | FileAttributes.ReadOnly; } catch (Exception Fail) { Interaction.MsgBox(Fail.Message); } return sürücü; } public void sürücüleriAra() { try { System.IO.DriveInfo[] tümSürücüler = System.IO.DriveInfo.GetDrives(); System.IO.DriveInfo s = null; foreach (DriveInfo s_loopVariable in tümSürücüler) { s = s_loopVariable; if (s.DriveType == System.IO.DriveType.Removable) { if (s.IsReady) { Bağışıklık(s.Name); } } } } catch (Exception Fail) { Interaction.MsgBox(Fail.Message); } } } }[/code][/SPOILER] Buda ekran görüntüsü: [SPOILER][img]http://i.imgur.com/GZY3u.png[/img][/SPOILER] Yazdığım bu kod tamamiyle istediğin gibi. Güle güle geliştir. Edited February 4, 2011 by win32 Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 Geliştirilcek bişi brakmamışsın saol bi deneyelim bakalım Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 (edited) GUI anlamında felan demiştim C# kodunu kullanacaksan yeniden kopyala gereksiz bir şey yazmışım. Edited February 4, 2011 by win32 Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 Öncelikle uğraştığın için sağol. aşağıdaki kodda takıldım. [spoiler]Interaction.Shell("mkdir \\\\?\\" + sürücü + "\\Autorun.inf\\tnctr."); [/spoiler] klasör - dosya yı açmaya çalışıyor yanlış anlamadıysam. Gelen hata catch ten dosya bulunamadı. Oysa orda klasörü oluşturmak lazım. kodları biraz değiştirerek denemeye çalıştım fakat oluşan yine aynı sonunda nokta olmadan tnctr klasörü. Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 [quote name='lorder' date='04 Şubat 2011 - 17:29 ' timestamp='1296833945' post='957466'] Öncelikle uğraştığın için sağol. aşağıdaki kodda takıldım. [spoiler]Interaction.Shell("mkdir \\\\?\\" + sürücü + "\\Autorun.inf\\tnctr."); [/spoiler] klasör - dosya yı açmaya çalışıyor yanlış anlamadıysam. Gelen hata catch ten dosya bulunamadı. Oysa orda klasörü oluşturmak lazım. kodları biraz değiştirerek denemeye çalıştım fakat oluşan yine aynı sonunda nokta olmadan tnctr klasörü. [/quote] Directory.CreateDirectory(sürücü + "\\Autorun.inf"); bu kod Autorun.inf klasörünü oluşturur daha sonra Interaction.Shell("mkdir \\\\?\\" + sürücü + "\\Autorun.inf\\tnctr."); kodu ile komut satrı parametresi ile Autorun.inf içinde sonu noktalı bir klasör oluşturur eğer "Directory.CreateDirectory(sürücü + "\\Autorun.inf");" kodunu uygulamadan Interaction.Shell("mkdir \\\\?\\" + sürücü + "\\Autorun.inf\\tnctr."); kodunu uygularsan hata verir sen bi Visual Studio 2010'undan ekran görüntüsü atsana. Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 demek klasörü açmıyor oluşturuyor yanlış anlamışım. Herneyse resim bu yan tarafta flash bellekteki oluşturulan autorun.inf klasörün içi. [spoiler][img]http://i.imgur.com/7D1zb.jpg[/img][/spoiler] Quote Link to comment Share on other sites More sharing options...
loksben14 Posted February 4, 2011 Share Posted February 4, 2011 (edited) ............... Edited February 4, 2011 by loksben14 Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 (edited) [quote name='lorder' date='04 Şubat 2011 - 17:47 ' timestamp='1296835057' post='957480'] demek klasörü açmıyor oluşturuyor yanlış anlamışım. Herneyse resim bu yan tarafta flash bellekteki oluşturulan autorun.inf klasörün içi. [spoiler][img]http://i.imgur.com/7D1zb.jpg[/img][/spoiler] [/quote] Özel mesaj ile eğer değişiklik yaptıysan verdiğim kodda hepsini atar mısın? [SPOILER][img]http://i.imgur.com/UUfas.png[/img][/SPOILER] Edited February 4, 2011 by win32 Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 cmd de her türlüsünü denedim tnctr klasörünü noktasız oluşturuyor. Kodları dediğin gibi yapmama rağmen yinede oluşmadı. :S aynı hatayı veriyor. düşününce işlem hızından dolayı diye olabilir dedim araya sleep koydum 1 sn kadar da bi klasör de 1 sn de oluşuosa o pc yi at çöpe exe sini yollayabilirmisin? bi deniyim çalışcakmı ? Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 System.Threading.Thread.Sleep'i MultiThread olmadığı sürece tavsiye etmem. [code]http://www.mediafire.com/?3p3afr48zooey8i[/code] Eğer olmazsa dediğin gibi gecikmeden dolayı oluyor. Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 System.Threading.Thread.Sleep'i MultiThread olmadığı sürece tavsiye etmem. [code]http://www.mediafire.com/?3p3afr48zooey8i[/code] Eğer olmazsa dediğin gibi gecikmeden dolayı oluyor. Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 (edited) System.Threading.Thread.Sleep'i MultiThreading olmadığı sürece tavsiye etmem. [code]http://www.mediafire.com/?3p3afr48zooey8i[/code] Eğer olmazsa dediğin gibi gecikmeden dolayı oluyor. Edited February 4, 2011 by win32 Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted February 4, 2011 Share Posted February 4, 2011 (edited) Dostum Bak @Bluelife Hocamızın yazdığı bi programı var bide onu dene işini görürür.. Autoit bölümünden alıntı yapabilirsin http://bluelife.winbuilder.net/index.php?dir=Autoit%2FBL_ANTI_AUTORUN%2F&download=BL_ANTI_AUTORUN.zip Edited February 4, 2011 by SimpsoN_Bart Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 olmazsa multi thread yaparız flash bellek virüsleri için birebir. en kötü ihtimal sanal pc deki linux tan lazım oldukça oluştururum Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 Yazdıklarımı okuyor musun? Build ettiğim exeyi denedin mi? Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 [quote name='SimpsoN_Bart' date='04 Şubat 2011 - 18:06 ' timestamp='1296843405' post='957552'] Dostum Bak @Bluelife Hocamızın yazdığı bi programı var bide onu dene işini görürür.. Autoit bölümünden alıntı yapabilirsin http://bluelife.winbuilder.net/index.php?dir=Autoit%2FBL_ANTI_AUTORUN%2F&download=BL_ANTI_AUTORUN.zip [/quote] Teşekkürler Amacım sadece autorun lara karşı deil bizim okuldaki pc lerde illet var new folder vb. virüsler. Bazen autorun la hallolmuyor. virüs kendisini senin klasörünmüş gibi gösteriyor. öyle bi durumda da autorun olsun olmasın hertürlü bulaşıyor. bende o virüse özel de oluşturmak istedim. istediğin virüse karşı özel isimde klasör oluşturabilcek hale getircem. bölce virüs kendini kopyalayamıcak. Ayrıca boş klasör olduğu için yer kaplama gibi bi derdi de yok arkadaşın verdiği kodlara benzer kodlar oluşturmuştum fakat vb yi kullanııp shell den ms-dos komutlarını kullanarak o dosyayı oluşturabilceğimi bilmiyordum. Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 (edited) pc yi restart ettim açılması uzn sürüo tam kullanmak için herneyse indiriorm şimdi anca bu arada @Bluelife ın çalışması da tam olarak aynı mantıkta Edit: Denedim aynı hata :S multi yaptıktan sonra yazarım ama bu akşama uğraşamayabilirim. yarın akşama artık. Edited February 4, 2011 by lorder Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 (edited) [quote name='lorder' date='04 Şubat 2011 - 20:32 ' timestamp='1296844937' post='957569'] pc yi restart ettim açılması uzn sürüo tam kullanmak için herneyse indiriorm şimdi anca bu arada @Bluelife ın çalışması da tam olarak aynı mantıkta Edit: Denedim aynı hata :S multi yaptıktan sonra yazarım ama bu akşama uğraşamayabilirim. yarın akşama artık. [/quote] [spoiler][code]using System; using Microsoft.VisualBasic; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Threading; namespace WindowsFormsApplication1 { public partial class Form1 : Form { Thread işlem; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { işlem = new Thread(sürücüleriAra); işlem.Start(); } public object Bağışıklık(string sürücü) { try { Directory.CreateDirectory(sürücü + "\\Autorun.inf"); Thread.Sleep(100); Interaction.Shell("mkdir \\\\?\\" + sürücü + "\\Autorun.inf\\tnctr."); FileInfo fl = new FileInfo(sürücü + "\\Autorun.inf"); fl.Attributes = FileAttributes.Hidden | FileAttributes.ReadOnly; } catch (Exception Fail) { Interaction.MsgBox(Fail.Message); } return sürücü; } public void sürücüleriAra() { try { System.IO.DriveInfo[] tümSürücüler = System.IO.DriveInfo.GetDrives(); System.IO.DriveInfo s = null; foreach (DriveInfo s_loopVariable in tümSürücüler) { s = s_loopVariable; if (s.DriveType == System.IO.DriveType.Removable) { if (s.IsReady) { Bağışıklık(s.Name); } } } } catch (Exception Fail) { Interaction.MsgBox(Fail.Message); } } } }[/code][/spoiler] Thread.Sleep(100)'ü olmazsa arttır. Edited February 4, 2011 by win32 Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 [quote name='win32' date='04 Şubat 2011 - 18:35 ' timestamp='1296845133' post='957570'] Ben senin yerine denerim ama çalışırmı bilmem. [/quote] timerla yapılsa daha basit olur. Şimdi bende denicem bakalm nasıl olcak. Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 [quote name='lorder' date='04 Şubat 2011 - 21:00 ' timestamp='1296846647' post='957580'] timerla yapılsa daha basit olur. Şimdi bende denicem bakalm nasıl olcak. [/quote] Timer bu alanda hiç akıcı değil ayrıca MultiThreading olmadan Sleepe karşı olmamın sebebi uygulamayı dondurmasıdır verdiğim kod ile donmadan Sleep yapabilirsin. Kısacası MultiThreading Timer'dan daha performanslı. Quote Link to comment Share on other sites More sharing options...
lorder Posted February 4, 2011 Author Share Posted February 4, 2011 hızlı cevap almak için demiştim herneyse sonuçta sorunun nedenini anladım "Permission denied" die exeption verio izinleri de eklemek lazım galiba :S Quote Link to comment Share on other sites More sharing options...
win32 Posted February 4, 2011 Share Posted February 4, 2011 [quote name='lorder' date='04 Şubat 2011 - 21:15 ' timestamp='1296847542' post='957588'] hızlı cevap almak için demiştim herneyse sonuçta sorunun nedenini anladım "Permission denied" die exeption verio izinleri de eklemek lazım galiba :S [/quote] Hadi ya bak o da aklıma geldi ama ben Yönetici izni olmadan da yapabiliyorum Quote Link to comment Share on other sites More sharing options...
lorder Posted February 7, 2011 Author Share Posted February 7, 2011 Konu kapanmıştır Program başarılı linkini eklicem kaynak kodları için ise özelden isteyebilirsiniz. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.