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