Reverse Engineering
Kita, terutama gue sering mendengar istilah Reverse Engineering. Kalau mendengar istilah ini, biasanya berhubungan dengan hacker atau cracker. Loh, emangnya apa urusannya hacker/cracker tersebut dengan reverse engineering?
Begini gaes, menurut wiki yang saya tangkep:
Reverse engineering atau back engineering merupakan proses pembelajaran (ekstraksi) pengetahuan, desain, atau apapun yang manusia ciptakan. Hasil ekstraksi (ilmu) tersebut digunakan kembali oleh orang yang melakukan proses tersebut untuk mereproduksi pengetahuan / desain maupun membuat sesuatu hal baru berdasarkan hasil ekstraksi pengetahuan di atas (wiki)
Proses yang digunakan biasanya melibatkan pembongkaran alat / sistem yang ada, yang kemudian menghasilkan bagian yang lebih kecil / sederhana. Bagian yang lebih kecil tersebut lalu dipelajari dan dianalisa secara lebih detail fungsi dan komponennya.
Tujuan Reverse Engineering
Terus apa tujuannya melakukan reverse engineering? Banyak hal, tergantung orangnya juga sih. Ada yang tujuannya untuk have fun, untuk memperbaiki sistem yang ada, untuk membuat duplikasi sistem tersebut, bahkan untuk kriminal seperti cracker (cracker merupakan kependekan dari criminal hacker. Cracker adalah orang yang sangat pandai dalam penguasaan sistem namun bertujuan untuk kejahatan/tindak kriminal).
Cara Hacker Bekerja
Beginilah kurang lebih cara hacker ataupun cracker dalam hal ini reverse engineer. Mereka (kebanyakan) sebelumnya tidak tahu / tidak ikut terlibat dalam pembuatan sautu sistem. Namun, mereka melakukan back engineering dengan memecah/membagi sistem yang ada ke part / bagian yang lebih kecil kemudian bagian tersebut dipelajari dan dianalisis secara lebih detail apa fungsinya. Jika mereka sudah mampu menguasai tiap bagiannya, tentunya akan lebih mudah untuk menambah, mengurangi, duplikasi ataupun memodifikasi.
(Mungkin) khusus untuk software, karena biasanya dalam distribusi software tidak ada / hanya sedikit source code, hacker / cracker menganalisa input dan output dari software tersebut. Dari hasil analisa input dan output tersebut, hacker dapat membuat suatu fungsi yang meniru tingkah laku fungsi dari software yang ada. Misalnya begini:
Suatu software mempunyai fungsi x, yang jika menerima input dua buah angka akan menghasilkan satu angka. Satu angka tersebut selalu bernilai jumlah dari dua angka tadi. Maka fungsi tersebut merupakan fungsi penjumlahan. Hacker / cracker kemudian dapat membuat simulasi dari fungsi tersebut untuk digunakan pada software lain atau pengembangan software tersebut, misalnya software yang dapat mengalikan. Dengan cerdiknya hacker / cracker membuat software perkalian dengan memanfaatkan fungsi penjumlahan yang menjumlahkan angka pertama dan berulang sebanyak angka kedua (atau sebaliknya). Begitulah kurang lebih reverse engineering dalam software.
Jadi menurut saya, reverse engineering sangat sulit karena membutuhkan ketelitian yang tinggi, kesabaran yang ekstra, kemampuan analisis dan imajinasi. Jadi masih bingungkah dengan reverse engineering? Kalau tambah bingung sama!!! 😀 :D.
Eksplorasi konten lain dari Oentoro
Berlangganan untuk dapatkan pos terbaru lewat email.
Ping-balik: apa itu Reverse Engineering ? | GLADz-SECTOR