Obfuscation, türkçe karşılığı gizlemek olan bir işlemdir. Bu işlem, yazılımda, kodların anlaşılabilirliğinin daha az olması için yapılmaktadır. Yapılma amacı ise güvenlik ve gizliliktir. Obfuscator dediğimiz araçlar ise, yazdığımız kodları anlaşılabilirliği daha zor hale getiren, yani obfuscate işlemini yapan şeylerdir. İnternette çoğu yazılım dili için olduğu gibi php için de bir sürü obfuscator var. Bunlardan bir tanesi de
bu adresteki obfuscator. İşleme de örnek verelim, ilk olarak benim yazdığım deneme.php dosyasını ardından da obfuscate ettikten sonraki halini yazıyorum.
< ?php class Deneme{ public function deneme(){ echo "deneme"; } public function dubluve(){ echo "dubluve"; } } $dubluve = new Deneme(); $dubluve->deneme(); echo "
"; $dubluve->dubluve(); ?>
< ?php class Deneme{public function deneme(){echo"den\x65m\x65";}public function dubluve(){echo"\x64\x75b\x6cuve";}}${"\x47\x4c\x4f\x42\x41\x4cS"}["\x72\x68\x77l\x6f\x65sd\x74"]="\x64\x75\x62\x6c\x75v\x65";${${"\x47\x4c\x4fB\x41L\x53"}["\x72\x68\x77\x6co\x65\x73d\x74"]}=new Deneme();$dubluve->deneme();echo"\x3c\x62r>";$dubluve->dubluve(); ?>
Bu iki kodun da yaptığı işlemler aynı olacaktır. Yani obfuscation işlemi, kodun işleyişine bir etkide bulunmaz, sadece kodun anlaşılabilirlik derecesini zorlaştırır. Bir nevi kodumuzu kilitlemiş oluyoruz. :) Kodumuzu kilitliyoruz da, ne faydası olacak bunun? diye düşünüyorsanız, haklısınız. Obfuscate işlemini yapmak, kendimizi kandırmaktan başka bir işe yaramıyor ne yazık ki. Örneğin kodlarınız üzerinde düzenleme yapmak ve bugları gidermek sizin için oldukça zor olacaktır, bu bir dezavantaj. Ayrıca encrypt yaptığımız işlemin bir de decrypt hali mevcut. Yani obfuscate yaptığımız kodları, tam tersi bir işlemden geçirerek okunabilir(bilgisayarın değil, bizim okuyabilir olmamızdan bahsediyorum) hale getiren araçlar da mevcuttur. Onun da basit bir örneğine
buradan göz atabilirsiniz. Devamı için :
Obfuscation nedir? (php)
Hiç yorum yok:
Yorum Gönder
Yorumunuzu esirgemeyiniz..