 |
Wall Hack на Delphi (пример) - Разработка ПО для Perfect World - Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World |
17.09.2011, 10:30
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 01.07.2009
 Сообщений: 23
 Популярность: 83
 Сказал(а) спасибо: 33
Поблагодарили 14 раз(а) в 11 сообщениях
|
Wall Hack на Delphi (пример)
Перевел с туташнего автоита, работает стабильно.
Пример только показывает принцип, смещается вверх. Остальное не писал.
Код:
unit wallhack;
interface
uses Windows;
procedure TravelUp(_hProcess: DWORD); //Вверх
procedure TravelDown(_hProcess: DWORD); //Вниз
procedure TravelNorth(_hProcess: DWORD); //Север
procedure TravelSouth(_hProcess: DWORD);//Юг
procedure TravelEast(_hProcess: DWORD); //Восток
procedure TravelWest(_hProcess: DWORD); //Запад
implementation
CONST
base_main = $A571E0;
off_jump1 = $34;
off_jump2 = $CD0;
off_cLocX = $3C;
off_cLocY = $44;
off_cLocZ = $40;
off_pLocX = $69C;
off_pLocY = $6A4;
off_pLocZ = $6A0;
travel_ms = 100;
timeleft_ms = 2000;
speed_x = 0.4;
speed_y = 0.4;
speed_z = 1.5;
VAR
p_cc: DWORD;
p_cLocX: SINGLE;
p_cLocY: SINGLE;
p_cLocZ: SINGLE;
p_pLocX: SINGLE;
p_pLocY: SINGLE;
p_pLocZ: SINGLE;
timeleft: integer;
procedure GetCurrCoords(_hProcess: dword);
var
rw: dword;
begin
ReadProcessMemory(_hProcess,ptr(base_main),@p_cc,sizeof(p_cc),rw);
ReadProcessMemory(_hProcess,ptr(p_cc+$20),@p_cc,sizeof(p_cc),rw);
ReadProcessMemory(_hProcess,ptr(p_cc+off_cLocX),@p_cLocX,sizeof(p_cLocX),rw);
ReadProcessMemory(_hProcess,ptr(p_cc+off_cLocY),@p_cLocY,sizeof(p_cLocY),rw);
ReadProcessMemory(_hProcess,ptr(p_cc+off_cLocZ),@p_cLocZ,sizeof(p_cLocZ),rw);
End;
procedure WriteJump(_hProcess:dword);
var
rw:dword;
_flag: byte;
begin
WriteProcessMemory(_hProcess,ptr(p_cc + off_jump2),@_flag,4,rw);
End;
procedure TravelUp(_hProcess: DWORD); //Вверх
var
rw: dword;
temp, final: single;
const
value = 6;
begin
temp:=0;
Sleep(100);
GetCurrCoords(_hProcess);
temp := p_cLocZ;
final := temp + value;
timeleft := timeleft_ms;
While (temp < final) and (timeleft > 0) do
begin
temp := temp + speed_z;
WriteJump(_hProcess);
WriteProcessMemory(_hProcess,ptr(p_cc + off_pLocZ),@temp,sizeof(temp),rw);
WriteProcessMemory(_hProcess,ptr(p_cc + off_cLocZ),@temp,sizeof(temp),rw);
Sleep(travel_ms);
GetCurrCoords(_hProcess);
temp := p_cLocZ;
timeleft := timeleft - travel_ms;
end;
End;
procedure TravelDown(_hProcess: DWORD); // Вниз
var
rw: dword;
temp, final: single;
const
value = 5;
begin
Sleep(100);
GetCurrCoords(_hProcess);
temp := p_cLocZ;
final := temp - value;
timeleft := timeleft_ms;
While temp > final do
begin
temp := temp - speed_z;
WriteJump(_hProcess);
WriteProcessMemory(_hProcess,ptr(p_cc + off_pLocZ),@temp,sizeof(temp),rw);
WriteProcessMemory(_hProcess,ptr(p_cc + off_cLocZ),@temp,sizeof(temp),rw);
Sleep(travel_ms);
GetCurrCoords(_hProcess);
temp := p_cLocZ;
timeleft := timeleft - travel_ms;
end;
End;
procedure TravelNorth(_hProcess: DWORD); //Север
var
rw: dword;
temp, final: single;
const
value = 5;
begin
Sleep(100);
GetCurrCoords(_hProcess);
temp := p_cLocY;
final := temp + value;
timeleft := timeleft_ms;
While temp < final do
begin
temp := temp + speed_y;
WriteJump(_hProcess);
WriteProcessMemory(_hProcess,ptr(p_cc + off_pLocY),@temp,sizeof(temp),rw);
WriteProcessMemory(_hProcess,ptr(p_cc + off_cLocY),@temp,sizeof(temp),rw);
Sleep(travel_ms);
GetCurrCoords(_hProcess);
temp := p_cLocY;
timeleft := timeleft - travel_ms;
end;
End;
procedure TravelSouth(_hProcess: DWORD); //Юг
var
rw: dword;
temp, final: single;
const
value = 5;
begin
Sleep(100);
GetCurrCoords(_hProcess);
temp := p_cLocY;
final := temp - value;
timeleft := timeleft_ms;
While temp > final do
begin
temp := temp - speed_y;
WriteJump(_hProcess);
WriteProcessMemory(_hProcess,ptr(p_cc + off_pLocY),@temp,sizeof(temp),rw);
WriteProcessMemory(_hProcess,ptr(p_cc + off_cLocY),@temp,sizeof(temp),rw);
Sleep(travel_ms);
GetCurrCoords(_hProcess);
temp := p_cLocY;
timeleft := timeleft - travel_ms;
end;
End;
procedure TravelEast(_hProcess: DWORD); // Восток
var
rw: dword;
temp, final: single;
const
value = 5;
begin
Sleep(100);
GetCurrCoords(_hProcess);
temp := p_cLocX;
final := temp + value;
timeleft := timeleft_ms;
While temp < final do
begin
temp := temp + speed_x;
WriteJump(_hProcess);
WriteProcessMemory(_hProcess,ptr(p_cc + off_pLocX),@temp,sizeof(temp),rw);
WriteProcessMemory(_hProcess,ptr(p_cc + off_cLocX),@temp,sizeof(temp),rw);
Sleep(travel_ms);
GetCurrCoords(_hProcess);
temp := p_cLocX;
timeleft := timeleft - travel_ms;
end;
End;
procedure TravelWest(_hProcess: DWORD); // Запад
var
rw: dword;
temp, final: single;
const
value = 5;
begin
Sleep(100);
GetCurrCoords(_hProcess);
temp := p_cLocX;
final := temp - value;
timeleft := timeleft_ms;
While temp > final do
begin
temp := temp - speed_x;
WriteJump(_hProcess);
WriteProcessMemory(_hProcess,ptr(p_cc + off_pLocX),@temp,sizeof(temp),rw);
WriteProcessMemory(_hProcess,ptr(p_cc + off_cLocX),@temp,sizeof(temp),rw);
Sleep(travel_ms);
GetCurrCoords(_hProcess);
temp := p_cLocX;
timeleft := timeleft - travel_ms;
end;
End;
end.
; Доделал остальные функции и поставил ограничение выполнения по времени. А то столкнулся с тем, что заклинивает иногда.
; Исправил адреса под "Земли Духов"
Последний раз редактировалось krysun; 18.07.2012 в 19:01.
|
|
|
3 пользователя(ей) сказали cпасибо:
|
|
21.09.2011, 15:22
|
#2
|
|
|
|
Разведчик
|
 Регистрация: 09.01.2011
 Сообщений: 15
 Популярность: 10
 Сказал(а) спасибо: 19
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Wall Hack на Delphi (пример)
Спс огромное, работает)) но есть несколько но...))
в данжах - Проходит только по прямой если будет не ровный пол начинает откидывать(((
( пробовал в 39, 51 и 59) 51 проходит везде супер! в 39 и 59 надо искать ровные места(((
В холихол проходит и падает в низ( и поднятся неможет - застревает
А так молодчина что непожадничал и поделился
Добавлено через 4 часа 24 минуты
Попробовал с 39 до 69
В 39, 59 и 69 есть несколько мест где спокойно проходит к босам
В 51 можно выйти только за пределы данжа в нутри нельзя пройти сквозь стены откидывает(((
Если
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
работает стабильно.
|
|
 |
|
 |
|
может я чтото переделал неправильно(?
Последний раз редактировалось Njkzy80; 21.09.2011 в 19:47.
Причина: Добавлено сообщение
|
|
|
03.10.2011, 13:15
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 01.07.2009
 Сообщений: 23
 Популярность: 83
 Сказал(а) спасибо: 33
Поблагодарили 14 раз(а) в 11 сообщениях
|
Re: Wall Hack на Delphi (пример)
Делал 2 в 1-м. В нужную сторону и вверх. Так вроде норм работает. (Как в Rayden)
Код:
procedure TravelNorth(_hProcess: DWORD);
var
rw: dword;
temp,temp2, final: single;
const
value = 11;
begin
Sleep(100);
GetCurrCoords(_hProcess);
temp := p_cLocY;
temp2 :=p_cLocZ;
final := temp + value;
timeleft := timeleft_ms;
While (temp < final) and (timeleft > 0) do
begin
{} temp2 := temp2 + 1;
temp := temp + speed_y;
{} WriteProcessMemory(_hProcess,ptr(p_cc + off_pLocZ),@temp2,sizeof(temp2),rw);
{} WriteProcessMemory(_hProcess,ptr(p_cc + off_cLocZ),@temp2,sizeof(temp2),rw);
WriteProcessMemory(_hProcess,ptr(p_cc + off_pLocY),@temp,sizeof(temp),rw);
WriteProcessMemory(_hProcess,ptr(p_cc + off_cLocY),@temp,sizeof(temp),rw);
WriteJump(_hProcess);
Sleep(travel_ms);
GetCurrCoords(_hProcess);
temp := p_cLocY;
{} temp2 := p_cLocZ;
timeleft := timeleft - travel_ms;
end;
End;
Это как вариант. Двигается линейно по косой. Можно сначала немного вверх, потом в цикле в сторону.
Высоту подбирай сам (я для ХХ писал)
Добавлено через 5 минут
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
В 51 можно выйти только за пределы данжа в нутри нельзя пройти сквозь стены откидывает(((
|
|
 |
|
 |
|
С другими ВоллХаками тоже не катит. Стены толще чем возможный "пролет" до отката сервером.
Я там на Тигра справа захожу, Льва слева в "кармане" жду. Драка через лошадь на крышу и скрыши вниз.
Минимум затрат времени. Лучше не придумал ))
Последний раз редактировалось krysun; 03.10.2011 в 13:25.
Причина: Добавлено сообщение
|
|
|
Пользователь сказал cпасибо:
|
|
04.10.2011, 12:26
|
#4
|
|
|
|
Разведчик
|
 Регистрация: 09.01.2011
 Сообщений: 15
 Популярность: 10
 Сказал(а) спасибо: 19
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Wall Hack на Delphi (пример)
|
|
|
10.10.2011, 12:33
|
#5
|
|
|
|
Разведчик
|
 Регистрация: 01.07.2009
 Сообщений: 23
 Популярность: 83
 Сказал(а) спасибо: 33
Поблагодарили 14 раз(а) в 11 сообщениях
|
Re: Wall Hack на Delphi (пример)
Последний раз редактировалось krysun; 10.10.2011 в 12:45.
|
|
|
04.11.2011, 10:41
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 27.08.2010
 Сообщений: 5
 Популярность: 12
 Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Wall Hack на Delphi (пример)
Можно глупый вопрос от школоты?Это код, да?Что с ним делать?
|
|
|
04.11.2011, 17:47
|
#7
|
|
|
|
Лейтенант-командор
|
 Регистрация: 12.08.2010
 Сообщений: 727
 Популярность: 30569
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Wall Hack на Delphi (пример)
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
11.11.2011, 16:00
|
#8
|
|
|
|
Разведчик
|
 Регистрация: 12.02.2011
 Сообщений: 11
 Популярность: -44
 Сказал(а) спасибо: 1
Поблагодарили 5 раз(а) в 2 сообщениях
|
Re: Wall Hack на Delphi (пример)
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 19:40.
|
 |