Dekompilasi Delphi
Bagian 1 Tentang Rekayasa Terbalik
Dekompilasi? Balik? Dekripsi? (Dekompilasi? Terbalik? Retak?)
Sederhananya, dekompilasi adalah kebalikan dari proses kompilasi: menerjemahkan file yang dapat dieksekusi ke bahasa tingkat yang lebih tinggi. Jika Anda kehilangan program sumber proyek Delphi dan hanya memiliki file yang dapat dieksekusi: rekayasa balik (dekompilasi) berguna jika program sumber tidak lagi tersedia.
Ya, "program sumber tidak tersedia", apakah ini berarti kita dapat mendekompilasi proyek Delphi yang dikembangkan oleh programmer lain? Benar atau salah...
Apakah dekompilasi yang sebenarnya mungkin dilakukan? (Apakah dekompilasi yang sebenarnya mungkin dilakukan?)
Tidak, tentu saja tidak. Dekompilasi yang sepenuhnya otomatis tidak mungkin dilakukan—tidak ada dekompiler yang dapat merekonstruksi kode asli dengan benar.
Ketika proyek Delphi dikompilasi dan dihubungkan untuk menghasilkan file executable yang berdiri sendiri, sebagian besar nama yang digunakan dalam program diubah menjadi alamat. Hilangnya nama berarti decompiler harus membuat nama unik untuk semua konstanta, variabel, fungsi, dan prosedur. Sekalipun dekompilasi berhasil sampai batas tertentu, "kode sumber" yang dihasilkan masih kurang memiliki arti asli dari nama variabel dan fungsi.
Jelas bahwa sintaks bahasa pemrograman asli tidak ada lagi di file yang dapat dieksekusi. Oleh karena itu, sangat sulit bagi dekompiler untuk menerjemahkan instruksi bahasa mesin secara terus menerus dari file yang dapat dieksekusi dan menentukan instruksi bahasa aslinya.
Mengapa dan kapan menggunakan. (Mengapa dan kapan menggunakan.)
Rekayasa terbalik digunakan karena beberapa alasan:
Apakah ini sah? (Apakah ini sah?)
Rekayasa balik bukanlah dekripsi, meskipun sulit untuk menarik garis yang jelas antara keduanya. Program komputer dilindungi oleh undang-undang hak cipta dan merek dagang. Setiap negara mempunyai penafsiran yang berbeda terhadap hak pemilik hak cipta. Penjelasan paling umum adalah bahwa dekompilasi diperbolehkan dalam kondisi berikut:
Untuk tujuan penjelasan yang lebih baik, namun deskripsi antarmuka tidak lagi tersedia; Untuk tujuan koreksi kesalahan, namun pemilik hak cipta tidak dapat melakukan koreksi; Untuk tujuan menentukan apakah bagian dari program dilindungi. Tentu saja, jika Anda tidak yakin apakah Anda diperbolehkan membongkar file yang dapat dieksekusi dari program tertentu, Anda harus berhati-hati atau menghubungi pengacara Anda.
CATATAN: Jika Anda mencari cara meretas Delphi, generator kunci, atau sekadar nomor seri: Anda mencari di tempat yang salah. Harap pastikan bahwa semua yang Anda tulis atau sajikan di sini adalah untuk tujuan penelitian dan pendidikan saja.