Pendahuluan
Pada artikel kali ini akan dibahas cara mendekripsi file database smadav yang menggunakan format loov.
Mekanisme Dekripsi
Jadi secara sederhana, file database smadav.loov bekerja seperti ini:
- cari ukuran file smadav.loov
- ubah format ukuran ke DWORD dan ambil lower byte dari ukuran tersebut. misalnya ukuran file databasenya 28119 bytes, maka jika diubah menjadi DWORD (hex) menjadi 0x6DD7. nah, 0xD7 ini yang akan kita gunakan.
- selanjutnya kita baca mulai dari offset 0×20 dari file smadav.loov lalu setiap byte kita XOR dengan offset byte tersebut kemudian di XOR lagi dengan byte pada langkah sebelumnya (dalam hal ini 0xD7).
- ulangi sampai selesai
Proof of Concept
format PE GUI 4.0
include 'win32a.inc'
;[code]------------------------------------------------------------------------
push .done
push dword[fs:0]
mov dword[fs:0],esp
invoke CreateFile,szloov,GENERIC_READ,0,0,OPEN_EXISTING,0,0
cmp eax,INVALID_HANDLE_VALUE
je .done
mov [hfile],eax
invoke GetFileSize,[hfile],0
mov [dwsize],eax
invoke GlobalAlloc,GPTR,eax
mov [hmem],eax
invoke ReadFile,[hfile],[hmem],[dwsize],dwtemp,0
invoke CloseHandle,[hfile]
movzx edx,byte[dwsize]
mov eax,20h
mov ebx,[hmem]
.blah: mov cl,byte[ebx+eax]
xor cl,al
xor cl,dl
mov byte[ebx+eax],cl
inc eax
cmp eax,dword[dwsize]
jl .blah
invoke CreateFile,szdump,GENERIC_WRITE,0,0,CREATE_ALWAYS,0,0
cmp eax,INVALID_HANDLE_VALUE
je .clean
mov [hfile],eax
invoke WriteFile,[hfile],[hmem],[dwsize],dwtemp,0
invoke CloseHandle,[hfile]
invoke MessageBox,0,szmsg,szcap,MB_OK+MB_ICONINFORMATION
.clean: invoke GlobalFree,[hmem]
.done: pop dword[fs:0]
add esp,4
invoke ExitProcess,0
;[data]------------------------------------------------------------------------
szloov db "smadav.loov",0
szdump db "smadav.dump",0
szcap db "info",0
szmsg db "decrypt selesai, silakan cek file smadav.dump",0
hmem dd 0
hfile dd 0
dwsize dd 0
dwtemp dd 0
;[imports]---------------------------------------------------------------------
data import
library kernel32,'kernel32.dll',\
user32,'user32.dll'
include 'api/kernel32.inc'
include 'api/user32.inc'
end data
dan berikut ini snippet hasil dekripsi file smadav.loov yang ada pada smadav 8.2 beta

Penutup
Sekian artikel kali ini, semoga bermanfaat. Terima kasih kepada: Tuhan Yang Maha Esa, TKP Crew, Kris Kaspersky, dan Anda yang telah membaca artikel ini :)




ubah format ukuran ke DWORD memakai software apa om
ketik aja di terminal kek gini
$ printf “%X” 28119
:D klo di Windows(R), pake calc
klo dio calc inputnya gimana (maklum newbie) , klo pke cmd bisa gk , klo bisa mw saya buat *.bat nya
klo di calc, pilih mode scientific trus masukin angkanya, trus pilih hex. klo di cmd, saya ga tau. mungkin bisa pake .vbs