利用detours劫持自己的系统函数

//劫持自己

#include
#include
#include
#include
#include "detours.h"
#pragma comment(lib,"detours.lib")
static int(*poldsystem)(const char * _Command) = system;
int newsystem(const char * _Command)
{
//禁止tasklist
char *p = strstr(_Command, "tasklist");
if (p == NULL)
{
poldsystem(_Command);


}
else
{


printf("%stasklist禁止执行", _Command);
return 0;
}
}
void Hook()
{
DetourRestoreAfterWith();
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread);
DetourAttach((void**)&poldsystem,newsystem);
DetourTransactionCommit();
}




void main()


{
system("calc");
Hook();
system("calc");
system("tasklist");
getchar();


}

你可能感兴趣的:(C/C++/Linux)