Apakah Aplikasi Visual Basic itu sudah aman jika running dengan handle selain msvbvm* 0.dll???? Thinking again!!!

20 Juli, 2007 pukul 2:49 am | Ditulis dalam hACkiNg | Tinggalkan komentar

Sebenarnya, 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.


Tinggalkan sebuah Komentar »

RSS feed for comments on this post. TrackBack URI

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Buat situs web atau blog gratis di WordPress.com.
Entries dan komentar feeds.

%d blogger menyukai ini: