Sebagai tambahan saja dari ide2 teman2 yang lain, Kita bisa menambahkan teknik hashing dengan MAC address dari network card dari komputer user ato SSID dari komputer Windows. Alasannya karena ID tersebut unique, jadi tidak bisa diduplikasi ke komputer lain.
Teman2 di dunia linux sering menggunakan ini untuk demo/trial ato full licensing :( Halomoan On 2/25/07, Ganius Tanuel <[EMAIL PROTECTED]> wrote: > > On 2/23/07, Yenny <[EMAIL PROTECTED] <bright_3y3s%40yahoo.com>> > wrote: > > iya...kepikirannya sih maen di coding aja... or di satu file tertentu > (.INI file) trus di umpetin di folder tertentu, tp pasti akan tetep ke > detect klo usernya jago. Ada ga yah cara lainnya? > > Cara-cara lain banyak. Namun sebelumnya, perlu dipahami > keadaan/kenyataan tentang software copy protection. > > SEMUA software copy protection bisa dijebol sehingga program bisa > dikopi ke mesin lain dan dijalankan. Satu-satunya cara supaya tidak > bisa dijebol adalah dengan membuat dua buah instance yang berbeda: > full version dan partial version (physically crippled/incomplete). > Tapi ini sebenarnya hanya metode distribusi, bukan murni termasuk > mekanisme copy protection. Jika keberadaan instance yang full version > sudah didapatkan, maka copy protection yang membuat software virtually > crippled/incomplete/non-functional akan bisa dijebol. > > Copy protection secara umum ada 2 jenis: > 1. Semua informasi untuk mem-verifikasi kelegalan copy/instalasi > dimiliki oleh copy/instalasi tersebut (tidak butuh akses ke hal-hal > yang eksternal misalnya hardware dongle, customized/protected disc, > validasi dari server external via Internet/dial-up). Penjebolan untuk > jenis proteksi ini bisa cukup 'memalukan', yaitu program penjebol bisa > menghasilkan/generate informasi yang seharusnya hanya bisa dihasilkan > oleh produser aslinya. Contoh klasiknya adalah WinZip yang penjebolnya > bisa menghasilkan pasangan user dan key yang dibutuhkan -- istilah > populernya: keygen (key generator). > > 2. Instalasi/copy butuh hal-hal eksternal. Proteksi ini bisa dijebol > dengan 2 cara: a) Mengubah file program sehingga eksekusi untuk > melakukan verifikasi akan selalu menghasilkan valid/benar. Ini > biasanya disebut dengan: crack atau patch. b) Membuat simulasi/emulasi > hal-hal yang eksternal tersebut. Misalnya untuk protected disc, > dilakukan pencegatan terhadap system call yang mengakses disc/drive > dan melakukan emulasi untuk memberikan hasil yang diharapkan oleh > program. Untuk hardware dongle dan external server feedback, jika > response yang diharapkan adalah sekedar 'VALID' atau 'INVALID', maka > bisa dilakukan pencegatan juga. Namun jika yang diharapkan adalah > kode-kode hasil enkripsi, akan sangat sulit untuk mengemulasinya atau > melakukan cryptanalysis, terutama untuk external server feedback. > > Ada satu lagi jenis proteksi yaitu hardware lock-in: copy/instalasi > dibuat/kustomisasi secara khusus hanya bisa berjalan di konfigurasi > komputer tersebut. Caranya: user mengirimkan konfigurasi komputernya > (melalui program tertentu yang disediakan oleh produser) lalu produser > melakukan kustomisasi khusus untuk user ini. Proteksi ini pada > dasarnya adalah tipe yang kedua (bergantung hal eksternal) dan cara > penjebolannya akan analogis dengan hardware dongle. > > Para penjebol/cracker biasanya memiliki target yang level > 'kebanggaannya' sebanding dengan kompleksitas penjebolan: > 1) Time spoofing. Ini biasanya untuk instance yang full version namun > dibatasi hanya bisa digunakan selama beberapa waktu (trial period). > Penggunaan VMWare yang dipost rekan lain termasuk kategori ini > walaupun bukan murni upaya penjebolan. Beberapa program yang kurang > hati-hati bahkan bisa ditipu hanya dengan mengubah jam sistem secara > sementara (pada awal loading saja, lalu dikembalikan ke jam > sebenarnya). Penjebolan jenis ini pada umumnya tidak memiliki > kompleksitas yang tinggi. Contoh yang aktual adalah penjebolan pada > proteksi Windows Vista. Secara default, jika pada instalasi tidak > dimasukkan key apapun, copy/instalasi akan masuk ke dalam > evaluation/trial mode yang berlaku selama 30 hari. Periode 30 hari > inipun sebenarnya bisa diperpanjang 3x lagi (total jadi 120 hari) > menggunakan program yang disediakan Vista sendiri tanpa hack apapun. > Penjebolan terakhir berhasil membuat Vista tertipu untuk selalu > mengira baru digunakan 1 hari atau kurang. > > 2) Patching. Penjebolan biasanya hanya memerlukan pengubahan file pada > sedikit tempat, yaitu pada saat verifikasi dilakukan. Untuk ini, > penjebol hanya perlu mengamati tempat-tempat/waktu-waktu tertentu yang > menjadi kandidat berlakunya verifikasi. Ini biasanya dilakukan dengan > debugging tools tanpa harus melakukan reverse engineering yang terlalu > banyak. Namun karena ada file yang diubah, para konsumen (pemakai > hasil penjebolan) biasanya lebih memilih untuk memasukkan sendiri > informasi/key yang dibutuhkan. Ini masuk kepada penjebolan berikutnya: > key generator. > > 3) Key generator dan external factor emulation. Penjebolan ini > kompleksitasnya paling tinggi. Supaya bisa menghasilkan informasi yang > bisa diverifikasi secara normal (tanpa hack) oleh program, maka > penjebol perlu melakukan reverse engineering untuk mengetahui > bagaimana/algoritma program tersebut dalam melakukan verifikasi. > > Dari paparan di atas, kesimpulannya adalah: semua proteksi bisa > dijebol. Namun begitu, bukan berarti software tidak perlu diproteksi > (pembahasan ini ruang lingkupnya adalah software komersial, bukan open > source). Yang perlu dipikirkan dan diputuskan adalah: akan diproteksi > sampai tahap mana dan terhadap siapa. Basis usernya sedikit atau > banyak, fungsinya spesifik atau umum, kustomisasi bergantung pada > keterlibatan produser atau minimal, ada trade secret atau tidak (copy > protection berguna untuk deter/menurunkan niat untuk dikopi ke banyak > orang sehingga kemungkinan jatuh ke tangan reverse engineer handal > lebih kecil), dsb. > > Jika ini adalah tugas kantor (software produksi perusahaan tempat kita > bekerja), biasanya saya mulai dengan menjelaskan fakta bahwa tidak ada > proteksi yang 100% aman dari penjebolan. Berikutnya, dianalisa > penggunaan software tersebut sendiri dan dirembukkan sampai tahap apa > kompleksitas proteksi yang dibutuhkan. Setelah diputuskan kemudian > dibuat implementasi paling sederhana sebagai proof of concept (POC) > pada tahap yang disetujui. Pengalaman saya, bersama dengan software > protection, juga dibutuhkan verifikasi penggunaan jumlah user yang > dilisensi (biasanya pada software yang server based) dan user > registration (informasi nama, alamat, kontak, dll). POC bisa > dilakukan secara sendiri-sendiri maupun terintegrasi. Pengalaman lagi, > karena biasanya deadline mepet, POC sering naik statusnya jadi > production code. Karena itu, dalam POC juga tidak bisa terlalu 'culun' > proteksinya. > > Sori jadi kepanjangan nulisnya. Mungkin bisa mulai dulu dari software > yang akan diproteksi ini bagaimana akan digunakannya. Pelan-pelan dari > situ bisa dianalisa kebutuhan proteksinya. > > Regards, > G. Tanuel > > [Non-text portions of this message have been removed]
