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

Mandriva Linux 2007 Beta

alperfm

Eski versiyonlarıyla herkesin (özellikle de benim) bilinçaltına hatalarla dolu linux sürümü olarak yerleşen mandriva (eskiden mandrake idi), artık o kanıyı silmiş gibi. Yeni sürümü Mandriva Linux 2007 nin ise betası çıkmış durumda.

Mandriva 2007 deki yeniliklere bakacak olursak:

>3D masaüstü desteği, drak3d ile konfigüre edebilme,
>Gnome 2.16,
>Kernel 2.6.17,
>Yeni 'Ia Ora' Mandriva teması,
>VPN konfigüre aracı; drakvpn...

Postfix var ya daha ne istiyosunuz ?

sundance

İşyerinde bir makinaya mail kurmanız gerekiyor. Buldunuz bir Pentium 100 makina, RedHat 6.2'i dayayacaksınız, Sendmail`ı da konfigüre edip çalıştıracaksınız.

Ama, birileri kulağınıza kar suyu kaçırmış bir kere `Abi napıyorsun, Sendmail güvenli değil, Qmail kur`. Öncelikle bunu söyleyen hıyara sıkı bir tekme atıp ardından, Qmail`ı kurup kurmadığını öğrenin, eğer kurmadıysa bir tekme daha atıp, bir yerlerden Postfix indirin.

Gentoo Türkiye

pinhanarch

Gentoo Türkiye sitesi, Gentoo'nun haftalık bülteninde duyuruldu. Umarız katılımı ve devamlılığı sürekli olur.

Gentoo Türkiye : http://www.gentoo-tr.org/

Haber kaynağı: http://www.gentoo.org/news/en/gwn/20041129-newsletter.xml

LINUXnet'in 2. sayısı bayilerde

MaXCoDeR

Türkiye'nin ilk ve tek Linux dergisi LINUXnet'in 2. sayısı bayilerde! LINUXnet yeni sayısında %10 daha kalın, bir CD daha fazla hediyeli.

LINUXnet'in hediyesi toplam 6 CD'de Mandrakelinux 10.1 Community, SUSE 9.1 Personal, Knoppix 3.6 ve LINUXnet Özel CD'si yer alıyor.

Derginin tüm içeriğini görmek için www.linuxnet.com.tr adresini ziyaret edebilirsiniz.

Bilimadamları Sony Playstation 2 Kullanıyor!

FZ

Ama oyun oynamak için değil çok karmaşık vektörel ve matris hesaplamalarını kısa sürede yapabilmek için. ABD´deki Ulusal Süperbilgiişlem Uygulamaları Merkezi´ndeki (NCSA - National Center for Supercomputing Applications) araştırmacılar çok hızlı hesap yapabilmek için Sony Playstation 2 bilgisayarlarının hesaplama gücünü GNU/Linux işletim sistemi ile birleştirdiler.

Linux işletim sistemi ile kurulan ve 70 adet Sony PS2 bilgisayardan oluşan bu küme bilgisayar sistemi (cluster) yüksek yoğunlukta hesaplama gerektiren uygulamaların programlanması için kullanılıyor.