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

Walk Injection

-

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

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

Ответ
 
Опции темы
Старый 29.08.2013, 19:38   #1
 Разведчик
Аватар для 228116
 
228116 никому не известный тип
Регистрация: 20.08.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Walk Injection

Лазил по сайту нашел вот этот код:
Код:
  • 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;
Как я понял это инжект передвижения.
Прошу рассказать что вот это?:
x:=aPParams^.Param4;
x:=aPParams^.Param5;
x:=aPParams^.Param6;

Последний раз редактировалось Dinmaite; 29.08.2013 в 22:35.
  Ответить с цитированием
Старый 30.08.2013, 20:47   #2
 Пехотинец
Аватар для Desmond Hume
 
Desmond Hume лучик света в грозовом небеDesmond Hume лучик света в грозовом небеDesmond Hume лучик света в грозовом небеDesmond Hume лучик света в грозовом небеDesmond Hume лучик света в грозовом небеDesmond Hume лучик света в грозовом небеDesmond Hume лучик света в грозовом небе
Регистрация: 13.08.2013
Сообщений: 68
Популярность: 829
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 25
Поблагодарили 13 раз(а) в 6 сообщениях
 
По умолчанию Re: Walk Injection

228116, вынесение значений, переданных процедуре, в переменные.

Добавлено через 2 минуты
Не совсем понятно на что вы рассчитываете, когда одна из функций на ассемблере устареет.
Поправить вы её явно не сможете. Будете ждать готового решения?

Последний раз редактировалось Desmond Hume; 30.08.2013 в 20:49. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 01.09.2013, 11:16   #3
Читер-спонсор
 Разведчик
Аватар для 388672
 
388672 на правильном пути
Регистрация: 01.07.2009
Сообщений: 21
Популярность: 44
Сказал(а) спасибо: 76
Поблагодарили 15 раз(а) в 5 сообщениях
 
По умолчанию Re: Walk Injection

Возможно, так будет понятней

Код:
  float x;
  float y;
  float z;

__asm
{
pushad
      MOV EDI,y
      MOV ESI,x
      MOV EAX,DWORD PTR DS:[BA]  // base_addr
      PUSH 0                          //     ; /Arg7 = 00000000
      PUSH EDI                        //     ; |Arg6
      MOV ECX,DWORD PTR DS:[EAX+0x1C]  //     ; |
      PUSH ESI                        //     ; |Arg5
      PUSH 0                          //     ; |Arg4 = 00000000
      PUSH 0                          //     ; |Arg3 = 00000000
      PUSH 0                          //     ; |Arg2 = 00000000
      PUSH 0x14A                       //     ; |Arg1 = 0000014A
      mov edx,0x0441A60  
      call edx                       //     ; \elementc.00438770


      MOV EDX,DWORD PTR DS:[BA]          //;  elementc.009C14F8
      XOR EAX,EAX
      MOV AL,0
      PUSH 0                                   //; /Arg7 = 00000000
      MOV ECX,DWORD PTR DS:[EDX+0x1C]           //; |
      MOV EDX,z                                //; |
      PUSH EAX                                 //; |Arg6 = 00000000
      PUSH EDX                                 //; |Arg5 = Âûñîòà ïîëåòà
      PUSH 1                                   //; |Arg4 = 00000001
      PUSH 0                                   //; |Arg3 = 00000000
      PUSH 0                                   //; |Arg2 = 00000000
      PUSH 0x14A                                //; |Arg1 = 0000014A
      mov edx,0x0441A60  
      CALL edx                                //; \elementc.00438770
popad
	}
  Ответить с цитированием
Старый 01.09.2013, 12:18   #4
 Разведчик
Аватар для yeyebvz
 
yeyebvz никому не известный тип
Регистрация: 04.09.2010
Сообщений: 20
Популярность: 10
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Walk Injection

Цитата:
Сообщение от Desmond HumeПосмотреть сообщение
228116, вынесение значений, переданных процедуре, в переменные.

Добавлено через 2 минуты
Не совсем понятно на что вы рассчитываете, когда одна из функций на ассемблере устареет.
Поправить вы её явно не сможете. Будете ждать готового решения?

а каким образом можно добиться универсального кода?
  Ответить с цитированием
Старый 01.09.2013, 14:47   #5
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Walk Injection

Цитата:
Сообщение от yeyebvzПосмотреть сообщение
а каким образом можно добиться универсального кода?

По-моему это намёк, что автор не очень смыслит в коде и не сможет понять, где и что менять при обнове. Знающий человек просто сменит адреса или сделает загрузку из settings.ini
Цитата:
Сообщение от Desmond HumeПосмотреть сообщение
Поправить вы её явно не сможете. Будете ждать готового решения?

________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 01.09.2013, 14:47   #6
 Разведчик
Аватар для Xantrax
 
Xantrax никому не известный тип
Регистрация: 13.04.2013
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Walk Injection

Цитата:
а каким образом можно добиться универсального кода?

Если вы имеете в виду смену оффсетов при очередном патче, то:
Там же открытым текстом написано - "Вынести оффсеты в файл" и что бы бот считывал оффсеты из файла. Вам останется при очередном патче зайти в файл и прописать туда правильные оффсеты.
Оффтоп:
Я знаю как считать с .txt файла, но многие создают .ini файлы, вот с ними я еще не разбирался, как создавать их, и почему именно .ini.

А если вы имеет в виду независимость от операционной системы(Windows, Linux), то:
Нужно брать кросплатформенную библиотеку(например QT) и использовать при написании кода только ее функции, классы и переменные.
  Ответить с цитированием
Старый 01.09.2013, 16:03   #7
Читер-спонсор
 Разведчик
Аватар для 388672
 
388672 на правильном пути
Регистрация: 01.07.2009
Сообщений: 21
Популярность: 44
Сказал(а) спасибо: 76
Поблагодарили 15 раз(а) в 5 сообщениях
 
По умолчанию Re: Walk Injection

Цитата:
Сообщение от XantraxПосмотреть сообщение
Я знаю как считать с .txt файла, но многие создают .ini файлы, вот с ними я еще не разбирался, как создавать их, и почему именно .ini

WritePrivateProfileString
GetPrivateProfileString
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Как найти Walk адресы? Jok3r666 Общение разработчиков 9 02.11.2014 02:57
Walk Injection samosi Общение разработчиков 7 30.06.2012 22:46
[Помогите!] Walk Inject DAcorp Общение разработчиков 2 14.09.2011 02:01

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

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

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