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

GNU/Linux'un Sürücü Problemleri ve Mac'in Zaferi

anonim

Aslında iki ayrı haber olarak gödermeyi düşündüğüm konuyu birleştirmeyi tercih ettim. Çünkü her ikiside temelde son kullanıcı işlemleri için GNU/Linux un halen karalı hale gelememesiyle ilgili. Birinci haber deneyimli bir sistem yöneticisi olan eweek dergisi yazarlarından Steven J. Vaughan-Nichols un Centrino işlemcili dizüstü bilgisayarına ve bazı donanımlara GNU/Linux üzerinde karalı bir sürücü desteği bulamamasından yola çıkıyor. Bu makalede benim en çok dikkatimi çeken nokta üreticilerin sürücü desteği vermemesiyle ilgili sorunun yumurta tavuk ilişkisiyle açıklanması oldu. Örnekte üreticilerin yeterli kullanıcı kitlesi bulunmadığı için ürünlerinin GNU/Linux sürücülerini geliştirmeye vakit ve para ayırmamaları. Buna karşın akıllı kullanıcılarınsa GNU/Linux sürücüsü bulunmayan donanımı almamalarının bir kısır döngüye yol açtığı anlatılıyor. İkinci habere gelince...

Peru Milletvekilinin Microsoft´a yazdığı mektup.

tupac

Peru'da kamu kuruluşlarının serbest yazılım kullanmalarını öngören bir kanun tasarısı hazırlandı. Microsoft Peru, bu tasarıyı hazırlayan Dr. Villanueva'ya, tasarıya itiraz eden bir mektup yazmış. Dr. Villanueva'nın mektuba cevabını buradan okuyabilirsiniz. Türkçe'ye Deniz Akkuş Kanca çevirmiş. Teşekkürler. Oku!Okut!..cümle aleme:)

Linux 10 yaşına bastı!

larweda

Dün, (25 Ağustos 2001) Linux 10'uncu doğumgününü kutladı. Kimileri hala heryerde Windows görme hayalleri kuradursunlar, birçok insan Microsoft'u sadece gerekirse kullanılacak bir alternatif olarak görmenin mutluluğunu yaşıyorlar. Bakın Linus 10 sene önce ne söylemiş:
"I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones."
Ben 386(486) mimarisi için (ücretsiz) bir işletim sistemi geliştiriyorum. (sadece hobi olarak, gnu gibi büyük ve profesyonel olmayacak) :)
-Linus Torvalds, 25-Aug-91

Slackware Live CD Çıktı!

FZ

Slackware Linux Live CD dağıtımı çıktı. ISO CD imajını çekip 8 cm.lik bir mini CD´ye yazabileceğiniz bu özel ve de güzel Linux dağıtımı Slackware tabanlı olup bir Linux CD´sinde arayıp da bulabileceğiniz hemen hemen tüm araçları, yazılımları, vs. barındırıyor.

Ekran görüntülerinden bir hayli şirin bir şey olduğu belli olan ve şu paketleri barındıran bu bootable CD aynı zamanda isteyen kullanıcıların kendi bootable CD´lerini kendi gereksinimlerine göre hazırlayabilmeleri için gerekli betikleri de bünyesinde barındırıyor.