- Program korunmaya değermi ? Değmezse hiç uğraşmayın çünkü Kırılmıyacak program yoktur…
- Programınız çok kıymetliyse ! profosyonel çözümlere bakın
- Anti-Debugging* için önlemler alın.
- Programlarınızda anlamlı prosedür isimleri kullanmayın bool KontrolSeriNo(...) gibi Kolaylıkla devre dışı bırakılabilir - siz hiç derlediğiniz programlara DeCompiler** larla baktınızmı baktınız mı ?
- Kullanıcının bir şekilde programı kırmaya çalıştığını tespit ettiyseniz . aman uyandırmayın bir veya iki gün bekleyip haberdar edin. Mesela Hatalı bir seri noyu bir jump değişikliğiyle doğru olarak kabulettirdiyse hemen bunu bidirmeyin bir gün sonra akkında dialogunda gösterin
- CheckSum kullanın
- Kodunuzun kendi kendini onarır hale getirin. SMC***
- Parola girildikten sonra 1 veya 2 sn bir bekleme koyun. Deneyerek parola kırmayı -brute force -zorlaştıracaktır.
- Birden fazla kontrol rutini yazın her seferinda farklı yada rastgele- bir şekilde çağırın.
- Seri No kontrolünü string karşılaştırmayla yapmayın ****
- Sistem saatine ve tarihine güvenmeyin!
- Kritik Mesajları – mesela kullanım süreniz dolmuştur vb gibi- kodun içine düz şekilde yerleştirmeyin şifreleyin ve dinamik olarak oluşturun.
- Koruma şemanızı açıklamayın
- Önemli dialog kutularınızı ve menülerinizi dinamik olarak oluşturun -çalışma zamanında-
- Demo versiyonlarınızda kısıtladığınız opsiyonları sadece disable yaparak yapmayın ilgili koduda kaldırın. – sadece ilgili kısmı enable yaparak kullanıma açabilirler-
- Kullanıcıya programın hakkında bilgiyi Hakkında dialog kuytusunda verin
* En basit olarak IsDebuggerPresent() API var mesela
** mesela Delphi ve CBuilder için DeDe var
*** Self Modified Code kendini değiştiren kod
**** Debugger ile kontrol kısmına gelip doğru Seri No yu kolaylıkla alabilirler hatta verdiğiniz hata mesajıyla doğru seri Noyu değiştirip sizin programınızla keygen yapıverirler :)
Hiç yorum yok:
Yorum Gönder