Çalışma zamanı öncesinde şifrelenen bir kod, okunamaması amacıyladır. Bu kodu exe’ye çevirirken her türlü normal bir koda çevrilir sonra exe yapılır. Çünkü şifreli pye dosyanı yorumlayan ikinci bir yorumlayıcı eklemiş oldun, pyconcrete gibi.
Bunu exe içine doğrudan dahil edemezsin.
Yani exe’ye dönüştürürken kodun her türlü açılmalıdır ki, exe kodunu windows tanısın.
Bu nedenle, öncesinde şifrelemek bir kodu derlediğinizde ilave bir güvenlik sağlamaz.
Vardır.
Konudan konuya geçmeyelim, C# kodu yorumlanan bir koddur byte koda dönüşür PE formatında bir exe değildir. Bu nedenle kolaylıkla geri dönüştürülebilir bu aşamada byte kodu da şifreleyen tümleşik bileşenleri de var yine bu da apayrı bir konu.
Zaten üstü kapalı bahsettim. PE dosyasını data segmentine kodunu şifreli olarak yerleştirir. Sonra o kodu bellekte açar ve yürütürsün.
Yani data segmentinde şifreli duran kod, açılarak kod segmentine taşınır ve orada işletilir.
Yukarıda açıkladım. Burada biz sadece py kodunu şifreledik. Exe’ye dönüştürdüğünüzde şifresiz bir exe dosyası olacak.
Yani kod aşamasındaki şifreleme, derleme aşamasına yansımaz.
Derlemek exe ye dönüştürülen dillere dair bir kavramdır.
Bu durumda exe dosyası ya çalışmaz yada çalışsa bile kod artık şifreli değildir. (Denemedim tahmin)
Peki exe mi decompile edebilirler mi? Evet ama doğrudan python koduna dönüşmez.
Peki exe şifrelenir mi?
Evet, kodunuzu şifrelemeden exe’ye çevirin.
Oluşan exe dosyasını, exe comppressor programlarından şifreleme özelliği olan biri ile şifreleyin.
Bu kadar.
Gerisini tartışmamıza gerek yok. Durum bundan ibaret.