Bueno, no es para tanto, digo.. Bueno.

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCitarPersonalmente no me gustan mucho las interfaces gráficas, prefiero hacerlo todo por consola
CitarBueno si es para Windows, con Win32 podes hacer todo lo que se puede imaginar mirar en la pantalla
CitarEs muy sencillo: ¿De donde salio?Haa,, si.. seguro es sencillo, no entendia por que usaba asi a la funcion..
CitarSi es una funcion de hook para NtQuerySystemInformation, Se pasa a la funcion original los parametros que son pasados al hookExactamente
Citarun casting del puntero a la función si la variable ya es declarada como tal
CitarNo seria usar las Nt's desde modo kernel:Tengo que aprender a usar Windbg urgente..
CitarPor que codigo basura?
¿Es o no es codigo basura ese?
Citar
cuando llamas desde modo Kernel tenes que usar Zw (en modo Usuario una es alias de la otra, tienen la misma direccion).
CitarPor que va entre parentesis? No se usa igual que las funciones en modo usuario..
ZWQUERYSYSTEMINFORMATION ZwQuerySystemInformationAddress = NULL;
status = ((ZWQUERYSYSTEMINFORMATION)(ZwQuerySystemInformationAddress)) (
SystemInformationClass,
SystemInformation,
SystemInformationLength,
ReturnLength );
CitarAntes no me habia quedado claro, ahora si.. Listo!
Nt or Zw are system calls declared in ntdll.dll and ntoskrnl.exe. When called from ntdll.dll in user mode, these groups are almost exactly the same; they trap into kernel mode and call the equivalent function in ntoskrnl.exe via the SSDT. When calling the functions directly in ntoskrnl.exe (only possible in kernel mode), the Zw variants ensure kernel mode, whereas the Nt variants do not.[3] The Zw prefix does not stand for anything.