Rabu, 09 November 2011
Melacak IP Addres Teman Di Facebook & Hancurkan Page Ini
Pada artikel ini, saya akan beritahukan bagaimana langkah awal kita untuk melakukan hack terhadap facebook ini :
di dalam status yang baru-baru ini, page ini menyinggung mengenai IP Addres. Apa itu IP Addres? Penjelasan sederhana IP Addres adalah pengalamatan komputer kita berdasarkan range-range tertentu. Saya ibaratkan bahwa, jika setiap Handphone memiliki nomer telepon yang bisa dihubungi... Maka untuk Komputer, IP Addres ini memiliki fungsi yang sama dengan nomer telepon itu. Kita bisa melacak, lokasi dengan tepat dimana pemilik IP Addres tersebut . ..
Dan jika sudah mampu mengidentifikasi IP Addres nya, langkah yang paling penting adalah melakukan "tracert, tracking, dan fingerprinting tentang aktifitas nya di dunia maya. Lalu, kita bisa mengidentifikasi siapa pelaku atau admin page ini . .. lol
berikut screenshot nya:
Dan jika sudah mampu mengidentifikasi IP Addres nya, langkah yang paling penting adalah melakukan "tracert, tracking, dan fingerprinting tentang aktifitas nya di dunia maya. Lalu, kita bisa mengidentifikasi siapa pelaku atau admin page ini . .. lol
berikut screenshot nya:
Oke, terlihat kan . .. apa itu IP addres ,. Page ini sungguh membuat saya marah ,.
Oke, saya akan memberikan contoh. Bagaimana seorang hacker mampu melacak IP Addres pengguna fb ( sebetulnya rahasia perusahaan, tapi untuk kita . .. mari hancurkan ini bersama , jika anda punya cukup banyak nyali )
saya akan memberikan contoh. Tapi saya sebelumnya minta maaf. karena menggunakan akun email lutfi. Just For Educational Purposes Only , ^_^v peace . ..
pertama,
saya memanfaatkan email notifikasi yang masuk melalui facebook. misalnya saya ambil notifikasi email dari Reni Agustiani.
Oke, saya akan memberikan contoh. Bagaimana seorang hacker mampu melacak IP Addres pengguna fb ( sebetulnya rahasia perusahaan, tapi untuk kita . .. mari hancurkan ini bersama , jika anda punya cukup banyak nyali )
saya akan memberikan contoh. Tapi saya sebelumnya minta maaf. karena menggunakan akun email lutfi. Just For Educational Purposes Only , ^_^v peace . ..
pertama,
saya memanfaatkan email notifikasi yang masuk melalui facebook. misalnya saya ambil notifikasi email dari Reni Agustiani.
di dalam warna kuning, telah saya kasih tanda. kita lihat header lengkapnya . .. maka akan muncul seperti ini :
dan ini hasil lengkapnya:
-----------------------+(( Header Email ))+-----------------------
From Facebook Thu Sep 10 16:17:22 2009
X-Apparently-To: faujiridwan@yahoo.co.id via 124.108.123.158; Fri, 11 Sep 2009 00:17:27 +0800
Return-Path: <notification+y46j=of9@facebookmail.com>
X-YMailISG: l6rUGAkWLDsTMdj3IrahH_sZy1.wTzilIVJvClGVtSZrcmfUfl GIpyEYMD2OyA7iI6mRZvk.9QEmQflPufviZvzvbs5c36R75QGY A9CR6ouMQv.OV.Q7diD78R6cM6xCbIYZRH4PUhreHBF8DkIiXH aEj6nCHI.Qx.53eOTtQwS3uBGbVYqFX2wd2WNV9tEV6TWmQi9A AOt_uAQqgYkHT3Ul5B_Ha6qLvbiydH_LXDtD3thCZm8BXn_Ci8 N9CVRGTlcY_3VW0HdX2Ih7fIReL2OcrLFQsaSDQukwB5j2SNC. uQPk3i7UZHgWD9c6CsLonQ--
X-Originating-IP: [69.63.178.175]
Authentication-Results: mta124.mail.sg1.yahoo.com from=facebookmail.com; domainkeys=neutral (no sig); from=facebookmail.com; dkim=pass (ok)
Received: from 69.63.178.175 (EHLO mx-out.facebook.com) (69.63.178.175)
by mta124.mail.sg1.yahoo.com with SMTP; Fri, 11 Sep 2009 00:17:27 +0800
Return-Path: <notification+y46j=of9@facebookmail.com>
DKIM-Signature: v=1; a=rsa-sha1; d=facebookmail.com; s=q1-2009b; c=relaxed/relaxed;
q=dns/txt; i=@facebookmail.com; t=1252599442;
h=From:Subjectate:To:MIME-Version:Content-Type;
bh=ni9Q2ZQv/gbM3B3oiSOmnjRj8Y8=;
b=pqkJ5IBS1A+7H6hMQ/FV61z/6NAu4skBifEKKBH1gmuY/YraNlXNbi9MnIIBCSxl
sZrp9gue3eL2DdbLiYIzmQ==;
Received: from [10.18.255.176] ([10.18.255.176:34214])
by mta006.snc1.facebook.com (envelope-from <notification+y46j=of9@facebookmail.com>)
(ecelerity 2.2.2.37 r(28805/28844)) with ECSTREAM
id 79/67-17407-29629AA4; Thu, 10 Sep 2009 09:17:22 -0700
X-Facebook: from zuckmail ([MTI1LjE2MS4xNzguOTI=])
by www.facebook.com with HTTP (ZuckMail);
Date: Thu, 10 Sep 2009 09:17:22 -0700
To: Lutfi Fauji Ridwan <faujiridwan@yahoo.co.id>
From: Facebook <notification+y46j=of9@facebookmail.com>
Reply-to: noreply <noreply@facebookmail.com>
Subject: Reni Agustiani tagged a photo of you on Facebook
Message-ID: <a784d75cf8ad9f744959d2d2bc621128@www.facebook.c om >
X-Priority: 3
X-Mailer: ZuckMail [version 1.00]
X-Facebook-Notify: photo_tag; from=1286103888; uid=1286103888; pid=30382928; api_pid=5523774138248829776; mailid=11323c0G5451ffb4G5de5d5G5
Errors-To: notification+y46j=of9@facebookmail.com
X-FACEBOOK-PRIORITY: 0
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Content-Length: 810
-----------------------+(( E.N.D ))+-----------------------
yang kita butuhkan adalah bugs dari facebook dalam bentuk kode enkripsi base64 di dalam header tersebut.
------------------------------------------------------------------
X-Facebook: from zuckmail ([MTI1LjE2MS4xNzguOTI=])
by www.facebook.com with HTTP (ZuckMail);
-------------------------------------------------------------------
yang kita butuhkan adalah kode ini saja: MTI1LjE2MS4xNzguOTI=
itu adalah kode enkripsi base64 . Pertanyaannya, darimana saya tahu itu terenkoding? di akhir header ada code:
------------------------------------------------------------------
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Content-Length: 810
------------------------------------------------------------------
so, kalo dah dapet kodenya . .. lalu kita decode ( diterjemahkan encoding base64 tadi ). Kalo saya lebih suka Online ke web ini:
http://www.opinionatedgeek.com/dotne...e/Default.aspx
berikut screenshot nya:
nomer satu adalah query ( masukkan dari encoding base64), nomer 2 adalah IP addres setelah saya tekan tombol decode.
dan IP addresnya adalah: ........................................
jreng , jreng , jreng , ....
125.161.178.92 ini adalah IP Addres dari komputer Reni Agustiani.
lalu kita melacak lokasinya:
masukkan IP Addresnya kedalam web ini ( mencari pakai satelit ):
berikut option pilihannya:
dan ini adalah hasil nya setelah saya menggunakan IP Locator:
tau, hasil lengkapnya:
_(( Hasil WHOIS ))_
[Querying whois.apnic.net]
[whois.apnic.net]
% [whois.apnic.net node-1]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
inetnum: 125.160.0.0 - 125.163.255.255
netname: TELKOMNET
descr: PT Telekomunikasi Indonesia
descr: Menara Multimedia Lt. 7
descr: Jl. Kebon Sirih No. 12
descr: JAKARTA - 10340
country: ID
admin-c: AN163-AP
tech-c: IS49-AP
status: ALLOCATED PORTABLE
mnt-by: APNIC-HM
mnt-lower: MAINT-TELKOMNET
remarks: For SPAM or ABUSE case, send to abuse@telkom.net.id
remarks: -+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+
remarks: This object can only be updated by APNIC hostmasters.
remarks: To update this object, please contact APNIC
remarks: hostmasters and include your organisation's account
remarks: name in the subject line.
remarks: -+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+
changed: hm-changed@apnic.net 20050902
changed: hm-changed@apnic.net 20051223
source: APNIC
route: 125.161.176.0/20
descr: PT. TELKOM INDONESIA
descr: Menara Multimedia Lt. 7
descr: Jl. Kebonsirih No.12
descr: JAKARTA
country: ID
origin: AS7713
mnt-by: MAINT-TELKOMNET
changed: hostmaster@telkom.net.id 20090319
source: APNIC
route: 125.161.128.0/18
descr: PT. TELKOM INDONESIA
descr: Menara Multimedia Lt. 7
descr: Jl. Kebonsirih No.12
descr: JAKARTA
country: ID
origin: AS7713
mnt-by: MAINT-TELKOMNET
changed: hostmaster@telkom.net.id 20090319
source: APNIC
route: 125.161.0.0/16
descr: PT. TELKOM INDONESIA
descr: Menara Multimedia Lt. 7
descr: Jl. Kebonsirih No.12
descr: JAKARTA
country: ID
origin: AS7713
mnt-by: MAINT-TELKOMNET
changed: hostmaster@telkom.net.id 20090319
source: APNIC
person: Adriansjah Nasution
nic-hdl: AN163-AP
e-mail: adriansjah@telkom.co.id
address: PT. TELKOM INDONESIA
address: Menara Multimedia Lt. 7
address: Jl. Kebonsirih No.12
address: JAKARTA
phone: +62-21-3860500
fax-no: +62-21-3861215
country: ID
changed: yogo@telkom.co.id 20050802
mnt-by: MAINT-TELKOMNET
source: APNIC
person: Iskandar Satyogo Prasetyo
nic-hdl: IS49-AP
e-mail: yogo@telkom.co.id
address: PT. TELEKOMUNIKASI INDONESIA
address: MULTIMEDIA DIVISION
address: Jl. Kebonsirih No.12 7th floor
address: Jakarta Indonesia
phone: +62-21-3860500
fax-no: +62-21-3861215
country: ID
changed: m_untung@telkom.co.id 20040729
mnt-by: MAINT-TELKOMNET
source: APNIC
_(( e.n.d ))_
(saya peringatkan artikel ini bukan digunakan untuk tindakan kriminal namun hanya untuk sebatas pengetahuan)
Selasa, 08 November 2011
Mempercepat browsing internet dengan Tunnel SSH
Permasalahan koneksi internet di Negara ini tak akan pernah selesai. Hal ini dikarenakan sifat mendasar pada diri manusia itu sendiri yaitu “Tidak pernah puas”. Jadi.. apabila kita diberi koneksi sampai sekian Giga Byte / Second-pun hal ini tak akan pernah cukup. Inginnya.. semakin cepat dan semakin cepat dan semakin cepat lagi. Apalagi bagi Anda pengguna jasa internet seperti IM2, Matrix, XL, Telkomsel, dan lainnya yang sejenis. Boleh dibilang, untuk buka satu halaman website saja dapat memakan waktu lebih dari 3 menit.
Baiklah, saya mempunyai satu trick untuk menyikapi hal ini, yaitu dengan Tunnel. Mungkin Anda bertanya-tanya, apa itu tunnel ?. Tunnel berarti terowongan dalam Bahasa Indonesia, jadi apabila Anda melakukan Tunneling berarti Anda membuka jalur / terowongan koneksi dari komputer Anda kemudian ke server tunnel dan diteruskan ke server target. Untuk membuka jalur ini Anda harus mempunyai server tunnel yang melayani koneksi SSH (Secure Shell). Berikutnya Anda harus mempunyai aplikasi SSH Client agar Anda dapat terhubung dengan server tunnel, beberapa SSH Client yang serting digunakan adalah PuTTY dan Bitvise Tunnelier.
Dalam artikel ini, saya akan menggunakan PuTTY, karena ukuran aplikasi ini tidak begitu besar untuk didownload. Setelah semuanya sudah disiapkan ikuti langkah-langkah berikut :
Buka aplikasi PuTTY
Masukkan server tunnel Anda dan port (defaultnya adalah 22)
Pada menu tree di sebelah kiri aplikasi PuTTY, pilih connection-SSH
Centang checkbox “Don’t start a shell or command at all“
Centang checkbox “Enable Compression“.
Pada menu tree di sebelah kiri, pilih connection-SSH-Tunnels
Masukkan nilai port yang Anda inginkan pada kotak masukkan “Source Port“, contohnya : 7212
Pada input pilihan, centang “Dynamic”
Klik tombol “Open”
Apabila benar, putty akan menghubungkan Anda dengan server SSH dan Server akan meminta Autentifikasi pengguna. Masukkan user Anda dan Password. Jika user dan password benar, server akan diam tidak menampilkan pesan apapun lagi.
Sampai disini Anda telah membuka terowongan dari komputer Anda ke server SSH. Berikutnya adalah bagaimana caranya agar koneksi internet Anda dapat melalui terowongan yang Anda buat ?, caranya adalah dengan mengkonfigurasi proxy dari aplikasi yang Anda gunakan. Contohnya, apabila Anda ingin browser firefox Anda melewati terowongan ini, klik menu Tools-Options. Firefox akan membuka sebuah jendela Options, kemudian pilih menu Advanced-Network, klik tombol Settings untuk menampilkan jendela konfigurasi jaringan. Pada pilihan “Configure Proxies to Access the Internet” pilihlah “Manual proxy configuration” dan uncentang kotak checkbox “Use this proxy server for all protocols”. Kosongkan semua kotak masukan Protocol dan masing-masing port nya. Isikan kotak masukan “SOCKS Host” dengan nilai 127.0.0.1 dan port nya adalah 7212. Klik OK untuk menutup jendela konfigurasi jaringan.
Sekarang silahkan Anda uji koneksi internet Anda yang sekarang dengan membuka salah satu website, gimana ? seharusnya menjadi lebih cepat.
Semoga bermanfaat,
root [at] okea.biz
http://www.einu.net
Baiklah, saya mempunyai satu trick untuk menyikapi hal ini, yaitu dengan Tunnel. Mungkin Anda bertanya-tanya, apa itu tunnel ?. Tunnel berarti terowongan dalam Bahasa Indonesia, jadi apabila Anda melakukan Tunneling berarti Anda membuka jalur / terowongan koneksi dari komputer Anda kemudian ke server tunnel dan diteruskan ke server target. Untuk membuka jalur ini Anda harus mempunyai server tunnel yang melayani koneksi SSH (Secure Shell). Berikutnya Anda harus mempunyai aplikasi SSH Client agar Anda dapat terhubung dengan server tunnel, beberapa SSH Client yang serting digunakan adalah PuTTY dan Bitvise Tunnelier.
Dalam artikel ini, saya akan menggunakan PuTTY, karena ukuran aplikasi ini tidak begitu besar untuk didownload. Setelah semuanya sudah disiapkan ikuti langkah-langkah berikut :
Buka aplikasi PuTTY
Masukkan server tunnel Anda dan port (defaultnya adalah 22)
Pada menu tree di sebelah kiri aplikasi PuTTY, pilih connection-SSH
Centang checkbox “Don’t start a shell or command at all“
Centang checkbox “Enable Compression“.
Pada menu tree di sebelah kiri, pilih connection-SSH-Tunnels
Masukkan nilai port yang Anda inginkan pada kotak masukkan “Source Port“, contohnya : 7212
Pada input pilihan, centang “Dynamic”
Klik tombol “Open”
Apabila benar, putty akan menghubungkan Anda dengan server SSH dan Server akan meminta Autentifikasi pengguna. Masukkan user Anda dan Password. Jika user dan password benar, server akan diam tidak menampilkan pesan apapun lagi.
Sampai disini Anda telah membuka terowongan dari komputer Anda ke server SSH. Berikutnya adalah bagaimana caranya agar koneksi internet Anda dapat melalui terowongan yang Anda buat ?, caranya adalah dengan mengkonfigurasi proxy dari aplikasi yang Anda gunakan. Contohnya, apabila Anda ingin browser firefox Anda melewati terowongan ini, klik menu Tools-Options. Firefox akan membuka sebuah jendela Options, kemudian pilih menu Advanced-Network, klik tombol Settings untuk menampilkan jendela konfigurasi jaringan. Pada pilihan “Configure Proxies to Access the Internet” pilihlah “Manual proxy configuration” dan uncentang kotak checkbox “Use this proxy server for all protocols”. Kosongkan semua kotak masukan Protocol dan masing-masing port nya. Isikan kotak masukan “SOCKS Host” dengan nilai 127.0.0.1 dan port nya adalah 7212. Klik OK untuk menutup jendela konfigurasi jaringan.
Sekarang silahkan Anda uji koneksi internet Anda yang sekarang dengan membuka salah satu website, gimana ? seharusnya menjadi lebih cepat.
Semoga bermanfaat,
root [at] okea.biz
http://www.einu.net
Menembus Proteksi Serial Number & Password
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.
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
);
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)
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.
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
);
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
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?
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.
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.