 |
Walk Injection - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
27.06.2012, 17:52
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 23.12.2011
 Сообщений: 42
 Популярность: 192
 Сказал(а) спасибо: 26
Поблагодарили 11 раз(а) в 9 сообщениях
|
Walk Injection
Всем добрый вечер,
И так вот проблема а имено когда в Wall инжект я посилаю WallMode 2 то у меня он хрен пойми куда летит когда 0 то по нужным кордам в чем может быть ощыбка? Вот код.
Код:
ActionArray = $10BC;
Walk1 = $00494620;
Walk2 = $00498290;
Walk3 = $00494EC0;
WalkModeBase = $680;
procedure WalkCall(aPParams:PParams);Stdcall;
var CallAddress1,CallAddress2,CallAddress3:Pointer;
x,y,z:single;
flying:DWORD;
begin
CallAddress1:=Pointer(Walk1);
CallAddress2:=Pointer(Walk2);
CallAddress3:=Pointer(Walk3);
x:=aPParams^.Param4;
y:=aPParams^.Param5;
z:=aPParams^.Param6;
flying:=aPParams^.Param7;
asm
pushad
mov eax, dword ptr [PW_GAMERUN_ADDR]
mov esi, dword ptr [eax+HostPlayer]
mov ecx, dword ptr [esi+ActionArray]
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+ActionArray]
push 0
push 1
push edi
push 1
call CallAddress3
mov eax, dword ptr [PW_GAMERUN_ADDR]
mov eax, dword ptr [eax+HostPlayer]
mov eax, dword ptr [eax+ActionArray]
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;
Wnd: Thandle;
ibuf,BC: DWord;
PID,hProcess: DWord;
WalkMode: Integer;
begin
Wnd:=FID[Form1.ComboBox1.ItemIndex];
GetWindowThreadProcessId(Wnd,@PID);
hProcess:=OpenProcess(PROCESS_ALL_ACCESS,False,PID);
{ReadProcessMemory(hProcess,ptr(PW_GAMERUN_ADDR),@ibuf,sizeof(ibuf),BC);
ReadProcessMemory(hProcess,ptr(ibuf+HostPlayer),@ibuf,sizeof(ibuf),BC);
ReadProcessMemory(hProcess,ptr(ibuf+WalkModeBase),@WalkMode,sizeof(WalkMode),BC);
aParams.Param7 := WalkMode;}
aParams.Param7 := 2;
aParams.Param4:=x;
aParams.Param5:=y;
aParams.Param6:=z;
InjectFunc(hProcess,@WalkCall,@aParams,SizeOf(aParams));
CloseHandle(hProcess);
end;
|
|
|
27.06.2012, 19:06
|
#2
|
|
|
|
Разведчик
|
 Регистрация: 03.04.2012
 Сообщений: 2
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Walk Injection
Может забыл перевести координаты в клиентские?
|
|
|
28.06.2012, 12:27
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 23.12.2011
 Сообщений: 42
 Популярность: 192
 Сказал(а) спасибо: 26
Поблагодарили 11 раз(а) в 9 сообщениях
|
Re: Walk Injection
Увы я перевожу корды сразу.
|
|
|
28.06.2012, 13:10
|
#4
|
|
|
|
Разведчик
|
 Регистрация: 03.04.2012
 Сообщений: 2
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Walk Injection
Если перемещаешься по земле, то WalkMode отправляй 0.
Если по воздуху или воде, то 1.
|
|
|
28.06.2012, 13:48
|
#5
|
|
|
|
Разведчик
|
 Регистрация: 23.12.2011
 Сообщений: 42
 Популярность: 192
 Сказал(а) спасибо: 26
Поблагодарили 11 раз(а) в 9 сообщениях
|
Re: Walk Injection
1 ето вода но если я его ставлю то у меня перс движется рывками.
|
|
|
29.06.2012, 12:09
|
#6
|
|
|
|
Пехотинец
|
 Регистрация: 21.03.2012
 Сообщений: 83
 Популярность: 1178
 Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Walk Injection
После считывания параметра WalkMode, сделать проверку
aParams.Param7 = 1;
if (walkmode==0) aParams.Param7=0;
или ещё проще, вместо этих двух строчек
aParams.Param7 = (walkmode!=0); // != это <> не равно
тогда можно не заботиться о проверке в воде мы сейчас, на полёте или на земле
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
|
|
|
29.06.2012, 12:21
|
#7
|
|
|
|
Сержант
|
 Регистрация: 11.12.2010
 Сообщений: 110
 Популярность: 541
 Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
|
Re: Walk Injection
dwa83, в дельфи вариант "ещё проще" не прокатит. ;D
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
|
|
|
30.06.2012, 22:46
|
#8
|
|
|
|
Рыцарь-капитан
|
 Регистрация: 07.10.2009
 Сообщений: 496
 Популярность: 2687
 Сказал(а) спасибо: 64
Поблагодарили 325 раз(а) в 105 сообщениях
|
Re: Walk Injection
________________
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Помогите!] SQL injection
|
carl1993 |
Общение и обсуждение, архив Lineage 2 |
3 |
19.05.2012 12:59 |
[Помогите!] Walk Inject
|
DAcorp |
Общение разработчиков |
2 |
14.09.2011 02:01 |
SQL injection с ЛК
|
KillerTT |
Общение и обсуждение, архив Lineage 2 |
0 |
04.07.2011 00:32 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 02:52.
|
 |