Friday, April 12, 2013

apa itu Reverse engineering?




    Reverse engineering adalah sebuah proses untuk mencari dan menemukan teknologi yang bekerja di balik suatu sistem, perangkat atau objek, melalui sebuah proses analisa mendalam pada struktur, fungsi dan cara kerja dari sistem, perangkat atau objek yang di teliti. Secara singkat dapat disimpulkan bahwa reverse engineering adalah sebuah proses peng ekstrakan informasi yang ada pada sebuah sistem.

    Di dalam dunia IT, reverse engineering terkait erat dengan software atau aplikasi yang berjalan pada sebuah sistem. Proses reverse engineering pada sebuah software juga sering di sebut dengan istilah RCE atau Reverse Code Engineering. Biasanya proses RCS bisa delakukan dengan beberapa cara, yaitu:

Disassembly
Disassembly adalah proses melihat kembali bahasa mesin dari aplikasi atau file, pada dasarnya komputer melakukan pembacaan sebuah aplikasi atau file menggunakan bahasa mesin atau bahasa level rendah (Low Level Language), yang biasanya adalah bahasa assembly. Bahasa assembly sendiri adalah bahasa terrendah pada siklus bahasa pemrograman sistem, semua proses software yang di eksekusi oleh komputer pada akhirnya akan di eksekusi menggunakan bahasa assembly meskipun software tersebut dibuat menggunakan bahasa level tinggi (High Level Language) seperti VB, Pascal, C/C++ dll, hal ini yang membuat bahasa assembly menjadi bahasa yang penting dalam proses reverse code engineering.

Decompile
Berbeda dengan proses desaassembly, pada proses decompile, software atau aplikasi akan dibaca dalam bentuk mendekati bahasa asal ketika aplikasi di buat, walaupun terkadang hasil proses decompile juga akan terdapat beberapa penggunaan bahasa assembly di dalamnya. Namun secara umum, hasil yang akan dimunculkan akan menghasilkan sintaks yang menggunakan bahasa yang di gunakan untuk membangun aplikasi atau software yang di decompile, hasil yang muncul adalah source code yang mendekati struktur asli dari aplikasi dalam bentuk bahasa java, misal kita dapat mengetahui fungsi-fungsi yang ada atau variabel yang di gunakan.

Alasan Melakukan Reverse Code Engineering
    Ada banyak alasan mengapa seseorang atau organisasi melakukan reverse engineering. Beberapa alasan yang paling sering muncul di dalam duniaIT adalah:
* Pembuatan ulang dokumentasi, apabila dokumentasi dari sebuah aplikasi hilang
* Cracking, atau pembajakan aplikasi
* Audit keamanan
* Mempelajari aplikasi malware, untuk kepentingan antisipasi serangan
* Analisa produk
* Mencari data sensitif pada sebuah sistem
* Keperluan militer, seperti mata-mata menggunakan software. ^_^

No comments:

Post a Comment