REVERSE ENGINERING PERANGKAT LUNAK

Written By δικα ςταΓκεγ on Kamis, 05 Januari 2012 | 09.51

Assalamualaikum wr.wb

Pada kesempatan kali ini saya akan sedikit membahas tentang REVERSE ENGINERING dalam bahasa program atau perangkat lunak lebih tepatnya. Oke langsung saja, REVERSE ENGINERING sendiri dapat di devinisikan sebagai proses untuk menemukan prinsip-prinsip teknologi perangkat, objek, atau sistem melalui analisis struktur, fungsi, dan operasi. REVERSE ENGINERING sering melibatkan atau mengambil sesuatu (misalnya, perangkat mekanik, komponen elektronik, program perangkat lunak, atau biologis, kimia, atau bahan organik) terpisah dan menganalisis sistem kerjanya secara rinci untuk digunakan dalam perawatan, atau mencoba untuk membuat perangkat baru atau program yang melakukan hal yang sama tanpa menggunakan atau hanya duplikasi (tanpa pemahaman) yang asli. Ini hanya devinisi secara singkat, lebih jelasnya baca di Wikipedia.

REVERSE ENGINERING dalam perangkat lunak sendiri sangat erat hubungannya dengan virus dan juga cracking program, proses bagaimana kita bisa mengetahui algoritma program (atau source codenya jika mungkin). Ada banyak hal yang bisa dilakukan dengan reverse engineering. Dalam kasus virus, kita bisa menganalisis virus dan membuat anti yang tepat. Ada banyak hal yang bisa dilakukan dengan reverse engineering. Dalam kasus virus, kita bisa menganalisis virus dan membuat anti yang tepat. Dalam kasus proteksi program, kita akan bisa membongkar proteksi seperti serial number dan expiration date. Dalam kasus kehilangan source code, kita bisa mengembalikan sebagian kode yang hilang. Jika kita ingin membuat program yang bisa membaca format program lain, kita juga perlu mereverse engineer jika format tersebut tidak dibuka secara umum.

Mengenai program/tools untuk reverse engineering, ada banyak yang bisa digunakan. Saya akan memberikan beberapa petunjuk: IDA Pro dan OllyDbg. ua tools tersebut hanyalah beberapa dari banyak tools yang bisa digunakan. Jangan berfokus pada tool berfokuslah pada skill. Kebanyakan orang menanyakan apa program yang perlu dikuasai untuk melakukan X dan berfokus pada program X tersebut. Ada program yang dapat digunakan untuk membongkar program dalam bahasa tertentu. Contoh: program java yang tidak di-obfuscate bisa dibongkar dengan jad dengan mudah. Program serupa juga tersedia untuk .NET, dan aneka bahasa lain yang menggunakan bytecode. Namun program Java bisa diproteksi dengan obfuscator, jadi tidak semua semudah itu. Untuk menemukan aneka tools reverse engineering, gunakanlah Google dan telusuri aneka link di Wikipedia. Bahasa Inggris wajib Anda kuasai untuk membaca aneka tutorial yang ada di Internet.

Kerumitan sebuah program biasanya adalah karena programmer menggunakan berbagai macam cara untuk melindungi programnya. Misalnya dalam kasus program yang memiliki batas waktu N hari. Program pasti harus menyimpan fakta bahwa program pernah diinstall pada tanggal tertentu. Jika Anda seorang programmer yang membuat program di Windows, maka Anda akan segera terpikir di beberapa tempat, misalnya di Registry Windows, di direktori program itu sendiri, di direktori sistem Windows, dan di berbagai tempat lain (misalnya di Serial Number sementara). Tidak ada satu tempat pasti yang digunakan. Ini sama saja dengan menanyakan di mana seseorang menaruh dokumen pentingnya, setiap orang akan memiliki tempatnya sendiri (mungkin sebagian besar menaruhnya di lemari atau di brankas besi di rumahnya, tapi ada juga yang menyimpannya di bank). Masalahnya juga akan berbeda di tiap OS, di Linux tidak ada registry, sedangkan di Symbian ada direktori tertentu yang hanya bisa diakses oleh program tertentu dan lebih mudah digunakan untuk menyimpan informasi tersebut (yang tidak bisa diakses kecuali dengan exploit tertentu, misalnya AppTRK.

Sulit mencari analogi yang tepat untuk reverse engineering. Reverse engineering itu seperti arkeolog yang berusaha mendekripsi tulisan-tulisan kuno. Anda perlu bisa membuka situs kuno, dan mencari tulisan yang mungkin tersembunyi. Anda juga harus mengenal aneka macam tulisan kuno di dunia ini sebagai dasar untuk membaca tulisan yang Anda temui. Anda perlu tahu kebudayaan kuno untuk mengetahui jalan pikiran mereka.

Pikirkan juga baik-baik: apa sih gunanya hacking atau reverse engineering? pikirkan apakah Anda memang berbakat di bidang itu, pikirkan juga apakah itu yang Anda inginkan di masa depan Anda. Pikirkan juga masalah moral hacking dan reverse engineering. Pikirkan misalnya apakah pacar Anda akan memutuskan Anda kalau dulu tahu bahwa pada masa PDKT Anda sering mengakses emailnya tanpa sepengetahuannya.


Sekian, wassalam...

0 komentar:

Posting Komentar

 
dhika_starkey