2 Eylül 2017 Cumartesi

PE-x86 Architecture-[ Portable Executable ]- Formatı

PE  dosya formatı nedir ?
~~~~~~~~~~~~~~~~~~~~~~~~
PE dosya formatı Windows işletim sisteminin kullandığı çalıştırılabilir,icra edilebilir dosya formatıdır. PE, Portable Executable’ın kısaltılmış halidir.

Bu yazının amacı Windows işletim sistemi altında çalışan PE formatının yapısını anlamaktır. 


11 Temmuz 2017 Salı

Elf x86 Binary Encryption

Giriş
~~~~~~~~~~~~~~~~~~~~~~

Bu yazıda ELF dosyalarının nasıl encryption yapılacağı üzerine konuşacağız. Yazmış olduğum bir encryption programını sizlere adım adım anlatacağım. Öncelikle ELF hakkında temel  bilgiler sunulacak ardından uygulamanın anlatımına geçilecektir. Burada XOR yöntemi kullanılarak encryption gerçekleştirilmiş olsa da mühim olan bu yöntemin sağlıklı bir şekilde ELF dosyasına uygulanabilmesidir. Bu yüzden olayın mantığını anladıktan sonra encryption metodolojisini değiştirmek  sizin keyfinize kalmıştır.



7 Temmuz 2017 Cuma

x86 Interrupt Mekanizması

INTERRUPT Nedir ?
~~~~~~~~~~~~~~~~~~~~~~

Interrupt kelimesinin Türkçe karşılığı bilgisayar terminolojisinde kesmeye karşılık gelmektedir.  Interrupt mekanizmasına ihtiyaç duymamızın sebeplerinden birisi sahip olduğumuz çevresel cihazlar. Çevresel cihazlara örnek ; Klavye,Mouse,Printer.

21 Haziran 2017 Çarşamba

x86 ve x64 mimaride koruma mekanizması

Bu yazı x86 mimari ve x64 mimarinin koruma mekanizmasını anlatmayı amaçlamıştır.

Koruma mekanizmasının olmadığı işlemcilerde sistemi kullanan kişiler basit hatalarla sistemin
çalışma akışını bozarak çökmesine neden olabilir. Bu bilinçsiz bir şekilde gerçekleşebileceği gibi bilinçli bir şekilde de gerçekleştirilebilir.Örneğin bazı emirlerin kullanıcılar tarafından çalıştırılması durumunda sistem askıda kalabilir.

Bu gibi sebeplerden dolayı x86 mimari protected modu geliştirmiştir.
işlemcinin protected moda sokulması için  CR0 registerının 0.biti 1'e setlenir.

19 Haziran 2017 Pazartesi

8086,i286,i386 ve x64 mimaride adresleme

İntelin 8086 işlemcisi,x86 mimarinin temeli ve günümüze kadar bu temel “geriye dönümlü uyumluluk”  adı altında ret edilmemiş ve üstüne konularak  gelişimine devam edilmiştir.

İntel firmasının  “geriye dönümlü uyumluluk”   felsefesini ilk 64 bitlik işlemcilerde uygulayan firma AMD firması olmuştur.Bu yüzden kimi zaman bu mimariye  AMD64 veya x64 mimarinin x86 mimari ile uyumlu olduğunu ifade etmek için x86-64 mimari denilmektedir.

Burada merak edenler olabileceğini düşündüğüm için kısa birşeye değinmek istiyorum.x86 mimarinin geriye dönümlü uyumluluğundan bahsederken aslında İnstruction Set Architecture veya kısacası ISA kavramından bahsediyoruz.işlemciler geliştirilirken iki önemli husus var bunlar geriye dönümlü uyumluluğu sağlayan instruction set arhitecture  ve diğeri ise microarchitecture.

26 Mayıs 2017 Cuma

- -[ Bufferoverflow Nedir ? ] - -

Buffer nedir ?
~~~~~~~~~~~~~~~~~
Işletim sistemleri hard disk üzerinde bulunan bir dosya üzerinde işlem yaparken bunu direk hard disk üzerindeki dosyaya yansıtmaz.örneğin dosyaya yazma işlemi gerçekleştirilirken direk olarak dosyanın kendisine yazmaz bunun yerine o dosya için bufferlama yapar. o dosya için memory(ram) de buffer alanı(bir veri bloğu) yaratılır ve burası dolduğunda veya istenildiğinde işletim sistemi tarafından hard disk üzerindeki dosyaya yazılır.bufferlama ile işletim sistemi hız kazanmayı hedefler bunun nedeni işlemcinin rame erişim süresi hard diske erişim süresinden çok daha hızlıdır.neden işlemcinin hard diske erişim süresinin daha yavaş olduğunu bilmek isterseniz şu anahtar kelimeler ile yola çıkabilirsiniz.

Anahtar kelimeler ; matematik,elektrik fiziği,kalıcı mıknatıslama,manyetizma

14 Nisan 2017 Cuma

Virtual Memory-Sanal Hafıza

virtual memory,sanal hafıza günümüz modern işletim sistemleri tarafından kullanılan hafıza yönetim tekniğidir.

peki ama neden ?

sisteminizdeki ram den kapasitece daha fazla olan bir programı çalıştırmak istediğinizi düşünelim bu durumda- yapılması gerekilen iş programı bölümlemek/sayfalamak ve ardından ihtiyaç duyulanları ram içerisine yerleştirmek o anlık ihtiyaç duyulmayanları ise virtual memory de bulundurmak ileride ihtiyaç duyulduğunda bunlarıda ram içerisine yerleştirmek diyebiliriz.

virtual memory ile prosesler birbirlerinden izole edilmiş şekildedir yani her process kendi sanal adres uzayına sahip ve bir proses başka bir prosesin alanına müdahalede bulunamaz.

virtual memory ile hard-diskin belirli bir kısmı memory olarak kullanılmaktadır ve bu alan işletim sistemi tarafından pagelere ayrılmaktadır.

13 Mart 2017 Pazartesi

x86 assembly emirleri

yazı ileriki tarihlerde yeni emirlerin eklenmesi ile güncellenecektir.

~~~~~~~~~~~~~~~~~~~~~~~~~~HEDEF~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

x86 assembly emirleri için örneklemeler/kodlamalar yapmak.kodlar çok sofistike değil aksine emirleri anlamak için yazılacak olan basit kodlar olacaktır.