Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

исходник для бота

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 21.11.2011, 20:55   #31
 Разведчик
Аватар для HellD
 
HellD на правильном путиHellD на правильном пути
Регистрация: 07.02.2011
Сообщений: 38
Популярность: 143
Сказал(а) спасибо: 5
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для HellD с помощью ICQ
 
По умолчанию Re: исходник для бота

а что именно тебя интересует?? ) все и сразу никто выкладывать, разумеется не будет )) ну по крайней мере в одном месте )))
  Ответить с цитированием
Старый 21.11.2011, 21:07   #32
 Старший сержант
Аватар для Skuka.95
 
Skuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражания
Регистрация: 12.06.2010
Сообщений: 186
Популярность: 1746
Сказал(а) спасибо: 27
Поблагодарили 64 раз(а) в 59 сообщениях
Отправить сообщение для Skuka.95 с помощью ICQ
 
По умолчанию Re: исходник для бота

Цитата:
Сообщение от HellDПосмотреть сообщение
а что именно тебя интересует?? )

как использовать инжекты (пример) (желательно с коментариями для тугадумов )
а то выводить хп, лвл и тд на форму научился, а вот с инжектами совсем туплю

p.s. заодно спрошу как сделать боту привязку клану ?)
________________
Почти забросил раздел Pw скажем спасибо TBX1n и серверу
Цитата:
Сообщение от TBX1n
Скука новый админ


Последний раз редактировалось Skuka.95; 21.11.2011 в 21:13.
  Ответить с цитированием
Старый 21.11.2011, 21:37   #33
 Разведчик
Аватар для HellD
 
HellD на правильном путиHellD на правильном пути
Регистрация: 07.02.2011
Сообщений: 38
Популярность: 143
Сказал(а) спасибо: 5
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для HellD с помощью ICQ
 
По умолчанию Re: исходник для бота

инжекты... хм... в большинстве своем это это уже готовая функция(на форуме их полно), в которую просто нужно отправить от 1 до ... параметров...
будь то targetcall в который отправляется wid моба... или walkcall в который отправляем xyz... все... ну к примеру...

влом ща делфю открывать и в кодах ковыряться, напишу от себя, как раз проще понять будет(надеюсь)) )

//сначала инжектор
// он собственно есть туть http://zhyk.ru/forum/showthread.php?t=144558

// теперь сама функция нужная нам... к примеру хотим мы перса отправить куда нить... как итог берем walkcall
// если память не изменяет он либо в той же теме, либо в теме с оффсетами на одних из последних страниц есть...

// теперь предположим что у нас есть кнопка, по нажатию на которую перс и должен бежать куда нам надо... пишем код для этой кнопки
// что то вроде

процедура нажатиякнопки(sender);
var
aparams:tparams;
begin
aparams.x=(сюда добавляем хоть полученный х с другого перса... хоть годами ранее записанный ручкой на блокнотике, хоть любые цифры наугад, в которые и полетит персонаж... или клиент просто рухнет к чертям)))
// тоже с y,z и типом движения... то есть вроде как 0 пешком, 1 на полете... сразу известно, чудно, вписываем, неизвестно, заранее определяем через те же оффсеты... и через условие все равно получаем ))
// все... теперь просто инжектим это в клиент
InjectFunc(hprocess(ну тут я думаю понятно), @WalkCall(функция walkcall, кэп), @aParams(ну и собственно наши xyz), SizeOf(aParams ));

вот вроде и вся "сложность" ))
ну только в начале кода все нужное обяъвить надо )) и вроде все )) если что не понятно )) хотя... думаю тут вообще ничерта не понятно )) то спрашивай ))
  Ответить с цитированием
Старый 22.11.2011, 07:04   #34
 Старший сержант
Аватар для Skuka.95
 
Skuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражания
Регистрация: 12.06.2010
Сообщений: 186
Популярность: 1746
Сказал(а) спасибо: 27
Поблагодарили 64 раз(а) в 59 сообщениях
Отправить сообщение для Skuka.95 с помощью ICQ
 
По умолчанию Re: исходник для бота

Цитата:
Сообщение от HellDПосмотреть сообщение
ну и собственно наши xyz

а как найти xyz как я понимаю это не координаты перса которые в клиенте показаны (или я ошибаюсь ?)
________________
Почти забросил раздел Pw скажем спасибо TBX1n и серверу
Цитата:
Сообщение от TBX1n
Скука новый админ

  Ответить с цитированием
Старый 22.11.2011, 13:21   #35
 Разведчик
Аватар для akeks249
 
akeks249 никому не известный тип
Регистрация: 17.12.2010
Сообщений: 13
Популярность: 10
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: исходник для бота

БЛин вот вам легко а я вот ничего не понимаю из написанного, кроме как написать какой то код вставить какую то хреНь, в другую, а как это выглядит все даже в кошмарном сне не могу представить!!!!!
Читал гайды по созданию и ничего не понял, Хд НУПЬ!!!
  Ответить с цитированием
Старый 22.11.2011, 13:31   #36
 Старший сержант
Аватар для Skuka.95
 
Skuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражания
Регистрация: 12.06.2010
Сообщений: 186
Популярность: 1746
Сказал(а) спасибо: 27
Поблагодарили 64 раз(а) в 59 сообщениях
Отправить сообщение для Skuka.95 с помощью ICQ
 
По умолчанию Re: исходник для бота

Цитата:
Сообщение от akeks249Посмотреть сообщение
БЛин вот вам легко а я вот ничего не понимаю из написанного, кроме как написать какой то код вставить какую то хреНь, в другую, а как это выглядит все даже в кошмарном сне не могу представить!!!!!
Читал гайды по созданию и ничего не понял, Хд НУПЬ!!!

ну я тоже несовсем понял из того что он написал) но вот пытаюсь понять...
Код:
var

 hProcess,PID,BytesCount,buf:dword;
 WndHndl:THandle;
 const

 BASE_ADDR = $00B27A04;
 GAMERUN_ADDR = $00B280C4;
 HP_OFFSET_addr = $490;

 begin
 WndHndl:=findwindow(nil,'Perfect World');
 GetWindowThreadProcessId(WndHndl, @PID);
 hProcess:=OpenProcess(PROCESS_ALL_ACCESS, False, PID);
 //читаем значение хп....
 ReadProcessMemory(hProcess,ptr(base_addr),@buf,4,BytesCount);
 ReadProcessMemory(hProcess,ptr(buf+$1C),@buf,4,BytesCount);
 ReadProcessMemory(hProcess,ptr(buf+$34),@buf,4,BytesCount); //( на офе и PWI +$34)
  ReadProcessMemory(hProcess,ptr(buf+HP_OFFSET_addr),@buf,4,BytesCount);
 //выводим
 Edit1.text := IntToStr(buf);
 closehandle(hProcess);
 end;
начни с понимания этого кода) (код на делфи, если незнаешь делфи то учи делфи... ну или ещё чёнить))
________________
Почти забросил раздел Pw скажем спасибо TBX1n и серверу
Цитата:
Сообщение от TBX1n
Скука новый админ

  Ответить с цитированием
Старый 22.11.2011, 14:28   #37
 Разведчик
Аватар для HellD
 
HellD на правильном путиHellD на правильном пути
Регистрация: 07.02.2011
Сообщений: 38
Популярность: 143
Сказал(а) спасибо: 5
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для HellD с помощью ICQ
 
По умолчанию Re: исходник для бота

Цитата:
Сообщение от Skuka.95Посмотреть сообщение
а как найти xyz

GA+34+
+3C X
+40 Z
+44 Y

данные в single

а дальше уже от ситуации зависит... следовать в указанную точку... заранее эти коорды находишь и записываешь в программу... следовать за персонажем, получаем эти коорды с нужного персонажа и т.д....

а разница этих(рабочих) координат(1) и отображаемых(2) координат клиента следующая
Х2=(Х1\10)+400
Y2=(Y1\10)+550
Z2=(Z1\10)

получать и передавать клиенту разумеется надо рабочие... ну а вывести в программку, для удобства, можно и переведя их в привычный вид.
  Ответить с цитированием
Старый 22.11.2011, 14:50   #38
 Старший сержант
Аватар для Skuka.95
 
Skuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражания
Регистрация: 12.06.2010
Сообщений: 186
Популярность: 1746
Сказал(а) спасибо: 27
Поблагодарили 64 раз(а) в 59 сообщениях
Отправить сообщение для Skuka.95 с помощью ICQ
 
По умолчанию Re: исходник для бота

HellD, чувствую с тобой я быстро всем научусь)
я правельно сделал ? (см вложения) а то цифры пугают...
Изображения
Тип файла: jpg xyz.JPG (3.5 Кб, 219 просмотров)
________________
Почти забросил раздел Pw скажем спасибо TBX1n и серверу
Цитата:
Сообщение от TBX1n
Скука новый админ


Последний раз редактировалось Skuka.95; 22.11.2011 в 15:07.
  Ответить с цитированием
Старый 22.11.2011, 14:52   #39
 Разведчик
Аватар для HellD
 
HellD на правильном путиHellD на правильном пути
Регистрация: 07.02.2011
Сообщений: 38
Популярность: 143
Сказал(а) спасибо: 5
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для HellD с помощью ICQ
 
По умолчанию Re: исходник для бота

лови, написано за 2-3 минуты, так что сори за возможные недочеты, но суть ясна и вроде все работает... мой по крайней мере в нужную сторону потопал


Код:
unit xxsource;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    WndHndl:Thandle;
    HProcessBot,PID,BytesCount:Dword;
  end;

type
    PParams = ^TParams;
    TParams = packed record
       Packet: array [0..100] of byte;
       FlyPar:Dword;
       X:Single;
       Y:Single;
       Z:Single;
end;
var
  Form1: TForm1;
  const BA=$B27A04;
  const GA=$B280C4;

implementation

{$R *.dfm}

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($0046E410);
CallAddress2:=Pointer($004728E0);
CallAddress3:=Pointer($0046E880);
x:=aPParams^.X;
y:=aPParams^.Y;
z:=aPParams^.Z;
flying:=aPParams^.FlyPar;
 asm
  pushad
  mov eax, dword ptr [GA]
  mov esi, dword ptr [eax+$34]
  mov ecx, dword ptr [esi+$1050]
  push 1
  call CallAddress1
  mov edi, eax
  lea eax, dword ptr [esp+$18]
  push eax
  push flying
  mov ecx, edi
  call CallAddress2
  mov ecx, dword ptr [esi+$1050]
  push 0
  push 1
  push edi
  push 1
  call CallAddress3
  mov eax, dword ptr [GA]
  mov eax, dword ptr [eax+$34]
  mov eax, dword ptr [eax+$1050]
  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 TForm1.Button1Click(Sender: TObject);
var
AParams:TParams;
x,y,z:Single;
WalkTemp,BaseWalkMode:dword;
begin
WndHndl:=findwindow(nil,'Perfect World');
GetWindowThreadProcessId(WndHndl, @PID);
HProcessbot:=OpenProcess(PROCESS_ALL_ACCESS, False, PID);
//заранее найденые по офсетам коорды входа в хх
x:=-2704.39721679688;
z:=770.596313476563;
y:=1183.5029296875;

  ReadProcessMemory(HProcessBot, ptr(GA), @WalkTemp, sizeof(WalkTemp), BytesCount);
  ReadProcessMemory(HProcessBot, ptr(WalkTemp+$34), @WalkTemp, sizeof(WalkTemp), BytesCount);
  ReadProcessMemory(HProcessBot, ptr(WalkTemp+$64c), @BaseWalkMode, sizeof(BaseWalkMode), BytesCount);

  if BaseWalkMode = 0 then aParams.FlyPar:=0 else aParams.FlyPar:=1; //определяем тип движения 0-пешком, 1 -полет

AParams.X:=x;
AParams.Y:=Y;
AParams.Z:=Z;
// записываем координаты
InjectFunc(hProcessBot,@WalkCall,@aParams,SizeOf(aParams));
//отправляем
closeHandle(HProcessbot);
end;

end.
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Skuka.95 (24.11.2011), yeyebvz (19.02.2012)
Старый 22.11.2011, 15:07   #40
 Старший сержант
Аватар для Skuka.95
 
Skuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражания
Регистрация: 12.06.2010
Сообщений: 186
Популярность: 1746
Сказал(а) спасибо: 27
Поблагодарили 64 раз(а) в 59 сообщениях
Отправить сообщение для Skuka.95 с помощью ICQ
 
По умолчанию Re: исходник для бота

плиз Глянь мой предыдующий пост...
________________
Почти забросил раздел Pw скажем спасибо TBX1n и серверу
Цитата:
Сообщение от TBX1n
Скука новый админ


Последний раз редактировалось Skuka.95; 22.11.2011 в 15:11.
  Ответить с цитированием
Старый 22.11.2011, 15:18   #41
 Разведчик
Аватар для HellD
 
HellD на правильном путиHellD на правильном пути
Регистрация: 07.02.2011
Сообщений: 38
Популярность: 143
Сказал(а) спасибо: 5
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для HellD с помощью ICQ
 
По умолчанию Re: исходник для бота

смахивает на то, что получил ты не single, а, скорее, integer, глянь как у тя переменные объявлены...

для сравнения....
x=1279,8076171875
z=219,617858886719
y=1154,66149902344
(527,665,21)

Код:
procedure abrakadabra();
var
x,y,z:single;
Begin
   ReadProcessMemory(HProcessBot, ptr(GA), @WalkTemp, sizeof(WalkTemp), BytesCount);
   ReadProcessMemory(HProcessBot, ptr(WalkTemp+$34), @WalkTemp, sizeof(WalkTemp), BytesCount);
   ReadProcessMemory(HProcessBot, ptr(WalkTemp+$3c), @X, sizeof(X), BytesCount);
   ReadProcessMemory(HProcessBot, ptr(WalkTemp+$40), @Z, sizeof(Z), BytesCount);
   ReadProcessMemory(HProcessBot, ptr(WalkTemp+$44), @Y, sizeof(Y), BytesCount);
   Label1.caption := 'x=' + floattostr(x);
   Label2.caption := 'y=' + floattostr(y);
   Label3.caption := 'z=' + floattostr(z);
end;

Последний раз редактировалось HellD; 22.11.2011 в 15:27.
  Ответить с цитированием
Старый 22.11.2011, 15:25   #42
 Старший сержант
Аватар для Skuka.95
 
Skuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражания
Регистрация: 12.06.2010
Сообщений: 186
Популярность: 1746
Сказал(а) спасибо: 27
Поблагодарили 64 раз(а) в 59 сообщениях
Отправить сообщение для Skuka.95 с помощью ICQ
 
По умолчанию Re: исходник для бота

Цитата:
Сообщение от HellDПосмотреть сообщение
махивает на то, что получил ты не single, а, скорее, integer, глянь как у тя переменные объявлены...

и правда)
-2756,92016601563
522,999572753906
406,253143310547
так да ?)
________________
Почти забросил раздел Pw скажем спасибо TBX1n и серверу
Цитата:
Сообщение от TBX1n
Скука новый админ

  Ответить с цитированием
Старый 22.11.2011, 15:28   #43
 Разведчик
Аватар для HellD
 
HellD на правильном путиHellD на правильном пути
Регистрация: 07.02.2011
Сообщений: 38
Популярность: 143
Сказал(а) спасибо: 5
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для HellD с помощью ICQ
 
По умолчанию Re: исходник для бота

Цитата:
Сообщение от Skuka.95Посмотреть сообщение
так да ?)

гораздо ближе к истине )
  Ответить с цитированием
Старый 22.11.2011, 15:34   #44
 Разведчик
Аватар для hiho
 
hiho никому не известный тип
Регистрация: 30.10.2011
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для hiho с помощью ICQ
 
По умолчанию Re: исходник для бота

Сколько тут всего понаписали =)

1)
Цитата:
hiho, тобишь это ты?

Я такого не говорил, но проконсультировать по незначительным вопросам в аське вполне могу

2) Что касается бота питона, то, как ни крути, в настоящий момент он лучший, судя по описанию. Да и кто вам сказал что он не работает в супер-мега крутой компании? xDD
  Ответить с цитированием
Старый 22.11.2011, 15:37   #45
 Старший сержант
Аватар для Skuka.95
 
Skuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражанияSkuka.95 блестящий пример для подражания
Регистрация: 12.06.2010
Сообщений: 186
Популярность: 1746
Сказал(а) спасибо: 27
Поблагодарили 64 раз(а) в 59 сообщениях
Отправить сообщение для Skuka.95 с помощью ICQ
 
По умолчанию Re: исходник для бота

Цитата:
Сообщение от hihoПосмотреть сообщение
Сколько тут всего понаписали =)

ага, осталось переименовать тему в "Помощ по написанию ботов, и др прог"
HellD, спасибо за пример) (работает)
теперь осталось его понять))

Цитата:
Сообщение от HellDПосмотреть сообщение
а разница этих(рабочих) координат(1) и отображаемых(2) координат клиента следующая
Х2=(Х1\10)+400
Y2=(Y1\10)+550
Z2=(Z1\10)

получаются цифры близкие к клиенту, но не как в клиенте(
________________
Почти забросил раздел Pw скажем спасибо TBX1n и серверу
Цитата:
Сообщение от TBX1n
Скука новый админ


Последний раз редактировалось Skuka.95; 22.11.2011 в 15:44.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Подсказка] Исходник Бота в тюряге lolopo123 Pascal/Delphi 8 02.06.2012 20:26

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 11:30.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net