Latest Software :
Home » , , » Pengertian Reverse Engineering

Pengertian Reverse Engineering

Rabu, 30 Januari 2013 | 2komentar

Apa itu Reverse Engineering Software?

“Reverse engineering is the process of analyzing a subject system to create representations of the system at a higher level of abstraction” – wikipedia.

kira kira kalau  dalam bahasa indonesia nya :

"Reverse engineering adalah proses menganalisis sistem subjek untuk membuat representasi dari sistem pada tingkat yang lebih tinggi dari abstraksi - google transalate

dan kalo lebih simpelnya pengertiannya sperti ini.

"Reverse engineering adalah suatu proses  menganalisa sistem dari suatu subjek ( dalam hal ini software ) untuk mempelajari cara kerja, teknik apa yang digunakan, dll. Sehingga bisa mencapai target yang di inginkan oleh teknisi”.

Pada umumnya seorang programmer akan membuat sebuah program dengan format .exe (executable)  sehingga kita hanya dapat menjalankan program tsb tanpa tau bagaimana cara kerja, teknik apa dan source kode apa yang digunakan oleh sang programmer untuk membangun sebuah software tersebut, nah dengan menggunakan Proses Reverse Engineering  ini kita dapat membongkar apa saja yang terdapat dalam software tsb, mulai dari cara kerja, teknik maupun source kodenya. 

Apakah Tujuan Reverse  Engineering Software ?

Secara umum Reverse Engineering mempunyai banyak tujuan, tergantung maksud dari sang pengguna (Programmer/Teknisi) . berikut beberapa  kegunaan dari Reverse Engineering
  • CRACKING
Mengapa Cracking ? karena seperti yang dijelaskan diatas, Reverse Engineering membuat suatu program menjadi sebuah source code, dengan adanya source code dari suatu program, kita dapat menganalisa bagaimana  program itu berjalan, sehingga kita dapat merubah source codenya, atau bisa saja digunakan untuk proses pembuatan Keygen, Patch, untuk melepas limitasi (batas/batas waktu/pembatasan fitur yang digunakan) yang di pasang sang developer pada software buatannya.
  • LOST SOURCE CODE
Alasan ini paling sering diketemukan dalam penggunaan reverse engineering, kasus yang sering terjadi yaitu ketika kita inging mem-patch atau meng-update program yang kita buat, sedangkan source code / mentahannya entah hilang ditelan merapi di bagian mana, dengan reverse engineering kita dapat mendapatkan source codenya kembali.
  • BUG HUNTING
Bug Hunting adalah kegiatan dimana kita mencari  “bug”.
bug adalah kesalahan yang terdapat dalam suatu program baik itu dari bagian arus data,  dalam bagian fungsinya, atau dalam  desainnya, sehingga menghasilkan hasil yang tidak sesuai dengan keinginan penciptanya
dengan reverse engineering kita dapat mencari bagian mana dari program yang masih rentan / kemungkinan terjadinya bug dalam program, sehingga kita dapat mencari solusinya dan membuat program menjadi lebih baik.
  • VIRUS ANALYSIS
A computer virus is a computer program that can copy itself[1] and infect a computer-wikipedia
seperti pengertian dari virus diatas, virus komputer adalah sebuah program. Karena Virus adalah program maka dari itu kita bisa memberlakukan prinsip – prinsip atau “mengerjai” virus dengan reverse engineering. Dengan reverse engineering kita bisa melihat apa yang dikerjakan oleh virus tersebut melalui source codenya, tentunya pekerjaan kita sebelumnya adalah mencari dimana sumber virus itu bersarang dalam komputer kita, setelah kita menganalisa bagaimana virus itu bekerja kita bisa mencari cara bagaimana mengatasinya, dari sinilah (mungkin) terbentuknya antivirus.

Tools-tools Apa Saja Yang Digunakan ?

  • Disassembler/Debuggers
Program disassembler akan mentranslasikan binary program ke bahasa assembly. Bahasa Assembly yang dihasilkan sudah dapat dibaca oleh user tetapi tidak semudah source code aslinya.
Sedangkan Debugger digunakan untuk memantau proses eksekusi sebuah aplikasi yang dapat dihentikan pada kondisi dan status tertentu, untuk lebih jelasnya bisa dilihat dari skema cara kerja dari disassembler dan debugger dibawah ini

 
untuk software software yang biasanya digunakan sebagai debugger atau disassembler yaitu
-Debugger: SoftICE, OllyDbg, W32Dasm
-Disassembler: IDA Pro, W32Dasm, Phoenix Disassembler / DSM, Studio
  • Hex Editor
Hex Editor adalah Program yang memfasilitasi pengubahan sebuah binary program melalui representasi hexadesimal suata data binary, selain itu Hex editor juga dapat menampilkan bentuk ASCII dan Unicode dari suatu file binary, untuk lebih jelasnya bisa dilihat pada skema




Software yang biasa digunakan sebagai Hex Editor diantaranya :
WinHex, Hex Workshop, Hiew (Hacker View), HEdit
  • Decompiler
Dari namanya pun sudah jelas kegunaanya, yaitu guna Me DeCompile program, DeCompile sendiri adalah kegiatan dimana kita merubah executable program ke source code dari program tersebut. untuk lebih jelasnya bisa dilihat skema kerja dari decompiler

contoh beberapa software yang bisa digunakan sebagai decompiler :
- C Decompiler : DCC, REC
- C# Decompiler : Salamander
- Java Decompiler: DJ 

Aplikasi yang berhubungan dan berguna untuk kegiatan reverse engineering

Contoh aplikasi tersebut yaitu seperti code obfuscators, PE editors, memory dumpers dan unpacker, ke 4 program ini membantu kegiatan reverse engineering menjadi lebih ringan dan praktis, sehingga dapat mendapatkan pekerjaan dengan hasil yang efektif dan waktu yang efisien.

- Olly Debugger : Dissambler 32 bit untuk microsoft

- Code Obfuscators : aplikasi yang mempersulit suatu source code atau binary untuk dipahami atau dibaca.

-PE Editors : Mengextract headers dari File PE dan kemudian mempermudah PE File untuk di edit dibandingkan menggunakan Hex Editor

-Memory dumpers : berfungsi agar sebuah program yang sedang sedang berjalan (debugging) di memory dapat disimpan kedalam hardisk atau media penyimpan lainnya.

-Unpacker : Digunakan untuk membongkar suatu program yang diproteksi (dibungkus) dengan aplikasi keamanan komersial yang telah ditemukan kelemahannya.


Nah Setelah mengetahui apa itu Reverse Engineering , insyaallah pada postingan berikutnya kita akan praktek langsung mengenai Reverse Engineering ini :D :D :D
sekian.

Semoga bermanfaat ya :D 

Materi Referensi

Share this article :

2 komentar:

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011-2014. ChumChumSoft - All Rights Reserved
Template Modify by ChumChumSoft
Proudly powered by Blogger