Pendahuluan
Morphost adalah salah satu antivirus lokal yang cukup ternama dan situs resminya ada di sini. Untuk tutorial kali ini, saya menggunakan database morphost bulan Mei 2010 yang bisa diunduh di sini. Kita akan melakukan dekripsi untuk mengetahui format database morphost.
Langkah-langkah
Untuk mengetahui cara kerja morphost, kita terlebih dahulu melakukan sedikit debugging. Ok, jalankan Ollydbg lalu load morphost (pada artikel ini saya menggunakan morphost versi 7.1.0.0). Lihat bagian module yang diimport:
Executable modules Base Size Entry Name File version Path 00400000 001B5000 00401344 Morphost 7.01 H:\--snip--\Morphost ß.exe 73420000 00153000 73421AF8 MSVBVM60 6.00.9802 H:\WINDOWS\system32\MSVBVM60.DLL 77120000 0008B000 77121560 OLEAUT32 5.1.2600.5512 H:\WINDOWS\system32\OLEAUT32.dll 774E0000 0013D000 774FD0B9 ole32 5.1.2600.5512 H:\WINDOWS\system32\ole32.dll 77C10000 00058000 77C1F2A1 msvcrt 7.0.2600.5512 H:\WINDOWS\system32\msvcrt.dll 77DD0000 0009B000 77DD70FB ADVAPI32 5.1.2600.5512 H:\WINDOWS\system32\ADVAPI32.dll 77E70000 00092000 77E7628F RPCRT4 5.1.2600.5512 H:\WINDOWS\system32\RPCRT4.dll 77F10000 00049000 77F16587 GDI32 5.1.2600.5512 H:\WINDOWS\system32\GDI32.dll 77FE0000 00011000 77FE2126 Secur32 5.1.2600.5512 H:\WINDOWS\system32\Secur32.dll 7C800000 000F6000 7C80B63E kernel32 5.1.2600.5512 H:\WINDOWS\system32\kernel32.dll 7C900000 000AF000 7C912C28 ntdll 5.1.2600.5512 H:\WINDOWS\system32\ntdll.dll 7E410000 00091000 7E41B217 USER32 5.1.2600.5512 H:\WINDOWS\system32\USER32.dll
Klik ganda pada baris msvbvm60.dll untuk menuju ke library tersebut. Setelah berada pada modul msvbvm60, tekan Ctrl + N lalu cari fungsi __vbaFileOpen seperti ini:
734F3B5D .text Export __vbaFileOpen
Setelah ketemu, tekan F2 untuk mengaktifkan breakpoint. Tekan F9 untuk mulai menjalankan morphost. Kita akan menemukan breakpoint pertama, lanjutkan dengan menekan lagi F9. Pada breakpoint ke-2 ini akan terlihat bahwa morphost mengakses file kernell.dat pada direktori sistem (Windows\system32):
0012F9CC 00157384 UNICODE "H:\WINDOWS\system32\kernell.dat"
Nah, file tersebut adalah file database morphost yang sudah didekripsi oleh morphost ketika dijalankan. Sebenarnya, key yang digunakan oleh morphost bisa terlihat ketika proses debugging. Namun untuk menghemat waktu, keynya saya berikan saja :D yaitu:
Database Morphost Antivirus
Decryptor
Source code berikut ini bisa digunakan untuk mendekripsi database morphost (bulan Mei 2010).
#include <windows.h>
#ifdef _MSC_VER
#pragma comment(lib,"kernel32")
#pragma comment(lib,"user32")
#pragma comment(linker,"/entry:main /subsystem:windows")
#endif
void
main()
{
int i;
char *p;
HANDLE hfile;
HGLOBAL hmem;
DWORD dwsize, dwtemp;
static const char *szkey = "Database Morphost Antivirus";
if ((hfile = CreateFile("database.mrp", GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0)) == INVALID_HANDLE_VALUE)
{
MessageBox (NULL, "gagal membuka file database morphost", "error", MB_OK | MB_ICONERROR);
ExitProcess(1);
}
dwsize = GetFileSize(hfile, NULL);
hmem = GlobalAlloc(GPTR, dwsize);
p = (char *) GlobalLock(hmem);
ReadFile(hfile, p, dwsize, &dwtemp, NULL);
CloseHandle(hfile);
for (i = 0; i < (int) dwsize; i++) { p[i] ^= szkey[(i % 27)]; }
if ((hfile = CreateFile("database.txt", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0)) != INVALID_HANDLE_VALUE)
{
WriteFile(hfile, hmem, dwsize, &dwtemp, NULL);
CloseHandle(hfile);
MessageBox (NULL, "database morphost berhasil didekripsi", "info", MB_OK | MB_ICONINFORMATION);
}
GlobalUnlock(hmem);
GlobalFree(hmem);
ExitProcess(0);
}
Dan berikut ini adalah database morphost yang sudah didekripsi (bulan Mei 2010)
Database Mei 2010 Database Morphost Antivirus by:Morphic Karta Terima kasih kepada pengguna Morphost Antivirus yang telah mempercayakan Morphost sebagai guard komputer. Kami masih tetap berusaha untuk memberikan yang terbaik, baik dari sisi kenyamanan penggunaan sampai keamanan komputer anda. Kami juga mengharapkan agar masyarakat juga mau membantu kami dalam pengembangan database Morphost bulan Juni 2010. Kirim/upload sampel malware pada kami. Anda bisa berikan link download malware kepada kami atau mengirimkannya secara langsung pada kami. Terima kasih. 10 Juni 2010 14 580 581 582 583 584 1003DC=DeleteRegedit=Maret 2009=Ringan 100630=Playboy-A=November 2009=Ringan 103218=Aidid=Tidak Ada Data=Sedang 10C968=OpenSystem=Tidak Ada Data=Sedang 1181AB=Decoil-Dropper=Tidak Ada Data=Parah 119723=FullHouse=Tidak Ada Data=Sedang 11DC95=Iwing=Tidak Ada Data=Sedang ...
Penutup
Demikianlah artikel singkat kali ini, semoga bermanfaat. Terima kasih kepada Tuhan Yang Maha Esa, TKP crew, Kris Kaspersky, dan Anda yang telah membaca artikel ini :)




pakek C++ ya???
kodenya pake C gan :”>
kok bisa2nya tuh AV yg mengandalkan speed pke __vbaFileOpen
meskipun untuk scanning kyanya sie ngga pke __vbaFileOpen
Salut ama drubicza :mastah:
haisss…. jgn gitu bro
saya jg salut sama bro :mastah: