Banner #23

XAT Principal



Source UGradeID's 2008

Source UGradeID's 2008
#define Gunz08 typedef struct MCOLOR {     char r;     char g;     char b;     char a; }MCOLOR;   CDetour GetUserGradeIDColorDet; bool __cdecl GetUserGradeIDColor(int UGradeID, struct MCOLOR &Color,char *szName) {  //printf("%d\n",UGradeID);  switch(UGradeID)  {  case 255:  case 254:  case 7:  case 8:   break;     default:   return true;  }  GetUserGradeIDColorDet.Ret(false);    if(UGradeID == 7)  {   Color.a = 255;   Color.r = 255;   Color.g = 128;   Color.b = 64;  }else if(UGradeID == 255 || UGradeID == 254 || UGradeID == 8){   Color.a = 255;   Color.r = 9;   Color.g = 177;   Color.b = 163;  }     //GetUserGradeIDColorDet.Org(UGradeID, Color, szName);     return true; }   __declspec(naked) void Scoreboard() { #ifdef Gunz08  __asm  {   MOV EAX,[EBX+0x4EA]   } #else  __asm  {   MOV EAX,[EBP+0x45A]   } #endif  __asm   {   CMP EAX,0xFF //UGradeID 255  jne GradoM  MOV [EBP-0x17C],0x00 //The R  MOV [EBP-0x17B],0xB7 //The G  MOV [EBP-0x17A],0xFF //The B  MOV [EBP-0x179],0xFF //The A  MOV ECX,[EBP-0x17C]  JMP UgradeIDRegreso GradoM:  CMP EAX,0xFE //UGradeID 254  jne Grado1  MOV [EBP-0x17C],0xFF //The R  MOV [EBP-0x17B],0x80 //The G  MOV [EBP-0x17A],0x40 //The B  MOV [EBP-0x179],0xFF //The A  MOV ECX,[EBP-0x17C]  JMP UgradeIDRegreso Grado1:  CMP EAX,0x1 //UGradeID 1  jne Grado2  MOV [EBP-0x17C],0xFF //The R  MOV [EBP-0x17B],0x80 //The G  MOV [EBP-0x17A],0x40 //The B  MOV [EBP-0x179],0xFF //The A  MOV ECX,[EBP-0x17C]  JMP UgradeIDRegreso Grado2:  CMP EAX,0x7 //UGradeID 1  jne Final  MOV [EBP-0x17C],0xFF //The R  MOV [EBP-0x17B],0x80 //The G  MOV [EBP-0x17A],0x40 //The B  MOV [EBP-0x179],0xFF //The A  MOV ECX,[EBP-0x17C]  JMP UgradeIDRegreso Final:  JMP UgradeIDRegreso  }  }  __declspec(naked) void UGradeID() {  #ifdef Gunz08  __asm  {   MOV EAX,[ECX+0x4EA]   } #else  __asm  {   MOV EAX,[ECX+0x45A]   } #endif  __asm  {   CMP EAX,0xFF   JNE Final   CMP EAX,0xFE   JNE Final   CMP EAX,0x1   JNE Final   CMP EAX,0x7   JNE Final   XOR AL,AL   RETN  Final:   MOV AL,1   RETN  } }
main.cpp
Code:
void CopyBuffer(BYTE *Buffer, int Size, DWORD *Address) {   DWORD pPrevious = 0;   VirtualProtect(Address, Size, PAGE_EXECUTE_READWRITE, &pPrevious);   memcpy(Address, Buffer, Size);   VirtualProtect(Address, Size, pPrevious, &pPrevious);   }  void SetupHook(DWORD Function, DWORD Hook, int Size) {    Hook = Hook - Function - 5;    BYTE bHook[4];    memcpy(bHook,(void*)&Hook,4);    BYTE Buffer[10];    memset(Buffer,0x90,10);     Buffer[0] = 0xE9;     Buffer[1] = bHook[0];     Buffer[2] = bHook[1];     Buffer[3] = bHook[2];     Buffer[4] = bHook[3];    CopyBuffer(Buffer, Size, (DWORD*)Function);  }  void LMAO() { /* AllocConsole();  freopen("CONOUT$", "wb", stdout);  freopen("CONIN$", "rb", stdin); */   GetUserGradeIDColorDet.Detour((PBYTE)GetUserGradeIDColorAddress,(PBYTE)GetUserGradeIDColor,true);  GetUserGradeIDColorDet.Apply();  SetupHook((DWORD)UGradeIDAddress,(DWORD)UGradeID,5);  SetupHook((DWORD)ScoreboardAddress,(DWORD)Scoreboard,5);  CreateThread(NULL,NULL,InfoPC, NULL,NULL,NULL); }  BOOL WINAPI DllMain (HMODULE hModule, DWORD dwReason, LPVOID) {  if (dwReason == DLL_PROCESS_ATTACH)  {   DisableThreadLibraryCalls (hModule);   LMAO();  }   return true; }
Address
Code:
// 2008 DWORD GetUserGradeIDColorAddress = 0x4A17A0; unsigned long UGradeIDAddress = 0x477000; unsigned long UgradeIDRegreso = 0x40784E; unsigned long ScoreboardAddress = 0x407832;  /* 2007 No tested DWORD GetUserGradeIDColorAddress = 0x0049EF00; unsigned long UGradeIDAddress = 0x473920; unsigned long UgradeIDRegreso = 0x407909; unsigned long ScoreboardAddress = 0x4078F5; */
Source do UGradeID's 2008 aproveite :D

ATT: KnightOwner

Comentários

Postar um comentário

Sem Chingamentos
Sem Flood
Obrigada ;D