Apakah Aplikasi Visual Basic itu sudah aman jika running dengan handle selain msvbvm* 0.dll???? Thinking again!!!
20 Juli, 2007 at 2:49 am | In hACkiNg | Leave a CommentSebenarnya, aplikasi Visual Basic dapat diketahui dengan banyak cara, sebagian contohnya adalah :
1.) Jika aplikasi VB tsb, masih ting-ting artinya belum di-ttuuuutt(di kompress maksudnya), maka dapat dicari headernya. Karena header file VB berbeda dengan file lain. Kalo udah dikompress udah lain ceritanya.
2.) Melalui Handlenya yaitu msvbvm*0.dll. Namun apakah jika pada badan aplikasi VB tsb karakter msvbvm* 0.dll sudah diganti akan aman dari KillVB? (coba lihat http://www.jasakom.com/article.aspx?ID=902 yg ditulis oleh mas Achmad Darmal) Jawabannya mudah sekali “Ya”, karena KillVB hanya mencari process yg berjalan dengan MSVBVM*, apalagi jika ditambahi dengan mengkompressi terhadap filenya, sehingga walaupun aplikasi tsb dilihat melalui notepad atau sejenisnya tidak akan terlihat handle MSVBVM* 0.DLL yg telah diganti.
Dengan demikian mungkin para pembuat virus sudah mempersiapkan virusnya dengan cara tsb agar tidak bisa diKill dgan KillVB.
Lalu bagaimana cara menutup aplikasi VB tsb? Mudah aja, kmaren aku udah mbuat cara yg bisa dibilang sangat sederhana, aku buat cara ini buat jaga-jaga aja. Begini caranya :
Perlu diketahui, salah satu hal yang menyamakan aplikasi VB adalah “ThunderRT*Main”, ya… itu adalah classname dari Focus aplikasi VB. Mungkin sampai disini sudah cukup jelas.
Lalu bagaimana untuk mengambil semua aplikasi VB tsb? Mudah aja, jika process bisa di-Enumerate maka kita Enumerate saja semua window yang ada menggunakan code ini:
—————————————————————————————————–
Declare Function GetWindowText Lib “user32″ Alias “GetWindowTextA” (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare Function GetWindowTextLength Lib “user32″ Alias “GetWindowTextLengthA” (ByVal hwnd As Long) As Long
Function EnumAllWindows(ByVal TgtHwnd As Long, ByVal Paramatre As Long) As Boolean
Dim Buff As String, Win As Long
Win = GetWindowTextLength(TgtHwnd)
‘//Handlenya jadiin string
Buff = Space(Win)
‘//Mencari text/caption window secara bertahap
GetWindowText TgtHwnd, Buff, Win + 1
‘//Masukan text/caption window tsb pada listbox
listbox.AddItem Buff
‘//Kasih nilai TRUE
EnumAllWindows = True
End Function
—————————————————————————————————–
Lalu untuk memanggil fungsi diatas kita akan menggunakan code ini :
—————————————————————————————————–
EnumWindows AddressOf EnumAllWindows, ByVal 0&
—————————————————————————————————–
Dengan cara diatas maka semua window akan dimasukkan dalam listbox,
selanjutnya dari text/caption window yg udah kita masukkan pada listbox, kita akan cari classnamenya. Jika ada window yang positif classnamenya adalah “ThunderRT*Main” maka tutup aplikasi tsb.
Mungkin ada pertanyaan “Mengapa tidak memakai classname ‘ThunderRT6FormDC’?”
Jawabannya mudah, karena Focus dari aplikasi VB itu selalu mempunyai nama, tidak seperti form yang bisa diberi nama atau tidak. Dengan demikian akan mempermudah dalam mencari windownya karena telah ada spesifikasi nama.
Lalu untuk menutup aplikasi VB tersebut, kita akan gunakan code ini :
—————————————————————————————————–
‘//Pertama cari windownya dulu dari dumpernya (sebuah List)
HandleTarget=FindWindow(“ThunderRT[*]Main”,List.list(i))
‘//Lalu berikan message pada window yang didapat
PostMessage HandleTarget, WM_NCDESTROY Or WM_DESTROY, 0&, 0&
—————————————————————————————————–
Dan jiika kamu ingin memodifikasi code diatas, ingat jangan pernah gunakan parameter WM_CLOSE (yg nilainya &H10) pada fungsi PostMessage, karena jika aplikasi VB itu menggunakan code ini
—————————————————————————————————–
Private Sub Form_Unload(Cancel As Integer)
Shell App.Path & “\” & App.EXEName & “.[Extensi]“, [Paramater]
End Sub
—————————————————————————————————–
Maka akan muncul window baru, karena constanta WM_CLOSE = & H10 sama dengan fungsi Unload pada form.
Sederhana sekalikan. Utk lebih jelasnya donlot sourcecodenya di www.geocities.com/foker_rpg_m4/download/dudut.zip
Ato utk tool yg lebih lengkap ada di www.geocities.com/foker_rpg_m4/download/gasak.zip (Utk menutup process VB seperti KillVB tekan ‘Alt+Backspace’, utk menutup Applikasi sperti cara diatas tekan ‘Shift+Del ‘)
Tapi yang masih menjadi masalah adalah “Masa’ VB makan VB? Halal ga’ ya?”
Haghaghag…..
Nb :
Perhatian character [*] diganti sesuai versi dari versi Visual Basic yang digunakan.
Belum Ada Tanggapan »
RSS umpan untuk komentar-komentar dalam tulisan ini. URI Lacak Balik
Blog pada WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.