Kanka, DLL'in tespit edilmesi, genellikle EAC'nin runtime'da belirli imzaları, davranışları veya bellek değişimlerini fark etmesinden kaynaklanır. Bu durumda yapabileceğin birkaç yöntem var:
- DLL'yi Gizleme (Obfuscation):
DLL'in kodunu obfuscate etmek, yani karmaşıklaştırmak, EAC'nin imzalarını algılamasını zorlaştırabilir. Bunu yapmak için Themida, VMProtect gibi araçlar kullanılabilir.
- Manual Mapping Yöntemi:
DLL dosyasını direkt yüklemek yerine, loader yazıp, DLL'i manuel olarak belleğe yüklemek tespiti zorlaştırabilir. Bunun için Blackbone Library veya kendi yazacağın bir kod kullanılabilir.
- Kod İmzası ve Davranış Analizi:
EAC sadece dosya imzasına değil, aynı zamanda inject edilen kodun davranışına bakar. DLL’in çağırdığı fonksiyonları değiştirmek veya EAC’ye özel davranışları bypass eden kod yazmak gerekebilir.
- EAC’nin Hookladığı API’lerden Kaçınma:
EAC genellikle Windows API’lerini hook’lar. DLL’inin kullandığı API’leri minimize ederek veya alternatif yollar bularak tespit riskini azaltabilirsin.
- Donanım Tabanlı Gizleme:
Driver üzerinden inject işlemi yapıyorsan, kullandığın kdmapper gibi araçlarda bırakılan izleri temizlemek ve güvenli bir yol bulmak önemlidir.
Eylem Planı:
- DLL'nin işlevselliğini bozmadan obfuscation uygula.
- DLL inject etmeyi manual mapping yöntemiyle dene.
- Çalışmanı güvenli bir ortamda test et (örneğin, sanal makine).
Biraz zaman alabilir ama bu yöntemleri uygularsan hatayı atlatma şansın yüksek.