[0] Obfuscation ~
Türkçe karşılığı şaşırtmaca, yanıltmaca demektir.
Yazılım evreninde ise kaynak kodlarının işlevini hiçbir şekilde değiştirmeden anlaşılmayacak derecede karıştırma anlamına gelmektedir. Obfuscate edilmiş örnek bir kod aşağıda görülmektedir.
Şekil 1.1 (Obfuscated kod örneği)
[1] Neden ihtiyaç duyarız? ~
Obfuscate işlemi öncelikli olarak oluşturduğumuz projelerin intellectual property dediğimiz fikir haklarını koruma altına alıp reverse engineering yani tersine mühendislik gibi denemeleri yapılsa da programlarımıza gömülü olan bize ait algoritma ya da know-how gibi tahminlerin açığa çıkmasını engellemek amacıyla kullanılmaktadır.
Obfuscate işleminin diğer bir kullanım alanı ise kodun daha efektif bir hal almasını sağlamaktır.
Şekil 1.2 (Obfuscated kod örneği [Optimize edilmiş])
[2] PyObfx ~
İnsanlar kullanışlı, kolay, popülaritesi yüksek ve insan diline en yakın dillerden olduğu için Python programlama dilini öğreniyor ve bu işten gelir sağlamak istiyorlar. Gelir sağlamak için scriptlerini satacakları kişiler de genelde lisanslara, anlaşmalara bağlı kalacak kurumsal şirketler olmuyor. Bu durumda da her ne kadar Python dilinin felsefesine aykırı olsa da insanlar kodlarını korumak ve çoğaltılmasını önlemek için bir obfuscatora ihtiyaç duyuyor. Bu bağlamda PyObfX; Python kodlarının okunmasını, geri döndürülmesini ve çoğaltılmasını mümkün olduğunca zorlaştırmayı hedefliyor.
[3] Özellikler ~
String, Integer, Float ve Boolean Veri Tipi Obfuscation
Değişken Adı Obfuscation
Fonksiyon İsmi Obfuscation
Import Name (Modül ismi) Obfuscation
Packing (bz2, gz, lzma)
PyObfx kullanılarak Obfuscate edilmiş örnek bir dosya aşağıda gösterilmiştir.
Şekil 2.1 (PyObfx ile Obfuscate edilmiş kod örneği)
[4] Kurulum ~
Kod:
[CENTER][FONT="Lucida Console"][COLOR="LightBlue"]git clone https://github.com/PyObfx/PyObfx.git && cd PyObfx/
pip install -r requirements.txt[/COLOR][/FONT][/CENTER]
[5] Kullanım ~
[ame]https://www.youtube.com/watch?v=ryZWeHfv7Xs[/ame]
Kısa animasyon: https://asciinema.org/a/207739
[6] GitHub ~
Kod:
[CENTER][URL="https://github.com/PyObfx/"][FONT="Lucida Console"][COLOR="LightBlue"]github.com/PyObfx/[/COLOR][/FONT][/URL][/CENTER]
PyObfx projesi TurkHackTeam AR-GE Timi tarafından 2 aylık bir süreçte yazılmış olup açık kaynak kodlu beta sürümündedir.
Kullanıcıdan gelen geri bildirim ve önerilere göre proje geliştirilmeye devam edecektir. Siz de GitHub üzerinden Pull Request göndererek projeye destek olabilirsiniz.
Geliştirici Kadromuz: KeyLo99 Gbmdpof kondanta easyly Emperor Federico
(Bkz: https://github.com/PyObfx/PyObfx/graphs/contributors)
Araştırma-Geliştirme ekibi olarak iyi kullanımlar dileriz.
...
Moderatör tarafında düzenlendi: