Linux Kernel Fonksiyonlarını 'Hook'lamak

0
anonim
Linux çekirdeğindeki bir fonksiyonun işleyişini ona zarar vermeden değiştirmek istediğimizi düşünelim. Kaynak kodları değiştirir tekrar derleriz ancak bu yazıda daha farklı bir yöntem izleyecegiz ve hafızadaki kernel'a tamamen geçici bir yama yapacağız.

Bunu, 90ların başlarında MS-DOS virüslerinin çok sevdiği bir tekniği Linux'a uyarlayarak gerçekleştireceğiz.

Hooklamak istediğimiz fonksiyonun başına jmp hook instruction'ını yazdığımızı düşünelim. Gelen her çağrı bize yönlendirilecektir fakat üzerine yazdığımız bölgeyi kullanılamaz hale getirmiş oluruz. Üzerine yazdığımız bölüm kadar yeri yedekleyelebiliriz.

Linux çekirdeğinde 'kernel export'ları nasıl 'hook'lanacağı üzerine olan bu yazıyı ve ilgili kaynak kodları http://blog.int6.net/media/kit.tar.gz adresinden edinebilirsiniz.

Görüşler

0
auselen
Ben de strace'in reklamını yapayım.

Daha önce kullanmayanlar için kısa açıklama; linux'ta sistem çağrılarını gözlemlemenizi sağlayan bir program.

Örneğin komut satırında "strace ls" derseniz, ls komutun hangi sistem komutlarını çağırdığını görürsünüz.

Bundan da güzeli, sistemin bu uygulamayı çalıştırmadan önce neler yaptığını, mesela hangi sistem kitaplıklarını açtığını görürsünüz.

Sistemde çalışmayan bir uygulama olduğunda oldukça yararlı olduğunu söyleyebilirim.

http://en.wikipedia.org/wiki/Strace
http://sourceforge.net/projects/strace
0
Tarık
reklama ne hacet, tepe tepe kullanıyoruz. bende bir bağlantı atayım da tam olsun :) ayrıca aynı yerden şunu da yiyebilmekteyiz.
0
Tarık
ayrıca hdd ye indirilip yazıcı çıktısı alınası...
0
FZ
Bu tür yazıların devamını bekliyoruz ;-)
0
realist
Tüm FM yazıları böyle olsun, beni aşsın, afallatsın. Nasıl yapıldığını anlamam için cilt cilt okumam gereksin.
0
FZ
Ve sonra FM sadece tek bir konu üzerinde 100 cilt kitap okuyup 15 yıldır çalışan birkaç uzmanın uğrak noktası olsun diğer herkes seyirci kalsın ve bir süre sonra onlar da sıkılıp, pek bir şey anlamayıp gitsinler :-p
0
mos
ben de bu bakış aşısından yanayım :)
0
anonim
Ben anladım sanırsam.

önce o büyük düğmeye basıyoduk deilmi?...
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Şimdi Linux için de var

e2e

DesktopLinux.com'a bugün girdiğimde alt alt geçen iki başlıkta da bu, "Şimdi Linux için de var" ifadesi geçiyordu. Artık Linux üzerinde çalışacak programlar ise Adobe'un Acrobat Reader 7.0'ı ile Nero'nun CD yazma programıydı.

Acrobat 7.0'a, RPM ve .tar.gz formatlarında buradan,
NeroLinux hakkında ayrıntılı bilgiye ise buradan ulaşabilirsiniz.

Editörün Notu: Acaba RMS bu durumu nasıl karşılıyor.

PCNet - SuSE işbirliği

FZ

PCNet bir güzellik yapmış ve yakında piyasaya süreceği özel Linux sayısında 7 CD'lik (+DVD) bir SuSE 7.1 dağıtımı vermeyi kafaya koymuş.

Bununla da yetinmemiş mevzu ile ilgili özel bir web sitesi kurmuş PCNetLinux.org başlığı altında.

Maksat son kullanıcının evine Linux girsin, vatandaş çocuğunu sevindirsin ;-) Acelesi olanlar dergiyi yukarıdaki adresten de sipariş edebilirler.

Steve Ballmer`e göre Linux bir kanser

larweda

Microsoft`un ikinci adamı (Bill Gates aktif yöneticiliği biraktıktan sonra yerine geçen) Steve Ballmer`e göre `Linux dokunduğu herşeye entellektüel anlamda bulaşan bir kanser`

Sun Times`in yaptığı bir röpörtaja göre; Microsoft, Linux ve açık kaynak kodlu hareketi kendisi için ciddi bir rekabet olarak görüyor. Ama GNU/GPL lisansının doğası gereği ticari bir şirketin açık kodlu bir yazılımı kullanması mantıklı değil. Ballmer`in yorumuna göre eğer bir yazılım firması açık kodlu bir yazılım kullanırsa ürününün geri kalanını da açık yapmak zorunda. Bu da açık yazılımların zayıf noktasını oluşturuyor(muş).

14,000 PC Windows'dan LİNUX'a Geçiyor

malkocoglu

Münih belediyesi, Windows'dan vazgeçip, 14,000 makinasına Linux yükleyecek. Bu olay, masaüstü ortamda Linux'un yerini ispatlayan önemli bir gelişme.

http://www.desktoplinux.com/news/NS3199247984.html

Öğretmene dizüstü var da Debian yok mu?

maat

MEB'nin öğretmenlere verdiği dizüstülerden almak için başvurmuştum ve gelmesini heyecanla bekliyordum. Neyse ki 28. günde kargo, makinamı bana ulaştırdı. Tabi yapacağım ilk iş belli idi Debianımı kurmak. :)