Merhabalar bugün sizlere Windows'ta sıkça ismini duyduğumuz programlama dillerinde kullanılan Windows API'den kısaca bahsetmek istedim.
İçindekiler;
- Başlangıç Açıklaması
- Özellikler
- Yapı Taşlarının Açıklanması
- Önemi
- Temel Kavramlar
- Kapanış
Windows API (Application Programming Interface), Microsoft’un Windows işletim sistemi için üzerinde çalışıp geliştirdiği yazılım kütüphaneleri bütünü. Geliştiricilerin veya kullanıcıların, Windows işletim sistemi üzerinde çalışan uygulamalar oluşturabilmesi için kullandıkları bir fonksiyonlar bütünüdür.- Başlangıç Açıklaması
- Özellikler
- Yapı Taşlarının Açıklanması
- Önemi
- Temel Kavramlar
- Kapanış
Her Windows sürümü için standart olduğundan dolayı kullanıcılar farklı Windows sürümlerinde API’yi kullanmak istedikleri zaman sıkıntı yaşamazlar. Windows API’mız bu seçeneklerle de kalmayarak içerisinde bulundurmuş olduğu esneklik ve genişletilebilirlik özelliği sayesinde sürüm güncellemeleri ile yeteneklerini genişletebilir ve yeni Windows bileşenlerini içerisine dahil edebilir. İçerisinde bu kadar özellik bulunmasına rağmen kullanıcıyı ve sistemi yormayarak iyi bir performans optimizasyonu özelliği taşır.
Kullanıcı ve geliştiriciler Windows API sayesinde kullanmış oldukları bilgisayar üzerinde işletim sistemi özelliklerine erişme, ağ iletişimi sağlama, kullanıcı ara yüzü oluşturma, BIOS bilgilerine erişme gibi pek çok işlem yapabilirler. Yapılan bu tarz işlemler, işletim sistemi üzerinde bulunan uygulamaların geliştirilmesine katkı sağlar.
RAM(Bellek) Yönetimi: Windows API içerisinde bellek yönetimi için fonksiyonlar barındırır. Uygulamaların bu fonksiyonlar ile belleği doğru şekilde ayırır ve serbest bırakır.
Hata İşleme: Windows API içerisinde bulunan fonksiyonlar ile işletim sistemi üzerinde gerçekleşen belirli hata durumlarında hata kodları meydana gelir. Geliştirici ve kullanıcıların oluşan hata kodlarını okuyup işlemesi gerekir.
Olay Yönetimi: Windows API içerisinde bulunan fonksiyonların birçoğu olay tabanlı çalışır. Bundan dolayı uygulamalar gerçekleşen olayları yakalamalı ve işlemelidir.
DLL (Dinamik Link Kütüphanesi): Windows API’nın olmazsa olmazı diyebiliriz. Çünkü bu fonksiyonlar herhangi bir uygulama içerisinde çağrılırken DLL kullanma yoluna başvurulur. Fonksiyonlar DLL içerisinde tanımlanır.
Programlama Modelleri: Geliştiriciler ve kullanıcılar Windows API fonksiyonlarını kullanmak istediğinde herhangi bir programlama modeli seçmesi gerekir. Mesela .NET, Win32
Veri Tipleri: Windows API içerisinde bulunan fonksiyonlar C dilinde yer alan veri tiplerini kullanır. Eğer API’ yi kullanmak istiyorsak bu fonksiyonları bilmemiz gerekir.
Fonksiyon Çağrıları: Windows API fonksiyonlarını kullanmak isteyen geliştirici veya kullanıcılar kullanmış oldukları programlama dillerinde fonksiyon çağrı yöntemini kullanır. Örnek, (Terganca | Shell32 ve User32 API'larıyla Güçlü Windows Sistem Araçları | TurkHackTeam) Çağırma esnasında dönen hata kodları, parametreler geliştirici veya kullanıcı için API’ yi yönlendirmesi açısından önemlidir.
Güvenlik ve Yetkilendirme: Windows API içerisinde bulunan fonksiyonlarda erişim izni veya yetki sınırlaması bulunmaktadır. Bu API’ yi kullanmak isteyen fonksiyonlar gerekli yetki veya erişim iznini alması gerekir.
Peki nedir API’nin kullanımının önemi? Neden kullanmalıyız?
Yukarıda yer alan özellikleri arasında da bahsettiğimiz üzere standart olması, performans, işletim sistemi entegrasyonu, genişletilebiliyor olması haricinde Windows API Windows işletim sisteminin dünya üzerinde kullanımının çok olması nedeniyle büyük bir veri bankası birikimi olması ve içerisinde sunduğu güvenlik yetki sınırlaması işlevleri ile uygulamalar doğru, güvenilir şekilde kullanılabilir veya yönlendirilebilir.
Pencere Prosedürleri (WndProc): Windows’ta her pencere için bir pencere prosedürü diye adlandırılan bir deyim vardır. Pencere prosedürü pencereye gönderilen mesajları alır işler ve dönen yanıta uygun cevaplar üretir. Bu prosedürler kullanıcıyı veya geliştiriciyi yönlendirmek amacı ile kullanılabilir mesela şuraya bas buraya tıkla gibi…
Windows Mesaj Döngüsü: Grafiksel kullanıcı arayüzü işlemlerinde var olan donanım ile iletişim sağlamak amacıyla kullanılır. Mesela USB girişi, fare tıklatması, klavye tuşu basılması gibi…
Konu harici Zararlı Yazılım Analizi kavramında da Windows API genel anlamda kullanılmaktadır. Çünkü zararlı yazılımlar dosya ve klasör işlemlerini sıkça kullanırlar ve API’nın içerisinde bulunan fonksiyonlardan faydalanmaktadırlar. İnceleme yaparsanız fonksiyonlar içerisinde “CreateProcessW”, “CreateFile”, “WriteFile” gibi ibareler görürseniz mutlaka nerelerde ne yaptığına bakın derim.
- S0N -
Son düzenleme: