[pso] [Tema1][win] Problema la interceptare sys_call

Marius Nicolae mariusn007 at gmail.com
Wed Apr 2 09:59:16 EEST 2008


2008/4/2 Alex Drenea <alexdrenea at gmail.com>:
>  Incredibil.... stiam eu ca e ceva extrem de simplu... Chiar daca pentru
> noua structura KeSDT aveam grija sa aloc vectorii cu dimensiunea
> MY_SYSCALL_NO + 1 din motive care nu mi le pot
> imagina acum, setam ls-ul la MY_SYSCALL_NO.

Din comentariile din sursa rezulta ca ls ar fi "last system call
number" deci ai crede ca trebuie sa pui MY_SYSCALL_NO
dar de fapt este ceva de genul "lenght of syscall table" deci trebuie
pus MY_SYSCALL_NUMBER+1

>
>  Am modificat acum si merge. Multumesc mult de tot.
>
> Alex
>
> 2008/4/2 Silviu-Ionut Ganceanu <silviug at gmail.com>:
>
>
>
> > Ai inlocuit si ls-ul din KeSDT? Tb sa fie MY_SYSCALL_NO + 1.
> >
> > Mai trebuie convins si KeSDTShadow sa pointeze catre noile chestii.
> >
> > Hope it helps,
> >
> > Silviu
> >
> >
> > 2008/4/2 Alex Drenea <alexdrenea at gmail.com>:
> >
> > >
> > >
> > >
> > >
> > > M-am blocat de ceva vreme la tema intr-o chestie care cred ca e banala
> dar nu-mi pot da seama ce are.
> > > Am modificat KeSDT astfel incat sa cuprinda si MY_SYSCALL_NO (facut si
> backup la cel original si restaurat la unload, all OK ).
> > >
> > > Momentan in functia care ar trebui sa trateze apelul de sistem
> MY_SYSCALL_NO incerc doar sa afisez un mesaj debug si returnez succes.
> > > Problema este ca ruland test.exe ( din vmware, cu liniile de load si
> unload module comentate ), constat ca nu se apeleaza niciodata functia.
> > > (nici un mesaj de debug generat )
> > >
> > > Rutina prin care setez functia de tratare a apelului de sistem este
> > >
> > >
> > >  mySDT.st[MY_SYSCALL_NO] = MySYSCALLhander;
> > >  mySDT.spt[MY_SYSCALL_NO] = 3*sizeof(int);
> > >
> > >
> > > Antetul functiei de tratare : NTSTATUS MySYSCALLhander();
> > >
> > > NU pot sub nici o forma sa imi dau seama ce fac gresit. Orice ajutor
> este binevenit.
> > >
> > > Alex.
> > >
> > >
> > >
> > >  NTSTATUS MySYSCALLhander()
> > >
> > >
> > >
> > >  mySDT.st[MY_SYSCALL_NO] = MySYSCALLhander;
> > >  mySDT.spt[MY_SYSCALL_NO] = 3*sizeof(int);
> > > _______________________________________________
> > > pso mailing list
> > > pso at cursuri.cs.pub.ro
> > > http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
> > >
> > >
> >
> >
> > _______________________________________________
> > pso mailing list
> > pso at cursuri.cs.pub.ro
> > http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
> >
> >
>
>
> _______________________________________________
>  pso mailing list
>  pso at cursuri.cs.pub.ro
>  http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>
>


More information about the pso mailing list