C++ Packete

04/20/2014 20:41 Zypton#1
Hallo Leute,

heute habe ich versucht die Packete wieder zu senden, aber Irgendwie wird das nichts.Es gibt ein Kick, wenn ich versuche die Packete wieder zu senden.
Mit WPE Pro klappts super!

Code:
Code:
#include <Windows.h>
#include "Detour.h"


typedef INT  (WINAPI*pSend) (SOCKET s,const char *buf,int len,int flags);
pSend oSend;

int WINAPI hkSend(SOCKET s,const char *buf,int len,int flags);

UINT_PTR socket;
const char* message;



unsigned long __stdcall reSend(void*){
	while(true){
		Sleep(10);
		if(socket && message){
			send(socket,message,36,0);
		}
	}
}

bool WINAPI DllMain (HINSTANCE hMod, DWORD dwReason, LPVOID unused){
	if(dwReason == DLL_PROCESS_ATTACH){
		DWORD sendfunc;
		sendfunc  = (DWORD)GetProcAddress(GetModuleHandle("Ws2_32.dll"),"send");
		oSend = (pSend)DetourFunction((PBYTE)sendfunc,(PBYTE)hkSend);
		CreateThread(0,0,reSend,0,0,0);
	}
	return true;
}

int WINAPI hkSend(SOCKET s,const char *buf,int len,int flags){
	if(len == 36){
	socket = s;
	message = buf;
	}
	return oSend(s,buf,len,flags);
}
04/21/2014 00:02 Omdi#2
Ich würde eine Kopie von buf machen und nicht daran hoffen, dass es für ewig gültig bleiben wird :)
04/21/2014 00:55 Zypton#3
Quote:
Originally Posted by Omdihar View Post
Ich würde eine Kopie von buf machen und nicht daran hoffen, dass es für ewig gültig bleiben wird :)
Jetzt gehts!
Danke dir.
Thread kann geschlossen werden.