[pso] [Tema1][win] Invalid system call

Alexandru Juncu alexandru.juncu at cs.pub.ro
Tue Mar 1 10:27:59 EET 2011


2011/3/1 Claudiu Mihail <claudiu.bogdan.mihail at gmail.com>:
> Claudiu Mihail <claudiu.bogdan.mihail at ...> writes:
>
>>
>>
>> Salut,
>>
>> Am o mica nedumerire. Dupa ce am pus MY_SYSCALL in tabela de syscall-uri,
> incerc printr-un program sa o chem sa vad ca e apelata. Dar de fiecare data cand
> o apelez imi returneaza STATUS_INVALID_SYSTEM_SERVICE in loc de rezultatul care
> ar trebui dat de rutina mea. Modul in care chem rutina este in felul urmator
>>
>> int r;
>> unsigned long var[3] = {1, 2, 3};
>> system("driver load objchk_wnet_x86/i386/sci.sys");
>>
>>
>> _asm mov eax, MY_SYSCALL_NO
>> _asm mov edx, var
>> _asm int 0x2e
>> _asm mov r, eax
>>
>>
>> Am pus rutina de tratare in tabela, la index-ul potrivit (MY_SYSCALL_NO),
> dimensiunea tabelei (MY_SYSCALL_NO+1), si am setat cati bytes ar trebui sa
> primeasca ca parametrii, deci ar trebui sa fie totul bine pe partea driver-ului.
> Programul cu care testez il rulez ca administrator deci nu prea vad care ar
> putea fi problema.
>>
>> Any ideas would be appreciated,
>> Claudiu
>>
>>
>>
>> _______________________________________________
>> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii
>
> Dar aparent daca fac de pe alt user merge. Daca rulez testele din do_as_guest()
> atunci merge...vad cum e functia apelata (am un DbgPrint in ea) si returneaza si
> ce i-am dat sa returneze. Acum chiar ca sunt derutat.
>
> Claudiu



Ai înlocuit funcția de tratare și în KeServiceDescriptorTable și în
KeServiceDescriptorTableShadow?


More information about the pso mailing list