<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Obfuscation on 0xGently</title><link>https://0xgently.github.io/tags/obfuscation/</link><description>Recent content in Obfuscation on 0xGently</description><generator>Hugo</generator><language>tr-TR</language><copyright>Content is licensed under CC BY 4.0. © 0xGently</copyright><lastBuildDate>Tue, 27 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://0xgently.github.io/tags/obfuscation/index.xml" rel="self" type="application/rss+xml"/><item><title>Custom GetProcAddress</title><link>https://0xgently.github.io/posts/custom_getprocaddress/</link><pubDate>Tue, 27 Oct 2026 00:00:00 +0000</pubDate><guid>https://0xgently.github.io/posts/custom_getprocaddress/</guid><description>&lt;h2 id="giriş"&gt;Giriş&lt;/h2&gt;
&lt;p&gt;Windows sistemlerinde C veya C++ ile geliştirme yaparken, bir DLL içindeki fonksiyonu çağırmak için genellikle &lt;code&gt;GetProcAddress&lt;/code&gt; kullanırız. Süreç temelde basittir: &lt;code&gt;LoadLibrary&lt;/code&gt; ile DLL belleğe alınır, ardından &lt;code&gt;GetProcAddress&lt;/code&gt;&amp;lsquo;e DLL&amp;rsquo;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&amp;rsquo;lerini kullanmak yerine bir PE dosyasının bellek yapısını çözümleyerek kendi &lt;code&gt;GetProcAddress&lt;/code&gt; fonksiyonumuzu yazıyoruz.&lt;/p&gt;</description></item><item><title>Custom GetModuleHandle</title><link>https://0xgently.github.io/posts/custom_getmodulehandle/</link><pubDate>Sun, 25 Oct 2026 00:00:00 +0000</pubDate><guid>https://0xgently.github.io/posts/custom_getmodulehandle/</guid><description>&lt;h2 id="giriş"&gt;Giriş&lt;/h2&gt;
&lt;p&gt;Windows API&amp;rsquo;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&amp;rsquo;lerden biri olan &lt;code&gt;GetModuleHandle&lt;/code&gt; fonksiyonunu, hiçbir Windows API&amp;rsquo;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.&lt;/p&gt;
&lt;p&gt;Bildiğiniz gibi &lt;code&gt;GetModuleHandle&lt;/code&gt;, 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&amp;rsquo;e manuel olarak ulaşıp bu listeyi nasıl parse edeceğimizi adım adım göstermek olacak.&lt;/p&gt;</description></item><item><title>IPv4/IPv6 DeObfuscation</title><link>https://0xgently.github.io/posts/%C4%B1pv4_deobf/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://0xgently.github.io/posts/%C4%B1pv4_deobf/</guid><description>&lt;h2 id="ipv4v6-deobfuscation"&gt;IPv4/v6 DeObfuscation&lt;/h2&gt;
&lt;p&gt;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&amp;rsquo;a dönüştürüldüğünü inceleyeceğiz. Amacımız, saldıran tarafın zihniyetini anlayarak savunma sistemlerimizi bu tür &amp;ldquo;normal görünen anormallikleri&amp;rdquo; yakalayacak şekilde kurgulamak.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Not&lt;/strong&gt;: Bu metinde anlattığım kodun tamamını &lt;a href="https://github.com/0xGently/malware-development-library/tree/main/Payload-Encryption-and-Obfuscation/06-IPv4_IPv6_DeObf"&gt;malware-development-library&lt;/a&gt; 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.&lt;/p&gt;</description></item><item><title>IPv4/IPv6 Obfuscation</title><link>https://0xgently.github.io/posts/%C4%B1pv4_obf/</link><pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate><guid>https://0xgently.github.io/posts/%C4%B1pv4_obf/</guid><description>&lt;h2 id="ipv4ipv6-obfuscation"&gt;IPv4/IPv6 Obfuscation&lt;/h2&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;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 &lt;strong&gt;entropiyi (rastgelelik oranını)&lt;/strong&gt; 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.&lt;/p&gt;</description></item></channel></rss>