Sabtu, 31 Agustus 2013

Mengenali macam-macam error dalam penulisan kode pemrograman

Kesalahan dalam pemrograman


“ERROR” adalah sebuah kata yang terdengar cukup menakutkan di dunia pemrograman. Programer adalah orang yang akan dilirik dengan alis terangkat jika terjadi kesalahan pada sebuah aplikasi pada saat digunakan. Untuk menghindari hal tersebut, Anda perlu mengenal dan memperbaiki semua jenis kesalahan pada program.

Hampir tidak ada aplikasi yang berjalan sempurna sebelum melewati berbagai rentetan kesalahan, semakin besar aplikasi yang dibuat, semakin banyak kesalahan yang dapat timbul. Sukar dibayangkan jika Anda dapat mengetikkan ratusan baris kode program tanpa ditemukan kesalahan pada saat dijalankan atau dikompilasi untuk pertama kalinya.

Syntax Error

Kesalahan yang paling sering ditemukan pada saat membuat program adalah kesalahan sintaks atau Syntax Error, dimana perintah atau statemen yang diketikkan menyalahi aturan pengkodean yang dimiliki oleh bahasa pemrograman yang Anda gunakan.

Sebuah bahasa pemrograman memiliki aturan pengkodean tersendiri yang harus dipatuhi, sebagai contoh pada bahasa pemrograman Pascal/Delphi, setiap statemen diwajibkan diakhiri dengan tanda titik koma (;). Jika Anda tidak menuliskannya, program akan menampilkan pesan Syntax Error pada saat dijalankan.

Setiap bahasa pemrograman memiliki keyword, yaitu perintah-perintah baku yang digunakan. Sebagai contoh, keyword yang umum adalah kondisi if, perulangan for atau while, penulisan fungsi dan lambang aritmatika seperti modulus, pangkat, dan lain-lain. Kesalahan penulisan keyword juga merupakan Syntax Error.

Kesalahan penulisan parameter pada sebuah function/procedure juga termasuk dalam kategori Syntax Error, misalnya jika function yang Anda gunakan memerlukan parameter sementara Anda lupa menuliskan parameter tersebut.

Syntax Error merupakan jenis kesalahan yang paling sering ditemui, tetapi juga pada umumnya paling mudah untuk ditanggulangi. Syntax Error cukup mudah diketahui dan diperbaiki jika bahasa pemrograman yang Anda gunakan menunjukkan baris kesalahan dengan tepat, dan menampilkan pesan kesalahan yang benar.

Pada beberapa bahasa pemrograman, disediakan fasilitas Auto Syntax Check, dimana muncul sebuah pesan peringatan ketika Anda mengetikkan sintaks yang salah.

Run-time Error

Jenis kesalahan Run-time Error terjadi ketika kode program melakukan sesuatu yang tidak dimungkinkan. Contohnya pada saat sebuah aplikasi mencoba mengakses file yang tidak ada, atau terjadi kesalahan alokasi memory.

Terkadang Run-time Error terjadi karena berbagai aspek dan tidak selalu karena kesalahan pemrograman, sebagai contoh jika Anda sengaja menghapus beberapa file penting yang digunakan oleh suatu aplikasi, maka terdapat kemungkinan akan terjadi Run-time Error pada saat aplikasi tersebut dijalankan.

Walaupun demikian, pencegahan semaksimal mungkin dengan memberikan validasi dan pesan yang user-friendly saat terjadi kesalahan pada aplikasi, akan sangat membantu untuk mengetahui mengapa aplikasi tidak berjalan dengan semestinya.

Logical Error

Logical Error merupakan jenis kesalahan yang cukup sulit untuk ditemukan penyebabnya. Karena aplikasi yang mengandung Logical Error berjalan tanpa pesan kesalahan, tetapi mengeluarkan hasil yang tidak diharapkan, misalnya jika aplikasi Anda menghasilkan perhitungan yang salah.

Logical Error baru dapat diketahui setelah Anda melakukan testing dan meninjau hasilnya. Logical Error dapat diperbaiki dengan memeriksa alur program dan nilai variabel yang dihasilkan.

Programer = Pencari Bug?


Sebuah error pada aplikasi disebut dengan istilah bug, atau dalam Bahasa Inggris berarti kutu atau binatang kecil. Konon istilah bug muncul karena ditemukannya binatang kecil yang menyebabkan kerusakan pada sebuah komputer tabung pada tahun 1945.

Bug aplikasi terdapat pada kode program, yang dapat mengganggu kenyamanan pengguna aplikasi Anda. Pada tingkat tertentu, keberadaan bug cukup memberikan efek yang besar.

Anda mungkin belum melupakan saat dimana orang ramai membicarakan “Y2K Bug” atau bug tahun 2000, atau munculnya istilah “Blue screen of Death” pada sistem operasi Windows, atau “Kernel Panic” pada sistem operasi Linux, semua contoh tersebut menunjukkan sebuah bug serius dapat mengakibatkan dampak negatif yang cukup besar.

Proses mencari penyebab bug disebut dengan debug, yang juga merupakan tugas programer setelah menerima laporan bug. Walaupun demikian, jangan menjadikan pekerjaan Anda sebagai pencari bug, Untuk itu hanya ada satu cara, minimalkan bug pada aplikasi yang Anda buat.

Apa yang harus Anda lakukan untuk menghindari jenis-jenis kesalahan yang telah disebutkan di atas? Bisa jadi tidak ada program yang sempurna, tetapi selalu ada cara untuk mengatasi atau menghindari kesalahan semaksimal mungkin.

Selalu Deklarasikan Variabel

Syntax Error, bahkan Logical Error, mungkin terjadi jika terdapat penulisan variabel yang salah. Sebaiknya Anda mendeklarasikan variabel yang Anda gunakan walaupun bisa jadi bahasa pemrograman yang Anda gunakan mengijinkan untuk tidak melakukan deklarasi variabel.

Visual Basic merupakan salah satu bahasa pemrograman yang mengijinkan penggunaan variabel tanpa deklarasi, walaupun demikian disarankan Anda menggunakan deklarasi variabel. Hal tersebut akan memperkecil kesalahan penulisan variabel.

Masih dengan contoh Visual Basic, Anda dapat menambahkan perintah Option Explicit pada program untuk mencegah kesalahan tulis pada variabel, jika terdapat variabel yang belum dideklarasikan, maka Visual Basic akan menampilkan pesan kesalahan.

Anda sebaiknya memiliki suatu skema standard untuk pemberian nama variabel dan konsisten dengan penggunaannya. Contohnya berikan nama variabel diawali dengan huruf s jika bertipe data string, misalnya sResult, sTemp, dan lain-lain.

Pada Visual Basic maupun beberapa bahasa pemrograman lain yang berorientasi object, kita dapat mendeklarasikan variabel dengan tipe data object. Terdapat berbagai jenis macam object yang dikenal, dan sebaiknya Anda menuliskannya dengan lengkap object yang dimaksud. Misalnya object ListBox, Label, dan lain-lain.

Gunakan Variabel Lokal

Sangat disarankan agar Anda selalu menggunakan variabel lokal. Salah satu manfaatnya adalah jika terjadi kesalahan program (terutama Logical Error), maka penyebab kesalahan dan solusinya akan lebih mudah ditemukan. Hal ini dikarenakan variabel lokal memiliki ruang lingkup penggunaan yang lebih kecil dibandingkan variabel global, yang dapat diakses oleh procedure yang mana saja.

Penggunaan variabel global, sering menimbulkan kerancuan dan memperbesar kemungkinan terjadinya kesalahan tanpa disadari.

Kenali Jenis Bug

Bug yang timbul pada sebuah aplikasi memiliki karateristik. Karena itu selalu baca dan perhatikan baik-baik pesan kesalahan yang timbul. Beberapa jenis bug berdasarkan karakteristiknya adalah sebagai berikut:

1. Divide By Zero.
Jika pada sebuah pembagian, pembagi bernilai 0, maka program akan terhenti dan mengalami error.

2. Infinite Loop.
Pengertian loop adalah perulangan, yang sering digunakan dalam teknik pemrograman. Penggunaan loop yang salah dapat mengakibatkan program menjalankan sebuah procedure tanpa akhir.

3. Arithmatic overflow or Underflow.
Overflow terjadi saat sebuah perhitungan menghasilkan nilai yang lebih besar daripada nilai yang dapat ditampung oleh media/variabel penyimpan. Sementara underflow merupakan kebalikannya. Pada perhitungan aritmatik, hal ini sering ditemukan dan menjadi masalah.

4. Exceeding Array Bounds.
Array merupakan variabel berdimensi yang memiliki indeks. Saat program mengakses indeks diluar array yang ditentukan, maka akan mengakibatkan error.

5. Access Violation.
Hal yang terjadi saat sebuah proses mencoba melewati batas yang diijinkan oleh sistem. Misalnya menulis sebuah nilai pada alamat memory, segmen, atau media yang diproteksi.

6. Memory Leak.
Penggunaan memory yang tidak diinginkan, dapat terjadi karena program gagal melepaskan memory yang sudah tidak digunakan.

7. Stack Overflow or Underflow.
Stack merupakan struktur data dengan prinsip LIFO (Last In First Out), pada program Anda dapat mengimplementasikan logika stack untuk suatu tujuan. Tetapi jika stack melebihi atau dibawah nilai yang diijinkan oleh program, maka akan timbul kesalahan Stack Overflow/Underflow.

8. Buffer Overflow.
Buffer merupakan tempat penyimpanan sementara dalam teknik pemrograman. Buffer Overflow terjadi jika Anda menyimpan terlalu banyak data yang tidak dapat ditampung oleh buffer yang disediakan.

9. Deadlock.
Merupakan suatu kondisi dimana dua atau lebih proses saling menunggu satu sama lain untuk menyelesaikan prosesnya, dan tidak satupun dari proses tersebut yang selesai. Problem deadlock sering ditemukan pada multiprocessing.

10. Off By One Error.
Merupakan istilah untuk menggambarkan perulangan yang terlalu banyak atau terlalu sedikit. Misalnya perulangan yang dikehendaki adalah lima kali, tetapi kenyataan yang terjadi aplikasi mengulang proses tersebut sebanyak empat kali atau enam kali. Kesalahan ini pada umumnya terjadi karena kesalahan logika penulisan kode pada proses perulangan.

Berikan Komentar

Jangan kuatir kode program Anda dipenuhi oleh komentar. Karena akan lebih mudah bagi Anda untuk mempelajari lagi kode-kode program yang pernah Anda buat dengan membaca komentar.

Dengan mengerti kode program dengan baik, maka akan menjadi lebih mudah jika pada suatu saat terdapat Logical Error yang membutuhkan analisa ulang kode program.

Gunakan Log File

Informasi proses yang dijalankan aplikasi dan tersimpan pada sebuah log file (dapat berupa file text atau table) dapat menjadi informasi yang sangat berguna untuk menganalisa bug yang mungkin terjadi. Terutama informasi yang menjelaskan apa yang terjadi sebelum, selama, dan sesudah bug terjadi.

Untuk menghindari log file yang terlalu besar, Anda dapat memisahkan log file terbagi menjadi log untuk komponen-komponen utama pada aplikasi. Jangan lupa untuk selalu mencatat waktu (timestamp) pada setiap record. Anda dapat menghapus atau melakukan backup pada log file secara periodik.

Validasi

Tidak semua orang mematuhi aturan yang Anda terapkan pada aplikasi, karena itu Anda harus melakukan validasi untuk data yang dimasukkan oleh pengguna. Misalnya pada suatu form pendaftaran, Anda sebaiknya melakukan validasi untuk input yang tidak boleh kosong (mandatory/required fields), melakukan pembatasan karakter, dan validasi huruf/angka yang diperlukan.

Mengenal Environment

Saat Anda mengetikkan kode program, menjalankannya, atau melakukan debug pada program, Anda berada pada environment yang berbeda-beda. Terdapat 3 environment yang umum dikenal, yaitu:

1. Design Time.
Aplikasi yang Anda kerjakan dilakukan pada saat design time.

2. Run Time.
Saat menjalankan aplikasi.

3. Break Mode.
Environment saat Anda melakukan proses debug atau melihat kode program saat program tersebut dijalankan, Anda dapat melihat alur program dan perubahan nilai pada variabel, sehingga Anda dapat menelusuri kesalahan yang terjadi. Break Mode terletak diantara Design Time dan Run Time.

Lebih Jauh Mengenal Break Mode

Break Mode merupakan environment favorit programer untuk melacak kesalahan program atau dikenal dengan proses debug, terkadang memerlukan kesabaran dan ketelitian super tinggi, tetapi no pain no gain, bukan?

Dengan menjalankan Break Mode, aplikasi Anda akan dijalankan bertahap dari satu proses ke proses selanjutnya, Anda juga dapat menghentikan proses Break Mode setelah mendapatkan informasi yang cukup dalam proses debug.

Dalam menganalisa kesalahan di dalam kode program yang sangat panjang, akan sangat melelahkan jika Anda melakukan debug per-baris program dari awal hingga akhir. Untuk itu fasilitas breakpoint sangat penting untuk keperluan debug. Breakpoint mengijinkan Anda menandai baris dimana proses debug dimulai.

Posisi breakpoint tidak dapat ditempatkan pada baris:

1. Compiler Directive.
2. Deklarasi Variabel.
3. Baris Konstanta.
4. Baris yang kosong atau berisi komentar.

Pada saat memasuki Break Mode, umumnya terdapat beberapa instruksi yang dapat Anda gunakan untuk melakukan proses debug:

1. Step Into.
Menjalankan kode program baris per baris. Setelah satu baris dieksekusi, maka cursor akan berpindah pada baris dibawahnya. Jika baris yang dieksekusi merupakan suatu procedure, maka proses debug akan berpindah pada procedure tersebut dan akan menjalankan kode program didalamnya.

Dengan eksekusi per-baris ini, Anda dapat memantau nilai-nilai variabel yang dihasilkan, umumnya pada sebuah jendela terpisah yang menampilkan nilai-nilai variabel saat ini.

Setiap kali Anda mengeksekusi baris program, maka program akan dijalankan pada environment Run Time, dan kembali pada Break Mode saat selesai menjalankan baris tersebut.

2. Step Over.
Pada prinsipnya Step Over sama dengan Step Into. Hal yang membedakan hanyalah saat pemanggilan sebuah procedure. Jika pada Step Into, proses debug akan memasuki procedure yang dipanggil dan mengeksekusi kode program didalamnya baris demi baris, maka Step Over menjalankan procedure tersebut tanpa memperlihatkan baris program didalamnya.

Step Over dilakukan jika Anda hanya ingin melakukan proses debug pada satu level, atau jika Anda yakin procedure yang dipanggil telah berjalan dengan baik dan tidak memerlukan proses debug per-baris.

Step Over dan Step Into dapat digunakan bergantian tergantung kebutuhan Anda dalam menganalisa kode program.

3. Step Out.
Jika Anda telah berada pada suatu procedure dan ingin kembali pada baris dimana procedure tersebut dipanggil, maka gunakanlah Step Out. Step Out akan menjalankan semua baris program yang tersisa pada procedure tersebut, dan kembali pada Break Mode saat keluar dari procedure yang bersangkutan.

4. Run To Cursor.
Anda dapat menentukan baris selanjutnya dimana Anda ingin memulai proses debug yang baru. Proses ini mirip dengan breakpoint, hanya Anda tidak perlu menandai baris tersebut terlebih dahulu, tetapi langsung mengarahkan eksekusi program pada posisi tersebut.

Layar Penolong Saat Break Mode

Melakukan proses debug pada Break Mode tidak akan menghasilkan sesuatu yang signifikan jika Anda tidak mengetahui apa saja yang terjadi pada variabel-variabel yang dieksekusi. Untuk itu Anda memerlukan layar penolong, yang dapat dikategorikan sebagai berikut:

1. Layar Immediate.
Jika layar ini diaktifkan, Anda dapat mengetikkan variabel atau perhitungan untuk melihat nilainya. Anda bahkan dapat mengubah nilai variabel yang sedang berjalan sehingga mempengaruhi proses debug selanjutnya.

Anda dapat mengetikkan object debug pada baris program sehingga menampilkan nilai variabel yang ingin Anda monitor pada Layar Immediate, contoh perintah object debug adalah debug.print.

Pada Visual Basic 6.0, Anda dapat mengaktifkan Layar Immediate dengan memilih menu View – Immediate Window.

2. Layar Local.
Layar Local akan menampilkan seluruh nilai variabel pada procedure yang sedang aktif/dijalankan pada saat Break Mode, sehingga Anda dapat memonitor perubahannya tanpa perlu mengetikkan masing-masing variabel atau menggunakan object debug seperti pada Layar Immediate.

Selain itu, Layar Local juga menampilkan hirarki object dan property yang terdapat pada form yang aktif.

Pada Visual Basic 6.0, Anda dapat mengaktifkan Layar Local dengan memilih menu View – Locals Window.

3. Layar Watch.
Digunakan untuk melihat nilai variabel pada konteks yang telah ditentukan, misalnya pada procedure tertentu. Anda harus terlebih dahulu mendefinisikan variabel atau expression yang ingin Anda tampilkan. Expression adalah sebuah instruksi untuk menjalankan sesuatu yang menghasilkan sebuah nilai, x = 1 adalah contoh sebuah expression sederhana.

Terkadang Anda memerlukan Watch jika Anda memiliki nama variabel yang sama tetapi terletak pada procedure/konteks yang berbeda. Layar Watch juga sangat berguna karena Anda dapat menentukan expression, dimana pada saat kondisi nilai expression tersebut terpenuhi atau berubah, maka program akan berada pada Break Mode.

Pada Visual Basic 6.0, Anda dapat mengaktifkan Layar Watch dengan memilih menu View – Watch Window. Untuk menambahkan variabel/expression, pilih menu Debug – Add Watch, atau Debug – Quick Watch.

4. Layar Call Stack.
Sering terjadi pada saat melakukan proses debug, Anda tersesat dan kehilangan alur karena terlalu banyak procedure dan modul yang dieksekusi. Pada saat ini Layar Call Stack sangat diperlukan.

Call Stack menunjukkan alur proses debug dengan menampilkan procedure yang dieksekusi secara berurutan. Sehingga Anda dapat mengetahui procedure pemanggil dan procedure yang dipanggil.

Pada Visual Basic 6.0, Anda dapat mengaktifkan Layar Call Stack dengan memilih menu View – Call Stack.

Langkah Pelaksanaan

Anda telah meminimalkan kesalahan, Anda telah mengenal dan memiliki tools untuk menanggulangi kesalahan, tetapi masih terdapat bug yang ditemukan dan harus ditanggulangi. Berikut adalah langkah mengatasi bug:

1. Kenali Keberadaan Bug.
Programer yang berpengalaman sering telah dapat mengira-ngira penyebab terjadinya bug, beberapa proses yang rumit pada aplikasi dapat menyebabkan kesalahan saat digunakan oleh user. Contohnya saat aplikasi membutuhkan data input dengan format tertentu, tetapi user menyediakan data input dengan format yang salah.

Jika respon aplikasi adalah dengan menampilkan pesan kesalahan dan menghentikan proses, kesalahan akan dapat lebih mudah diperbaiki. Sedangkan kesalahan yang diketahui karena hasil yang tidak diinginkan tidak sesuai dengan hasil yang diharapkan, tetapi aplikasi tetap berjalan dengan baik justru akan lebih sulit diperbaiki.

Tujuan dari langkah ini adalah mengenali penyebab bug, dengan menganalisa dalam kondisi apa bug terjadi, maka akan lebih mudah untuk melangkah ke tahap selanjutnya.

2. Memisahkan Kode Program yang Mengandung Bug.
Setelah menemukan penyebab dan kondisi yang menghasilkan bug, Anda dapat memisahkan kode program yang bermasalah tersebut untuk diperiksa. Langkah ini memerlukan testing yang berulang-ulang untuk memastikan kode program yang bermasalah.

Lakukan testing secara berurutan, misalnya apakah input sudah benar, terbaca dengan benar, diproses dengan benar, dan seterusnya.

Langkah ini akan lebih mudah jika Anda membuat aplikasi dengan konsep pemrograman modular yang membagi-bagi program yang besar ke dalam sub modul atau procedure yang terpisah.

Jika terdapat suatu procedure yang menerima input dengan benar tetapi menghasilkan output yang salah, maka dapat dipastikan letak bug terdapat pada procedure tersebut.

3. Identifikasi Penyebab Bug.
Setelah menemukan lokasi kode program yang mengandung bug, langkah selanjutnya adalah mengidentifikasi penyebab bug. Pemahaman yang baik akan ruang lingkup aplikasi tersebut adalah kunci sukses mencari sumber bug.

Hal yang cukup berbahaya adalah jika Anda kurang memahami alur aplikasi dan mengubah kode program untuk memperbaiki bug yang ada, tetapi ternyata menciptakan bug yang lain.

4. Memperbaiki Bug.
Dengan mengidentifikasi sumber bug dengan tepat, mungkin akan timbul beberapa langkah perbaikan bug, pilihlah yang terbaik dan tidak mengganggu proses lainnya. Terkadang Anda dapat menemukan bug lain yang belum dilaporkan, eliminasi semua bug yang mungkin muncul.

5. Testing.
Setelah bug diperbaiki, adakan testing dengan tujuan memastikan apakah bug telah dapat ditanggulangi dan tidak muncul lagi, dan apakah perbaikan yang dilakukan tidak memiliki efek yang tidak diinginkan.

Basmi Sebelum Dilaporkan

Percaya atau tidak, ada beberapa pengguna aplikasi yang cukup kreatif menyikapi bug dengan cara sendiri dan memiliki resep khusus dengan mempelajari pola dan karakteristik aplikasi, sehingga bug dapat dihindari dengan melakukan langkah-langkah tertentu.

Contohnya ada aplikasi yang tidak dapat berjalan saat aplikasi tertentu aktif pada saat bersamaan, atau aplikasi yang baru berjalan baik pada resolusi layar tertentu. Ada baiknya Anda memperbaiki bug yang Anda temukan dan melakukan update pada pengguna, walaupun bug tersebut tidak dilaporkan.

Hal ini tentu akan menambah kredibilitas Anda, dan yang terpenting, aplikasi Anda akan menjadi lebih nyaman bagi pengguna.

Sabtu, 03 Agustus 2013

CARA MENGATASI PROGRAM STOP WORKING

Kadang-kadang kita pernah ngalamin problem program NOT RESPONDING yang bikin kita biasanya langsung neken Ctrl + Alt + Del, trus klik Start Task Manager.kemudian klik End Task buat nutup aplikasi yang hang itu. Agan2 tau engga klo ada file namanya taskkill.exe yang merupakan aplikasi bawaan windows,so kita bisa nutup aplikasi not responding dengan jauh lebih mudah

Caranya adalah dengan membuat shortcut ke file taskkill.exe dengan langkah-langkah sebagai berikut:

=> Klik kanan desktop Anda, Pilih ‘Create New Shortcut’
=> Copy-paste kode di bawah ke field location shortcut

taskkill.exe /f /fi “status eq not responding”


Setelah melakukan langkah di atas maka akan ada sebuah shortcut dengan nama ‘taskkill’.Dengan men-double click shortcut tersebut, komputer akan secara otomatis mengidentifikasi dan menutup setiap program ‘Not Responding’.

Jumat, 19 Juli 2013

PCMAV 9.2 RILIS.

 
PC Media Antivirus salah satu antivirus buatan Indonesia yang cukup populer dan terbukti ampuh dalam membasmi berbagai macam jenis virus / worm dan variannya, baik virus luar maupun virus lokal. Saat ini tercatat lebih dari 7.143 jenis virus yang dapat dideteksi dan di pulih oleh PCMAV.
Selain itu, database dan fiturnya cukup sering diupdate sehingga menjadi PCMAV sebagai software antivirus yang wajib terinstall di komputer Anda. PCMAV sendiri di kembangkan oleh tim PC Media, sebuah majalah yang membahas mengenai permasalah komputer dan IT.

Dengan PCMAV, Anda akan mendapatkan antivirus yang bukan hanya sekadar mendeteksi namun daya basminya yang tangguh mampu memburu 99.9% virus yang dikenal sampai ke "akar-akarnya", tanpa menimbulkan kerusakan pada file maupun sistem yang terinfeksi.

Perpaduan keunikan fitur serta keakuratan dan kepedulian terhadap keselamatan sistem, file dan dokumen Anda, memberi kesempurnaan sebuah antivirus pada PCMAV. PCMAV, dalam mendeteksi virus, selain menggunakan engine-nya sendiri, juga dapat dipadukan dengan ClamAV. Kombinasi yang dihasilkan dari keduanya sungguh dahsyat untuk mendeteksi virus komputer.

Changelog:
  • ADDED! Removal engine khusus untuk membersihkan secara tuntas worm MSIL-Autorun yang menyebar luas di Indonesia.
  • UPDATED! Ditambahkan database pengenal dan pembersih 59 virus lokal/asing/varian baru yang dilaporkan menyebar di Indonesia. Total 7143 virus beserta variannya.
  • IMPROVED! Perubahan nama virus mengikuti varian baru yang ditemukan.
  • IMPROVED! Penambahan menu pembatalan proses pembersihan virus yang sedang berlangsung.
  • FIXED! Perbaikan Attribute Fixer dalam mengembalikan atribut file atau folder yang tersembunyi.
  • IMPROVED! Penambahan fitur update file cure.dll secara online.
  • FIXED! Perbaikan rutin pembersihan pada virus Craft dan Fanny.
  • IMPROVED! Perbaikan beberapa minor bug dan improvisasi kode internal untuk memastikan bahwa PCMAV tetap menjadi antivirus kebanggaan Indonesia.

Kamis, 27 Juni 2013

PCMAV Express for Dorifel Final

PCMAV Express for Dorifel.
PCMAV Express for Dorifel
Dorifel. Virus yang dapat menginfeksi file dokumen Microsoft Word (*.doc), Microsoft Excel (*.xls), dan executable file (*.exe). Pada file yang terinfeksi, file asli dienkripsi oleh virus dengan menggunakan metode enkripsi RC4.
A. Tentang Virus
Nama: Dorifel, beberapa antivirus mengenalinya dengan nama Quervar atau DocCrypt.
Ukuran: bervariasi tergantung variannya, kurang lebih berkisar dari 100KB – 300KB
Info : Menginfeksi dokumen *.doc, *.xls, dan file executable.
B. Companion/File yang dibuat
Dorifel menciptakan file dropper dengan nama acak pada folder Application Data, juga terdapat file *.ini dan shortcut *.lnk pada komputer yang terinfeksi. Pada varian tertentu Dorifel juga menciptakan file DLL dengan nama xpsp2res.dll (mengikuti nama salah satu file DLL Windows) yang diletakkan pada folder Windows jika komputer korban menggunakan sistem operasi Windows XP. DLL dari virus ini menginjeksi explorer.exe dan berusaha mempertahankan dirinya agar tetap aktif.
C .Aksi
Dorifel menginfeksi file targetnya dengan cara menaruh file asli dalam keadaan terenkripsi pada akhir  file executable Dorifel, sehingga pada setiap file yang telah terinfeksi Dorifel akan memiliki data overlay yang menyimpan file asli. Dorifel menggunakan marker khusus sebagai penanda mulainya byte yang merupakan file asli yang terenkripsi dengan algortima RC4, marker tersebut berbeda-beda tergantung varian Dorifel, antara lain adalah:
[+++scarface+++]
[---zxfgthbv---]
[---deadline---]
Agar file dokumen yang terinfeksi tetap dapat dieksekusi oleh user, maka Dorifel mengubah extensionnya menjadi *.scr (khusus untuk file *.exe  yang terinfeksi, extension tidak berubah). Dorifel juga menambahkan karakter unicode tertentu yang membuat nama file yang terinfeksi tidak terlihat extensionnya di Windows Explorer Windows Vista atau yang lebih baru, sehingga user tidak menyadari bahwa file tersebut adalah file executable dengan extension *.scr. Contoh file dokumen yang telah terinfeksi terlihat pada gambar berikut:
Dokumen Terinfeksi Dorifel

D. Pembersihan
Untuk pembersihan tuntas termasuk mengembalikan file-file yang terinfeksi seperti semula, gunakan PCMAV Express for Dorifel yang dapat didownload melalui link di bawah ini.

Minggu, 24 Februari 2013

Hacker

Injeksi Executable dengan OllyDbg


kali ini kita coba menginjeksi File winmine.exe atau game dari windows yang menjinakkan ranjau ranjau itu,tau kan biasanya ada di direktori: C:\windows\system32\  dengan nama file winmine.exe


Okay sekarang kita coba menginjek eh menginject permainan tersebut, jika anda berhasil menginjeksi file winmine.exe yang aslinya aplikasi tersebut kalau di-klik 2 kali file-nya akan muncul seperti gambar berikut:

Ok langsung aja caranya:

1. Setelah mendownload Ollydbg dari situs www.ollydbg.de , extract file ollydbg tersebut, kemudian buka, maka akan muncul aplikasi seperti pada gambar di bawah ini:



2. Setelah itu klik di aplikasi ollydbg tersebut menu File -> Open , cari file winmine.exe yang ingin diinjeksi


3. Nah .. setelah terbuka…maka ollydbg akan menampilkan dalaman, atau sourcecode winmine.exe dalam bahasa assembler tentunya seperti gambar berikut:

4. Langkah selanjutnya adalah mencari CAVE apa itu cave??? Umh.... di tiap aplikasi yang dibuat, pasti ada ruang kosong yang entah sengaja disediakan atau memang tidak sengaja ada. CAVE adalah ruang kosong yang mempunyai kode ‘DB 00’ atau berarti kosong, nah dari ruang kosong inilah kita akan mencoba menginjeksi tanpa harus membuat aplikasi tersebut rusak, sehingga ketika aplikasi asli dijalankan, script virus kita dapat berjalan juga …, cave ini letaknya tidak tentu, bias diawal, di tengah atau di akhir baris program, tapi biasanya ada di akhir program, coba sekarang kita geser aplikasi tersebut ke baris paling bawah, maka ada ruang cave-nya seperti pada gambar berikut:


5. Setelah ketemu cave-nya, letakkan kursor km di bawah skrip ’ DB 00’ atau setelah cave pertama, seperti pada gambar, kemudian tekan tombol keyboard ke bawah sebanyak 20 kali, fungsiny disini untuk memesan alamat sebanyak 20 ruang (yang dipesan akan ditandai dengan blok atau shading berwarna abu abu):

6. Setelah itu tekan CTRL + E, maka akan muncul kotak sbb:

7. Isi kotak tersebut dengan kaliamat atau apa gitu, teserah km aja, kalau saya sih lebih suka kalimat TES AJA GITUH, setelah itu klik OK, maka akan terlihat di sana skrip yang diedit akan berwarna merah. Jangan panik, biarkan saja, kemudian tekan CTRL + A agar ollydbg bisa menganalisis skrip tersebut, jika benar, maka di badan program akan ditampilkan tulisan yang km tulis tadi.
setelah di CTRL+A


8. Setelah itu arahkan kursor dibawah skrip yang diedit tadi, dan klik 2 kali, maka akan muncul kotak sbb:


9. Lalu ketik ‘PUSH 0’ (tanpa tanda petik, kemudian klik tombol Assemble



10. Lakukan seperti langkah di atas, Cuma bedanya kalimat yang diketik berbeda, yaitu:

PUSH ADDRESS
PUSH ADDRESS
PUSH 0
Call user32.MessageBoxA

CATATAN:Pada skrip PUSH ADDRESS tadi, kata ADDRESS-nya diganti alamat yang lo tulis kalimat pertama tadi, alamatnya dilihat di sebelah kiri, seperti yang ditunjukkan pada gambar:


11. Jika sudah tertulis semua seperti pada gambar di bawah ini:


tekan tombol bintang atau * pada keyboard, maka ollydbg akan menunjukkan alamat origin atau alamat pertama kali program ini akan dijalankan ketika dibuka, ditunjukkan pada blok atau shading berwarna abu - abu :


Bisa dilihat alamat origin berada pada 01003E21 dengan script PUSH 70

12. Klik 2 kali pada alamat tersebut, kemudian ganti dengan script:
JMP ADDRESSPERTAMA
Dimana ADDRESSPERTAMA adalah alamat script PUSH 0 pertama terletak, yaitu pada alamat 01004A64 , sehingga lo harus menuliskannya dengan:

JMP 01004A64



13. Selanjutnya perhatikan baris yang telah kita ubah (berwarna merah), dibawahnya ada script:

01003E26 90 NOP

Hapalkan atau catat di notepad alamat 01003E26, kemudian arahkan kursor ke baris akhir kode injeksi, yaitu terletak pada bawahnya script CALL user32.MessageBoxA

14. Klik 2 Kali pada alamat tersebut, kemudian tulis script:

JMP ADDRESSKEDUA

Dimana ADDRESSKEDUA adalah alamat yang lo hapalkan atau lo catat di notepad tadi, yaitu 01003E26, sehingga lo harus menuliskannya sbb:

JMP 01003E26

15. Selesai sudah injeksi kode dengan manual, klik kanan mouse lo, kemudian pilih Copy to executable -> All modifications , kemudian klik copy all, maka akan muncul kotak baru, kemudian klik kanan dan klik Save File, dan simpan dengan nama lain, misalnya winmineinjek.exe

16. Jalankan file winmineinjek.exe, apa yang terjadi..? anda berhasil menginjeksi game winmine mengubahnya menjadi tampilan message box atau kotak pesan, nah itu baru menginjeksi dengan skrip kotak pesan atau message box, gimana kalau menginjeksinya dengan mengaktifkan program?..
silahkan di coba sendiri..


Hardware

Mengatasi Speaker yang bermasalah

Mungkin speaker komputer anda tidak sebesar pada gambar diatas =) tapi pernahkan anda mengalami speaker yang tiba-tiba tidak berfungsi atau setelah instal ulang windows atau setelah bongkar pasang CPU ,speaker menjadi bisu mendadak?
sebelum anda melempar speaker anda ke tempat sampah [karena dianggap rusak],ada baiknya kita melakukan cek dan ricek terlebih dahulu. mari kita telusuri dan pelajari apa saja yang membuat speaker rusak dan cara mengatasinya

Pertama:
Jika setelah bongkar pasang CPU,speaker anda tidak bisa mengeluarkan suara,tapi jika dilihat volume sudah di set 100 persen,bass,treble sudah OK tapi tetap windows tidak bisa bersuara?solusinya:
lihat konektor speaker yang terhubung ke komputer,biasanya pada CPU terdapat beberapa konektor yang agak mirip [atau memang mirip] sehingga anda salah menghubungkannya,jika dilihat pada CPU,terdapat tulisan seperti speaker,line out dan sebagainya,ya hubungkan di situ atau buka buku manual hardware anda untuk memastikannya
Kedua:
Setelah instal ulang OS [sistem operasi],speaker anda tidak mengeluarkan suara,sehingga saat anda memainkan lagu linkin park atau menyetel video Oppa Gangnam Style tidak keluar suara sepatah katapun =)
padahal volume sudah 100% [tidak dalam posisi mute] dan konektor terhubung dengan benar,solusinya:
cek driver yang anda gunakan,apakah sudah di instal apa salah tipe driver,sesuaikan..untuk melakukan cek,silahkan buka dxdiag dengan cara winkey + R,ketik dxdiag kemudian enter
Ketiga:
Konektor sudah benar,driver sudah benar,volume sudah ON,kemarin masih menyala tapi kok hari ini sepaker saya tidak bisa menyala?
solusinya:
cek software yang anda gunakan,apakah volume di softwarenya dalam keadaan 0 persen atau mute?
cek tombol power pada speaker,apa sudah menyala atau di tekan ON?
cek konektor,apakah kencang atau tidak?
cek kabel power speaker,apa sudah terpasang atau belum =)
sekian ^_^
semoga bermanfaat

Hardware

Membaca DVD melalui CD-ROM

trik berikut berguna untuk memodifikasi CD-ROM agar bisa membaca atau menjalankan DVD,
ayo kita mulai :

Ada dua jenis CD-ROM drive kita dapat modifikasi:
40x 24x
40x atau lebih tinggi

CD-ROM yang lebih lambat dari 24x tidak bisa dimodifikasi

Kepala Laser Penyesuaian:
Track pitch default CD adalah 1,6 mikron, dan pitch melacak DVD hanya 0,8 mikron. Panjang minimum lubang melacak CD adalah 0.843mm, dan panjang minimum dari lubang melacak DVD 0.293mm. Itu sebabnya DVD disc dapat menyimpan lebih banyak data dalam ukuran CD.
berada pada situasi ini, kita perlu menyesuaikan kepala laser sehingga dapat membaca disk dengan melacak pitchs kecil dan lubang trek pendek. Buka drive CD-ROM, apakah Anda melihat sebuah lensa pada rel? Itulah kepala laser. Di sisi laser kepala, ada sekrup yang Anda dapat sesuaikan.
   ini adalah kunci sekrup modifikasi,penyetelan ini dapat menyesuaikan ukuran sinar laser yang berada di disk. setelah disesuaikan, sinar laser harus kurang dari 0.293mm, untuk memenuhi kebutuhan DVD disc. Maka aturlah sekrup 2-3 kali.hal ini perlu latihan berkali-kali untuk memastikan hasilnya. Tandai dengan pensil, jika anda melupakan berapa kali Anda mengatur sekrup.

Kecepatan penyesuaian:
DVD-ROM drive dapat memutar film DVD mulus pada kecepatan 4x. Kalau kita Modifikasi sebuah 32x CD-ROM, kecepatan rotasi jelas terlalu tinggi, meningkatkan panas, dan memperpendek usia dari cd-rom drive tersebut.
  Jadi kita perlu menurunkan kecepatannya,Kebanyakan orang tahu bahwa pasokan listrik dapat menyediakan 5V (kawat merah) dan 12V (kawat kuning) keluaran listrik untuk Molex konektor. Temukan Molex Konektor Anda akan pasang ke dalam drive CD-ROM modifikasi, potong kabel kuning atau melindungi dengan pita, jadi hanya 5V dari listrik ditransfer ke CD-ROM drive. Kecepatan drive sekarang 32 * 5 / 17 = 9.41x dan sekarang dapat memenuhi persyaratan DVD.

40x atau lebih tinggi CD-ROM
kebanyakan pabrikan sudah memproduksi DVD-ROM drive. Untuk menurunkan biaya, mereka menggunakan inti yang sama sebagai DVD-ROM drive dengan fungsi DVD dinonaktifkan. Apa yang perlu kita lakukan di sini adalah untuk mengaktifkan kembali fungsi DVD.
Buka CD-ROM, di belakang papan sirkuit, mencari jumper yang mengatakan DVD JUMP. Cari jumper untuk menghubungkan pelompat ini. Kawat logam tipis juga bekerja dengan baik.
OK, jadi DVD fungsi terkunci, tetapi kita masih perlu untuk mengurangi kecepatan. Gunakan petunjuk di atas tentang cara mengurangi kecepatan cd-rom drive.

Catatan:
Modifikasi cd-rom drive tidak dapat terdeteksi di POST, itu berarti Anda tidak dapat menggunakannya di DOS. Tapi begitu Anda masuk ke Windows, cd-rom drive bekerja dengan baik.
Modifikasi drive TIDAK MUNGKIN membaca Blu-Ray :p.

semoga jadi masukkan yang berguna ya?
^-^

Virus

Analisa Trojan OptixPro


Siapa yang tidak kenal Trojan OptixPro? anda tidak kenal? waduh coba search di google terlebih dahulu =)
hehe.. Trojan OptixPro adalah Trojan lama [jadul] tapi berkemampuan cukup menarik untuk belajar cara kerja sebuah Trojan atau membuat Trojan,OptixPro terdiri dari 2 bagian yaitu Builder untuk membuat server Trojan dan Clientnya.

catatan: saya tidak menjelaskan bagaimana cara membuat Trojan dengan Optixpro Builder atau fungsi-fungsi yang terdapat pada Trojan hasil buildernya,karena banyak artikel diluar sana yang "kembar" tentang cara membuatnya.

Ciri yang paling terlihat dari OptixPro adalah pemakaian Iconnya dan mengcopy dirinya sendiri ke System32 beserta pesan fake yang terkadang muncul seolah program yang dijalankan rusak atau corrupt.Setelah di eksekusi,

OptixPro akan memulai aksinya dengan:
Mencopy dirinya ke folder System32
Memodifikasi Registry
machine\software\microsoft\RAS Autodial\Control\LoginSessionDisable = 01000000
machine\software\microsoft\RAS Autodial\Control\DisableConnectionQuery = 01000000
machine\software\microsoft\Windows\CurrentVersion\Explorer\BitBucket\NukeOnDelete = 00000001
machine\software\microsoft\Windows\CurrentVersion\Run\GLSetIT32 = C:\windows\system32\namafile.EXE
user\current\software\Microsoft\RAS Autodial\Control\LoginSessionDisable = 01000000
user\current\software\Microsoft\RAS Autodial\Control\DisableConnectionQuery = 01000000

Memonitoring layar Monitor
Mendapatkan Nama Computer 


Melumpuhkan service-service antivirus dan firewall


\ViRobotXP\vrmonsvc.exe
 alerter
 AntiVir Update
 AntiVirService
 aswUpdSv
 avast! Antivirus
 AvgServ
 AVKService
 AVKWCtl
 AVSync Manager
 AvSynMgr
 AVWUpSrv
 bdss
 BlackICE
 ccEvtMgr
 ccPwdSvc
 ccPxySvc
 ConfigInterpreter
 DeerfieldFirewall
 eScan-trayicos
 eTrust VPV
 FireballDTA_srv
 FSAA
 F-Secure Network Request Broker
 FSMA
 Guard NT
 GuardDogEXE
 InoRPC
 InoRT
 InoTask
 Internet Connection Firewall (ICF) / Internet Connection Sharing (ICS)
 InVircible Scheduler
 KAVMonitorService
 kavsvc
 McAfee Firewall
 McShield
 mcupdmgr.exe
 MCVSRte
 minilog
 MpfService
 NAV Auto-Protect
 NAVAP
 navapsvc
 NAVENG
 NAVEX15
 NBFIREWALL
 NISSERV
 NISUM
 NOD32ControlCenter
 NOD32Service
 Norman NJeeves
 Norman ZANDA
 Norton AntiVirus Auto Protect Service
 NProtectService
 nvcoas
 NVCScheduler
 NVSVC32
 OutpostFirewall
 PAVSRV
 PccPfw
 PER Antivirus OnAccess Scanner
 PersFw
 protector plus service
 protector plus service (UnRegisted)
 QhInstaller
 Quick Heal Online Protection
 SBService
 SharedAcces
 SharedAccess
 SmcService
 SOSSRV
 SpIDer Guard for Windows NT
 SVW3
 SweepNet
 SWEEPSRV.SYS
 SymProxySvc.exe
 TGB::BOB! Starter
 TGBBOB
 Tmnsrv
 Tmntsrv
 tmproxy
 TrueVector Internet Monitor
 UmxAgent
 vexeria update
 vexira antivirus
 ViRobot Expert Monitoring
 VisNetic Antivirus Plug-in
 vsmon
 VSSERV
 WinRoute
 WinRoute Pro 4.2
 XCOMM

Melakukan Listening pada port
Membuat Startup pada registry 
"Software\Microsoft\Windows\CurrentVersion\Run"

Antivirus

Menggabungkan Clamav dengan AntiVirus Kita


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 dua ratus ribu (WOW).

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 :)

 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:
   --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 kita,kita hanya perlu menggunakan parameter-parameter tersebut supaya AntiVirus kita dapat bergabung dan bekerja sama dengan Clamav.contohnya 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 menampilakn 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\\ByteCode AntiVirus 1.0.4\\Clamav\\clamscan.exe", (parameters), (ScanPath), SW_SHOWNORMAL);

arti perintah shell execute diatas adalah melakukan eksekusi clamscan.exe yang berada di direktori kemudian mengatur parameternya dan menentukan lokasi folder yang akan discan (scanpath)
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:
 semoga membantu anda ^^
salam

Virus Analyst


Tools Analisa Malware

Berikut ini saya berbagi tools lengkap dalam melakukan analisis malware.tools memang memudahkan kita dalam melakukan analisa malware,tapi ada baiknya sambil dipelajari lebih dalam lagi dan anda akan mengetahui seberapa "indahnya" malware itu dan mungkin sampai tahap pembuatan removalnya [bahkan sampai membuat tools untuk analisa sendiri yang tentunya bermanfaat bagi orang lain] =)
Untuk Virtualisasi

Untuk Assembly
WinAsm (IDE) - http://www.winasm.net/
Untuk Disassembler
Untuk Analisa PE [portable Executable]
Analisa Process:
Jaringan
Monitoring file dan registry
Lainnya
VirusTotal - http://www.virustotal.com/

Artikel ini dibuat oleh Abdurrahman,segala macam bentuk pengcopyan atau menyalin sebagian atau seluruh halaman ini,dapat dikenakan sanksi dan melanggar Hak Cipta Abdurrahman sebagai Blogger