1. Logika (Logic).
Seorang hacker harus senantiasa menggunakan logika dimana hal ini menjadi sebuah pertimbangan akal untuk menghasilkan sesuatu yang baik, benar dan tepat. Manusia diberikan kelebihan oleh YME untuk hal ini, maka manfaatkan secara maksimal.
Logika yang sering digunakan dalam bahasa pemrograman adalah OR, AND, NOT, XOR, NAND, dll. Beberapa program tersusun atas komponen program IF..THEN…ELSE, FOR..TO..DO, WHILE , CASE..OF dan lain-lainnya. Logika ini kemudian akan dikolaborasikan dengan matematika untuk menghasilkan sesuatu yang bernilai Benar (True) atau Salah (False) seperti (<, >, =, +, -, dll).
2. Perangkat Keras (Hardware)
Seorang hacker harus mengetahui seluk beluk perangkat keras, karena perangkat keras merupakan dasar dari pembentukan teknologi. Perangkat keras disini adalah mengerti seluk beluk pengkabelan, chip, mainboard, switch, hub, elektronika, dll. Apabila seorang hacker sudah memahami perangkat keras, maka akan lebih mudah dalam membuat instruksi untuk perangkat lunaknya. Pernah melihat James Bond & Mission Impossible? Nah, diluarsana banyak orang luarbiasa yang memahami hardware sangat dalam.
Yang perlu dipelajari lebih dalam dari perangkat kerasa adalah komponen pada bagian-bagian berikut:
- Input Device (Unit Masukan: Keyboard, Mouse): media untuk memasukkan data dari luar ke dalam suatu memori dan processor.
- Process Device (Unit Pemrosesan: CPU, Microchip,RAM): media untuk mengolah inputan guna menghasilkan informasi yang diperlukan.
- Output Device (Unit Keluaran: Monitor, Scanner, Speaker): media untuk mengeluarkan hasil informasi.
- Backing Storage ( Unit Penyimpanan: Harddisk, Disk): media untuk melakukan penyimpanan data dan informasi.
- Periferal ( Unit Tambahan: USB, Modem): media tambahan yang digunakan untuk mendukung proses kerja perangkat keras.
Seorang hacker akan mempelajari software sebagai instruksi kepada hardware untuk melakukan perintah-perintah yang diinginkan. Software ini dibangun dari berbagai bahasa, dimana bahasa yang perlu dipelajari dalam bahasa mesin adalah 0, 1 dan analog. Sebagai dasar adalah bahasa pemrograman adalah assembly. Urutan yang tepat sebagai berikut saya kutip dari wikipedia:
- Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110.
- Bahasa Tingkat Rendah (ASM) atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.
- Bahasa Tingkat Menengah (C), yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
- Bahasa Tingkat Tinggi (HTML, XML, JSP, JAVA, VB, PASCAL, DELPHI, C#, F#, PHP, ASP, SQL, ORACLE, PYTHON, PERL, dll) yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.
Kuncinya adalah semakin dalam mengetahui bahasa mesin, akan lebih mudah dalam berkomunikasi dengan mesin.
Selain mengenal bahasa pemrograman, yang perlu dipelajari adalah sistem yang dibangun dari software yang sudah ada saat ini, sebagai salah satu contoh yaitu Sistem Operasi: *Nix, Linux, FreeBSD, SunOS, Windows, dll.
4. Jaringan (Networking)
Seorang hacker perlu mengetahui dan mendalami jaringan elektronik dan komputer yang merupakan bagian penting untuk dipelajari, karena jaringan inilah yang menghubungkan antara satu dengan yang lainnya seperti sebuah jaring laba-laba yang tidak terputus.
Ketika kita sudah memahami jaringan maka akan cukup mudah dalam melakukan setting, konfigurasi dan dapat memegang kendali terhadap jaringan. Didalam jaringan inilah alur komunikasi bergerak antara satu perangkat ke perangkat yang lainnya. Pada jaringan inilah banyak protokol komunikasi yang digunakan sehingga perlu juga untuk dipelajari seperti TCP, HTTP/S, FTP/S, dll. Apabila jaringan berada didalam kendali, maka seluruh informasi yang mengalir didalamnya akan sangat mudah untuk didapat, ditambah, diubah, bahkan untuk dihapus sekalipun.
5. Kriptografi (Cryptography)
Seorang hacker memiliki tantangan dalam hal kriptografi, karena saat ini hampir seluruh transaksi komunikasi sudah menggunakan cryptography sebagai jembatan pelindung. Dengan modal logika yang matang maka cryptography dapat lebih mudah untuk dipelajari walaupun dalam struktur yang sulit. Seorang hacker memerlukan pengetahuan kriptografi untuk menjaga aspek keamanan informasi seperti kerahasiaan informasi, keabsahan informasi, integritas informasi, serta autentikasi informasi dan bahkan untuk mendapatkan dan menerjemahkan informasi itu sendiri.
Ada banyak model kriptografi yang saat ini sudah banyak berkembang yaitu MD5, SHA, DES, AES, Base64, IDEA, BLOWFISH, RSA, Dll. Kriptografi ini banyak digunakan untuk konfigurasi, penyimpanan data dalam database, dan komunikasi transaksi pada jaringan.
yang perlu diperhatikan :
- Niat baik, berdoa, beretika, tekad yang kuat, selalu optimis dan ketekunan yang tak pernah berakhir.
- Banyak bertanya dan terus menyimak, terutama kepada ahlinya, kemudian ambil hikmah untuk dipelajari dan dikerjakan.
- Banyak begadang untuk belajar, mengoprek alat elektronik, komputer dan hal-hal mengasyikkan lainnya.
- Cari referensi ilmu pengetahuan sebanyak-banyaknya baik dari buku, jurnal, ebook, dll.
- Lakukan dengan sengaja merusak gadget dimulai dari dengan yang sederhana, kemudian memulai untuk memperbaiki gadget tersebut.
- Belajar teknik sosial engineering untuk mengetahui dan memanfaatkan manusia, belajar reverse engineering untuk mengetahui dan memanfaatkan komputer.
- Memiliki modal, kemauan yang kuat, berani gagal dan berani bertindak untuk melakukan penelitian.
- Jangan pernah malas untuk membaca artikel teknologi, berjalan-jalan mengelilingi blog (blogwalking), belajar jangan terpaku pada salah satu forum saja.
- Berani melakukan instalasi beberapa OS pada komputer pribadi, misal Linux, Windows, VWWare, FreeBSD, dll. Kemudian belajar bahasa pemrograman dan scripting yang non-formal (Perl, Python, Ruby, dll).
- Persiapkan peralatan pribadi, dan peralatan lainnya yang didapat dari sumber lain untuk memulai proses hacking.
- Rajin berdoa kepada Tuhan YME dan berimajinasi yang penuh dengan ilusi agar mendapatkan inspirasi.
- KISS: Keep IT Simple Stupid, menjadikan IT sebagai sesuatu yang mudah seperti kegiatan sehari-hari.
- Wajib untuk mengenali batasan dan kemampuan diri, agar bisa mengukur apa yang perlu untuk dilakukan dan tidak memaksakan sesuatu.
- Jangan bermimpi terlalu tinggi, karena saat jatuh akan terasa parah sakitnya.
- Jangan terlalu berdiam diri, tetapi tetap terus berinteraksi dengan rendah hati.
- Belajar berbicara dan berinteraksi dengan komputer dengan mempelajari bahasa yang digunakan untuk instruksi komputer.
- Jangan mudah menyerah saat dihina, dipermainkan, dibohongi, terus percaya diri dan selalu semangat.
- Persiapkan otak yang fun, agar tidak terlalu penat, selalu ceria dan bahagia dalam beraktifitas.
- Belajar IT basic merupakan hal yang penting, daripada sekedar menggunakan software yang sudah ada saat ini untuk kegiatan hacking.
- Jangan lupa istirahat, jangan lupa makan, jangan lupa minum, jangan lupa cemilan dan jangan lupa olah raga.
- Belajar untuk memahami concept, jangan copy paste sembarangan dan mulai dari hal yang paling kecil terlebih dahulu.
- Mengerti cara kerja hardware dan software sehingga menjadi selaras sejalan, berani merubah nya bisa juga mengembalikan nya.
- Sukai dan cintai dulu komputer, masuk keseluk-beluknya kemudian terus berlatih, perbanyak teman dan memecahkah masalah bersama-sama.
- Belajar tidak bergantung kepada yang hanya disekolah saja, belajarlah dari dunia diluar sekolah dan ulangi hal-hal yang sama untuk mempermudah dan menjadi kebiasaan.
- Belajar dasar-dasarnya dari situs www.binushacker.net kemudian lanjut ketingkat yang lebih tinggi lagi, apabila tidak ada di www.binushacker.net maka carilah dari search engine seperti google, bing, yahoo, baidu, yandex, allwebsite, dll.