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

РУОФФ Адреса и оффсеты

-

Разработка ПО для Perfect World

- Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World

Ответ
 
Опции темы
Старый 05.10.2012, 19:00   #676
 Разведчик
Аватар для pw.lancer
 
pw.lancer скоро будет известенpw.lancer скоро будет известенpw.lancer скоро будет известенpw.lancer скоро будет известен
Регистрация: 11.05.2011
Сообщений: 41
Популярность: 305
Сказал(а) спасибо: 43
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

И все же не удается оживить процедурку, весь мозг сломал..
Код:
procedure WinCloseCall(aPParams: PParams); stdcall;
var
WIN_OFFSET: DWord;
PW_Call: Pointer;
const
PW_BASE_ADDR=$00B4EF34;
PW_BTN_CLOSE=$00AE7F40;    //IDCANCEL

begin
WIN_OFFSET := aPParams^.Param1;
PW_Call := Pointer($00636F60);
asm
pushad

mov eax, PW_BASE_ADDR
mov eax, dword ptr [eax]
mov eax, dword ptr [eax+$1C]
mov eax, dword ptr [eax+$18]
mov eax, dword ptr [eax+$8]

mov ebx, WIN_OFFSET
mov eax, dword ptr [eax+ebx]
push eax

push PW_BTN_CLOSE

call PW_Call

popad
end;
end;
Красным выделил новые значения, вроде бы соответствующие Гневу Империи на руофе. Не вылетает на инжекте, но и диалог не закрывает. Кто-нибудь ей пользуется?
krukovis, твоя функция еще актуальна или закрытие диалога можно (и рекомендуется) осуществлять через универсальный интерфейс работы с GUI, который описан в приведенных вами с sumikot темках?
Может быть, значение WIN_OFFSET для диалога с НИП поменялось?
  Ответить с цитированием
Старый 05.10.2012, 19:19   #677
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Цитата:
Сообщение от pw.lancerПосмотреть сообщение
Может быть, значение WIN_OFFSET для диалога с НИП поменялось?

А используй всегда 0x74 - это смещение активного окна.
А при диалоге с NPC оно всегда активно:



А в общем случае можно подобрать смещение для любого окна вручную


В CE нажимаешь на стрелочки влево-вправо и смотришь название. Как появилось нужно - значит в этой ячейке смещение, котрое нужно.
Можно также автоматизировать этот процесс.

Добавлено через 14 минут
Цитата:
Сообщение от pw.lancerПосмотреть сообщение
krukovis, твоя функция еще актуальна или закрытие диалога можно (и рекомендуется) осуществлять через универсальный интерфейс работы с GUI, который описан в приведенных вами с sumikot темках?

Вопросы по функциям нужно задавать в соответствующей теме. Не буду тут отвечать. Тут обсуждаются только смещения.
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------

Последний раз редактировалось krukovis; 05.10.2012 в 19:34. Причина: Добавлено сообщение
  Ответить с цитированием
Пользователь сказал cпасибо:
pw.lancer (06.10.2012)
Старый 06.10.2012, 02:33   #678
 Сержант
Аватар для jdark
 
jdark скоро будет известенjdark скоро будет известенjdark скоро будет известен
Регистрация: 30.08.2010
Сообщений: 121
Популярность: 249
Сказал(а) спасибо: 10
Поблагодарили 78 раз(а) в 23 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

v226 Unfreeze=00435786 (84 C0 > B0 01)
________________
не забываем про спасибо
  Ответить с цитированием
Старый 06.10.2012, 10:46   #679
 Пехотинец
Аватар для tianddu
 
tianddu на правильном путиtianddu на правильном пути
Регистрация: 20.08.2009
Сообщений: 90
Популярность: 173
Сказал(а) спасибо: 14
Поблагодарили 26 раз(а) в 8 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

структуру близлежащих игроков знает кто?
P.S. нубас и опозорился все работает по старым смещениям

Последний раз редактировалось tianddu; 06.10.2012 в 11:02.
  Ответить с цитированием
Старый 06.10.2012, 15:53   #680
 Разведчик
Аватар для HentaiElfkun
 
HentaiElfkun никому не известный тип
Регистрация: 01.10.2012
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Как-то можно получить имя какого-нибудь (или юзаемого в данный момент) скилла, его каст тайм, чаннел тайм, оставшийся каст тайм, чаннел тайм, дальность? Кто-нибудь находил подобные оффсеты? Заранее благодарен! Кстати оффсет 0x00C в структуре юзаемвого скилла/массиве скиллов это castflag. Так можно узнавать какой из скиллов кастуется в данный момент без curskill структуры.
  Ответить с цитированием
Старый 06.10.2012, 16:46   #681
 Разведчик
Аватар для opexxx80
 
opexxx80 никому не известный тип
Регистрация: 25.01.2011
Сообщений: 19
Популярность: 18
Сказал(а) спасибо: 14
Поблагодарили 4 раз(а) в 1 сообщении
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Кто знает помогите пожалуйста
При выполнении процедуры WalkCall вылетает клиент игры
Адреса WalkOfs и Walk1,2,3 исправил
Подозреваю что в строке mov esi, dword ptr [eax+$34] нужно не 34
  Ответить с цитированием
Старый 06.10.2012, 21:54   #682
 Разведчик
Аватар для pw.lancer
 
pw.lancer скоро будет известенpw.lancer скоро будет известенpw.lancer скоро будет известенpw.lancer скоро будет известен
Регистрация: 11.05.2011
Сообщений: 41
Популярность: 305
Сказал(а) спасибо: 43
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Для структуры приглашения (например, в пати):
BASE = 00B574C0 COUNT = 00B574CC STEP = 1C
InvitorWID = BASE + [i * STEP] + 10
InvitationID = BASE + [i * STEP] + 14 // то, что используется в пакете "accept party"
i = 0 .. COUNT - 1
Все в хексе. STEP разве что не проверял, значение актуально до "Гнева империи", сейчас не уверен. Для одного приглашения (i = 0) проверено.

Цитата:
Сообщение от opexxx80Посмотреть сообщение
Кто знает помогите пожалуйста
При выполнении процедуры WalkCall вылетает клиент игры
Адреса WalkOfs и Walk1,2,3 исправил
Подозреваю что в строке mov esi, dword ptr [eax+$34] нужно не 34

По прежнему нужно 34. Вот рабочий код для обновы, всё вроде бегает, проверь. На C, правда, но тут главное асм и константы.
Код:
void __stdcall WalkCall( TWalkParams* aPParams )
{
	LPVOID	GameAddr, CallAddress1, CallAddress2, CallAddress3;
	float	x, y, z;
	DWORD	flying;
	GameAddr = aPParams->GameAddr;
	CallAddress1 = aPParams->CallAddress1;
	CallAddress2 = aPParams->CallAddress2;
	CallAddress3 = aPParams->CallAddress3;
	x = aPParams->x;
	y = aPParams->y;
	z = aPParams->z;
	flying = aPParams->flying;

	__asm {
		pushad

		mov eax, GameAddr
		mov eax, dword ptr [ eax ]
		mov esi, dword ptr [ eax + Player_Offset ]   // offs1
		mov ecx, dword ptr [ esi + OFFS_PLAYER_ACTION ] // OFFSETS_ALL[ OFFS_ID_ActionPtr ]   // offs2

		push 1
		call CallAddress1
		mov edi, eax
		lea eax, dword ptr [ esp + 0x18 ] /// Genesis; was 0x0C      // offs3
		push eax
		push flying
		mov ecx, edi
		call CallAddress2
		mov ecx, dword ptr [ esi + OFFS_PLAYER_ACTION ]
		push 0
		push 1
		push edi
		push 1
		call CallAddress3 // :0046E880

		mov eax, GameAddr
		mov eax, dword ptr [ eax ]
		mov eax, dword ptr [ eax + Player_Offset ]
		mov eax, dword ptr [ eax + OFFS_PLAYER_ACTION ]

		mov eax, dword ptr [ eax + 0x030 ]   // offs4
		mov ecx, dword ptr [ eax + 0x004 ]   // offs5
		mov eax, x
		mov dword ptr[ ecx + 0x20 ], eax     // offs6
		mov eax, z
		mov dword ptr[ ecx + 0x24 ], eax     // offs7
		mov eax, y
		mov dword ptr[ ecx + 0x28 ], eax     // offs8

		popad
	}
}
А вот вызов.
Код:
void Walk( TClientWindow* cw, float x, float y, float z )
{
	TWalkParams aParams;
	BYTE WalkMode;
	// 0 - Ground; 1 - Swiming; 2 - Flying
	WalkMode = ReadPlayerWalkMode( cw, cw->playerBase );

	if ( 0 == WalkMode )
		aParams.flying = 0;
	else
		aParams.flying = 1;
	aParams.GameAddr = ( LPVOID ) cw->OFFS->GA;
	aParams.CallAddress1 = ( LPVOID ) OFFS_INJECT_Walk1;
	aParams.CallAddress2 = ( LPVOID ) OFFS_INJECT_Walk2;
	aParams.CallAddress3 = ( LPVOID ) OFFS_INJECT_Walk3;
	aParams.x = x;
	aParams.y = y;
	aParams.z = z;
	InjectFunc( cw, WalkCall, &aParams, sizeof( aParams ) );
}
Константы:
Код:
GA = 0x00B4F5FC
Player_Offset = 0x34
OFFS_PLAYER_ACTION = 0x10C4
DWORD OFFS_INJECT_Walk1 = 0x004782A0
DWORD OFFS_INJECT_Walk2 = 0x0047C5F0
DWORD OFFS_INJECT_Walk3 = 0x00478710

Последний раз редактировалось pw.lancer; 06.10.2012 в 22:10.
  Ответить с цитированием
Пользователь сказал cпасибо:
opexxx80 (07.10.2012)
Старый 06.10.2012, 23:57   #683
 Разведчик
Аватар для HentaiElfkun
 
HentaiElfkun никому не известный тип
Регистрация: 01.10.2012
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

pw.lancer
А про
Цитата:
Сообщение от HentaiElfkunПосмотреть сообщение
Как-то можно получить имя какого-нибудь (или юзаемого в данный момент) скилла, его каст тайм, чаннел тайм, оставшийся каст тайм, чаннел тайм, дальность? Кто-нибудь находил подобные оффсеты?

Что-нибудь известно тебе?
  Ответить с цитированием
Старый 07.10.2012, 00:06   #684
 Разведчик
Аватар для pw.lancer
 
pw.lancer скоро будет известенpw.lancer скоро будет известенpw.lancer скоро будет известенpw.lancer скоро будет известен
Регистрация: 11.05.2011
Сообщений: 41
Популярность: 305
Сказал(а) спасибо: 43
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Изменился оффсет для "метки" локации (1 - мир, 131 - ХХ, 132 - куб и т.д.):
int32: BA + 1C + 1C + 94
было: BA + 1C + 1C + 90

HentaiElfkun, не известно, к тому же я не совсем понял, что означает channel time. Я отслеживаю момент начала каста и завершения по полю action в структуре персонажа, дальность забита в справочнике скилов (массив, созданный вручную) - это не совсем правильно, но не хватает пока времени добраться до файлов конфигурации, где вся инфа вроде бы по скилам есть.
  Ответить с цитированием
Старый 09.10.2012, 17:57   #685
 Разведчик
Аватар для Nеrix
 
Nеrix никому не известный тип
Регистрация: 09.10.2012
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

подскажите пожалуйста как получить список всех доступных/полученных квестов и если возможно список доступных квестов у определенного нипа(которые не отображаются в окошке квестов, но можно взять у нипа).
  Ответить с цитированием
Старый 14.10.2012, 20:57   #686
 Разведчик
Аватар для [phallic]
 
[phallic] никому не известный тип
Регистрация: 27.05.2012
Сообщений: 7
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Вопрос. Что такое "WalkOfs2"? Куда его надо вставлять?

PS вот рабочий код на перемещение для gcc (долго мучался с вылетами )
Код:
    DWORD Game = 0xB4F5FC;
    DWORD Call1 = 0x4782A0;
    DWORD Call2 = 0x47C5F0;
    DWORD Call3 = 0x478710;
    float X = -580.0;
    float Y = -1000.0;
    float Z = 229.0;
    DWORD flying = 0;

asm(".att_syntax                            \n\t"
    "pushal                                 \n\t"
    "movl %%eax, %0                         \n\t": : "a" (Game));
asm(".intel_syntax noprefix                 \n\t"
    "mov eax, dword ptr [eax]               \n\t"
    "mov esi, dword ptr [eax+0x34]          \n\t"
    "mov ecx, dword ptr [esi+0x10C4]        \n\t"
    "push 1                                 \n\t"
    ".att_syntax                            \n\t");
asm("movl %%edi, %0                         \n\t": : "D" (Call1));
asm(".intel_syntax noprefix                 \n\t"
    "call edi                               \n\t"
    "mov edi, eax                           \n\t"
    "lea eax, dword ptr [esp+0x1C]          \n\t"
    "push eax                               \n\t"
    ".att_syntax                            \n\t");
asm("push %0                                \n\t": : "m" (flying));
asm(".intel_syntax noprefix                 \n\t"
    "mov ecx, edi                           \n\t"
    ".att_syntax                            \n\t");
asm("movl %%eax, %0                         \n\t": : "a" (Call2));
asm(".intel_syntax noprefix                 \n\t"
    "call eax                               \n\t"
    "mov ecx, dword ptr [esi+0x10C4]        \n\t"
    "push 0                                 \n\t"
    "push 1                                 \n\t"
    "push edi                               \n\t"
    "push 1                                 \n\t"
    ".att_syntax                            \n\t");
asm("movl %%eax, %0                         \n\t": : "a" (Call3));
asm(".intel_syntax noprefix                 \n\t"
    "call eax                               \n\t"
    ".att_syntax                            \n\t");
asm("movl %%eax, %0                         \n\t": : "a" (Game));
asm(".intel_syntax noprefix                 \n\t"
    "mov eax, dword ptr [eax]               \n\t"
    "mov eax, dword ptr [eax+0x34]          \n\t"
    "mov eax, dword ptr [eax+0x10C4]        \n\t"
    "mov eax, dword ptr [eax+0x30]          \n\t"
    "mov eax, dword ptr [eax+0x4]           \n\t"
    ".att_syntax                            \n\t");
asm("movl %%eax, %0                         \n\t": : "a" (X));
asm(".intel_syntax noprefix                 \n\t"
    "mov dword ptr[ecx+0x20], eax           \n\t"
    ".att_syntax                            \n\t");
asm("movl %%eax, %0                         \n\t": : "a" (Z));
asm(".intel_syntax noprefix                 \n\t"
    "mov dword ptr[ecx+0x24], eax           \n\t"
    ".att_syntax                            \n\t");
asm("movl %%eax, %0                         \n\t": : "a" (Y));
asm(".intel_syntax noprefix                 \n\t"
    "mov dword ptr[ecx+0x28], eax           \n\t"
    ".att_syntax                            \n\t"
    "popal                                  \n\t");

Последний раз редактировалось [phallic]; 15.10.2012 в 02:33.
  Ответить с цитированием
Старый 19.10.2012, 00:12   #687
 Разведчик
Аватар для DHouse
 
DHouse никому не известный тип
Регистрация: 19.10.2011
Сообщений: 29
Популярность: 12
Сказал(а) спасибо: 7
Поблагодарили 8 раз(а) в 7 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

pwGamerCamSin=$80C;//Синус угла поворота камеры относительно поверхности земли
pwGamerCamCos=$804;//Косинус угла поворота камеры относительно поверхности земли
  Ответить с цитированием
Старый 24.10.2012, 10:22   #688
 Пехотинец
Аватар для _DVD_
 
_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе
Регистрация: 17.09.2010
Сообщений: 66
Популярность: 701
Сказал(а) спасибо: 32
Поблагодарили 63 раз(а) в 46 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Ищу адрес списка всех персонажей текущего клана


И еще возможно ли сразу из памяти брать иконки кланов?
На данный момент обрабатывается iconlist_guild.txt и нужная иконка достается из iconlist_guild.dds. но скорость такой процедуры не очень устраивает((
  Ответить с цитированием
Старый 24.10.2012, 11:55   #689
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

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

Как вы себе это представляете? ) Из памяти можно взять ссылку на файл где лежат иконки и ее координаты. Но это не быстрее.
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Старый 24.10.2012, 14:17   #690
 Пехотинец
Аватар для _DVD_
 
_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе_DVD_ лучик света в грозовом небе
Регистрация: 17.09.2010
Сообщений: 66
Популярность: 701
Сказал(а) спасибо: 32
Поблагодарили 63 раз(а) в 46 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Цитата:
Сообщение от krukovisПосмотреть сообщение
Как вы себе это представляете? ) Из памяти можно взять ссылку на файл где лежат иконки и ее координаты. Но это не быстрее.

ну по идее они при загрузке распакуются в битмап(или другой формат) по определенному адресу. найти и считать не проблемма)
проблема найти где они лежат?
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Руоф] Адреса и оффсеты Kitsune Разработка ПО для Perfect World 200 27.06.2014 22:34
оффсеты Maty Общение разработчиков 8 14.03.2012 21:00
Нужны адреса и оффсеты PWI Mr_R@NDOM Общение разработчиков 8 14.09.2011 23:01
[Помогите!] Адреса и Оффсеты для клиента 1.3.4 - 1.4.1 _Wolf_ Общение разработчиков 1 23.08.2011 17:34

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

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

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