2- .net dilleri native olarak derlenmiyor, yani bir c++, delphi, vb 6.0 gibi direk makine koduna çevirlmiyor. il (intermediate language) denilen aradil e çevriliyor. .net framework bu aradili makine koduna çeviriyor ve işlemcinin anlayabileceği hale getiriyor. işte bu sebepledir ki .net uygulamalarının çalışması için .net framework gerekiyor. .net uygulamaları native olarak derlenmediğinden IL kodları okunabiliyor bazı dissambler yazılımlarla. Lisans kodunu iki çırpıda değiştirebilirler, pack yaparlar, keygen yaparlar v.s. bunu önlemek için daha doğrusu zorlaştırmak için kod karıştırıcı yazılımlar var. bunları kullanarak IL kodlarının okunmasını engelleyebilirsin. IL kodu bir üst seviye olan c# ya da vb.net koduna kolayca çevrilebilir. exe den direk proje halini oluşturabilirsin mesela o derece..

3- packerlar da bazı kripto işlemleri uygulayarak exe nin yapısını değiştiriyor.

6- bu uzun iş hocam bunu anlatacak vaktim yok anahtar kilit mantığı olması gerek sadece. her anahtar bir kilide uyacak, yani kilidin açılması için o anahtar şart. if i ters çevirmeyle açılmayacak bi şey.. ama karışık biraz

edit: volume numarası hdd ye format sonrası verilen ve her biçimlendirmede değişen bir numaradır. o yüzden onun kullanılması pek tavsiye edilmez.