Menembus Proteksi Password dan Serial Number Pada Program Dengan Trik Win32 Hook
Latar belakang
Mungkin dalam keseharian ada di antara kita yang tidak sengaja menghilangkan Password atau Serial Number dari program yang sudah kita beli. Kalau sudah begitu tentunya repot. Untuk mendapatkannya kembali bisa saja dengan menghubungi toko retail maupun vendor program tempat program tersebut dibeli. Namun, jika ada peraturan dari vendor yang mengharuskan membeli ulang password maupun serial number yang hilang, bagaimana? Bagi Anda mungkin itu bukan masalah . Tapi bagi Saya itu mungkin salah satu masalah besar.
Dari kasus inilah Saya mencoba menerapkan kegunaan Win32 Hook. Sekedar informasi, teknik seperti ini sering digunakan oleh para Reverser di dunia Reverse Engineering. Untuk melakukan debugging file berukuran besar bukan hal yang mudah, memerlukan waktu lama dan harus didukung dengan hardware yang cukup mewah. Bayangkan saja debugging file berukuran diatas 100 MB dan didalamnya mengandung Crypto RSA?!?! Kalau Saya sih membayangkan saja sudah tidak mau, apalagi benar-benar mempraktekkannya.. MALAS!:)
Paper ini bukanlah sebuah tutorial, tetapi hanyalah sebuah informasi. Implementasi dari pemikiran Saya dengan menerapkan Win32 Hook. Jadi jangan berharap lebih ya? . Karena disini Saya tidak mengajak Anda melakukan proses Reverse Engineering ataupun Coding secara mendalam.. MALAS! Mungkin lain kali.. tapi gak janji loh..
Teori
Sekedar pengetahuan bagi Anda yang mungkin masih awam dengan istilah pemrograman dan dunia komputer, serta bagi Anda yang bukan Programmer (karena Anda berarti sama seperti Saya..
)Hook atau Win32 Hook merupakan salah satu point mekanisme penanganan pesan (Message-Handling) di dalam Microsoft Windows. Dimana sebuah aplikasi dapat menginstal suatu sub-rutin untuk memonitor lalu lintas pesan didalam sistem dan beberapa proses tertentu dari pesan tersebut sebelum mencapai prosedur jendela target.
Sekedar pengetahuan bagi Anda yang mungkin masih awam dengan istilah pemrograman dan dunia komputer, serta bagi Anda yang bukan Programmer (karena Anda berarti sama seperti Saya..
Hook itu sendiri termasuk dalam kategori Handles and Object. Dan masuk dalam spesifikasi User object. Lantas mengapa hal “ANEH” ini diperlukan dalam teknik pemrograman?? Ada 2 alasan..
Pertama, penggunaan obyek dapat memastikan bahwa pengembang (Developer/Programmer) tidak menulis kode secara spesifik untuk low-level, struktur internal. Hal ini memungkinkan Microsoft untuk menambahkan atau mengubah kemampuan sistem operasi, sepanjang pemanggilan konvensi yang asli terjaga. Jadi jika suatu saat Microsoft meluncurkan Operating System, aplikasi yang dibuat oleh para developer ini akan mendapatkan kemampuan baru dengan sedikit penambahan atau tidak sama sekali.
Kedua, pemakaian obyek memungkinkan pengembang (Developer/Programmer) mendapatkan keuntungan dari keamanan Win32. Masing-masing obyek mempunyai daftar kendali akses sendiri (access-control list /ACL) yang menetapkan jenis-jenis tindakan proses dapat berjalan pada obyek. Operating System menguji suatu obyek ACL setiap kali sebuah aplikasi mencoba untuk menciptakan handle pada obyek.
Windows APIs
SetWindowsHookEx (Referensi USER32.DLL)
HHOOK SetWindowsHookEx(
int idHook, // type of hook to install
HOOKPROC lpfn, // address of hook procedure
HINSTANCE hMod, // handle of application instance
DWORD dwThreadId // identity of thread to install hook for
);
HHOOK SetWindowsHookEx(
int idHook, // type of hook to install
HOOKPROC lpfn, // address of hook procedure
HINSTANCE hMod, // handle of application instance
DWORD dwThreadId // identity of thread to install hook for
);
CallNextHookEx (Referensi USER32.DLL)
LRESULT CallNextHookEx(
HHOOK hhk, // handle to current hook
int nCode, // hook code passed to hook procedure
WPARAM wParam, // value passed to hook procedure LRESULT CallNextHookEx(
HHOOK hhk, // handle to current hook
int nCode, // hook code passed to hook procedure
LPARAM lParam // value passed to hook procedure
);
UnhookWindowsHookEx (Referensi USER32.DLL)
BOOL UnhookWindowsHookEx(
HHOOK hhk // handle of hook procedure to remove
);
Proof of Concept
Jalankan program Enable Hook, Anda akan melihat icon kecil di tray icon dengan caption “MRHPx Enable Hook OFF”. Program Enable Hook ini telah diuji pada beberapa aplikasi yang menggunakan proteksi Password maupun Serial Number pada saat installasi, salah satunya adalah DigiFish AncientOcean v1.01. Tanpa Serial Number yang benar Anda tidak akan dapat melakukan installasi program karena tombol “Next” dalam status disable (Screen. 1)
Screen 1
Setelah itu coba Anda klik kiri dengan mouse, program Enable Hook yang berada di tray icon sampai icon dan statusnya berubah menjadi ON (Screen. 2). Tanda
berarti OFF, dan tanda
berarti ON. Lalu coba klik tombol “Next” disable yang berada di jendela installasi program tadi.
Bagaimana? Statusnya berubah menjadi Enable dan bisa di klik dengan mouse bukan?
Screen 2
Kesimpulan
Mengapa tombol “Next” yang semula disable berubah menjadi enable? Padahal Serial Number masih kosong, tidak diisi sama sekali? Jawabannya adalah karena di dalam “Handles and Objects” sebuah aplikasi bisa meraih Obyek-Jendela handle yang ada. Sama halnya dengan Anda tidak perlu mengganti channel TV manual, sampai harus jalan bolak-balik dari tempat duduk Anda ke meja TV jika sudah ada remote control di tangan Anda. Jadi meskipun diisi Password dan Serial Number yang benar ataupun tidak benar sekalipun, installasi akan tetap berjalan lancar. Sampai disini, Anda sudah melihat kehebatan Win32 Hook bukan. Jadi jangan pernah menganggap remeh Win32 APIs Hook sebelum mempelajarinya. Bahkan proteksi FLEXlm yang terkenal itupun takluk karena hal ini. Untuk para developer, apakah masih yakin proteksi program installer Anda ini benar-benar aman?? Silahkan berkreasi dan berekspresi dengan Win32 APIs. Terima kasih semoga bermanfaat.
MRHPx regards and messages :
- My family for love, peace and emphaty.. Allah SWT and Muhammad SAW for life, light and everything..
- Reverse Code Engineering scene, Astalavista.MS, Blackhat Community, 0day, Indonesia veteran hAxx0r (You know who you are..
)
- Source code semua program atau hack tool (EXCEPT PRIVATE-SECRET TOOLS!) dari seluruh artikel dan rilis NeMeSiS_ByTe dan MRHPx bisa diperoleh dengan cara kontak melalui email baru Saya di atas.. Ehm, sori ganti Nickname sejak 2008 tidak lagi sebagai NeMeSiS_ByTe
Juga ganti email, ganti website, ganti peruntungan!
Long live reverser..!
- Jika Anda request software atau tool yang tidak terdapat di website Saya atau sulit didapatkan (baik software gratis atau berbayar), harap mengganti biaya bandwith internet (Download Broadband) dan biaya pengiriman (CD Distribusi Pos). Harap maklum, Saya bukan milyuner yang mempunyai banyak uang, Saya tidak mungkin membiayai setiap request software dan tool yang Anda butuhkan.
- Untuk keperluan apapun harap menghubungi Saya melalui email Yahoo atau Facebook, karena nomer telpon Saya hanya untuk keperluan bisnis dan pekerjaan. Bukan dipergunakan untuk CHAT dan tanya jawab.
Email : mrhpx@binushacker.org
Facebook: disini (Tambahkan comment / message sebelum add untuk menghindari spam!)
Untuk file & data update-updatenya silakan lihat DISINI
silahkan dicoba.. artikel ini di copas dari sumber diatas, yang tentunya hanya untuk sharing aja buat temen2 semua untuk terus belajar dan belajar.. karena menurut saya ilmu lebih berguna daripada harta hahahahaggg (sok bijak ya gw) :p
Mantap Brad Tips-y....
BalasHapusKapan-kapan bisa di coba ni Sukses selalu....!!!
hehe ty my bro... ini mah masih dibantu dari beberapa sumber, masih belum murni pemikiran sendiri.. so go a head to professional bloger!! ;)
BalasHapus