[pso] Tema 1 Windows apeluri de sistem 2

Adrian - Razvan Deaconescu pso@cursuri.cs.pub.ro
Thu, 17 Mar 2005 17:24:58 +0200


Salut,
intrucat nu am reusit sa dezasamblez functia mea, am facut o functie
de interceptare dummy care, de asemenea, nu "intercepteaza" corect
apelurile de sistem:

NTSTATUS interceptor ()
{
	int syscall;
	void *old_stack;
	int i;

	_asm mov syscall, eax
	_asm mov old_stack, ebp
	_asm add old_stack, 8

	for (i = 0; i < 15; i++) {
		DbgPrint ("old[%d] = %u", i, *((int *)old_stack + i));
		DbgPrint ("old[-%d] = %u", i, *((int *)old_stack - i));
	}

	return 0;
}

Dupa cum se vede am cercetat cu destul de multa atentie in jurul lui
old_stack si nu exista nici un semn de vreun argument. Ca si remarca
pe pozitia old_stack - 4
apare numarul apelului de sistem. (nu shtiu ce relevanta are, dar am
remarcat lucrul asta).

Can anybody help me?

Razvan