Hakkımda

Bilgisayar mühendisliği okuyorum. Bilgisayarlara ilgim sadece yazılım geliştirmekten gelmiyor. Sistemlerin arka planda nasıl çalıştığını da öğrenmek istiyorum.

Bir programın ne yaptığı değil, bunu nasıl yaptığı önemli benim için. Bellekte ne oluyor? İşletim sistemi hangi yolları kullanıyor? Derlenmiş bir programın assembly kodunda ne bulabilirim? Bir sistemin tasarımındaki güvenlik açıklarının nedeni ne?

Bu sorular zamanla beni düşük seviyeli programlama, işletim sistemleri, tersine mühendislik ve bilgisayar güvenliğine yönlendirdi.

İlgi alanlarım

  • Reverse Engineering: Binary analysis, disassembly, debugging ve crackme’ler.
  • Low-Level Programming: C, C++, Assembly, memory management ve system calls.
  • Linux & Unix: Basit sistemler, işletim sistemi yapıları, çekirdek ile kullanıcı alanı arasındaki bağlantı.
  • Siber güvenlik: CTF, açık bulma, ikili dosya istismarı ve sistem güvenliği.
  • Ağ: TCP/IP, soket programlama, ağ protokolleri, ağ altyapıları.
  • Hardware: Bilgisayar mimarisi, elektronik, gömülü sistemler ve donanım ile yazılımın birleştiği alanlar.
  • Kriptografi: Kriptografik algoritmalar ve bu algoritmaların dayandığı matematiksel temeller.

Günlük olarak özelleştirdiğim hardened kernelim ve zfsboot ile birlikte Void Linux kullanıyorum. Hazır çözümler yerine, sistemimi kendim kurmaya çalışıyorum. Kullandığım araçların nasıl çalıştığını anlamak hoşuma gidiyor.

Bu blog niye var?

Öğrendiklerimi sadece tüketmekle kalmayıp kayda geçirmek istiyorum.

Burada çözdüğüm crackme ve CTF sorularını, Linux’ta yaptığım denemeleri, yazdığım programları ve araştırdığım teknik konuları paylaşacağım.

Yazılarımda her zaman kusursuz çözümler sunmam şart değil. Bazen bir problemi çözerken yaptığım hatalar ve düşündüğüm yollar, çözümlerden daha değerli olabiliyor.

Bu yüzden blogu bir ders kitabı gibi değil, herkesin okuyabileceği bir mühendislik günlüğü olarak görüyorum.

Yaklaşımım

Bir teknolojiyi kullanmakla nasıl çalıştığını anlamak arasında büyük bir fark var diye düşünüyorum.

Amacım, ikinci tarafa olabildiğince yakın olmak.

Bilmediğim şeyleri araştırırım. Sistemleri parçalara ayırırım. Varsayımları sorgularım. Öğrendiklerimi uygularım. Böylece en iyi şekilde öğrenirim.

Build. Break. Understand. Repeat.