[TUTORIAL] Creating a simple DLL Cheat/Hack

03/15/2010 13:38 bloodx#31
Well, u posted SRC from Proxy so i give ppl a send + recv method. hehe.


SendFunction
PHP Code:
DWORD PBACK  =  0x000000;// <- U need to get the Back Adress with IDA etc. Or do it with SearchPattern.
#define SendASM __asm{ push ebp };__asm{ mov ebp, esp };__asm{ sub esp, 18h};__asm{ JMP PBACK};
__declspec(nakedint __cdecl SendPacket (BYTE Header LPCSTR Format , ... ){SendASM;} 
RecvFunction
PHP Code:
int DetouredRecv(SOCKET Socketchar *Bufferint Lengthint Flags);
int (__stdcall *PacketRecv)(SOCKET Socketchar *Bufferint Lengthint Flags);

void Recv()
{
    
PacketRecv = (int (__stdcall *)(SOCKETchar *, intint))DetourFunction((PBYTE)recv, (PBYTE)DetouredRecv);

PHP Code:
int DetouredRecv(SOCKET Socketchar *Bufferint Lengthint Flags)
{
    switch(
Buffer[2])
    {
    case 
0x36//item drop
        
break;
    
    }
    return 
PacketRecv(SocketBufferLengthFlags);

03/15/2010 16:04 meak1#32
and where is the bot in src ?
03/15/2010 23:02 ILikeItEasy#33
Quote:
Originally Posted by bloodx View Post
Well, u posted SRC from Proxy so i give ppl a send + recv method. hehe.


SendFunction
PHP Code:
DWORD PBACK  =  0x000000;// <- U need to get the Back Adress with IDA etc. Or do it with SearchPattern.
#define SendASM __asm{ push ebp };__asm{ mov ebp, esp };__asm{ sub esp, 18h};__asm{ JMP PBACK};
__declspec(nakedint __cdecl SendPacket (BYTE Header LPCSTR Format , ... ){SendASM;} 
RecvFunction
PHP Code:
int DetouredRecv(SOCKET Socketchar *Bufferint Lengthint Flags);
int (__stdcall *PacketRecv)(SOCKET Socketchar *Bufferint Lengthint Flags);

void Recv()
{
    
PacketRecv = (int (__stdcall *)(SOCKETchar *, intint))DetourFunction((PBYTE)recv, (PBYTE)DetouredRecv);

PHP Code:
int DetouredRecv(SOCKET Socketchar *Bufferint Lengthint Flags)
{
    switch(
Buffer[2])
    {
    case 
0x36//item drop
        
break;
    
    }
    return 
PacketRecv(SocketBufferLengthFlags);

If you do it like this, you will get many packets multiple times AND you get a lot of crap.

For example, do it like this and then try to keep track of a monster's hp by the dmg he's getting.
03/15/2010 23:28 bloodx#34
Quote:
Originally Posted by ILikeItEasy View Post
If you do it like this, you will get many packets multiple times AND you get a lot of crap.

For example, do it like this and then try to keep track of a monster's hp by the dmg he's getting.
hmm maybe maybe :) but maybe not :]
03/15/2010 23:31 ILikeItEasy#35
I've seen some sources dismissing each 'repeated' packet, but then you're screwed when you should get 2 of the same packets
03/15/2010 23:41 meak1#36
and now then u filtering it out ? lol
03/15/2010 23:49 ILikeItEasy#37
well.. here's my donation to your project :)

Code:
int ASyncPos=0;
int FinalSize=0;

int WINAPI __stdcall MyMagicRecv(SOCKET s, const unsigned char* buf, int len, int flags)
{

	if (ASyncPos==FinalSize && FinalSize>0)
	{
		HandlePacket(buf, ASyncPos);
		ASyncPos = 0;
	}
	int ret = OrigRecv(s,buf,len,flags);
	if (ret<0)
	{
		return ret;
	}
	if (ASyncPos==0)
		FinalSize = *((short int*) buf);
	ASyncPos+=ret;
	return ret;
}
03/30/2010 17:46 katze123#38
MyMagicRecv... lol
m0hamed just gives every person a thanks who posts some source snippet... :D
thanks for release, although i have got that :p
never made much with pointers... maybe i should take a look at that too xD
04/06/2010 10:24 ILikeItEasy#39
Well, it is a workaround for filtering out 'double' recv packets by the public available sources. It is not the best method, but if you do some analysing yourself, you should be able to find out how it really works. This should at least give you a clue and if not, you can use it still to filter out double packets :)
04/06/2010 16:28 meak1#40
we not dumb but u dont understand what we want, we want not release the full stuff the people only need to push their brain on
04/12/2010 14:52 nidecker#41
any working UCE for int server which working now?
i need find speed adress....etc..can any1 post?
04/17/2010 23:03 Alnop2008#42
warum leechen alle hier ? kann ja net mal wer thx drücken hier :>
04/18/2010 14:08 Agzar#43
is it possible to make auto pick up?
04/18/2010 17:52 bloodx#44
Sure, u can add Auto Pick.
04/18/2010 19:09 Agzar#45
any help :d?