[pso] Tema1 Linux Help
Cibu Cristian
pso@cursuri.cs.pub.ro
Wed, 24 Mar 2004 13:51:22 +0200
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.
----- Original Message -----
From: "Andrei Costin" <zveriu_biz@yahoo.com>
To: <pso@cursuri.cs.pub.ro>
Sent: Wednesday, March 24, 2004 11:29 AM
Subject: [pso] Tema1 Linux Help
> Salut la toata lumea.
>
> Am o intrebare si anume:
>
> tabela "void* sys_call_table[]" contine pointeri la adresele de start
> ale system calls functions. Ok. De unde totusi stiu signatura exacta
> a unui system call, de exemplu a system call-ului
> "sys_call_exit[__NR_whatever]". Sa presupunem ca acea functie
> intoarce "long", dar de unde stiu cati parametri primeste si tipul
> acestora?! Intreb aceasta pentru ca la interceptarea unui systemcall
> oarecare, stiu cum sa extrag numarul system call-ului (vezi curs 2,
> pag 20) si ca trebuie sa fac inside interceptor
> "return (original_sys_call_table[found_system_call_number])", dar
parametrii raman
> totusi in aer. Era tot in curs 2 pag 20 ceva vag despre o functie
> (*f)(...), dar...
>
> Any hints guys&girls?
>
> Multumesc anticipat :)
>
> 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
> _______________________________________________
> pso mailing list
> pso@cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso