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..
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
);
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
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
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.
Download link klik disini
Sumber :
www.Binushacker.net
www.jasakom.com
www.ozcorp.blogspot.com