ошибка компоновщика: неопределенная ссылка, вызывающая PsGetProcess

это код, который скрывает определенный процесс, заданный 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′

0

Решение

Тот факт, что вы в том числе <iostream> а также ddk/ntddk.h в том же исходном файле указано, что вы, вероятно, не пишете драйвер.

PsGetCurrentProcess доступно только для водителей. В обычных приложениях вы должны использовать GetCurrentProcess

Конечно, работа с блоками управления процессом, как и с другими частями вашего кода, вообще не будет работать в пользовательском режиме. Если вы хотите сделать это, вам нужно собрать драйвер (и, таким образом, удалить все stdio, iostream и аналогичные приложения — вам нужно написать отдельное приложение, которое передает данные в и из драйвера)

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]