it-swarm-id.com

Bagaimana cara kerja keygens perangkat lunak?

Saya telah melihat mereka berkali-kali, dengan berbagai jenis perangkat lunak, tetapi satu hal yang saya selalu bertanya-tanya, adalah bagaimana keygens perangkat lunak tahu kunci apa yang dihasilkan. Saya tahu prinsip dasarnya: keygen terlihat di suatu tempat di file instalasi perangkat lunak dan membuat kunci yang cocok dengan beberapa file yang dienkripsi yang memungkinkan program untuk bekerja. Tetapi saya ingin tahu bagaimana mereka melakukan itu, dan bagaimana mencegahnya. Ini benar-benar pertanyaan berganda.

  1. Bagaimana cara kerja sistem kunci?
    • Bagaimana programmer biasanya membuat perangkat lunak yang bekerja berdasarkan kunci. Saya seorang programmer menengah, tetapi saya tidak pernah belajar banyak dari aspek keamanan/anti-pembajakan itu. Bagaimana cara mereka membuat dan/atau mengenali kunci untuk memungkinkan perangkat lunak mulai bekerja?
  2. Di mana biasanya terlihat untuk menemukan "file terenkripsi" ini?

    • Apakah itu dalam file fisik di komputer, atau database situs yang dipanggil?
  3. Apa yang dilakukan perusahaan untuk mengenkripsi file itu?

    • Saya akan membayangkan bahwa kunci tersebut harus disimpan di lebih dari sekadar plaintext, apa yang mereka lakukan agar tetap terenkripsi?
  4. Metode apa yang digunakan keygen untuk membuat kunci?
    • Saya telah bermain-main dengan beberapa perangkat lunak peretas kata sandi seperti "cain & mampu" dan saya perhatikan, bahwa dengan beberapa metode peretas kata sandi, seperti brute-force dan kamus, itu memberi saya ETA dalam beberapa tahun, namun keygens tampaknya membuat kunci secara instan. Apakah mereka menggunakan metode yang berbeda sama sekali?
  5. Tindakan apa yang dapat diambil perusahaan untuk mencegah penggunaan keygens dalam perangkat lunak bajakan?
    • Saya mulai menulis perangkat lunak saya sendiri untuk didistribusikan, saya bertanya-tanya apa yang ada, metode yang relatif mudah dapat saya gunakan untuk mencegah
11
Ephraim

Bagaimana cara kerja sistem kunci?

Yah itu tergantung ada banyak implementasi. Salah satunya dibahas dalam stackoverflow :

Dengan asumsi Anda tidak ingin melakukan build khusus untuk setiap pengguna, maka:

  • Buat sendiri kunci rahasia untuk produk
  • Ambil nama pengguna
  • Menyatukan nama pengguna dan kunci rahasia dan hash dengan (misalnya) SHA1
  • Buka kemasan hash SHA1 sebagai string alfanumerik. Ini adalah "Kunci Produk" pengguna individu
  • Di dalam program, lakukan hash yang sama, dan bandingkan dengan kunci produk. Jika sama, OKE.

Catatan: setiap skema kunci dapat di-crack. Itu sebabnya banyak alat menggunakan validasi online.

Di mana biasanya terlihat untuk menemukan "file terenkripsi" ini?

Biasanya tidak ada file terenkripsi saat menggunakan metode sebelumnya. Mungkin ada metode lain untuk menghasilkan kunci dengan algoritma lain, tetapi mereka tidak pernah menyimpan semua kunci dalam program.

Apa yang dilakukan perusahaan untuk mengenkripsi file itu?

Nah jika Anda merujuk untuk menyimpan kunci yang diketik pengguna di sistem Anda, maka kadang-kadang disimpan plaintext dalam file konfigurasi. Kadang-kadang mereka menggunakan enkripsi simetris (seperti AES) dengan kunci hardcoded untuk mengenkripsi file ini.

Metode apa yang digunakan keygen untuk membuat kunci?

Karena ada orang yang dapat mengetahui skema yang digunakan program dan hanya mengimplementasikannya dalam keygen mereka sendiri.

Tindakan apa yang dapat diambil perusahaan untuk mencegah penggunaan keygens dalam perangkat lunak bajakan?

Aktivasi online, tetapi semakin sulit Anda membuatnya bagi pelanggan untuk menggunakan perangkat lunak semakin kecil kemungkinan Anda mereka akan membelinya. Pada akhirnya tidak ada satu pun perangkat lunak yang anti-pembajakan . Jika ada, perusahaan seperti Adobe dan Microsoft akan langsung mempekerjakan Anda.

8
Lucas Kauffman

Nomor seri untuk perangkat lunak komputer memiliki pola khusus, yang memungkinkan pemasang atau aplikasi mendeteksi apakah kunci tersebut sah atau tidak. Contoh yang sangat sederhana adalah bahwa setiap nomor seri memiliki tepat tiga kejadian dari nomor 5 di dalamnya - jadi 1932-1253-2319-5512 akan menjadi nomor seri yang berfungsi. Dalam skenario kehidupan nyata, hubungan antara angka-angka tentu saja akan lebih rumit.

Perangkat lunak yang dikirim berisi algoritme yang memeriksa apakah suatu seri valid atau tidak. Pembuat perangkat lunak memiliki perangkat lunak yang memungkinkannya membuat nomor seri untuk produk.

Untuk membuat keygen, grup cracker (orang-orang yang berspesialisasi dalam memecahkan skema perlindungan salinan) menganalisis program yang dapat dieksekusi untuk menemukan bagian yang memeriksa serial. Mereka kemudian merekonstruksi algoritma untuk membuat serial berdasarkan kode pemeriksaan. Keygen yang sudah selesai adalah aplikasi yang menerapkan algoritma untuk membuat nomor seri.

Kadang-kadang keygens tidak benar-benar berisi algoritma, melainkan daftar nomor seri yang valid, yang mana dipilih secara acak.

Keygen untuk Windows xp dalam paket layanan yang lebih baru lebih rumit, karena Microsoft memeriksa tidak hanya apakah kunci itu valid, tetapi juga apakah kunci itu telah dijual dengan salinan dan belum digunakan di komputer lain. Keygen mengirim permintaan massal ke server Microsoft untuk memeriksa apakah itu kunci yang berfungsi atau tidak.

6
Anna Ashmore

Bagaimana cara kerja sistem kunci?

Dalam bentuk paling umum if (some-complex-or-not conditions-here) then (OK). Kompleksitas kondisi yang diperiksa hanya dibatasi oleh fantasi Anda

Di mana biasanya terlihat untuk menemukan "file terenkripsi" ini?

Di sana tidak ada pola umum, di mana dan bagaimana menyimpan dan membaca informasi ini. Ini bisa berupa file dan bukan file sama sekali (kunci registri, misalnya, untuk Windows)

Apa yang dilakukan perusahaan untuk mengenkripsi file itu?

Praktik yang biasa - jangan pernah menyimpan sebagai teks biasa, gunakan metode transformasi yang tidak dapat diubah sebelum disimpan, tetapi - dengan aktivasi kunci, bahkan penyimpanan kunci teks biasa mungkin anti peluru: kunci curian, sekali diaktifkan, tidak akan berfungsi dari pendaftaran kedua (dapat digunakan kembali dan metode yang dapat diretas, tetapi dapat bekerja sampai tingkat tertentu)

Metode apa yang digunakan keygen untuk membuat kunci?

Metode reverse-engineered untuk memeriksa validitas membantu dalam rekayasa balik algoritma pembuatan kunci-data

Tindakan apa yang dapat diambil perusahaan untuk mencegah penggunaan keygens dalam perangkat lunak bajakan?

Non-teknis - harga yang wajar untuk produk. Dalam hal ini keygens akan (mungkin) tetap muncul, tetapi akan lebih "hanya untuk bersenang-senang" game untuk crack-tim, daripada Diminta (dan digunakan dengan dampak langsung) oleh konsumen massal produk .

Secara teknis - mencegah dari berjalan di bawah debugger, dikombinasikan dengan kode terenkripsi dalam file (dengan dekripsi dalam memori, dimungkinkan - multi-layer untuk beberapa bagian sensitif), rantai manipulasi memori, verifikasi online kunci dalam penyimpanan eksternal (lihat metode sebelumnya, yang juga berlaku secara terpisah untuk checker) ...

2
Lazy Badger