ich bin grade dabei eine dll zu schreiben die eine Connect Funktion umschreibt mittels Detours 1.5 und WinSock2 ich bekomme aber immer einen Error dem ich nichtt verstehe.
Hier:
Code:
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include "detours.h"
#pragma comment(lib, "Detours.lib")
#pragma comment(lib, "ws2_32.lib")
typedef int (WINAPI * trampoline_connect)(SOCKET s, const sockaddr *name, int namelen);
trampoline_connect orginal_connect;
int WINAPI my_connect(SOCKET s, const sockaddr *name, int namelen)
{
sockaddr_in si;
memcpy(&si, name, sizeof(sockaddr_in));
si.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
return orginal_connect(s, (sockaddr*)&si, sizeof(sockaddr_in));
}
BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
switch(dwReason)
{
case DLL_PROCESS_ATTACH:
{
orginal_connect = (trampoline_connect)DetourFunction((PBYTE)GetProcAddress(GetModuleHandle("ws2_32.dll"),"connect"), (PBYTE)my_connect);
}
}
return TRUE;
}
Code:
1>------ Erstellen gestartet: Projekt: warrock_hock, Konfiguration: Debug Win32 ------ 1> warrock_hock.cpp 1>c:\users\phil\documents\visual studio 2010\projects\warrock_hock\warrock_hock\warrock_hock.h(28): error C2664: 'GetModuleHandleW': Konvertierung des Parameters 1 von 'const char [11]' in 'LPCWSTR' nicht möglich 1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat. 1>c:\users\phil\documents\visual studio 2010\projects\warrock_hock\warrock_hock\warrock_hock.h(28): error C3861: "DetourFunction": Bezeichner wurde nicht gefunden. ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========






