dostupnost syscallu stat64

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Sobota Červen 5 12:46:55 CEST 2004


On Fri, 4 Jun 2004, Kasparek Tomas wrote:

> > potreboval bych zjistit, zda je syscall stat64 (lstat64) dostupny.
[...]
> pokd by to melo byt za behu, tak bych se podival na nejake rootkity co se
> napojuji na systemova volani jak je hledaji ony a tutuo tchniku pripadne
> pouzil (ale za behu to snad nepotrebujete)

Ale fuj.

Pokud je ukolem zjistit podporu syscallu stat64 v jadre, pak je spravne 
reseni proste provest syscall(__NR_stat64,...). Pokud to vrati ENOSYS, pak 
to ten syscall nezna. Pokud vrati neco jineho, pak ho zna. (Jediny problem 
by mohl nastat u nekoho, kdo by si svevolne na __NR_stat64 umistil nejaky 
soukromy syscall, ale to je problem toho dotycneho.)

Pokud je ukolem zjistit pritomnost funkce stat64() v pouzite verzi
libc.so.6, pak je v prvni rade potreba upozornit, ze zadou takovou funkci 
neni mozno v libc.so.6 najit, protoze v dynamicke knihovne je misto ni
__xstat64() (propojovaci dily lze najit v /usr/lib/libc_nonshared.a).
Ale kdyz uz vime spravne jmeno, pak lze pouzit volani dlsym(RTLD_DEFAULT, 
symbol) (viz dlsym(1)).

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux