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

Slackware 8.0 çıktı

conan

Slackware'in en yeni sürümü dün piyasaya çıktı. Dağıtım XFree86 4.1.0, kernel olarak 2.2.19 ve 2.4.5, KDE 2.1.2, GNOME 1.4, glibc 2.2.3 gibi paketleri içinde barındırıyor.
Detaylı bilgi için:
Slackware sitesi
Linuxtoday

İdeal taşınabilir Linux sistem

sundance

Gittiğiniz her yere götürmek istediğiniz bir Linux sisteminiz olsun mu istiyorsunuz? Fakat avuçiçi bilgisayarlar size ara geçiş cihazları gibi mi geliyor? İlla klavyesi olsun mu diyorsunuz?

Son olarak aranızda Sinclair'ın klavyesini özleyenler var mı? İşte huzurlarınızda Sharp Zaurus SL-C3100. 300 gram ağırlığında, harddiski var...

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?

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

Winmodemler

m1a2

Bu haberin gümbürtüye gitmesini istemem. Piyasada bolca ve uygun fiyata bulunabilen (10-15$ civarı) Conexant (aka Rockwell) chipset`li winmodemler için Linux beta sürücüleri 1 Mart itibarıyla duyuruldu. Bugüne kadar sürücüsü olmadığından Linux`ta çalıştırılamayan ucuz bir SoftK56 modem üzerinde tarafımızdan test edildi ve onaylandı ;) İlgili link`te HCF ve HSF versiyonlar bulunmakta. Hadi hayırlı olsun :)