07-01-2010
|
#22
|
Şengül Şirin
|
Cevap : Program Kırma Yöntemlerinin Eğitim Amaçlı İncelenmesi
5 3 Debugger (Hata ayıklayıcı)
Debugger bir hata ayıklama programı olup, kullanıcılara programların analiz edilmesinde, bazı kritik noktalarda durma noktaları (breakpoint) koyma ve programın çalışması sırasında istenen noktadaki kaydedici ve bellek durumlarının incelenmesini sağlarlar Eğer program bir hata bulursa, bazı debugger programları kullanıcıya bu noktada hataları düzeltme ve programın çalıştırılmasına izin verirler Bu özellik kaydedicilerin kapsamlarının incelenmesi ve değiştirilmesini sağlar Bu işlemler debugger tarafından mikroişlemcideki komutların icrasıyla veya bir simulatör kontrolü veya bir emülatör altında icra edilmesiyle yapılır
Debuggerlar geliştirilmeden önce, program kodu içinde değişkenlerin değerini araştırmak ve hata bulmak için programcıların aşağıdaki gibi kod parçaları kullanmaları gerekmiştir
/*Code*/
(  )
loop
change_a_variable;
show_value_of_variable;
end_loop
(  )
Günümüzde bir çok program ‘registration (kayıt olma)’ bug ına sahiptir Bu bug, program çalıştırıldığında geçerli bir kod girilmesini isteyen bir ekran şeklinde belirecektir Doğru kod girilmediğinde program çalışmayacaktır Bu durumda, debugger’lar Code Reversing ( Kod değiştirme) işlemi için kullanılmaktadır [12]
Bir çok Reverse Engineer ( exe kodu değiştiren kişi-cracker ) tarafından tercih edilen debugger olması ve örnek program kırılımında da kullanılması sebebiyle burada Soft-ICE debugger’ından bahsedilmektedir:
5 3 1 Soft-ICE
Soft-ICE, düşük seviyeli (hardware-level) bir yazılım debug etme programıdır Soft-ICE’ın geliştirilme sebepleri şunlardır [13]:
- Yüksek seviyeli (software-level) debugger ların gerçekleştiremediği ya da çok yavaş gerçekleştirdiği debug mekanizmalarına (düşük seviyeli breakpointler koyma, memory protection, kilitlenen programlardan çıkma vb
) 80386 sanal makine özelliği sağlar
- Güçlü bir hata kontrolü sağamak için yeni bir debugger kullanımını öğrenmek gerekmez
Soft-ICE eski debugger larla çalışabilme imkanı verir
- Kullanımı kolay bir ekrana sahiptir
Ekranı öncelikle diğer debugger larla beraber çalışılabilecek şekilde küçük olarak gelir Tek başına çalıştırılmak istendiğinde ekran büyütülebilir Her iki durumda da komutlar ekrana sığabilecek şekilde düzenlenmiştir
5 3 1 1 Özellikleri
Soft-ICE programının sağladığı özellikler de şu şekildedir [13]:
· Hafıza okuma/yazma, port okuma/yazma, hafıza düzenlemeleri ve interruptlar esnasında gerçek zamanlı durma noktaları (breakpoint),
· Sembolik ve kaynak seviyeli debugging,
· Eski debugger larla çalışabilme özelliği,
· I/O portlarının ayarlanması, hafızada adres çakışması gibi sorunlar çıkarmadan kurulabilme imkanı,
· Kullanıcıya öğrenim kolaylığı sağlayan dinamik bir Help,
· DOS harici işletim sistemleri ve kendisini boot edebilen programlarda hata ayıklamaya izin veren soft boot (yeniden başlatma) imkanı,
· Diğer programlara ihtiyaç duymadan(stand-alone) kullanılabilme imkanı sağlar
__________________
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
|
|
|
|