Pages

Kamis, 19 Mei 2011

Reverse Engineering

Berawal dari keisengan penulis membuat suatu program tebak-tebakan dengan menggunakan bahasa pascal. Di mana angka yang akan ditebak di random oleh  program. Setelah itu penulis membuatnya menjadi file exe seperti gambar dibawah ini.

Kalau program ini dijalankan akan meminta tebakan angka dari 1 sampai 100 bisa diliat pada 3 gambar dibawah ini. Jika angkanya tidak cocok maka program akan menampilkan pesan kebesaran atau kekecilan jika sudah benar atau tepat maka program akan menampilkan pesan bingo tebakan anda tepat sekali


 
Lalu program Iseng.exe akan dibedah dengan IDA PRO. Tampilan IDA PRO akan menampilkan program iseng.exe dalam bentuk flowchart, agar memudahkan bagi kita menelusuri alurnya seperti yang terlihat dalam gambar di bawah ini. Dengan program IDA PRO maka file Iseng.exe akan ditampilkan dalam bentuk bahasa Asembler atau bahasa mesin. Lalu penulis mencari dimana bagian yang membandingkan suatu data (kalau pascal pakai perintah if). Kalau bahasa Mesin memakai perintah CMP. Setelah mendapatkan bagian itu maka penulis mencari perintah JNZ (Kalau bahasa pascal perintahnya then-else).


Setelah kita mengetahui di mana posisi JNZ yang tepat maka kita akan mengganti tampilan flowchart IDA PRO menjadi tampilan HEX VIEW atau tampilan hexadesimal. Ternyata JNZ dalam flowchart jika di konvert ke tampilan hexa akan menjadi "3B".

Penulis mencoba mencatat satu baris hexa dan disimpannya dalam note pad agar mudah di ingat kembali.

Setelah mengetahui kode hexa dari JNZ. Maka penulis membuka program hex edit untuk mengedit hexa dari progran iseng.exe. Lalu melakukan pencarian dengan find dengan mengetikkan "3B 06"


Akhirnya penulis mengetahui dimana posisinya dan langsung mengganti 3B dengan 3C, setelah itu melakukan save.


Setelah itu penulis mencoba lagi menjalankan progran iseng.exe yang telah di manipulasi tersebut. Dan hasilnya setiap angka yang kita input pertama kali secara acak biar minus maka akan dibilang bingo tebakan anda tepat sekali. ^_^



NB: Benar-benar suatu ilmu yang tidak akan habis dimakan zaman. Ilmu yang mempunyai dua sisi bisa jadi mencelakakan jika disalahgunakan oleh orang yang tidak bijak dan bisa jadi indah berguna jika orang bijak yang menggunakannya.


0 komentar:

Posting Komentar