Jump to content

Flash Bellek Bağışıklığı


lorder
 Share

Recommended Posts

[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 :D 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]

Link to comment
Share on other sites

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 by win32
Link to comment
Share on other sites

Ö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ü.

Link to comment
Share on other sites

[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.

Link to comment
Share on other sites

[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 by win32
Link to comment
Share on other sites

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 :D exe sini yollayabilirmisin? bi deniyim çalışcakmı ?

Link to comment
Share on other sites

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 by win32
Link to comment
Share on other sites

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 by SimpsoN_Bart
Link to comment
Share on other sites

[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. :D

Link to comment
Share on other sites

pc yi restart ettim :D 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 by lorder
Link to comment
Share on other sites

[quote name='lorder' date='04 Şubat 2011 - 20:32 ' timestamp='1296844937' post='957569']
pc yi restart ettim :D 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 by win32
Link to comment
Share on other sites

[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. :D
[/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ı.

Link to comment
Share on other sites

[quote name='lorder' date='04 Şubat 2011 - 21:15 ' timestamp='1296847542' post='957588']
hızlı cevap almak için demiştim :D 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 :D

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...