Custom GetProcAddress

Giriş Windows sistemlerinde C veya C++ ile geliştirme yaparken, bir DLL içindeki fonksiyonu çağırmak için genellikle GetProcAddress kullanırız. Süreç temelde basittir: LoadLibrary ile DLL belleğe alınır, ardından GetProcAddress‘e DLL’in handle değeri ve aranan fonksiyonun adı verilir. Peki bu işlem arka planda tam olarak nasıl işliyor? İşletim sistemi, verdiğimiz string değerini büyük bir bellek bloğu içinde nasıl bulup bize adresini dönüyor? Bu yazıda, standart Windows API’lerini kullanmak yerine bir PE dosyasının bellek yapısını çözümleyerek kendi GetProcAddress fonksiyonumuzu yazıyoruz. ...

27 Ekim 2026
5 dk
0xGently

Custom GetModuleHandle

Giriş Windows API’lerinin arka planda tam olarak nasıl çalıştığını incelemek Zararlı yazarken bize çok sayıda yeni teknik ve taktik kazandırır. Bu yazıda, en sık kullanılan API’lerden biri olan GetModuleHandle fonksiyonunu, hiçbir Windows API’si çağırmadan sıfırdan nasıl implemente edebileceğimizi inceleyeceğiz. Tabiki bunu yapma sebeplerimizden en büyüğü sürekli kullanmış olduğumuz bu fonksiyonu IAT(Import Address Table) içerisinden gizlemek. Bildiğiniz gibi GetModuleHandle, verdiğiniz bir DLL ismine karşılık o modülün bellekte yüklü olduğu base adresini döner. Yaptığı işlem aslında gayet nettir: OS loader tarafından her process için tutulan ve yüklü modülleri barındıran bir listeyi taramak. Bu liste, Process Environment Block (PEB) yapısının içinde yer alır. Bu yazının odak noktası da PEB’e manuel olarak ulaşıp bu listeyi nasıl parse edeceğimizi adım adım göstermek olacak. ...

25 Ekim 2026
10 dk
0xGently

IPv4/IPv6 DeObfuscation

IPv4/v6 DeObfuscation Bu yazıda, dışarıdan bakıldığında son derece sıradan görünen bir ağ yapılandırma fonksiyonunun, nasıl bir shellcode decoder’a dönüştürüldüğünü inceleyeceğiz. Amacımız, saldıran tarafın zihniyetini anlayarak savunma sistemlerimizi bu tür “normal görünen anormallikleri” yakalayacak şekilde kurgulamak. Not: Bu metinde anlattığım kodun tamamını malware-development-library adresinde bulabilirsiniz. Ayrıca bu konunun mantığını oturtup kodun tam halini incelediğinizde diğer tekniklere uygulanan DeObfuscation işlemlerinide oluşturabilirsiniz. Zaten hemen hemen aynı ya sadece birkaç değişiklik yapmanız gerekmektedir o kadar. ...

10 Nisan 2026
4 dk
0xGently

IPv4/IPv6 Obfuscation

IPv4/IPv6 Obfuscation Siber güvenlik dünyasında bir veriyi saklamak istediğimizde önümüzde genellikle iki temel yol olur: Ya veriyi doğrudan şifreleriz (AES, RC4 veya XOR gibi) ya da onu karmaşıklaştırırız (obfuscation). Yazılım geliştirirken kodu zorlaştırmak bazen sadece fikri mülkiyeti korumak için değil, güvenlik mekanizmalarını aşmak için de kritik bir rol oynar. Örneğin elimizde bir shellcode var ve bunu gizlemek istiyoruz. İlk akla gelen çözüm şifreleme olsa da bu her zaman en akıllıca yol olmayabilir. Çünkü şifrelenmiş veriler, dosyanın o bölümündeki entropiyi (rastgelelik oranını) tavan yaptırır ve bu durum güvenlik analizcilerinin ya da AV/EDR çözümlerinin hemen radarına takılır. İşte bu noktada, dikkat çekmeden karmaşıklaştırmak çok daha mantıklı bir seçeneğe dönüşüyor. ...

5 Şubat 2026
5 dk
0xGently
gusto-stuck-cavity@duck.com