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

Yeni Neler Çıkmış

ebola

Eğer sizde benim gibi acaba kurcalamadığım hangi linux dağıtımı var. Bilmemnenin yeni surumunde şu paketin sürümü nedir diye düşünenlerden bunları takip etmekten yorulanlardansanız size bir haberim var: www.distrowatch.com Bügüne kadar hiç duymadığınız dağıtımlardan haberdar olabilir bunlar hakkındaki incelemeler okur ve karşılaştırmalarda bulunabilirsiniz..
size ilginç dağıtımlar konusunda bir kaç tiyo..
Haydar Linux,
Gentoo Linux,
ve Lesbian Linux.

Linux`la kalın, mutlu kalın...

Penguen Aranıyor!

dfisek

Linux Kullanıcıları Derneği'nin, çalışmalarında görev alacak birçok penguene ihtiyacı var. Biri neden siz olmayasınız?

Topluluğa sempati duymanın yanı sıra, birebir çalışmalarda yer almak, «çorbada benim de tuzum var» demek istemez misiniz?

Görev alabileceğiniz birçok çalışma sizleri bekliyor.
[Ayrıntılı Bilgi]

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

Vector Linux-3.2 Çıktı

ersan

Vector Linux 3.2 bir kaç gün önce duyuruldu: 2.4.20 kernel, Glibc-2.2.5, Opera-6.11, Dillo-0.6.6 ve daha bir çok program ile eskisi gibi yine çok hızlı.

SlackTR: Türk Slackware Kullanıcı Grubu

ghanthar

Uzun süredir Slackware in Türkiye de tanınmadığından ve desteklenmediğinden şikayet ediyordum. Bunu çözmenin en kolay yolu bir web sayfası ile başlamaktı. Ancak bu konuda teknik bir bilgim olmadığı için daha basit bir yol seçtim ve SlackTR yahoogroup'u kurdum. Tüm Türk Slackerlar'ı bu listeye üye olmaya davet ediyorum.