[pso] KeAddSystemServiceTable

Razvan Deaconescu razvand at cs.pub.ro
Sun Mar 11 21:06:17 EET 2007


Daniel Baluta wrote:
> Salutare,
> Am citit listele din anii precedenti insa nu m-am lamurit in totalitate 
> asupra functiei
> 
> BOOLEAN KeAddSystemServiceTable(void *base, int *ct, int ls, unsigned 
> char *spt, int index);

pe versiunea veche, daca era sa folosesti KeAddSystemServiceTable, 
trebuia sa creezi un vector ct cu dimensiunea data de numarul de apeluri 
de sistem si sa initializezi elementele vectorului la 0; de asemenea 
index ar fi trebuit sa insemne indexul noii tabele (pe versiunea veche a 
temei, valoarea ar fi fost 0)

> nu prea imi dau seama ce reprezinta ultimul parametru index si daca 
> parametru 2 ct pot sa il pun pe NULL.
> 

la tema de Windows nu trebuie sa folositi KeAddSystemServiceTable; ne 
cerem scuze pentru faptul ca am lasat-o in sci_win.h - e reminiscenta de 
anii trecuti

in prezent exista doar doua tabele de servicii; pana la winxp erau 4 si 
putea fi folosita ultima (cea cu indexul 3) pentru noi apeluri; din 
aceasta cauza va trebui sa lucrati cu tabela 0 si sa inlocuiti intrarile 
  serviciilor de sistem cu altele noi (atat in aceasta tabela cat si in 
tabela shadow - practic in KeServiceDescriptorTable[0] si 
KeServiceDescriptorTableShadow[0]

citat din enuntul temei:
"pentru ca nu exista apeluri de sistem nefolosite in Windows, va trebui 
sa inlocuiti tabela de apeluri de sistem cu una noua, in care sa 
adaugati apelul de sistem propriu; atentie, trebuie sa inlocuiti 
tabelele de apeluri de sistem atat in descriptorul principal cat si in 
shadow"

o sa modificam header-ul ca sa dispara KeAddSystemServiceTable de acolo 
sa nu mai produca nici un fel de confuzie

Razvan


More information about the pso mailing list