NtQueryInformationProcess hook problem...

11/20/2011 23:38 Lazeboy#1
hey,
ich versuche NtQueryInformationProcess zu hooken und mal auszulesen mit welchen Parametern diese funktion im verlauf eines Programms aufgerufen wird. Nun kommt es zu meinem Problem.

So funktioniert es:
Code:
ULONG WINAPI hNtQueryInformationProcess(HANDLE a,UINT b,PVOID c,ULONG d,PULONG e)
{
	DWORD ret  =  oNtQueryInformationProcess(a,b,c,d,e);
	return ret;
}
und komischer weise so nicht
Code:
ULONG WINAPI hNtQueryInformationProcess(HANDLE a,UINT b,PVOID c,ULONG d,PULONG e)
{
	DWORD ret  =  oNtQueryInformationProcess(a,b,c,d,e);
	fprintf(myfile,"%d\n",b);
	return ret;
}
darauf hin hab ich mal andere funktionen gecalled und das funktioniert. Also z.b MessageBox funktioniert, jedoch "fprintf(myfile,"bla");" geht komischer weise auch nicht. Ich habe versucht das ganze in einer Konsole auszugeben -> funktioniert auch nicht. Mein Trampolin ist auch richtig.
Könnt ihr mir sagen wieso das crashed ?
11/21/2011 11:28 Tyrar#2
könnte evtl. daran liegen dass fprintf eine crt func is.. nur eine vermutung, aber versuch mal die winapi func WriteConsole
11/21/2011 12:06 Lazeboy#3
Quote:
Originally Posted by HeavyHacker View Post
könnte evtl. daran liegen dass fprintf eine crt func is.. nur eine vermutung, aber versuch mal die winapi func WriteConsole
ja da kommt nur das problem wie gebe ich den Parameter aus ? sprintf oder sowas funktioniert ja auch nicht :D

Edit:
danke für die Hilfe ich habs mit wsprintf gelöst. Ich hab mir halt mal UNICODE_STRING angeschaut und das besteht ja aus WCHAR und weil das auch im rin 0 erlaubt ist dachte ich mir muss ja auch in userland hooks gehen :D