Pesquisar na Comunidade
Mostrando resultados para as tags ''comandos no delphi''.
Encontrado 1 registro
-
Então galera , já possuo essa conta no wc a bastante tempo , cerca de 5~6 anos , nunca tive motivos para perguntar alguma coisa , mas agora , realmente preciso da ajuda de quem entende do assunto , bom , a parada é o seguinte , eu tenho essas dll's , type PParams = ^TParams; TParams = packed record Packet: array [0..100] of byte; Param1,Param2,Param3: DWord; Param4: array [1..100] of widechar; end; const PW_BASE_ADDRESS = $009C0E6C; PW_GAMERUN_ADDR = $009C1514; ---------------------------------------------------------------------- procedure InjectFunc(ProcessID: Cardinal; Func, aParams: Pointer; aParamsSize: DWord); var hThread: THandle; lpNumberOfBytes: DWord; ThreadAddr, ParamAddr: Pointer; begin if ProcessID<>0 then begin // ---- Выделяем место в памяти процесса, и записываем туда нашу функцию ThreadAddr := VirtualAllocEx(ProcessID, nil, 256, MEM_COMMIT, PAGE_READWRITE); WriteProcessMemory(ProcessID, ThreadAddr, Func, 256, lpNumberOfBytes); // ---- Также запишем параметры к ней ParamAddr := VirtualAllocEx(ProcessID, nil, aParamsSize, MEM_COMMIT, PAGE_READWRITE); WriteProcessMemory(ProcessID, ParamAddr, aParams, aParamsSize, lpNumberOfBytes); // ---- Создаем поток, в котором все это будет выполняться. hThread := CreateRemoteThread(ProcessID, nil, 0, ThreadAddr, ParamAddr, 0, lpNumberOfBytes); // ---- Ожидаем завершения функции WaitForSingleObject(hThread, INFINITE); // ---- подчищаем за собой CloseHandle(hThread); VirtualFreeEx(ProcessID, ParamAddr, 0, MEM_RELEASE); VirtualFreeEx(ProcessID, ThreadAddr, 0, MEM_RELEASE); end end; ------------------------------------------------------------------------------------------------------------------------ procedure WalkCall(aPParams:pParams);Stdcall; var CallAddress1,CallAddress2,CallAddress3:pointer; x,y,z:single; flying:DWORD; begin CallAddress1:=Pointer($00468070); CallAddress2:=Pointer($0046BCB0); CallAddress3:=Pointer($00468470); x:=aPParams^.Param4; y:=aPParams^.Param5; z:=aPParams^.Param6; flying:=aPParams^.Param1; asm pushad mov eax, dword ptr [PW_GAMERUN_ADDR] mov esi, dword ptr [eax+$20] mov ecx, dword ptr [esi+$FE0] push 1 call CallAddress1 mov edi, eax lea eax, dword ptr [esp+$0C] push eax push flying mov ecx, edi call CallAddress2 mov ecx, dword ptr [esi+$FE0] push 0 push 1 push edi push 1 call CallAddress3 mov eax, dword ptr [PW_GAMERUN_ADDR] mov eax, dword ptr [eax+$20] mov eax, dword ptr [eax+$FE0] mov eax, dword ptr [eax+$30] mov ecx, dword ptr [eax+$4] mov eax, x mov dword ptr[ecx+$20], eax mov eax, z mov dword ptr[ecx+$24], eax mov eax, y mov dword ptr[ecx+$28], eax popad end; end; procedure Walk(x,y,z:single); var aParams: TParams; begin ReadProcessMemory(aHandle,ptr(BaseWalkMode),@WalkMode,1,readwrite); //BaseWalkMode = GA +20 +61C if WalkMode = 0 then aParams.Param1:=0 else aParams.Param1:=1; aParams.Param3:=x; aParams.Param4:=y; aParams.Param5:=z; InjectFunc(aHandle,@WalkCall,@aParams,SizeOf(aParams)); end; ------------------------------------------------------------------------------------------------------------------ Minha dúvida é nessa ultima DLL , tenho tudo pronto , etc.. mas não sei oq boto em seguida , tenho os packets , mas acredito que pra essa dll , nao se use packet , pois uso packet em outra dll , mas nao consigo fazer o personagem andar com packets , pois além do codigo em bytes ser muito grande , ele nao anda , (não sei porque , se alguem souber , avise-me , pls ) , então queria usar essa dll ''Walk'' aí , mas nao sei como proseguir , se alguem puder , dar uma dica pelo menos , o jogo que estou tentando criar o bot se chama ''Perfect World'' , também queria saber sobre essa parte da dll , mov eax, dword ptr [PW_GAMERUN_ADDR] mov eax, dword ptr [eax+$20] mov eax, dword ptr [eax+$FE0] mov eax, dword ptr [eax+$30] mov ecx, dword ptr [eax+$4] mov eax, x mov dword ptr[ecx+$20], eax mov eax, z mov dword ptr[ecx+$24], eax mov eax, y mov dword ptr[ecx+$28], eax se nao me engano , é em assembly , se alguém pudesse explicar um pouco sobre isso também , ficaria grato , enfim , minha dúvida principal é como prosseguir com a ultima dll , e caso alguém saiba como fazer um personagem andar com Packets , é só dizer , desde já , O B R I G A D O !!!
-
- bot
- comandos delphi
- (e 6 mais)
