Home / Tutorial / Memanfaatkan Engine ClamAV Untuk Antivirus
ClamAV

Memanfaatkan Engine ClamAV Untuk Antivirus

Greeting BinusHacker Family,

Kali saya akan berbagi cara Memanfaatkan Engine Antivirus ClamAV untuk membuat Antivirus sendiri. Langsung saja ke tutorial berikut ya 🙂


ClamAV adalah sebuah Antivirus open source yang cukup ampuh dalam mendeteksi malware (Virus,Worm dan teman-temannya) dan dengan jumlah database malware yang dimiliki ClamAV sangat besar,kira-kira satu juta tiga ratus ribu lebih saat ini.

Banyak Antivirus Lokal (Antivirus Indonesia) yang ingin menggabungkan Antivirusnya dengan ClamAV namun banyak juga yang memikirkan lisensi ClamAV yang bersifat open-source tersebut. Tidak masalah jika Antivirus yang ingin digabungkan dengan ClamAV tersebut ingin open source, tapi bagaimana jika tidak mau ikut-ikutan open source?

Dalam dokumentasi ClamAV (clamdoc.pdf) tertulis bahwa: “Segala program yang menggunakan library ClamAV haruslah bersifat open source“, namun jika kita memakai trik dibawah ini, mudah-mudahan Antivirus kita tidak harus terlibat lisensi open source tersebut 🙂

Catatan: Trik ini hanya trik sederhana agar Antivirus yang anda buat dapat melakukan scan bersamaan dengan ClamAV, anda juga tidak harus mempelajari engine ClamAV untuk trik ini.. just a simple trick 🙂

Untuk project ini, kita harus mempersiapkan:
1. File pendukung ClamAV seperti clamscan.exe, libClamAV.dll, database ClamAV seperti main.cvd dan sebagainya.
2. Sebelumnya, kita harus tahu parameter clamscan.exe, tapi apa itu clamscan.exe? clamscan.exe adalah scanner ClamAV yang mempunyai parameter-parameter yang bisa kita gunakan pada Antivirus kita dalam mendeteksi malware, parameter-parameter tersebut adalah:
ClamAV Antivirus Help Command
–help -h Print this help screen
–version -V Print version number
–verbose -v Be verbose
debug Enable libClamAV’s debug messages
–quiet Only output error messages
–stdout Write to stdout instead of stderr
–no-summary Disable summary at end of scanning
–infected -i Only print infected files
–bell Sound bell on virus detection
–show-progress Print progress indicator for each file

–tempdir=DIRECTORY Create temporary files in DIRECTORY
–leave-temps Do not remove temporary files
–database=FILE/DIR -d FILE/DIR Load virus database from FILE or load
all .cvd and .db[2] files from DIR
–log=FILE -l FILE Save scan report to FILE
–recursive -r Scan subdirectories recursively
–remove Remove infected files. Be careful!
–move=DIRECTORY Move infected files into DIRECTORY
–copy=DIRECTORY Copy infected files into DIRECTORY
–exclude=PATT Don’t scan file names containing PATT
–exclude-dir=PATT Don’t scan directories containing PATT
–include=PATT Only scan file names containing PATT
–include-dir=PATT Only scan directories containing PATT

–detect-pua Detect Possibly Unwanted Applications
–exclude-pua=CAT Skip PUA sigs of category CAT
–include-pua=CAT Load PUA sigs of category CAT
–detect-structured Detect structured data (SSN, Credit Card)
–structured-ssn-format=X SSN format (0=normal,1=stripped,2=both)
–structured-ssn-count=N Min SSN count to generate a detect
–structured-cc-count=N Min CC count to generate a detect
–no-mail Disable mail file support
–keep-mbox Don’t delete/rename mailboxes
–memory Scan loaded executable modules
–kill -k Kill/Unload infected loaded modules
–unload -u Unload infected modules from processes
–no-phishing-sigs Disable signature-based phishing detection
–no-phishing-scan-urls Disable url-based phishing detection
–heuristic-scan-precedence Stop scanning as soon as a heuristic match is found
–phishing-ssl Always block SSL mismatches in URLs (phishing module)
–phishing-cloak Always block cloaked URLs (phishing module)
–no-algorithmic Disable algorithmic detection
–no-pe Disable PE analysis
–no-elf Disable ELF support
–no-ole2 Disable OLE2 support
–no-pdf Disable PDF support
–no-html Disable HTML support
–no-archive Disable archive support
–detect-broken Try to detect broken executable files
–block-encrypted Block encrypted archives
–mail-follow-urls Download and scan URLs

–max-filesize=#n Files larger than this will be skipped and assumed clean
–max-scansize=#n The maximum amount of data to scan for each container file (*)
–max-files=#n The maximum number of files to scan for each container file (*)
–max-recursion=#n Maximum archive recursion level for container file (*)
–max-dir-recursion=#n Maximum directory recursion level

Pada project Antivirus anda, anda hanya perlu menggunakan parameter-parameter tersebut supaya Antivirus anda dapat bergabung dan bekerja sama dengan ClamAV saat proses scanning file.

Contoh codingnya dalam bahasa C adalah:
/*membuat variabel konstanta untuk menampung parameter clamscan parameter tersebut berarti : -r kita melakukan scan secara recursive (scan folder dan sub foldernya, -i menampilkan file yang diduga terinfeksi,dan –log membuat log laporan hasil scan ClamAV pada drive C dengan nama clamreport.txt */

const char parameters[] = “-r -i –log=C:\\clamreport.txt”;

Pada engine Scan Antivirus anda tambahkan fungsi ShellExecute berikut ini:

ShellExecute(NULL,”open”,”C:\\Program Files\\Antivirus_Anda\\ClamAV\\clamscan.exe”, (parameters), (ScanPath), SW_SHOWNORMAL);

Arti perintah shell execute diatas adalah melakukan eksekusi clamscan.exe yang berada di direktori C:\Program Files\Antivirus_Anda\ClamAV kemudian mengatur parameternya dan menentukan lokasi folder yang akan discan (scanpath).

Pada Antivirus yang saya buat, fungsi scanpath adalah fungsi untuk melakukan scanning pada folder dan subfolder.

Jadi ketika Antivirus yang kita buat melakukan scan pada folder misalkan C:\WINDOWS, maka secara otomatis ClamAV akan ikut melakukan scanning di folder C:\WINDOWS tersebut.

Ini hasilnya pada Antivirus saya:

Pada Antivirus yang saya coba diatas, saya menampilkan hasil log scan ClamAV pada sebuah textbox, sehingga “terlihat duet enginenya“.

Semoga bisa menjadi referensi anda dan selamat mencoba^^

Salam BinusHacker & Happy New Year 🙂

About NightMare

Saya adalah seorang yang sangat menyukai segala hal tentang komputer,terutama malware dan programming

Check Also

machine-learning-data-mining-binushacker

Machine Learning dan Data Mining

Greeting BinusHacker Family, Kali berbagi materi untuk machine learning basic untuk kebutuhan belajar mengembangkan ilmu …

9 comments

  1. Minta ijin menambah ilmu Gan,

  2. INFORMASI, BERMANFAAT,,
    Minta izin untuk menambah ilmu IT…

    Terima Kasih,
    Binus Family

  3. terima kasih atas info antivirusnya

  4. trima kasih gan…
    cman masih agak bingung,,,,
    ane coba dulu la….

  5. boleh minta source code nya gak gan,,
    mau nyoba nih,,
    tapi gak tau syntaxnya,,
    nih pake borland bukan gan

  6. sakit otak gue,,gak ngertii gue.
    hbiss rokok ama kopi aja nih mahamin nih bacaan..
    gue pake avast,,udah cukup

  7. Muhammad Bayu Nugraha

    kurang dimengerti gan… Cara menggambungkan Databese kita dengan ClamAV apakah Clamscan.exe harus berada dalam satu File yg sama dengan AV kita

  8. ijin gan…. mau nanya cara menghapus file induk virus :

    virus ini aouturun dan selalu menggandakan file dan ga bisa ke hapus sama antivirus lokal dan luaur .

    =====================================
    [AutoRun]

    ;
    ShelL\eXPlore\COmmaND=vbio.pif
    ;BOxqy
    oPEn = vbio.pif

    ;ktAxvQbeel kIVs MriqvpXuCq bNln
    SHell\OPeN\DEfault=1
    ;nslg RNdSWEqvTxTdvx LMHYXjdyjdFefRlcatgSxLBQLajk
    ShEll\open\COmmANd =vbio.pif
    ;yEeev DxrpiknowwBk
    shell\AuTopLaY\CoMmand = vbio.pif
    ;XxKNc

    ==================================

  9. Jika ada yang imgon bikin anti virus alatnya saya punya tinggal klik dapet hubungi farishoe@gmail.com

Tinggalkan Balasan

Alamat surel Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *