Cara membuat crack game

Pada kesempatan kali ini saya ingin menulis tentang (salah satu cara) bagaimana cracker membuat crack pada aplikasi/game. Ini salah satu ya, tentu banyak cara lainnya tidak harus melalui celah yang saya tuliskan sekarang ini. Tetapi pada intinya cracker pasti akan melakukan reverse engineering dan debugging seperti yang akan kita lakukan saat ini. Tapi contoh ini sangat sederhana, kenyataannya untuk meng-crack suatu program tidak semudah ini hehe. Emang para pembuat crack di real-world pasti jago-jago dah! Hehehe.

Langsung saja, berikut ini terdapatlah suatu source code program game. Ini bukan game beneran, bisa dilihat dari source ini, program hanya akan mengeksekusi si game() jika key yang dimasukkan benar:

/* created by @inan19x for fun only */ #include <stdio.h> #include <string.h> game(){ printf("====================n"); printf("welcome to the game!n"); printf("====================n"); } main(){ char key[4]; printf("masukkan key anda: "); gets(key); if(strcmp("asdf",key)==0){ game(); } else{ printf("maaf key anda salah, program exit...n"); } }

Challenge untuk kode diatas sekaligus menjadi sebuah pertanyaan untuk posting blog ini adalah:

Bisakah kita bermain game tanpa menggunakan key “asdf”?

Ini tidak mungkin ‘kan, karena key “asdf” sudah di hard-coded di program. Kita tidak mungkin melawan logika program ini. Tapi dari celah keamanan pada fungsi gets di atas, kita bisa memanfaatkan bug program ini hehehe. Kembali ke awal dulu, singkat cerita bagi yang belum paham maksud program tesrebut, mari kita jalankan program di atas itu.

Kita coba dengan key yang benar, hasilnya adalah program game dieksekusi.

Berikut ini vulnerability pada si deprecated function gets(), jika user memasukkan input yang sangat panjang, program akan error.

Sekarang kita akan memanfaatkan bug program itu dengan melihat dari GNU Debugger (gdb), apa segmentation fault ini bisa sampai memenuhi buffer dengan inputan user.

Voila, ternyata input user sudah memenuhi buffer hingga meng-overwrite register EIP yang bertugas untuk mengeksekusi instruksi program selanjutnya. Kalau diperhatikan, register EIP di overwrite oleh value 0x6c6b6a69 atau kalau di convert ke ASCII adalah huruf “lkji”. Perlu diketahui bahwa sistem memory di sistem little endian di simpan terbalik seperti itu. Berarti byte ke-9 s/d 12 yang diinput user bisa sampai menimpa EIP.

Oh ya untuk melakukan cracking ini, sangat dianjurkan untuk mengetahui lebih dulu tentang serangan stack-based buffer overflow. Pada contoh di bawah ini, saya mencoba memasukkan input 8x huruf “a” kemudian 4x huruf “b”. Untuk struktur memori dari program kita yang sedang di debug ini, mungkin bisa digambarkan stack nya adalah seperti ini:

Atau ini adalah gambaran dari gdb nya:

Mari kita coba input “abcdefghaaaa” (byte ke-9 sampai 12 dengan huruf “a”). Jika program error dengan alasan segmentation fault karena register EIP memiliki nilai 0x616161 (0x61 adalah hex untuk huruf “a”), maka ini adalah titik cerah.

Yippie, benar sekali. Berarti kita tinggal menimpa EIP dengan alamat memory yang seharusnya a.k.a alamat memory tempat function game() disimpan. Kita akan melakukan bypass logika if() pada program ini hehe.

Pertama-tama, mari kita disassemble fungsi game() terletak di alamat memory mana dengan gdb:

Fungsi game tersimpan di alamat memory 0x080484ac. Untuk itu kita akan menimpa EIP sedemikian sehingga akan teroverwrite dengan nilai “0x080484ac” tsb. Pada dasarnya yang akan kita lakukan sekarang adalah memasukkan 8 byte “dummy” dan byte ke-9 s/d 12 dengan alamat 0x080484ac. Kalau dicontohkan, kita harus melakukan input seperti: “aaaabbbb(0xac)(0x84)(0x04)(0x08)”.  Dengan 8 byte awal itu tentu saja sebenarnya terserah bisa diisi apa saja. Sehingga stack yang diinginkan terlihat seperti di bawah ini:

Nah, tetapi masalahnya bagaimana cara memberikan output dengan nilai hex? Beruntung command linux printf bisa membantu kita memasukkan hex tersebut ke dalam inputan. Berikut ini adalah caranya:

 PWNED!

Sebenarnya, Apa itu Pengertian Crack? Sejarah, Fungsi, Cara Kerja dan Cara Menggunakannya? Dalam dunia komputer kata-kata tersebut pasti bukanlah kata yang asing lagi di telinga kita kan? Contohnya saja seperti kata patch dan keygen dimana ini sangat sering kita dengan. Ketika Anda menggunakan software atau perangkat lunak berbayar secara gratis di komputer Anda, Anda mungkin merasa sangat senang, dan bahkan Anda merasa seperti software tersebut adalah milik Anda sendiri. Tapi sebenarnya, bukan! Iya, tidaklah seperti itu dan itu adalah hasil yang telah dilakukan dan dibuat oleh seseorang.

Ketika Anda menginstall versi perangkat lunak yang sudah di-crack, biasanya Anda juga dapat menginstal malware atau trojan yang dapat menyebabkan masalah pada sistem keamanan komputer Anda, dimana harganya perbaikannya bisa lebih dari harga software atau perangkat lunak asli. Terlepas daripada hal tersebut, Kami pribadi sering menghadapi pertanyaan seperti apa itu yang dimaksud dengan crack? oleh kerabat Kami. Dimana ini berarti istilah kata ini masih belum diketahui oleh khalayak awam. Baiklah, berkenaan dengan hal tersebut, dalam postingan kali ini Kami akan membahas tentang crack secara lebih detail dan lengkap. Langsung saja, berikut ini ulasannya!

Pengertian Crack

Berarti pecahan atau retakan dalam bahasa inggris, crack disini adalah bagian dari suatu application (aplikasi) yang sudah dirubah isinya dari seseorang atau kelompok (secara illegal).

Kebanyakan, bagian isi yang dirubah dari sang cracker (orang yang merlakukannya) tersebut merupakan file executable atau yang lebih dikenal dengan .exe dari suatu software, namun biasanya ada juga yang merubah isi arsip library-nya seperti file .dll.

Oleh karena itulah biasanya, file (baca pengertian file disini) dari crack biasanya berekstensi (.exe) atau (.dll). Selain itu, hal ini juga yang menjadi kelemahan suatu crack, kebanyakan dari mereka biasanya hanya bisa digunakan untuk satu perangkat lunak yang sesuai dengan versinya, alias mereka tidak akan berfungsi pada versi yang berbeda atau tidak sama, bahkan jika mereka memiliki nama dan jenis aplikasi yang sama.

Sejarah Crack

Ilustrasi Gambar Sejarah Crack Dalam Pembahasan PengertiannyaIlustrasi Gambar Sejarah Crack Dalam Pembahasan Pengertiannya

Dalam membahas penjelasan tentang apa itu crack, kita juga perlu mengetahui sejarah dari kata crack disini. Ini dimulai pada tahun 1980-an dengan skema perlindungan salinan perangkat lunak berbasis disk pada sistem Atari 800, Commodore dan Apple II.

Pembuat perangkat lunak menggunakan skema perangkat keras untuk mencegah orang membuat salinan. Pengembang game harus menggunakan solusi paling inovatif untuk mencegah segala bentuk penyalinan.

Perlu kalian ketahui bahwa, istilah crack ini diciptakan pada pertengahan tahun 80-an oleh hacker (peretas) yang ingin membedakan diri sebagai individu yang tujuan utamanya adalah hanya menyelinap dan menerobos melalui sistem keamanan (untuk menghapus perlindungan salinan dari perangkat lunak).

Meskipun para hacker dan cracker masih berpendapat bahwa ada perbedaan besar antara apa yang mereka lakukan dan apa yang cracker lakukan, sebagian media massa telah gagal memahami perbedaannya, sehingga kedua istilah tersebut sering disamakan dan digunakan secara bergantian hingga sekarang ini.

Fungsi Crack

Dalam membahas mengenai apa itu crack, adalah merupakan hal yang penting untuk Anda dalam mengetahui fungsinya sebenarnya.

Mengacu kepada apa yang sudah Kami jelaskan di atas, crack memiliki beberapa fungsi lainnya, di mana fungsinya tersebut bukan hanya dapat untuk mengubah sebuah software menjadi full version saja, namun juga dapat membuat suatu software, misalnya seperti game yang seharusnya wajib memerlukan CD original dari game-nya, tanpa perlu menggunakan CD tambahan itu lagi dalam menjadikan versi full atau berbayarnya.

Biasanya crack yang memiliki kemampuan tersebut sering disebut dengan “No-CD-Crack” atau “No-DVD-Crack”. Pada intinya, fungsi crack adalah mengubah dan membuat suatu sistem perangkat lunak dapat digunakan seutuhnya melalui peretasan keamanan dari software itu sendiri.

Pembuatan crack ini pada umumnya dikerjakan secara berkelompok, mereka juga bisa membuat sebuah tim yang biasa disebut dengan cracker team dengan tambahan nama tertentu.

Apabila mereka telah menciptakan sebuah produk crack, mereka akan merilisnya pada suatu situs web atau website (baca apa itu website disini) khusus yang mengoleksi kumpulan crack dalam berbagai macam versinya. Mereka juga memberi tanda terhadap crack yang mereka rilis, umumnya mereka memberi tanda tersebut dengan memberi arsip berisi informasi yang berekstensi .nfo,

Singkatnya, crack akan memperbarui file asli (original) dari sebuah aplikasi agar mereka dapat digunakan tanpa perlu registrasi, karena biasanya suatu software (umumnya aplikasi yang digunakan dengan berbayar) akan membuat dan menjalankan perintah agar kita melakukan registrasi software tersebut untuk dapat digunakan.

Jadi, jika aplikasi atau software tersebut sudah di crack atau yang lebih dikenal dengan sebutan “cracked” maka, hal-hal seperti pengalihan dan permintaan registrasi tersebut pun tidak akan ada lagi.

Cara Kerja Crack

Ilustrasi Gambar Cara Kerja Crack Dalam Pembahasan Pengertian CrackIlustrasi Gambar Cara Kerja Crack Dalam Pembahasan Pengertian Crack

Setelah, mengenal apa itu crack dan artinya, kita juga harus mengetahui bagaimana cara kerjanya bukan? Sebelumnya, berdasarkan penjelasan di atas, file crack adalah bagian atau bagian tertentu dari file yang harus dijalankan oleh aplikasi dan orang-orang yang membuat software atau perangkat lunak, memasukkan perlindungan hak cipta ke dalam file tersebut (tentu saja mereka ingin menghasilkan uang dengan melakukan itu).

Tetapi ada banyak orang yang dapat membuatnya dengan mudah, mereka merekayasa sumber asalnya seperti source code sehingga dapat digunakan oleh yang lain (tanpa perlu membayar sepeser pun).

Dalam istilah awam, file crack adalah file yang terlah di-patch atau bagian dari program yang telah direkayasa ulang sehingga dapat digunakan tanpa menggunakan license key atau kunci lisensi asli atau otorisasi.

Berdasarkan hal tersebut di atas, dapat Kami jelaskan bahwa cara kerja crack sebenarnya adalah dengan merekayasa sumber asli yang ada dalam aplikasi atau software versi originalnya.

Cara Menggunakan Crack

Lalu bagaimana cara menggunakannya? Ya! Cara menggunakan crack ini terbilang relatif mudah, kita sebagai pengguna hanya perlu meng-copy file atau arsip cracknya ke tempat atau lokasi dari aplikasi atau software (perangkat lunak) tersebut di install (kita me-replace atau mengganti file yang asli).

Di bawah ini adalah contoh dalam penggunaan crack dan bagaimana caranya.

Ketika Anda ingin menginstall software “X” pada folder yang terletak pada:

C:Program Files X

Apabila Anda mempunyai crack dari software tersebut, serta crack-nya bernama “X.Exe”. Anda cukup meletakkan arsip dan file dari program “X.Exe” tersebut pada folder “C:Program Files X”.

Biasanya setelah Anda melakukannya, akan ada muncul peringatan akan adanya proses replace atau menimpa file asli. Jika ada peringatan confirm file replace tersebut, Anda hanya tinggal memilih yes atau ya.

Bagaimana? cukup mudahkan dan gampang bukan? Nah, selebihnya misalkan ada software yang memerlukan dan menjalankan proses registrasi atau pendaftaran dengan nama atau e-mail ataupun serial key, dan biasanya kita dapat mengisi dengan user/key yang telah disertakan dalam folder crack yang telah kita download pada website penyedia file tersebut.

Selain itu, Anda juga bisa menggunakan user atau key yang disebarkan secara luas di internet dengan hanya menggunakan search engine atau mesin pencari Google, biasanya, rata-rata sekitar 70% kita akan berhasil untuk mendapatkannya, asalkan sebelumnya kita sudah me-replace terlebih dahulu file original atau asli yang sudah kita install dengan menggunakan installer (baca selengkapnya tentang installer disini) yang terdapat dalam folder dari arsip crack tersebut.

Kesimpulan

Jadi, dari penjelasan dan Apa itu Pengertian Crack? Sejarah, Fungsi, Cara Kerja dan Cara Menggunakannya di atas, dapat kita simpulkan bahwa crack adalah sebuah metode untuk membobol sistem komputer yang aman. Kata yang berarti retak ini diciptakan pada tahun 1980-an oleh peretas yang ingin melepaskan diri dari praktik yang lebih jahat yang biasanya dilakuan dilakukan oleh hacker. Satu-satunya tujuan cracker adalah untuk membobol sistem, mendapatkan pemenuhan dari kemampuan cracking atau memecahkan perisai sistem keamanan komputer.

Istilah ini juga umum diterapkan pada file yang digunakan dalam program aplikasi software cracking yang memungkinkan penyalinan ilegal dan penggunaan perangkat lunak komersial dengan memecahkan (atau memecahkan) berbagai teknik pendaftaran dan perlindungan salinan.

Penutup

Demikianlah ulasan yang dapat Kami sampaikan kali ini, dimana Kami membahas mengenai Apa itu Pengertian Crack? Sejarah, Fungsi, Cara Kerja dan Cara Menggunakannya secara detail dan lengkap. Sekedar saran, alangkah baiknya jika jita berusaha untuk mencoba untuk memberikan apresiasi kita terhadap sesuatu yang telah dibuat oleh orang lain, misalnya dengan mencoba untuk membeli produk dari orang tersebut tanpa menggunakan versi non-originalnya.

Silahkan bagikan artikel atau tulisan Kami disini jika kalian rasa ini bermanfaat untuk diketahui oleh teman-teman dan kerabat kalian semua. Sekian dari Saya, Terima Kasih.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *