Windows API

r

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ış


15258692.png

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.

12088204.png
Kısaca Windows API Özelliklerinden Bahsedelim;
12088204.png

İlk olarak API bize işletim sistemi entegrasyonu ile karşımıza çıkar. Windows API, işletim sisteminin çekirdek bileşenleri ve işlevlerini kullanılabilir olmasını sağlar. Bu sayede geliştiriciler ve kullanıcılar, dosya işlemleri, ağ bağlantıları gibi diğer sistem kaynaklarına erişebilirler. Bunun haricinde Windows API bize işletim sistemi üzerinde istediğimiz dilde kod yazabilme olanağı sunar. Mesela Python, Visual Basic .NET, C++ vb.

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.


2890578-artificialintelligence4_101959.png
Şimdiyse Windows API’mızı oluşturan temel yapı taşlarını inceleyeceğiz;
2890578-artificialintelligence4_101959.png

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?
2353677.png

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.

Protect-icon.png
Windows API Geliştirme Üzerinde Temel Kavramlar:
Protect-icon.png

Windows Handle: Hand kelimesi bildiğimiz üzere el demektir. API içerisinde de birden fazla el bulunmaktadır. Ellerimizden bazılarına örnek verecek olursak pencere (HWND), dosya, süreç gibi çeşitli ellerimiz mevcut.

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:
Peki aklıma şu takıldı... Windows API'nin iç donanım ile ilgili bir olayı var mıdır? Kastım CPU/GPU
 
Moderatör tarafında düzenlendi:
Gerçekten assemblyde çok işime yarıyorlar, zun zamandır araştırıyorum ve yeni yeni öğreniyorum. En iyi çözüm dll dosyalarını karıştırmak oldu. Sonrasında assemblyde o apileri çağırarak kod yazmaya başladım. Bulması uzun sürdü.
Elinize sağlık.
 
Ellerinize sağlık hocam.

Ellerine sağlık.

Eline sağlık dede.
Allah hepimize sağlık versin
Process bile gizleyebilirsin. işletim sistemine direk erişimin oluyor.
Yes true +++
Gerçekten assemblyde çok işime yarıyorlar, zun zamandır araştırıyorum ve yeni yeni öğreniyorum. En iyi çözüm dll dosyalarını karıştırmak oldu. Sonrasında assemblyde o apileri çağırarak kod yazmaya başladım. Bulması uzun sürdü.
Elinize sağlık.
Assembly bilgisi var mı sizde? Varsa 86'nın hangileri üzerinde çalışmalar yapıyorsunuz? Başlangıç için 8086 kullanıyorlarda...
Ellerine sağlık abi.
 
Allah hepimize sağlık versin

Yes true +++

Assembly bilgisi var mı sizde? Varsa 86'nın hangileri üzerinde çalışmalar yapıyorsunuz? Başlangıç için 8086 kullanıyorlarda...
86 hakkında çok kaynak var(kaliteli 10-15), bu sıralarda 64 öğrenmeye çalışıyorum. 64 hakkında internette pek çok kaynak yok, bu sıralar 64de yöneldim. Dll dosyalarını karıştırmak bu sıralar işime yaradı :)
 
Son düzenleme:
Eline Sağlık Crypter larda baya kullanan seydir winapi ve hooking
Haklısınız
86 hakkında çok kaynak var(kaliteli 10-15), bu sıralarda 64 öğrenmeye çalışıyorum. 64 hakkında internette pek çok kaynak yok, bu sıralar 64de yöneldim. Dll dosyalarını karıştırmak bu sıralar işime yaradı :)
Müsait bir gününüzde mülakat etmek isterim
şu laneti bilen adam her şeyi yapar
Yeah Man!
 
r

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ış


15258692.png

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.

12088204.png
Kısaca Windows API Özelliklerinden Bahsedelim;
12088204.png

İlk olarak API bize işletim sistemi entegrasyonu ile karşımıza çıkar. Windows API, işletim sisteminin çekirdek bileşenleri ve işlevlerini kullanılabilir olmasını sağlar. Bu sayede geliştiriciler ve kullanıcılar, dosya işlemleri, ağ bağlantıları gibi diğer sistem kaynaklarına erişebilirler. Bunun haricinde Windows API bize işletim sistemi üzerinde istediğimiz dilde kod yazabilme olanağı sunar. Mesela Python, Visual Basic .NET, C++ vb.

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.


2890578-artificialintelligence4_101959.png
Şimdiyse Windows API’mızı oluşturan temel yapı taşlarını inceleyeceğiz;
2890578-artificialintelligence4_101959.png

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?
2353677.png

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.

Protect-icon.png
Windows API Geliştirme Üzerinde Temel Kavramlar:
Protect-icon.png

Windows Handle: Hand kelimesi bildiğimiz üzere el demektir. API içerisinde de birden fazla el bulunmaktadır. Ellerimizden bazılarına örnek verecek olursak pencere (HWND), dosya, süreç gibi çeşitli ellerimiz mevcut.

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 -
elinize sağlık hocam
 
r

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ış


15258692.png

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.

12088204.png
Kısaca Windows API Özelliklerinden Bahsedelim;
12088204.png

İlk olarak API bize işletim sistemi entegrasyonu ile karşımıza çıkar. Windows API, işletim sisteminin çekirdek bileşenleri ve işlevlerini kullanılabilir olmasını sağlar. Bu sayede geliştiriciler ve kullanıcılar, dosya işlemleri, ağ bağlantıları gibi diğer sistem kaynaklarına erişebilirler. Bunun haricinde Windows API bize işletim sistemi üzerinde istediğimiz dilde kod yazabilme olanağı sunar. Mesela Python, Visual Basic .NET, C++ vb.

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.


2890578-artificialintelligence4_101959.png
Şimdiyse Windows API’mızı oluşturan temel yapı taşlarını inceleyeceğiz;
2890578-artificialintelligence4_101959.png

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?
2353677.png

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.

Protect-icon.png
Windows API Geliştirme Üzerinde Temel Kavramlar:
Protect-icon.png

Windows Handle: Hand kelimesi bildiğimiz üzere el demektir. API içerisinde de birden fazla el bulunmaktadır. Ellerimizden bazılarına örnek verecek olursak pencere (HWND), dosya, süreç gibi çeşitli ellerimiz mevcut.

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 -
eline sağlık.

r

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ış


15258692.png

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.

12088204.png
Kısaca Windows API Özelliklerinden Bahsedelim;
12088204.png

İlk olarak API bize işletim sistemi entegrasyonu ile karşımıza çıkar. Windows API, işletim sisteminin çekirdek bileşenleri ve işlevlerini kullanılabilir olmasını sağlar. Bu sayede geliştiriciler ve kullanıcılar, dosya işlemleri, ağ bağlantıları gibi diğer sistem kaynaklarına erişebilirler. Bunun haricinde Windows API bize işletim sistemi üzerinde istediğimiz dilde kod yazabilme olanağı sunar. Mesela Python, Visual Basic .NET, C++ vb.

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.


2890578-artificialintelligence4_101959.png
Şimdiyse Windows API’mızı oluşturan temel yapı taşlarını inceleyeceğiz;
2890578-artificialintelligence4_101959.png

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?
2353677.png

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.

Protect-icon.png
Windows API Geliştirme Üzerinde Temel Kavramlar:
Protect-icon.png

Windows Handle: Hand kelimesi bildiğimiz üzere el demektir. API içerisinde de birden fazla el bulunmaktadır. Ellerimizden bazılarına örnek verecek olursak pencere (HWND), dosya, süreç gibi çeşitli ellerimiz mevcut.

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 -
çok güzel olmuş

r

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ış


15258692.png

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.

12088204.png
Kısaca Windows API Özelliklerinden Bahsedelim;
12088204.png

İlk olarak API bize işletim sistemi entegrasyonu ile karşımıza çıkar. Windows API, işletim sisteminin çekirdek bileşenleri ve işlevlerini kullanılabilir olmasını sağlar. Bu sayede geliştiriciler ve kullanıcılar, dosya işlemleri, ağ bağlantıları gibi diğer sistem kaynaklarına erişebilirler. Bunun haricinde Windows API bize işletim sistemi üzerinde istediğimiz dilde kod yazabilme olanağı sunar. Mesela Python, Visual Basic .NET, C++ vb.

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.


2890578-artificialintelligence4_101959.png
Şimdiyse Windows API’mızı oluşturan temel yapı taşlarını inceleyeceğiz;
2890578-artificialintelligence4_101959.png

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?
2353677.png

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.

Protect-icon.png
Windows API Geliştirme Üzerinde Temel Kavramlar:
Protect-icon.png

Windows Handle: Hand kelimesi bildiğimiz üzere el demektir. API içerisinde de birden fazla el bulunmaktadır. Ellerimizden bazılarına örnek verecek olursak pencere (HWND), dosya, süreç gibi çeşitli ellerimiz mevcut.

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 -
yazı tipi falan harika bayıldım.
 

THT SON KONULAR

Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.