Geçen sene Bir yazılımımızın kullanıcısı yazılımda olmayan bir özelliği kullanmak istediğini yazmıştı , istediği özellik ise DnsJumper in bilgisyarın her açılışında kendini otomatik olarak başlatıp
Dns değiştirmesi idi , elbette yazılıma özellik olarak bu eklenebilirdi lakin sırf biri bir özellik istedi diyede yazılım versionu değiştirmek pek mantılı olmayacağından belki bir .vbs scripti kodlayıp bunu gerçekleştirebiliriz diye düşündüm ve bu yazının konusu olan script ortaya çıktı ; karşımda çözülmesi gerek şu sorunlar vardı:
1. Dns jumperi alıp C:\ dizinine kopyalayıp (C:\ dzinine birşey kopyalarken UAC açıksa sorun olmamalı)
2. Dns Jumperi kopyladığım dizinde onu çalıştıracak bir bat dosyası oluşturmak
3. Bu .bat dosyasını başlangıç klasörüne kopyalatıp
4. Eğer dizinde aynı dosya varsa hata vermesin diye üzerine yazdırmak
Görüldüğü üzere 4 sıkıntıyı bir scrip ile halletmem gerekiyordu (Elbetteki herhangi bir programlama dili ile bu kolayca yapılabilir lakin bu konumuzun dışında) , açıkçası scripti kodlarken beni biraz uğraştıran mevcut dizinin yolunu buldurup bunu kullanmak oldu , herneyse gelelim scripte ve hangi kodun ne işe yaradığına , anlaşılır olması için kodları renklerel izah edeceğim Kodun kendisini yazının sonundan indirebilirsiniz
Mor kısım : Vbs nin UAC açıksa admin yetkilerinde çalışmasını sağlıyor.
Pembe kısım :DnsJumperin çalışması için .bat dosyası oluşturup içine gerekli kodu yazdırıyor.
Kahverengi :Kısayol oluşturup başlangıç klasörüne kopyalıyor.
Turuncu renk : Dns jumperi C:\ dizinine kopyalıyorum ve eğer orada varsa üzerine yazıyor.
Yeşil : Mevcut dizini buldurup kod içinde kullandırtıyorum.
'www.sordum.org
'Velociraptor (13.04.2014)
If WScript.Arguments.length =0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
'--------------
Dim objFSO, outFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Open write stream
Set outFile = objFSO.CreateTextFile("c:\run_dnsjumper.bat", True)
'Write each command line
outFile.WriteLine "c:\DnsJumper.exe 8.8.8.8,8.8.4.4"
'Close write stream
outFile.Close
Dim FileName
FileName = "DnsJumper"
Set shortcut = CreateObject("WScript.Shell").CreateShortcut(CreateObject("WScript.Shell").SpecialFolders("Startup") & + "\" + FileName + ".lnk")
shortcut.Description = "run_dnsjumper"
shortcut.TargetPath = "C:\run_dnsjumper.bat"
shortcut.Arguments = ""
shortcut.Save
currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile currentDirectory& "DnsJumper.exe" , "C:\" , OverwriteExisting
WScript.Echo "Done."
'--------------
'End of UAC workaround code
End If
Böylece scriptin hangi kodunun ne işe yaradığını renk açıklamalarımdan kolayca anlayabilirsiniz , .vbs kodunu Dns jumperin yanında çalıştırınız. Kodlama bana Ait olduğundan lütfen kaynak belirtmeden başka yerde yayımlamayınız
Bence işe yarayacaktır.
yani bat ile move komutu verirsem başlangıç klasörüne gönderebilir miyim
Çalıştıra shell:startup yazman yeterli açılan klasöre kopyalarsan açılışta çalışacaktır.
Diyelim ki masaüstünde start.bat diye bir dosyam var başlangıç klasörüne atmak istiyorum onun için de bir kod yazabilir misiniz
Rar şifresi : sordum
rar sifresi ne