24 Februari 2009
MAC OS X Reversing Tutorial for Beginner
Kracking Tools
Sebelum kita mulai tentunya kita harus mengetahui tools2 apa saja yang akan kita gunakan. Apakah kita akan menggunakan Olly Debugger sama seperti di windows?tentu tidak karena sejauh ini belum ada yang membuat kracking tools dengan tampilan GUI seperti OllyDbg. Tools yang akan kita gunakan antara lain:
1. Debugger, untuk keperluan ini kita gunakan gdb. GDB dibundle jadi satu dengan Apple Developer Tools.
2. Disassembler, kita akan menggunakan otx dari http://otx.osxninja.com dan class-dump
3. HexEditor, kita akan menggunakan 0xED.
gdb
GDB adalah GNU Project Debugger, yang akan digunakan untuk melakukan tracing selama program di eksekusi. Dengan adanya gdb, kita bisa melakukan tugas2 antara lain:
1. Start program atau attach program yang telah berjalan
2. Break, untuk menghentikan sementara program yang sedang berjalan seakan2 program tersebut hang
3. Mengetahui apa yang terjadi selama program tersebut berhenti.
GDB sudah dibundling dengan XCode, jadi jika sudah menginstall XCode, tinggal jalankan gdb aja.
otx
“otx stands for "object tool extended". It uses otool (object tool) to disassemble a Mach-O executable file, then enhances the disassembled output. Simple enhancements include adding the machine code of each instruction and the offset of each instruction from the beginning of a function.
More complicated enhancements include displaying the names and data types of Objective-C methods even if symbols have been stripped, and adding comments that describe member variables, function calls, static data and more.”
-taken from http://otx.osxninja.com/otwtf.html
You might also be asking yourself what the hell a disassembler is. I’ll tell you what it is...with some help from Wikipedia: http://en.wikipedia.org/wiki/Disassembler
class-dump
Aplikasi yang mendisassemble suatu program dengan mengeluarkan hanya judul class-nya saja.
HexEditor
“A hex editor is a program which allows you to edit compiled programs and binary data-files. These editors are called hex editors because they most often present data in hexadecimal format. Hexadecimal is used because it is easier for most humans than working in binary. In addition, hexadecimal is frequently useful because computers tend to work with 8-bit bytes of information and because ASCII is an 8-bit code.”
- taken from http://www.tech-faq.com/hex-editor.shtml
Hehe... agak males nulisnya jadi copy paste ajah. Ok, langsung aja tu de poin. Dalam melakukan kracking, tentu dikenal tahapan2 yang harus dilakukan yaitu Testing untuk mengetahui bagian mana yang akan dipatch, Disassembling, Debugging untuk mengetahui bagian mana yang seharusnya di-patch dan yang terakhir adalah Patch.
Testing
Tahapan ini adalah menjadi sangat penting karena mulai dari sini kita bisa mengetahui perilaku program tersebut, apakah menggunakan serial checking, file lisensi, online activation dll.
tunggu sambungannya yach.....
Sumber