|
You last visited: Today at 10:51
Advertisement
Rus. server
Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.
02/13/2010, 12:36
|
#1441
|
elite*gold: 0
Join Date: Jan 2009
Posts: 69
Received Thanks: 13
|
Пытаюсь найти смещение для поля ввода чата, но что-то никак не могу прийти к базовому адресу. Получается что-то такого вида: ... + $4 + $4 + $4 + $8 + $1244 + $0. При чём + $4 может быть очень много. Видимо я куда-то не туда полез. Может кто-нибудь с этим разбирался и подскажет?
|
|
|
02/13/2010, 17:30
|
#1442
|
elite*gold: 0
Join Date: Feb 2010
Posts: 1
Received Thanks: 0
|
Подскажите мне бота=)))))) на 106 версию клиента!
|
|
|
02/13/2010, 19:15
|
#1443
|
elite*gold: 0
Join Date: May 2009
Posts: 66
Received Thanks: 6
|
держи артем  - отвязанный бот пиратес для 106 версии руоффа
|
|
|
02/14/2010, 01:39
|
#1444
|
elite*gold: 0
Join Date: Dec 2009
Posts: 57
Received Thanks: 24
|
Друзья! нуждаюсь в Вашей помощи. никак не могу найти офсеты, чтобы проверить не используются ли в данный момент банки. ( в смысле нет ли перезарядки) чтоб клиент не кричал лишний раз что умение перезаряжается. со скилами разобрался как проверить, а вот с банками уже 4 день сижу-безтолку
|
|
|
02/14/2010, 07:06
|
#1445
|
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
|
Я тоже не нашел что то. ТАк что если найдешь, выложи плиз.
|
|
|
02/14/2010, 11:49
|
#1446
|
elite*gold: 0
Join Date: Dec 2009
Posts: 57
Received Thanks: 24
|
все что смог нарыть по банкам: если разместить банки на панели клавишь, и поискать где еще есть такой же указатель, можно найти среди нескольких указателей структуру, по которой можно определить заюзана ли банка. эта структура всегда последняя из списка, найти ее смещения не могу. чувствую, что не там ищу, ведь юзание банок глобально (тоесть не важно какая именно банка -недоступны стают все), но не могу найти связь с инвентарем. короче- полный ступор
|
|
|
02/14/2010, 13:24
|
#1447
|
elite*gold: 0
Join Date: Nov 2007
Posts: 160
Received Thanks: 28
|
Dwar, AlexGD и Мужиг !!
Очень нужна ваша помощь.
Нашёл в клиенте функцию запуска автопилота - полноценная, с диалогом и трассой на карте : 0044E8E0. Ступор в том, что она принимает один параметр - "формат".
И я ну хоть убей, не пойму как этот самый формат строится.
Если не в лом - давайте раскопаем мозговым штурмом, ведь автопилот - вещь вкусненькая =)
|
|
|
02/14/2010, 14:08
|
#1448
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
Автопилот «вкусен» в Jade Dynasty, где чар действительно движется самостоятельно, обходя все препятствия. В PW же, это и автопилотом то трудно назвать
Самим алгоритмом движения мы располагаем.
Кстати, автопилот строится на вызове все тех же трех функций для движения, которыми мы пользуемся в инъекции, только добавлена функция отображения окошка и десяток процедур вычисления направления. На этом автопилот и заканчивается
Added:
Вот окно автопути:
[BA] + $1C + $04 + $08 + $118
Самый простой вариант его открытия  :
[BA] + $1C + $04 + $08 + $118 + $6C = 1
Можно сам клиент немного подправить, тогда это окно будет вылезать при любом движении.
|
|
|
02/14/2010, 14:17
|
#1449
|
elite*gold: 0
Join Date: Nov 2007
Posts: 160
Received Thanks: 28
|
Меня в автопилоте интересует как раз трасса на карте и окошко регулирования высоты. Поэтому и ковыряю. Может у тебя етсь что интересненькое по этому вопросу ?
Upd
Такс, я со всем разобрался сам. Спасибо за моральную поддержку =)
Формат команды - в виде массива DWRD'ов в памяти:
Code:
330 - Это код команды (отрабатывается в вызывающей процедуре)
0 - хз что, всегда 0
0 - хз что, всегда 0
0 - код действия (0-старт, 1-изменить высоту, 2-стоп)
X - для кода 0 = X, для кода 1 = высота, для кода 2 = 0
Y - для кода 0 = Y, для кода 1 = 0, для кода 2 = 0
0 - хз что, всегда 0
И вот как это использовать:
Code:
Const
AutoRouteAddr = $0044E8E0;
procedure AutoRouteCall(cmd : Pointer); stdcall;
var
addr: Pointer;
begin
addr := Pointer(AutoRouteAddr);
asm
pushad
mov eax, dword ptr [PW_BASE_ADDRESS]
mov eax, dword ptr [eax + PW_DYNAMIC_BASE_OFFSET]
mov ecx, dword ptr [eax + PW_ROLE_BASE_OFFSET]
push cmd
call addr
popad
end;
end;
procedure TfmMain.Button1Click(Sender: TObject);
var
buf : array[0..6] of integer;
begin
buf[0] := 330;
buf[1] := 0;
buf[2] := 0;
buf[3] := 0;
buf[4] := 1227;
buf[5] := 984;
buf[6] := 0;
self.pwProcess.InjectFunc(@AutoRouteCall, @buf, SizeOf(buf));
end;
Что такое PW_BASE_ADDRESS, PW_DYNAMIC_BASE_OFFSET, PW_ROLE_BASE_OFFSET и как работает InjectFunc расписывать не буду - это очевидно и не раз обсуждалось в ветке.
Sapienti sat.
|
|
|
02/14/2010, 19:26
|
#1450
|
elite*gold: 0
Join Date: Nov 2007
Posts: 160
Received Thanks: 28
|
Теперь разыскиваются "координаты" точки на карте, к которой автопилот пркладывает маршрут....
|
|
|
02/15/2010, 01:47
|
#1451
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Есть дикое подозрение, что координаты точки - те же самые, что и для нашего инжекта. А автопилот следит исключительно только за высотой...
|
|
|
02/15/2010, 06:19
|
#1452
|
elite*gold: 0
Join Date: Dec 2009
Posts: 31
Received Thanks: 3
|
2BuBucekTop
Можно поподробней как ты нашел масив?
Точнее как его распознать в Асме?
А то у меня есть одна переменная и теперь я подозреваю, что это массив.
|
|
|
02/15/2010, 11:06
|
#1453
|
elite*gold: 0
Join Date: Oct 2007
Posts: 11
Received Thanks: 3
|
Quote:
Originally Posted by Sirioga
Если ты прочит всю тему то точно знал бы что нам это ничем не поможет, так как мы "это" открываем каждый день) не только для d_getservertime. Можешь пойти выложить на zhyk.ru и на лолчитс...там таким скринам будут рады, даже спасибок тебе накидают...ты главное тему назови "ДЮП"...а там уж разбиратся не будут.
|
Смотрю много умный человек написал) ... сам когда что нить сделаешь тогда и пиши подобные высказывания. Тем более писать в тексте "НАМ" 
|
|
|
02/15/2010, 11:13
|
#1454
|
elite*gold: 0
Join Date: Jan 2009
Posts: 69
Received Thanks: 13
|
Нашёл оффсет текущего активного поля ввода, если кому надо: [BA] + $1c + $4 + $8 + $18 + $90 + $1244 + $0. С неактивными полями пока не разбирался. Думаю надо заменить $1244 на что-то другое, а вместо $18 подставить смещение нужного элемента интерфейса.
Помогите разобраться с инжектом на продажу вещей. Вот адрес функции: 005DC430. И сама функция:
005DC430 sub_5DC430 proc near ; CODE XREF: sub_5C7FF0+33p
005DC430
005DC430 arg_0= dword ptr 4
005DC430 arg_4= dword ptr 8
005DC430
005DC430 push ebx
005DC431 push ebp
005DC432 push esi
005DC433 mov esi, [esp+0Ch+arg_0]
005DC437 test esi, esi
005DC439 push edi
005DC43A jz short loc_5DC4A4
005DC43C mov eax, [esp+10h+arg_4]
005DC440 test eax, eax
005DC442 jz short loc_5DC4A4
005DC444 lea edi, [esi+esi*2]
005DC447 shl edi, 2
005DC44A lea ebp, [edi+0Eh]
005DC44D push ebp
005DC44E call sub_743810
005DC453 mov ebx, eax
005DC455 add esp, 4
005DC458 test ebx, ebx
005DC45A jz short loc_5DC4A4
005DC45C lea eax, [ebx+2]
005DC45F lea ecx, [edi+4]
005DC462 mov word ptr [ebx], 25h
005DC467 push ebp ; Size
005DC468 mov dword ptr [eax], 2
005DC46E mov [eax+4], ecx
005DC471 add eax, 8
005DC474 mov ecx, edi
005DC476 mov edx, ecx
005DC478 push ebx ; Src
005DC479 mov [eax], esi
005DC47B mov esi, [esp+18h+arg_4]
005DC47F lea edi, [eax+4]
005DC482 shr ecx, 2
005DC485 rep movsd
005DC487 mov ecx, edx
005DC489 and ecx, 3
005DC48C rep movsb
005DC48E mov eax, dword_98ADDC
005DC493 mov ecx, [eax+20h]
005DC496 call sub_5BD9A0
005DC49B push ebx
005DC49C call sub_743820
005DC4A1 add esp, 4
005DC4A4
005DC4A4 loc_5DC4A4: ; CODE XREF: sub_5DC430+Aj
005DC4A4 ; sub_5DC430+12j ...
005DC4A4 pop edi
005DC4A5 pop esi
005DC4A6 pop ebp
005DC4A7 pop ebx
005DC4A8 retn
005DC4A8 sub_5DC430 endp
|
|
|
02/15/2010, 13:00
|
#1455
|
elite*gold: 0
Join Date: Dec 2009
Posts: 31
Received Thanks: 3
|
Quote:
Originally Posted by FunkU
Помогите разобраться с инжектом на продажу вещей. Вот адрес функции: 005DC430. И сама функция:
|
Копаю в данный момент
Докопался пока до того, что в функцию передаются 2 параметра,
1й массив из 3*занятых ячеек
2й это кол-во занятых ячеек
масив состоит из ID, Hex значения и количества предметов в ячейки.
Кстати на покупку инжект аналогичен вот он 005DC3B0
Но пака грамотно составить не получается.
Вот найденные оффсесты для массива (работают только для 1й ячейки и если переместить предмет на продажу, для последующийх ячеек слишком сложная конструкция)
1й [BA]+1C+20+C34+C+0+8
2й [BA]+1C+20+C34+24
3й [BA]+1C+20+C34+24+4
Кстати на покупку инжект аналогичен 005DC3B0 вот он!
|
|
|
All times are GMT +1. The time now is 10:52.
|
|