C++ Auto Loot Algoritması + Recv

HeRoTurk

Özel Üye
Katılım
21 Eyl 2012
Mesajlar
1,442
Tepkime puanı
0
Puanları
0
Web sitesi
p1c-m4rsel.org
C++ Knight OnLine Auto Loot Algoritması + Recv


DLL İçin Yazılmıştır..


Kod:
// KO Fonksiyonları..

 	static	void	MP_AddByte(BYTE *dest, int& iOffset, BYTE byte) { CopyMemory(dest+iOffset, &byte, 1); iOffset ++; }
	static	void	MP_AddShort(BYTE *dest, int& iOffset, short value) { CopyMemory(dest+iOffset, &value, 2); iOffset += 2; }
	static	void	MP_AddWord(BYTE *dest, int& offset, WORD value) { CopyMemory(dest+offset, &value, 2); offset += 2; }
	static	void	MP_AddDword(BYTE *dest, int &iOffset, DWORD dword) { CopyMemory(dest+iOffset, &dword, 4); iOffset += 4; }
	static	void	MP_AddFloat(BYTE *dest, int &iOffset, float value) { CopyMemory(dest+iOffset, &value, 4);	iOffset += 4; }

    static	BYTE&		Parse_GetByte(const BYTE* buf, int &iOffset) { iOffset ++; return *(BYTE*)(buf+iOffset-1); }
	static	short&		Parse_GetShort(const BYTE* buf, int& iOffset) { iOffset += 2; return *(short*)(buf+iOffset-2); }
	static  WORD&		Parse_GetWord(const BYTE* buf, int &iOffset) { iOffset += 2; return *(PWORD)(buf+iOffset-2); }
	static	DWORD&		Parse_GetDword(const BYTE* buf, int &iOffset) { iOffset += 4; return *(DWORD*)(buf+iOffset-4); }


DWORD KOFonksiyonGame_PTR;  
DWORD KOFonksiyonGame;
DWORD LastBoxID;
DWORD LASTBOX;

void KOTransferBox(DWORD pBoxID){
BYTE byBuff[100];
int iOffset =0;
LastBoxID=pBoxID;
MP_AddByte(byBuff, iOffset, 0x24);
MP_AddDword(byBuff, iOffset,pBoxID);
SendPacket(byBuff,iOffset);
}



void KOTransferBoxID(BYTE* pDataPack, int iOffset){
int ID =Parse_GetWord(pDataPack, iOffset);
DWORD BoxID =Parse_GetDword(pDataPack, iOffset);
KOTransferBox(BoxID);
}


void KOTransferLoot(DWORD LastBoxID,DWORD ItemID,BYTE itemslot){
BYTE byBuff[100];
int iOffset =0;
MP_AddByte(byBuff, iOffset, 0x26);
MP_AddDword(byBuff, iOffset,LastBoxID);
MP_AddDword(byBuff, iOffset,ItemID);
MP_AddByte(byBuff, iOffset, itemslot);
MP_AddByte(byBuff, iOffset, 0x00);
SendPacket(byBuff,iOffset);
}


void KOTransferParseBox(BYTE* pDataPack, int iOffset){
DWORD BoxID =Parse_GetDword(pDataPack, iOffset);
LASTBOX =BoxID;
DWORD drop_id[4];
DWORD toplalist[1];
for (int i = 0;i<4;i++){
drop_id[i] = *(DWORD*)(pDataPack+(6 + 6*i));
KOTransferLoot(BoxID,drop_id[i],i);
}
}

int  __stdcall KOPacketRecvMain(DWORD DataPack, int& iOffset)
  {

		unsigned long obj = 0;
		unsigned int resultrecv=0;
		_asm mov obj, ecx
		DWORD	RecvGamePtr=  *(DWORD*)KOFonksiyonGame_PTR;
		int iSize = *(DWORD*)(DataPack + 4);
		char *pBuf = (char*)*(DWORD*)(DataPack + 8);
		BYTE *GelenBuf = pBuf;
		if(pBuf == NULL)
		goto cikis;


		 switch(GelenBuf[0]){

		 case  0x23:{     // mob öldü, kutu düştü
		 KOTransferBoxID(GelenBuf,1);
		 return 1;
		 }

		 case  0x24:{   // kutu açıldı
		 KOTransferParseBox(GelenBuf,1);
		 return 1;
		 }

		 break;
		}

	cikis:
	asm{
		push   iOffset
		push  DataPack
		mov eax, KOFonksiyonGame
		mov ecx,obj
		call eax
		mov resultrecv, eax
	}
}


void AutoRecv(){
KOFonksiyonGame_PTR = RDWORD(RDWORD(KO_DLGA)) + 0x8;
KOFonksiyonGame = RDWORD(KOFonksiyonGame_PTR);
*(DWORD*)KOFonksiyonGame_PTR=(DWORD)KOPacketRecvMain;
}
 

sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort mersin escort mersin web tasarım bodrum escort fethiye escort alanya escort konya escort konya escort bodrum escort vozol puff Gamdom izmit escort izmit escort
Üst
Copyright® Ajanlar.org 2012