x86 Assembly: CPU'nun Gerçekten Çalıştırdığı Kodu Yazın
Assembly dili, binary'yi elle yazmadan bare metal'e ulaşabileceğiniz en yakın noktadır. Her komut doğrudan bir CPU işlemine karşılık gelir — runtime yok, garbage collector yok, donanımın ne yaptığını gizleyen soyutlama yok. Bu kurs, temel ilkelerden çekirdek seviyesi programlamaya kadar x86 Assembly'yi kapsar ve derleyicilerden exploit geliştirmeye kadar her şeyi anlaşılır kılan temeli sağlar.
Neler Öğreneceksiniz
Yazmaçlar, bellek düzeni ve veri türleriyle başlayacak, ardından temel komutlar ve kontrol akışı, stack yönetimi ve prosedür çağrı kurallarına geçeceksiniz. Buradan itibaren kurs Assembly'yi C ve C++ koduyla arayüzlemeyi, sistem çağrıları yapmayı, kesintileri ve istisnalar işlemeyi ve kayan nokta birimleri ile SIMD komutlarıyla çalışmayı kapsar. İleri kurslar hata ayıklama ve tersine mühendislik, bellek koruması mekanizmaları, sanallaştırma, çekirdek seviyesi sürücü programlaması ve exploit teknikleri dahil olmak üzere düşük seviye performans optimizasyonunu ele alır.
Öğrenme Yolu
On iki kurs A2'den C2'ye uzanır. Ücretsiz giriş kursunda x86 sözdizimi ve zihinsel model oluşturulur. B1 ve B2 kursları pratik çekirdeği oluşturur — yazmaçlar, kontrol akışı, stack ve prosedürler. Kurs daha sonra beş kurs C1 derinliğine kaymaktadır: C/C++ birlikte çalışabilirliği, sistem çağrıları, kesintiler, SIMD ve tersine mühendislik. Bellek Koruması ve Sanallaştırma ile ilgili iki C2 kurs ve Çekirdek Seviyesi Programlama ve Sürücüleri, cache davranışından güvenlikle ilgili düşük seviye tekniklere kadar her şeyi bir araya getiren son ders olan Performans Optimizasyonu ve Exploitation'dan önce gelir.
Nasıl Çalışır
Her kurs, yerleşik kod editöründe tamamladığınız ve gerçek zamanlı geri bildirim aldığınız kısa, odaklanmış derslere bölünmüştür. Komut kodlaması veya açıklayamadığınız bir segfault üzerinde takılıp kaldığınızda yapay zeka öğretmeni mevcuttur.