это код, который скрывает определенный процесс, заданный Pid, но я не могу заставить работать PsGetCurrentProcess (), он продолжает выдавать неопределенную ошибку ссылки, и я не знаю, что делать, это код
#include <iostream>
#include <conio.h>
#include "ddk\ntddk.h"#include <stdio.h>
unsigned long SearchProcId(unsigned int Pid){
unsigned long eproc,aux,proceso,ret;
PLIST_ENTRY lista;
unsigned int idProceso=0;
eproc=(unsigned long)PsGetCurrentProcess();//estamos en "System"lista=(LIST_ENTRY*)(eproc+0x88);//tenemos los punteros al siguiente y al anterior
aux=(unsigned long)lista->Blink;
proceso=(unsigned long)lista;
idProceso=*((int *)(proceso+0x84));
while(proceso!=0 && aux!=proceso && Pid!=idProceso)//recorremos la lista
{
proceso-=0x88;
ret=proceso;
idProceso=*((int *)(proceso+0x84));
//avanzamos
lista=lista->Flink;
proceso=(unsigned long)lista;
}
if(Pid!=idProceso)
ret=0;
return ret;
}int main(int argc, char** argv) {
PLIST_ENTRY plist_active_procs;
unsigned long eproc=0;
printf ("id del proceso del lol?");
unsigned int i=0;
scanf ("%d",&i);
eproc = SearchProcId(i);
plist_active_procs = (LIST_ENTRY*)(eproc+0x88);
plist_active_procs -> Blink -> Flink=plist_active_procs->Flink;
plist_active_procs -> Flink -> Blink=plist_active_procs->Blink;
return 0;
}
он продолжает выдавать мне эту ошибку, я не знаю, что делать C: \ Users \ Gabriel \ Documents \ main.o main.cpp :(. text + 0xe): неопределенная ссылка на `чертенок_IoGetCurrentProcess @ 0′
Тот факт, что вы в том числе <iostream>
а также ddk/ntddk.h
в том же исходном файле указано, что вы, вероятно, не пишете драйвер.
PsGetCurrentProcess
доступно только для водителей. В обычных приложениях вы должны использовать GetCurrentProcess
Конечно, работа с блоками управления процессом, как и с другими частями вашего кода, вообще не будет работать в пользовательском режиме. Если вы хотите сделать это, вам нужно собрать драйвер (и, таким образом, удалить все stdio, iostream и аналогичные приложения — вам нужно написать отдельное приложение, которое передает данные в и из драйвера)
Других решений пока нет …