Pages

C PROGRAMLAMA DİLİ İLE RAM BELLEKTE KISA BİR SEYAHAT



Merhaba sevgili okurlarım.


Sizlere bugün teknolojik bir yazı yazacağım. Konumuz gerçek alanım olan programlama dilleri üzerinedir. İnceleyeceğim dil C Programlama Dilidir.

Fakat C'nin derinliklerine dalmadan önce bir çok programlama dilinin ağa babası olarak kabul edilen C'nin mazisine değinmeden geçmek olmaz.

C, makine dillerinin zorluklarını aşmak için 1972 yılında Ken Thompson ve Dennis Ritchie tarafından geliştirilmiştir. Program geliştirildikten sonra Unix işletim sistemi bu dille yazılmıştır. Bugün Linux İşletim sisteminin çekirdeği de Unix'tir ve halen C programlama dili bu çekirdeği geliştirmek için kullanılmaktadır. 1990 yılından sonra ANSI (Amerikan Standartları) tarafından ücretsiz bir dil olarak standartlaştırılmış ve halka arz edilmiştir.

C neden diğer programlama dillerine göre bunca yıl geçmesine rağmen üstünlük gösterir ?

C programlama dili kullanıcının herşeyi bildiğini kabul eder, buna ilave olarak kullanıcının sisteme zarar verme, sistemi kötüye kullanma hatta sistemi diskalifiye etmek dahil herşeye izin verir, ta ki işletim sistemi dur diyene kadar. Adeta Hacker'lar için geliştirilmiş bir dildir. Java, C#, C++ gibi C Programlama dilinin öz evlatları size herşeyi yapmanıza izin vermez. Günümüzde bile bir çok alanda halen C programlama dili kullanılmaktadır. Örnek verecek olursak; Füze ateşleme sistemlerinden tutun, PİC'lerle(Mikro Denetleyiciler) çalışan oyuncak arabalara kadar yine pic yönetimi ile çalışan sulama sistemleri dahil aklınıza gelebilecek her alanda C programlama dili kullanılmaktadır. Yani işin özeti şu; İyi bir hacker, iyi bir güvenlik uzmanı olmanın yolu C programlama dilini iyi bilmekten geçer diyebiliriz. Nedeninden daha önce de bahsetmiştim ama yine değinmek isterim. Çok ileri bir programcı zekasına sahipseniz, eğer C'nin tüm fonksiyonlarını adınız gibi öğrenirseniz C programlama dili ile bir bilgisayarın Ram belleğini yakmak veyahut ram bellekten bios'a müdehale etmek mümkündür.

Değerli okurlarım,

Sizlere dört satırlık bir kod bloğu paylaşacağım, C programlama dili ile neler yapabileceğimi görebileceksiniz.

Gelelim kodumuza;
/*C ile Ram bellek'ten Veri Okuma...*/
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
      char dizi [2];
      int i;
      for(i=0;i<=9000;i++){
         printf("%c",dizi[i]);
     }
system("PAUSE");
return 0;
}




Kodları inceleyecek olursak;
char türünde 2 karakter uzunluğun bir array(dizi) belirledik. Integer(Tam Sayı) türünde ise bir de sayaç belirledik. Sonra for fonksiyonu ile 0'dan - 9000'ne kadar saydırdık ve bu işlemi %c ile yaptık, %c karakter karakter verileri okutturmadır. Şimdi yukarıda dizinin 2 karakterden oluştuğunu biliyoruz fakat biz 9000 tane karakter saydırıyoruz? Yolunda gitmeyen birşeyler var diye düşünebilirsiniz ve düşündüğünüzde de haklısınız çünkü günümüz teknolojisi ile yazılan hiç bir programlama dili size bu derece de özgürlük tanımaz.

Örneğin Java; Java'da bu programı yazdığınızda size aşağıdaki hatayı bildirecektir.
Exception in thread "main" java.lang.NullPointerException
at tr.Run.main(Run.java:11)
İşte burada C'nin bize sağladığı büyük bir özgürlükle karşılaşıyoruz. Burada for ile dizinin içinden taşıyoruz yani; 8998 tane karakteri Ram dünyasının içinde yer alan diğer verileri okutuyoruz.

C programlama dili gerçekten kötü kullanılması halinde çok büyük bir silah olabilir. İyiye kullanıldığında ise insanlık için güzel şeyleri ortaya koyabilir.

Evet bu yazım bu kadar. Gelecek dersimizde C'nin daha yıkıcı yönlerinden bahsedeceğim, bizi takip etmeye devam edin.

Not; Bu makale Emrah DEDEOÐLU tarafından yazılmıştır. İçerisinde kullanılan örnekler denenmiştir ve olumlu sonuçlar alınmıştır.
Share on Google Plus

About eclipseturkiye

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 yorum:

Yorum Gönder