Untuk kunci CD jadul, itu hanya masalah membuat algoritma untuk kunci CD mana (yang bisa berupa string apa saja) yang mudah dibuat dan mudah diverifikasi, tetapi rasio kunci CD yang valid terhadap CD yang tidak valid -keys sangat kecil sehingga menebak-nebak kunci CD tidak akan membuat Anda valid.
CARA YANG TIDAK BENAR UNTUK MELAKUKANNYA:
Starcraft dan Half-life keduanya menggunakan checksum yang sama, di mana digit ke-13 memverifikasi ke-12 pertama. Dengan demikian, Anda bisa memasukkan apa pun untuk 12 digit pertama, dan menebak ke-13 (hanya ada 10 kemungkinan), yang mengarah ke yang terkenal itu.1234-56789-1234
Algoritma untuk memverifikasi bersifat publik, dan terlihat seperti ini:
x = 3;
for(int i = 0; i < 12; i++)
{
x += (2 * x) ^ digit[i];
}
lastDigit = x % 10;
CARA YANG BENAR UNTUK MELAKUKANNYA
Windows XP mengambil cukup banyak informasi, mengenkripsi, dan menempatkan pengkodean huruf / angka pada stiker. Ini memungkinkan MS untuk memverifikasi kunci Anda dan mendapatkan jenis produk (Rumah, Profesional, dll.) Secara bersamaan. Selain itu, memerlukan aktivasi online.
Algoritma lengkapnya agak rumit, tetapi diuraikan dengan baik dalam makalah ini (sepenuhnya legal!), Yang diterbitkan di Jerman.
Tentu saja, apa pun yang Anda lakukan, kecuali jika Anda menawarkan layanan online (seperti World of Warcraft ), semua jenis perlindungan salinan hanyalah sebuah kios: sayangnya, jika itu adalah nilai permainan apa pun, seseorang akan rusak (atau setidaknya mengelak ) algoritma CD-key, dan semua perlindungan hak cipta lainnya.
CARA NYATA YANG BENAR - BENAR MELAKUKANNYA:
Untuk layanan online, hidup sedikit lebih sederhana, karena bahkan dengan file biner Anda perlu mengautentikasi dengan server mereka untuk memanfaatkannya (mis. Punya akun WoW). Algoritma CD-key untuk World of Warcraft - digunakan, misalnya, ketika membeli kartu bermain - mungkin terlihat seperti ini:
- Hasilkan nomor acak cryptographically aman yang sangat besar.
- Simpan di basis data kami dan cetak di kartu.
Kemudian, ketika seseorang memasukkan nomor kartu bermain, periksa apakah itu ada di database, dan jika ada, kaitkan nomor itu dengan pengguna saat ini sehingga tidak akan pernah dapat digunakan lagi.
Untuk layanan online, tidak ada alasan untuk tidak menggunakan skema di atas; menggunakan hal lain dapat menyebabkan masalah .