Re[2]: [pso] Tema1 Linux Help

Andrei Costin pso@cursuri.cs.pub.ro
Thu, 25 Mar 2004 04:09:27 -0800 (PST)


Salut la toata lumea!

PROLOG:
"The truth is out there..." (X-Files)
"...where there? I "googled" 8) everywhere, but didn't find it. You'd rather give it's
address pointer so I can system_call it!" (kernel-newbie)

LA SUBIECT:

Vis-a-vis de interceptarea *ORICARUI* system call si pass-area
acesteia parametrii necesari (care difera de la system call la system
call si nu avem de unde sa-i stim exact pentru un interceptor generic)
- vedeti ca solutia e chiar in "test.c" (dig-in, don't just run it!).
Slideurile sunt sugestive intr-o masura oarecare, dar cum nu am fost
la curs 2 (sa nu faceti ca mine :)) ), era ceva neclar cu parametrii
aia 6. "test.c" - contine solutia. (TAVI: un mic copy-paste din test.c
se considera copiat :))?! pentru ca nu kiar exista o "multime" de
variante diferite de a implementa acel lucru cu pass-area parametrilor
si citirea valorii returnate :D ).

Have a nice day...
                  ... debugging your module :)

OP> On Wednesday 24 March 2004 13:51, Cibu Cristian wrote:

>> Pai n-ai tu treaba cati parametrii are functia aia. Ii dai pe toti  maxim

>> 6. int sau long.

>> Deci functia ta pe care o pui in locul rutinei originale are numarul maxim

>> de parametrii (6) si dupa o mica bucatarie apelezi

>> rutina veche la fel, cu toti cei 6 parametrii (initiali). Parametrii se

>> transmit de fapt prin registrii si functia originala stie ea de ce

>> registrii avea nevoie.

>> Cei 6 parametrii se mapeaza peste registrii ebx ecx etc.

>>

>> Sper ca n-am spus prostii.

>>



OP> Nu e tocmai corect. Parametrii se paseaza in registrii, dar rutina de tratare 

OP> a exceptiei 0x80 (care trateaza apelurile de sistem) ii muta pe toti pe 

OP> stiva, indiferent de cati parametri are apelul de sistem (de fapt rutina de 

OP> tratare nici nu stie cati parametri are un apel de sistem).



OP> Astfel incat, la apelul functiei din sys_call_table, pe stiva se gasesc toti 

OP> parametrii posibili. 




Best regards and respect,
 Andrei Costin (mailto:zveriu_biz@yahoo.com)

___________________________________________
Manifest - ".M D - My Domain!" - by .Zveriu.
             y o
               m
               a
               i
               n


__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html