Yalnız Mesajı Göster

Cevap : Program Kırma Yöntemlerinin Eğitim Amaçlı İncelenmesi

Eski 07-01-2010   #3
Şengül Şirin
Varsayılan

Cevap : Program Kırma Yöntemlerinin Eğitim Amaçlı İncelenmesi



Bir programın kırılması, o programın yazılış amacı dışında davranmasına sebep olmak olarak yorumlanabilir Programlar belli bir programlama dilinde yazıldıktan sonra derleyici denilen başka programlar ile çalıştırılabilir kod haline çevrilir Bu çalıştırılabilir kod, CPU nun anlayacağı dilde ve işletim sisteminin özelliklerine bağlı olarak, makine dilinde Hexedecimal (onaltılık) bir düzende bulundurulur Makine koduna çevrilmiş programlar, içerisinde programcının yazmış olduğu kodu içermezler Bu durumda programın içeriğini, derlenmiş bir koddan açık ve net bir biçimde anlamak çok zordur

Makine dili denilen dil, aslında rakamsal bir dildir Bu onaltılık sayı düzeninde bulunan kodlar, ikilik sayı sistemine (binary) dönüştürülerek CPU‘ya gönderilir 0 ve 1 ler (bilgisayarın işleyişinde temel olan elektrik sinyali var (1) ve elektrik sinyali yok (0) ) CPU tarafından yorumlanarak işlenir Makine dilininin bu şekilde zor ve anlaşılmaz oluşundan dolayı ASSEMBLY dili geliştirilmiştir Assembly Dili, bilgisayar dilleri içerisinde en alt düzey programlama dilidir Assembly ile yazılan programlar CPU’ya direkt olarak hitap eder Fakat bu dil ile uzun programlar yazmak oldukça zordur Bunun yerine, diğer diller ile yazılan programlarda o programlama dilinin yetersiz kaldığı ya da yavaş kaldığı noktalarda daha hızlı ve direkt erişim olanağına sahip bir dil olan ASSEMBLY dili ile prosedür veya fonksiyonlar yazılabilir Günümüzde bu, sadece bazı aygıt sürücülerini yazarken ya da viruslerde kullanılmaktadır

Windows için yazılan programlar da, çeşitli programlama dilleri ya da program geliştirme araçları ile yazılarak derlenir ve çalıştırılabilir kod haline dönüştürülür Bu çalıştırılabilir kodun DOS programlarından en belirgin farkı, içerisinde kullandığı işletim sisteminin özel fonksiyonlarıdır DOS işletim sisteminin INTERRUPT denilen bazı fonksiyonları vardır Bu fonksiyonlar, Windows için yazılan programların içerisinde direkt olarak yer almazlar, bunun yerine Windows işletim sisteminin hali hazırda yazılmış fonksiyonları kullanılır

Windows / System dizini altında bir çok DLL uzantılı dosya mevcuttur Bu dosyalar, içerisinde programların çalışırken kullandığı birçok fonksiyon ya da tanım bulundururlar Sözkonusu fonksiyonlar, programların kırılmasına yardımcı olacak noktalardır Programlar makine dilinde bulunurlar , bu kodların anlaşılabilmesi için, ASSEMBLY kodlarına çevrilmesi gerekir Bu iş için kullanılan programlara DISASSEMBLER denilir Programların ham, yani onaltılık sayı düzenindeki içeriğinin görüntülenebilmesi için de, HEX EDITOR denilen programlar kullanılır Bunların dışında, programların CPU daki işlenişi sırasındaki içeriğini görüntüleyebilen ve gerçekte programlardaki hataları ayıklamak için kullanılan DEBUGGER denilen programlar da kulanılmaktadır

__________________
Arkadaşlar, efendiler ve ey millet, iyi biliniz ki, Türkiye Cumhuriyeti şeyhler, dervişler, müritler, meczuplar memleketi olamaz En doğru, en hakiki tarikat, medeniyet tarikatıdır
Alıntı Yaparak Cevapla