Ellerine sağlık. Ancak eksik ve yanlış gördüğüm bir kaç noktaya değinmek istiyorum;
Biçem ve Proje Yapısı
Projede standart bir isimlendirme & case yapısı yok. Kimi yerde İngilizce, kimi yerde Türkçe kullanılmış. Bazı yerlerde Camel Case bazı yerlerde ise Snake Case kullanılmış. Yanlış sınıf isimlendirmelerinden ve biçimlerinden bahsetmiyorum bile. Proje tasarımı ve mimarisi ise hiç yok. Projeler genelde app.py, __init__.py, main.py gibi dosyalar ile başlar. Burada belirsizlik var -aynı ismi taşıyan dosya cidden fikir vermiyor, başlatıcısı yok-. Ayrıca dosya içerikleri çok uzun, modüler değil.
PEP-8 standartlarının ise içinden geçilmiş, kodlar okunmuyor bile. Burayı es geçiyorum.
Menü görünümü çok kötü, bir menu maker kullanılabilir. Yada farklı bir md dosyasından çekilebilir. Proje dosyasında olması okunabilirliği ciddi manada etkiliyor.
Ha birde menü server içerisinde (backdoor), clientte olması gerekiyor.
Modüler Yapı ve Uygulama Mimarisi
Projede sınıflar içerisinde çok fazla print kullanılmış. Oysa sınıflar yapısı gereği ile bir arayüz sağladığı için bu kadar print kullanımı yanlış. Hatta mümkünse log vs işlemleri için ayrı modüller kullanılmalı.
Proje içerisinde birbirini tekrar oden çok fazla komut ve fonksiyon var, özellikle bannerlar. Bu bannerların bir fonksiyon yada dosya içerisinde ayrıca tutulması ve gerektikçe çağrılması daha mantıklı olur. Keza aynı işi yapan 3 fonksiyon gördüm. İsimler bile aynı. Çakışma olmaması mucize. Separation Of Concerns uygulanmalı.
Bazı fonksiyonlar tek satır işlem yapıyor, bunlar yerine daha verimli olan lambda fonksiyonlar kullanılabilir.
3. Şahıslar İçin Kullanım
Proje sabitleri kullanıcıdan alınmıyor -ip, port vs-. Bu üçücü şahısların direkt koda müdahalesi anlamına geliyor. Kullanışlı değil. Readme dosyası yönlendirmeleri ise eksik, API kullanımı eklenirse yönetimi çok daha mantıklı olur bu tür backdoor projelerinde.
Dosya boyutu
Python ile backdoor geliştirmek çokta mantıklı değil, çünkü dosya boyutu çok ama çok yüksek. Ve dehşet kaynak tüketiyor.
Daha iyi geliştirmeler için Pep-8 standartlarınızı okumanızı öneririm. Birde bir backdoorda olması gereken başlatmaya kopyalama vb durumlar yok. Eklenmeli diye düşünüyorum. Daha bir çok eksik ÖNEMLİ eksik var. Tamamlanmalı.
İyi çalışmalar.