

Veri Bütünlüğünü Tespit Etmek İçin (VB6)
-
MD5'in biraz daha hassası veri bütünlüğünü tespit etmek içindir. Dosya değiştirme tarihi, Dosya boyutu, Dosya isminde değişiklik varmı diye kontrol eder, varsa program kapanır tahribatın çük sayfasına yönlendirir
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Dim Dosyayolu, TD3 Private Sub Form_Load() TD3Al ("C:\Test.exe") 'Fonksiyonu çağırıyoruz Text1.Text = TD3 'TD3 değerini texte aldık If TD3 = "403092710102908010102110164021211711" Then 'Bütünlük eşitmi diye bakıyoruz Else 'Bütünlük değişmişse ShellExecute 0, vbNullString, "http://tahribat.com/img/CocugunCuku.jpg?Programda birşeyin değiştirildiği tespit edildi, orjinalini kullan :P", vbNullString, vbNullString, vbNormalFocus Shell "taskkill /f /im " & App.EXEName & ".exe", vbHide End End If End Sub Function TD3Al(Dosyayolu As String) As Variant On Error Resume Next SonDuzenlemeZamani = FileDateTime(Dosyayolu) 'Dosya düzenleme tarihini sadece sayıya çeviriyoruz SonDuzenlemeZamani = Replace$(SonDuzenlemeZamani, ":", "") SonDuzenlemeZamani = Replace$(SonDuzenlemeZamani, ".", "") SonDuzenlemeZamani = Replace$(SonDuzenlemeZamani, " ", "") SonDuzenlemeZamani = Mid$(SonDuzenlemeZamani, 1, 10) DosyaBoyutu = FileLen(Dosyayolu) 'Dosya boyutunu alıyoruz Dim SolSlashBul As Integer For SolSlashBul = Len(Dosyayolu) To 1 Step -1 'Dosya ismini alıyoruz If Mid(Dosyayolu, SolSlashBul, 1) = "\" Then Dosyaismix = Mid$(Dosyayolu, SolSlashBul + 1) For DosyaAscii = 1 To Len(Dosyaismix) Asciismi = Asciismi & Asc(Mid$(Dosyaismix, DosyaAscii, 1)) '& "," 'Asc(Dosyaismix) Next DosyaAscii Exit For End If Next TD3 = Asciismi & SonDuzenlemeZamani & DosyaBoyutu 'Aldığımız şeyleri birleştiriyoruz TD3 = StrReverse(TD3) 'Ters çeviriyoruz :D End Function
Toplam Hit: 2212 Toplam Mesaj: 1