W32Dasm 8.93
oleh
CHuPaCaBRa
Tutorial saya kali ini akan menjelaskan sedikit mengenai penggunaan W32Dasm 8.93 sebagai salah satu ToolZ yang juga sering digunakan oleh para Kraker.
Berbeda dengan SoftICE yang digunakan sebagai debugger, W32Dasm adalah program Disassembler yaitu program yang menampilkan listing program ( disebut 'dead listing' ) dari program target tertentu. Tentu saja untuk mengerti listing program yang tertulis, anda harus menguasai bahasa Assembly.
Berikut akan saya terangkan beberapa fasilitas W32Dasm yang sering digunakan untuk kraking :
- Membuka File
Untuk merubah suatu file tertentu, anda dapat menggunakan menu Disassembler - Open File to Disassemble.Beberapa format program yang dapat dibaca oleh W32Dasm adalah :
Setelah anda memilih program yang menjadi target anda, dalam beberapa saat, W32Dasm akan merubah file target tersebut menjadi sebuah listing program.
- Menyimpan file
Setelah file target selesai di-disassembly, anda dapat menyimpannya dengan menu Disassembler - Save Disassembly Text File and Create Project File. Listing program tersebut akan disimpan ke dalam 2 buah file *.alf dan *.wpj.
Sebagai catatan, dalam menggunakan W32Dasm, sebaiknya anda memperhatikan besar file target anda karena hasil dari Disassembly tersebut bisa cukup besar. Sebagai gambaran, sebuah file target yang besarnya 500 KB akan menghasilkan sebuah file alf ( *.alf ) sekitar ± 8 MB dan file wpj ( *.wpj ) dengan besar sekitar 300 KB.
- Interface W32Dasm
Pada bagian Assembly Code Listing, anda akan melihat berbagai baris - baris perintah dalam kode Assembly seperti ini :
:00401000 0410 add al, 10
Keterangan :
:00401000 ==> offset dari baris perintah yang bersangkutan
0410 ==> kode hexa dari perintah pada baris tersebut.
add al, 10 ==> perintah assembly pada offset tersebut.
Selain itu juga terdapat keterangan seperti berikut ini :
* Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00401070(C) |
Maksud dari keterangan di atas adalah kelompok perintah di bawahnya dijalankan setelah adanya Unconditional / Conditional Jump dari alamat 00401070. Untuk menuju ke alamat tertentu, anda dapat menggunakan menu Goto - Goto Code Location dan memasukan alamat yang dituju.
- HotKey
Ada beberapa HotKey yang bisa digunakan pada W32Dasm yaitu :
- String Data References
Fungsi ini adalah fungsi yang cukup penting yang dimiliki oleh W32Dasm. Fungsi String Data References ini akan menampilkan daftar String yang ada dalam program target yang bersangkutan. Fusngi ini berguna kalo ingin melihat lokasi procedure yang memanggil 'nag message' atau sejenisnya. Dengan mengetahui lokasinya, kita dapat mengetahui secara tepat lokasi di program tersebut yang dapat di-patch untuk menghilangkan 'nag message'. Tentu saja fungsi ini tidak hanya melulu untuk menghilangkan 'nag message', fungsi ini bisa digunakan untuk keperluan lain yang menyangkut Data - data String.
- Penutup
Keterangan di atas hanyalah sebagian dari kemampuan W32Dasm. Program ini sebenarnya juga mampu melakukan 'live debuging' seperti layaknya SoftICE, tetapi bagi yang terbiasa dengan SoftICE, akan merasa kebingungan melihat interface-nya. Untuk lebih memahami kegunaan W32Dasm ini, aku sarankan untuk membaca tutorial - tutorial Kraking lain yang menggunakan W32Dasm karena untuk mengerti penggunaannya - IMHO - program ini harus dicoba langsung.
© Mei 1999