[pso] [tema1][win]Mare performanta
Razvan Deaconescu
razvand at cs.pub.ro
Tue Mar 27 22:08:13 EEST 2007
omar Chouydary wrote:
> Cred ca am reusit o chestie mare de tot... nu stiu exact cum dar imi cam
> dau seama. Tot testand ca sa vad unde am bug-uri, etc.. cred ca am
> schimbat valoarea tabelelor, a.i. la iesire,
> KeServiceSystemTableShadow.st si ceilalti membrii (spt, ct si ls) imi
> pointeaza foarte aiurea...in sensul ca in ls am -2321312312312 (adika
> ceva prost) si in .st am ceva de genul "0". Si de aici si celelalte
> bug-uri care eu credeam ca sunt de la altceva. Am incercat cu restart al
> windows-ului din masina virtuala, dar isi pastreaza aceste valori in
> tabela Ke....Shadow. E normal sa faca asta? Eu credeam ca dau un restart
> si gata, isi ia pointerii de unde trebuie. Cum isi ia WNT-ul pointerii
> la pornire pt asta?
hmm, ultra weird ... nu ar trebui sa se intample asta ... ai scos
modulul din kernel dupa repornire (desi nu ar trebui sa aiba legatura)?
> Asta e un citat din Windows Internals: "As you'll see in Chapter 6, each
> thread has a pointer to its system service table" So sa inteleg de aci
> ca fiecare thread are tabela sa ... deci ar trebui s-o ia la pornirea
> sistemului de undeva... asta nu ma prind de unde..
Exista o singura tabela pe sistem. Adica un vector de tabele
(KeServiceDescriptorTable) si un vector de tabele shadow
(KeServiceDescriptorTableShadow)
> si cum de dupa
> restart isi pastreaza valorile eronate. Mai zice ceva pe aici, ca dupa
> ce se face primul apel din GDI sau User.dll, abia atunci se pun
> pointerii in Shadow.. asa e? In fine, as vrea o mica lamurire in acest
> caz, thx.
Nu stiu sa-ti spun exact. Iti recomand doua surse de documentare:
Undocumented Windows NT:
http://www.windowsitlibrary.com/Documents/Book.cfm?DocumentID=356
(capitolul de adaugarea de apeluri de sistem)
sau, alternativ, modalitatea de implementarea a KeAddSystemServiceTable
din surse:
http://cs.pub.ro/~pso/lxr/source/base/ntos/ke/miscc.c?v=wrk-1.2#729
Razvan
P.S.: incearca sa spargi mesajele tale in paragrafe, lasa niste randuri
libere intre idei; sunt foarte dificil de urmarit; merci
More information about the pso
mailing list