XProxy

09/19/2007 10:49 bone-you#1
This is not a release (yet) it is simply to see how many people would try it out or dev for it. First I shall beg for forgiveness for not releasing it sooner like I said I would (crazytao sucked me in). Second, a rundown of what it is.

Not many people used my XProxy due to its lack of "hack" features in it such as speeding and autohunt/loot shit. Then I came up with an idea of a public dev of a proxy that the community could work on. It's pretty much been functional minus the latest patches that cause it to be out of date(which I am currently working on fixing). Here's the idea:

It's a module loading proxy. That's pretty much it. Allows the community to develop any hack/cheat/exploit under the sun. All I provide is the proxy itself. When I release it I will obviously give a module sample. In fact, I'll post it here. You all can tell me your thoughts on it and ideas. The actual release will have a full working auto stigger (used it to test the features) as a good template and a base of just the required functions (module wise). The end idea is to have a proxy the community can work on together. The proxy itself is coded in C++ but you should be able to use any language to make the dlls in as long as they follow the rules :P

The proxy pretty much only handles the encryption/decryption and whatever else is required to be simply that, a proxy.


Here is a sample of part of a module
Code:
void CPacketParser::init()
{
	//Place any config loading, variable setting, anything that is to be done before connecting here
}
char * CPacketParser::version()
{
	//Your modules versioning info (max characters : 80)
#ifdef _DEBUG
	return "Module test packet parser 1.0 --- Xandium Studios -- DEBUG";
#else
	return "Module test packet parser 1.0 --- Xandium Studios";
#endif
}
bool CPacketParser::ParseServerPacket(char * pData)
{
	char cTxt[20];
	int size;
	//Server to Client packets
	//return true to pass the original packet to the client
	//return false to stop the proxy from passing the packet to the client
	switch (*(WORD*)(pData+2))
	{
		case 0x03EE:
			size = *(char*)(pData+68);
			memset(cTxt, 0, 20);
			memcpy(cTxt, (pData+69), size);
			SendText(0x07DE , "SYSTEM", cTxt, "Parsed by dll", 0);
			break;
		case 0x03EC:
			//int i;
			//char cTxt[30];
			//memset(cTxt, 0, 30);
			//*(WORD*)cTxt = 4;
			//*(WORD*)(cTxt+2) = 4;
			//SendMessageToServer(cTxt, 4);
			//writeconsole("Console write test", WHITE);
			break;
	}
	return true;
}
bool CPacketParser::ParseClientPacket(char * pData)
{
	//Client to Server packets
	//return true to pass the original packet to the server
	//return false to stop the proxy from passing the packet to the server

	switch (*(WORD*)(pData+2))
	{
	case 0x03EE:
		//SendText(0x07DE , "SYSTEM", pData, "Parsed by dll", 0);
		break;
	case 0x03EC:
		//memset(cTxt, 0, 30);
		//*(WORD*)cTxt = 4;
		//*(WORD*)(cTxt+2) = 4;
		//SendMessageToServer(cTxt, 4);
		break;
	}
	return true;
}
Comments?
09/19/2007 14:06 flowerpot!#2
I suggest you work on your pserver instead. I'd rather you do that then facilitate cheating on official servers... but maybe that's just me. :p
09/19/2007 17:10 Queen-Of-Evil#3
Cool sounds like a great idea, if its open source the whole community should be able to tamper with it to create a multitude of diffrent variations... sounds good, and the C++ is a good choice aswell cause these days 80pc of Lanquages can convert from and back to C++. :cool: Cool, nice work, id be sure to give it a look at when its released.

P.S> Did you resolve your Cotobo problem?
09/19/2007 20:56 bone-you#4
Never did have a problem with cotobo. I quit over a year ago lol.
09/19/2007 23:07 Queen-Of-Evil#5
:P My bad it was Tw3aks Cotobo and proxy not working... now its affecting others aswell...
09/20/2007 02:25 bone-you#6
Posted it up. Waiting for it to get through the queue now xD enjoy.