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.
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 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
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
-Debugger: SoftICE, OllyDbg, W32Dasm
-Disassembler: IDA Pro, W32Dasm, Phoenix Disassembler / DSM, Studio
- Hex Editor
Software yang biasa digunakan sebagai Hex Editor diantaranya :
WinHex, Hex Workshop, Hiew (Hacker View), HEdit
- 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
terima kasih referensi nya, sangat bermanfaat
ReplyDeletesama-sama mbak :D
ReplyDelete