@UP THX
Search CPlayerInfo xD
@Give all me source, strcuture UP posts
Search CPlayerInfo xD
@Give all me source, strcuture UP posts
Wenn man logisch nachdenkt, ergibt dein Code keinen Sinn. Du wartest auf das Handle des Prozesses, in den du injizierst, der folglich also eh schon läuft. Das Handle wird hier nicht weiter benutzt, scheint also lediglich der Frage zu dienen, ob das Spiel bereits läuft. Das ist allerdings immer der Fall.Quote:
[code]Credits: CyberrazzerCode:VOID HackMain() { DWORD dwWarRock; do { dwWarRock = (DWORD)GetModuleHandleA("WARROCK.EXE"); } while(!dwWarRock); for ( ; ; ) { BotHacks(); Sleep(2); } }
Quote:
wozu dann die ganze umschreibung mit dem handle? :D
- an den coder gerichtet natürlich
er fragt ja ab, ob warrock prozess besteht, falls ja, schließt er das ding. Aber man muss ja warrock zwangsweise anhaben, um einen cheat zu injecten...
Genau dieses Phänomen hatte mich auch schon gewundert. Soetwas beeinträchtigt ja theorethisch nur lesbarkeit des codes und ist relativ unnötig.Quote:
Wenn man logisch nachdenkt, ergibt dein Code keinen Sinn. Du wartest auf das Handle des Prozesses, in den du injizierst, der folglich also eh schon läuft. Das Handle wird hier nicht weiter benutzt, scheint also lediglich der Frage zu dienen, ob das Spiel bereits läuft. Das ist allerdings immer der Fall.
if (CH_NoBounds_ASM)
{
__asm
{
MOV DWORD PTR DS:[ADR_NOBOUNDS1], 0
MOV DWORD PTR DS:[ADR_NOBOUNDS2], 0
MOV DWORD PTR DS:[ADR_NOBOUNDS3], 0
}
}
if (CH_UserFinder){
int i;
DWORD ADR_USERNAME = NULL;
DWORD ADR_USERIP = NULL;
i=(CH_UserFinder-1);
ADR_USERNAME = (ADR_NameUSer + (ADR_GlobalPointer * i));
ADR_USERIP = (User_iP + (ADR_GlobalPointer * i));
sprintf(usertext, "%s", (void*)ADR_NameUSer);
sprintf(userip , "%s", (void*)ADR_USERIP);
} else {
sprintf(usertext, "Select User");
sprintf(userip , "No IP");
}
Menu->Group("-= User.Finder =-", &finder, opt_Grp);
if (finder)
{
Menu->Item(" [Select.User]" , &CH_UserFinder ,USer,33);
Menu->Text(" -Name :", usertext);
Menu->Text(" -IP :", userip);
}
DWORD pKeyHook = (DWORD)GetProcAddress(GetModuleHandleA("User32.dll"),"PostMessageA")+5;
_declspec(naked) int __stdcall PostMessage_new(HWND hWnd,int Msg,WPARAM wParam,LPARAM lParam)
{
__asm
{
MOV EDI,EDI;
PUSH EBP;
MOV EBP,ESP;
JMP pKeyHook;
}
}
LPARAM GetLParam(int key)
{
UINT Scancode;
LPARAM LParam;
Scancode = MapVirtualKey(key, 0);
LParam = (Scancode << 16);
return LParam;
}
//credits Cyno
Warscheinlich Adresse falsch.Quote:
hallo ich habe ein problem mit UserFinder :/
ich der username der angezeigt wird bleibt immer gleich nur die IP ändert sich.Code:if (CH_UserFinder){ int i; DWORD ADR_USERNAME = NULL; DWORD ADR_USERIP = NULL; i=(CH_UserFinder-1); ADR_USERNAME = (ADR_NameUSer + (ADR_GlobalPointer * i)); ADR_USERIP = (User_iP + (ADR_GlobalPointer * i)); sprintf(usertext, "%s", (void*)ADR_NameUSer); sprintf(userip , "%s", (void*)ADR_USERIP); } else { sprintf(usertext, "Select User"); sprintf(userip , "No IP"); }
#define ADR_NameUSer 0xA58404
#define User_iP 0xA58118
#define ADR_GlobalPointer 0x1CF8
kann mir jemand sagen woran das liegt?
if (xPlayer.CH_QuickPlant)
{
__asm
{
MOV DWORD PTR DS:[ADR_QUICKPLANT], 20
}
}
int x = 1000; //beliebige Höhe
void Superjump()
{
*(float*)(ADR_PLAYERPOINTER + OFFSET_Z) = x;
}
void Superjump()
{
*(float*)(ADR_PLAYERPOINTER + OFFSET_Z) = 1000; //und hier die höhe einfügen
}