Kernel-yt ne biva da se razchita na nikakvi biblioteki, ponezhe pri
zarezhdaneto mu partition-yt s bibliotekite mozhe i da ne e mount-nat
vse oshte, a se nalaga da se pishat syobshteniq po ekrana. Zatova
syshtestvuva printk.

A shto se otnasq do scanf - tq trqbva da byde zabranena za upotreba i
izhvyrlena ot bibliotekata, kamo li da q ima v lernel-a. Kogato se
nauchish da chetesh chisla sys scanf, zapochvash da chetesh i
string-ove i stava 'Dobre doshli exploit-i', ponezhe vseki e v
systoqnie da ti prepylni bufercheto.

Naj-dobriqt variant spored men e chetene sys strtok, makar v samata
man stranica da pishe da se otbqgva. Edinstvenoto, za koeto trqbva da
vnimavash s neq e da j podavash kopie na string-a (ako shte ti trqbva
da prodylzhavash da go izpolzvash), ponezhe funkciqta ne polzva
sobstven bufer, a mazhe v tvoq.

Razbira se, strtok syshto go nqma v kernel-a, no pone e mnogo po-lesno
sam da si q napishesh ili da vzemesh source-a ot glibc i da go
vmyknesh v tvoq kod.

Pyrviqt pyt strtok shte ti otneme mnogo poveche vreme ot scanf, no
kato j sviknesh, shte se ubedish, che tq e dosta po gyvkava i udobna.

Petko


> George Danchev <[EMAIL PROTECTED]> [EMAIL PROTECTED] lug-bg: kernel module 
>programming Date: Sat, 23 Jun 2001 10:52:50 +0300
>Reply-To: [EMAIL PROTECTED]
>
>zdraveite , 
>nqkoi beshe napravil  prevod na rukovodstvo za pisane na modules za kernela - 
>mnogo hubavo nesto e napravil 4oveka , puk i tova modulnostta v linux e 
>golqma rabota , 4owek moje da  si "nau4i" kernela da pravi kakvoto si poiska 
>( e zavisi ot 4oveka de:)  . Ta reshih i az da si pravq modules , kato za 
>na4alo prosti i nepotrebni  ( kernela da reshava kvadratno uravnenie i t.n. 
>bazikni :) . Vsi4ki osnovni problemi si reshih , samo ne mojah da razbera 
>zasto kagato se pishe kernel module  se polzwa 'printk' , vmesto 'printf' . 
>Tova dobre zamestih 'printf' s 'printk' , no na 'scanf'  , ne mojah da namerq 
>zamestitel . Kompilira se uspeshno , no kato reka : insmod mysimplemodule.o   
>  mi dava "unresolved symbol scanf "  ( i s scank ne stava) . Kogato e 
>izteglena programata v user space qsno , si4ko si ba4ka .....  i zasto kogato 
>se pravi kernel module kompilira do .o file , a ne kakto v user space do 
>izpulnim  . Podskajete please , zasto e taka i kakvo se polzwa vmesto scanf  
>kogato pravim module - t.e. rabotim v kernel space ?  



------------------------------------------------------------
--== Sent via Deja.com ==--
http://www.deja.com/
===========================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers)
http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora

Reply via email to