Hilfe bei Packet Injection

12/20/2010 18:28 n3gative#1
Hallo,

ich hab mal versucht das
"Client Based Packet Injection in Silkroad"
[Only registered and activated users can see links. Click Here To Register...]
nach zu bauen.

Da ich die express Version von Visual C++ habe, konnte ich das nicht zu 100% nach bauen. Bei "namespace Win32Gui" hab ich das so gemacht:
Code:
namespace Win32Gui
{
	//INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
	//{
	//	switch(uMsg) 
	//	{
	//		case WM_INITDIALOG:
	//		{
	//		}
	//		break;

	//		case WM_COMMAND:
	//		{
	//			int button = LOWORD(wParam);
	//			switch(button)
	//			{
	//				case IDCANCEL:
	//				{
	//					PostQuitMessage(0);
	//				} break;

	//				case IDC_BUTTON1:
	//				{
	//					Packet::TPacket * sitPacket = new Packet::TPacket;
	//					sitPacket->size = 1;
	//					sitPacket->opcode = 0x7017;
	//					sitPacket->data[0] = 0x04;
	//					Packet::SendPacket(sitPacket);
	//				} break;
	//			}
	//		} break;

	//		default:
	//		{
	//			return FALSE;
	//		}
	//	}
	//	return TRUE;
	//}

	DWORD WINAPI GuiThread(LPVOID lpParam)
	{
		//HWND hwnd = CreateDialog(gInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DlgProc);
		
		//MSG Msg = {0};
		//while(GetMessage(&Msg, NULL, 0, 0) > 0)
		//{
		//	if(!IsDialogMessage(hwnd, &Msg))
		//	{
		//		TranslateMessage(&Msg);
		//		DispatchMessage(&Msg);
		//	}
		//}
		Sleep(60000);
		//while(true){
			Packet::TPacket * sitPacket = new Packet::TPacket;
			sitPacket->size = 1;
			sitPacket->opcode = 0x7017;
			sitPacket->data[0] = 0x04;
			Packet::SendPacket(sitPacket);

		//}
		return 0;
	}

	void Setup()
	{
		CreateThread(0, 0, GuiThread, 0, 0, 0);
	}
}
Also nach 60 Sek. sollte das Programm das Packet schicken. Leider passiert nichts. Liegt das an dem Code, wird er viellicht garnicht gestartet oder ist das Packet ungültig?
--------------------------------------------------------------------------
english
hello and sorry for my english :D,

i have tried the
"Client Based Packet Injection in Silkroad"
[Only registered and activated users can see links. Click Here To Register...]

but i have visual c++ express edition, and i can't create resources. at "namespace Win32Gui" i do it so (look code above).

after 60 sec. the code shoult send the packet. but it happen nothing (in game). is the packet invalid or the packet is not sendig because the code?
12/20/2010 22:58 lordshreck#2
sich denke mal ungültig weil die die packets andaund ändern ,isro halt aber ich guck mal.Aber es es so schon fast richtig
12/21/2010 05:47 bootdisk#3
0x7017 is old. Sniff the new op code or maybe try with 0x7045 (I don't remember if it's correct or not so that's why you should sniff that one).

And careful about Sleep as it might cause some deadlocks.

A quick trick to check if you're sending the correct OP code would be to open sro_client.exe with OllyDbg, Search for all constants and then put the OP code.

And also, I'd recommend you to download the full version of VS 2008 at least, it will cause you less headaches.

/ultraofftopic
Hope that solves it and sorry if lordshreck already said it, German is another language I'd like to learn as well as French... *sigh* one day... :D