Forum

Dosyayı Açmada...
 
Bildirimler
Hepsini Temizle

Dosyayı Açmadan Kodları Görüntüleme

3 Yazılar
2 Üyeler
0 Reactions
514 Görüntüleme
(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Bilindiği üzere bilinçsizce kullanılan Api deklerasyonları ve kodlamada kullanılan bazı
makro fonksiyonları bilgisayarınıza zarar verebilir 
(tüm dosyalarınız silinebilir,  
sisteminiz çökertilebilir, verilerinize erişilebilir vs.). Güvenliğinden emin olmadığınız
(Web'ten indirdiğiniz) Excel dosyalarının zararlı bir içerik barındırıp barındırmadığını 
öğrenmek için, aşağıda yazdığım kodları kullanabilirsiniz. Yalnız, hangi makronun, 
kod satırının zararlı olduğunu anlamanız için 
elbette ki makroları bilmeniz gerekiyor. 

[img] [/img]

 

Bu kodlarla dosyayı açmadan, içerisindeki Sayfa Module ClassModule ve UserForm'daki kodları görüntüleyebilirsiniz.  


Gerekli Nesneler

■ UserForm
■ 2 Adet TextBox
■ 2 Adet CommandButton
■ 1 Adet ListBox


Private Type Makrom
    Makro_Adı As String
    Kaynak_Kodu As String
End Type
  
Dim Makrolar() As Makrom

Sub Makro_Ara(Kitap As Workbook)
    Dim s As Long, say As Long, i As Long, Kod_Satırı As Long
    Dim Kodlar As String
    With Kitap.VBProject.VBComponents
        Erase Makrolar
        For i = 1 To .Count
        With .Item(i)
            With .CodeModule
                s = .CountOfLines
                If s <> 0 Then
                    For Kod_Satırı = 1 To s
                        Kodlar = Kodlar & .Lines(Kod_Satırı, 1) & vbCrLf
                    Next
                    say = say + 1
                    ReDim Preserve Makrolar(1 To say)
                    Makrolar(say).Makro_Adı = .Name
                    ListBox1.AddItem .Name
                    Makrolar(say).Kaynak_Kodu = Kodlar
                    Kodlar = ""
                End If
            End With
        End With
        Next
    End With
End Sub
  
Private Sub CommandButton1_Click()
    Dim Rky As Object
    ListBox1.Clear
    Set Rky = New Excel.Application
    Rky.Workbooks.Open TextBox2.Value
    Call Makro_Ara(Rky.ActiveWorkbook)
    Application.DisplayAlerts = False
    Rky.Quit
    Set Rky = Nothing
End Sub
  
Private Sub CommandButton2_Click()
    dsy = Application.GetOpenFilename(FileFilter:="Excel Dosyaları,*.xls;*.xlsx;*.xlsm", Title:="Dosya Seç")
    If dsy = "" Or dsy = False Then Exit Sub
    TextBox2.Value = dsy
End Sub

Private Sub ListBox1_Click()
    If ListBox1.ListIndex <> -1 Then
       TextBox1.Value = Makrolar(ListBox1.ListIndex + 1).Kaynak_Kodu
    End If
End Sub

 
■ NotMakro Ayarlarından, "VBA Projesi nesne modeli erişimine güven"i seçmelisiniz.  

 Hoşça kalın ! --)(

 

 
Gönderildi : 16/11/2013 15:47

(@riza-sahan)
Gönderiler: 18032
_
 

Teşekkürler.  

1984 doğumluyum. 4 yaşından bu yana İstanbul’da yaşıyorum. Sırası ile aşağıdaki okullarda eğitim gördüm. Paşaköy ilkokulu (1990-1995) Kartal Zekeriyya Güçer İlköğretim Okulu(1995-1998) Ümraniye Teknik ve Endüstri Meslek Lisesi Bilgisayar Bölümü(1998-2001) Kocaeli Üniversitesi Bilgisayar Programcılığı(2002-2004) Anadolu Ünv. İşletme Fakültesi(2006-2009) Lise yıllarından sonra bir bilgisayar firmasının teknik servisinde mesleğe merhaba dedim. Outsource olarak Citibank ytl ve bina taşınma projesinde yer alarak 8 ay görev yaptım. Bu görevden sonra şu an çalışmakta olduğum yerde bilgi işlem sorumlusu olarak göreve başladım ve 18 yıldır görevimin başındayım.

 
Gönderildi : 17/11/2013 00:09

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Vaktiyle bizleri rahatsız eden bir üyemizden gelebilecek tehditleri engelleyebilme amacıyla hazırlamıştım.  

 
Gönderildi : 17/11/2013 01:43

Paylaş: