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

Linux Çekirdek Performans Projesi

Soulblighter

Bir süre önce Linux'un 2.6 çekirdeğinde, 2.4 çekirdeğine göre büyük performans kayıpları olduğu yolunda haberler dolaşıyordu. Hatta 2.6 çekirdeğinin kendi iç sürümleri arasında bile 10%'a varan ciddi performans farklılıkları olduğu da belirtilmişti.

Özgür olmak istiyorsanız, Linus Torvalds'ın peşinden gitmeyin!

aksoyhasan

Bu söz, GNU projesini desteklemek üzere 1985 yılında kurulan Free Software Foundation [Özgür Yazılım Vakfı] kurucusu Richard Stallman tarafından söylenmiş. PCWorld'ün Avusturya sitesinin gerçekleştirdiği röportajda oldukça ilginç konulara değinen Stallman, "Lütfen GNU Linux demeyin" diye de ekliyor.

Kaynak: http://www.bildirgec.org/

Vector Linux 2.5 Beta hazır...

m1a2

"Well boys and girls the long awaited Vector Linux 2.5 release is just around the corner."
Vector Linux`un beta sürümü böyle duyuruldu.

Final sürüm 2-3 hafta sonra hazır olacak. Bilmeyenler veya bakmaya üşenenler için tanıtalım...

Dizüstü bilgisayarınızda Linux!

larweda

Georgia, Amerika`daki Emperorlinux şirketi, bütün ayarlamaları yapılmış, donanım sürücüleri yüklenmiş, ve sorunsuz olarak linux yüklenmiş dizüstü bilgisayarlar pazarlıyor. IBM, Sony Toshiba ve Dell marka Laptop`lar ve Notebook`lar için istenilen dağıtımdan linux yükleyip, USB`sini, PCMCIA ethernet kartını ve modemini, ekran kartını(1600*1200 X gösterecek şekilde), ses kartını vs. ayarlayıp, hazır yüklenmiş halde satıyorlar. Sonra da 1 sene teknik destek hizmeti sağlıyorlar.

Uzay Yolu Nemesis Filmi, Linux ile Yapıldı

malkocoglu

Uzay Yolu Nemesis filminin sayısal üretimi Linux ile yapıldı. İlk kez Titanik filmi ile Holywood gözdesi olan Linux, fiyat/performans üstünlüğü ile SGI ile başabaş yarışabilecegini kanıtladı.

Linux Journal

Yukarıdaki bağlantıda, komut satırınden filmin nasıl işlendiğini görebilirsiniz.