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 masaüstü ve Gstreamer

roktas

Freedesktop.org'un tesisiyle Linux masaüstünün geleceğini şekillendirecek bir çok değişiklik vuku buluyor. Bu değişiklikler arasında göze çarpan önemli bir gelişme de masaüstü multimedya çatısı. GNOME projesi 2.2 ile birlikte Gstreamer üzerinde karar kıldı. Esas itibarıyla platform bağımsız olarak tasarlanan Gstreamer zarif ve modüler yapısıyla alternatifleri olan xine ve mplayer'i geride bırakmış gözüküyor. OSNews'de çıkan bir makale Gstreamer'i tanımak isteyecekler için dolgun bir içerik sunuyor. Linux'un masaüstü cephesinde yaygınlaşması noktasında gelişime muhtaç en önemli alan olan multimedya'nın geleceğini görmek isteyecekler için de okunması faydalı olacaktır.

Kartvizitte Linux

tongucyumruk

Bir iş görüşmesinden sonra kartvizitinizi bırakmak istiyorsunuz. Ama öyle sıradan bir kartvizit bırakmak herhalde bir geek'e yakışmaz. Bu iş için kartvizit şeklindeki yazılabilir CD'lerden kullanmak daha uygun bir tercih olacaktır. Peki ama CD'nin içeriği ne olacak? Herhalde hiçbirimizin 30MB olacak kadar uzun bir CV'si yoktur. Bunun yerine o CD'ye linux yüklemeye ne dersiniz? FSF'deki amcalar bu fikri oldukça iyi bulmuş olacaklarki Bootable Businness Card projesi başlamış. Projenin amacı küçük kartvizit CD'lere sığabilecek boyutta, sadece CD'den çalışabilecek bir dağıtım üretmek. Tabiiki dağıtımın tek amacı karizmatik bir kartvizit üretmek değil. İçerdiği programlar sayesinde sistemlerin post-mortem analizinden Debian kurulumuna kadar birçok iş için kullanmanız mümkün. Dağıtımın sitesinden isolarını indirebilir, bunları kendi ihtiyaçlarınıza göre düzenleyip (mesela LiLo açılışta kartvizitinizi ekrana yazabilir) etkileyici iş başvuruları yapabilirsiniz. Not: Sanırım yılın ilk haberi oldu ha?

Gentoo Dışındaki Kaynak Kodu Tabanlı Dağıtımlar

ghanthar

Birçoğumuz, özellikle kaynak kodu tabanlı dağıtımlar ile ilgilenmeyenler Gentoo´yu tek kolay kurulabilen kaynak kodu tabanlı dağıtım sanırız. Oysa Gentoo´dan daha kolay olanları bile mevcut...
Kaynak:LinuxMerkezi

Yerelleştirme grupları sizi bekliyor

anonim

Türkiye'de genelde serbest yazılım, özelde Linux'un masaüstünde yaygınlaşması, daha alt seviyelere indirilmesi pek çoğuna göre değişik ölçütlere bağlı. Bunlar masaya yatırıldığı zaman herhalde olayın sosyolojik boyutundan teknolojisine, politikasından psikolojisine, insan-bilgisayar etkileşiminden yerelleştirmesine kadar pek çok noktada görüş bildirebilecek sayısız (Türk) uzman var.

GNU/Linux Tarihi Arşivi

ghanthar

İlk Red Hat veya Slackware, Suse sürümünü denemek, veya bunlardan önce hangi dağıtımlar vardı bir göz atmak nasıl olurdu? Güzel mi? O zaman bu haberi okuyun.