РУОФФ Адреса и оффсеты - Разработка ПО для Perfect World - Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World
10.07.2014, 20:09
#1231
Пехотинец
Регистрация: 04.12.2013
Сообщений: 66
Популярность: 228
Сказал(а) спасибо: 36
Поблагодарили 43 раз(а) в 24 сообщениях
Re: РУОФФ Адреса и оффсеты
Цитата:
Что такое FreezeFunction и FreezeFlag ?
FreezeFlag - это адрес байта в памяти, меняя который можно замораживать (записывая туда 0) или размораживать (1) игру.
FreezeFunction - это адрес инструкции, которая пишет в FreezeFlag 0 или 1. Изменяя код по этому адресу, можно заставить игру саму записывать туда постоянно 0 или 1, вне зависимости от фокуса окна игры.
FreezeFlag=C9EC00 (в текущей версии РуОфа)
FreezeFunction = либо
43BF48 , либо
43BF46 (и там и там можно вносить изменения, но разные).
________________
Кто к нам с чем зачем, тот от того и того... Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
12.07.2014, 11:33
#1232
Разведчик
Регистрация: 19.06.2010
Сообщений: 47
Популярность: 6
Сказал(а) спасибо: 18
Поблагодарили 16 раз(а) в 9 сообщениях
Re: РУОФФ Адреса и оффсеты
У кого-то кроме fds255 удалось разморозить окно фоксботом с этими офсетами?
12.07.2014, 20:03
#1233
Разведчик
Регистрация: 07.08.2012
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: РУОФФ Адреса и оффсеты
13.07.2014, 14:10
#1234
Старший сержант
Регистрация: 20.10.2010
Сообщений: 170
Популярность: 684
Сказал(а) спасибо: 146
Поблагодарили 74 раз(а) в 54 сообщениях
Re: РУОФФ Адреса и оффсеты
Может кто нашел уже как узнать количество перерождений, а то у меня не выходит?
________________
Вихри говорят "Х-ш-ш-ш"
[6 лет здесь]
16.07.2014, 20:05
#1235
Старший сержант
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
Re: РУОФФ Адреса и оффсеты
Вроде нашел координаты цели:
HostPlayerStruct
+0x1458 +0x260 // X
+0x1458 +0x264 // Z
+0x1458 +0x268 // Y
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
16.07.2014, 21:04
#1236
Разведчик
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
Re: РУОФФ Адреса и оффсеты
Еще пара офсетов:
HostPlayerStruct
+15C5 FlagPhizSos, byte
+15C6 FlagMagSos, byte
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось fds255; 16.07.2014 в 21:52 .
17.07.2014, 18:38
#1237
Разведчик
Регистрация: 26.10.2012
Сообщений: 14
Популярность: 1354
Сказал(а) спасибо: 1
Поблагодарили 5 раз(а) в 2 сообщениях
Re: РУОФФ Адреса и оффсеты
[offset]
GameAdress=0x00C9E74C
BaseAdress=0x00C9DFAC
Player=0x30
Name=0x6B0
[player]
hp=0x4A8
max_hp=0x4F4
mp=0x4AC
max_mp=0x4F8
target_id=0xD3C
x=0x3C
y=0x44
z=0x40
[mob]
count_1=0x1C
count_2=0x20
count_3=0x5C
addrs_1=0x1C
addrs_2=0x1C
addrs_3=0x20
addrs_4=0x58
wid=0x120
type=0xB4
dis=0x29C
id=0x124
lvl=0x128
name=0x278
x=0x3C
y=0x44
z=0x40
18.07.2014, 11:47
#1238
Старший сержант
Регистрация: 20.10.2010
Сообщений: 170
Популярность: 684
Сказал(а) спасибо: 146
Поблагодарили 74 раз(а) в 54 сообщениях
Re: РУОФФ Адреса и оффсеты
Может кому пригодится, имя предмета в зависимости от типа
Код:
if integer(ItemType) = 43 then begin
ReadProcessMemory (hProcess, Pointer(Item+$5c), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$4), @ItemName, SizeOf(ItemName), NoB);
end;
if (integer(ItemType) = 8) or (integer(ItemType) = 9) or (integer(ItemType) = 23) then begin
ReadProcessMemory (hProcess, Pointer(Item+$60), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$C), @ItemName, SizeOf(ItemName), NoB);
end;
if integer(ItemType) = 34 then begin
ReadProcessMemory (hProcess, Pointer(Item+$C0), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$4), @ItemName, SizeOf(ItemName), NoB);
end;
if integer(ItemType) = 41 then begin
ReadProcessMemory (hProcess, Pointer(Item+$118), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$4), @ItemName, SizeOf(ItemName), NoB);
end;
if (integer(ItemType) = 36) or (integer(ItemType) = 37) then begin
ReadProcessMemory (hProcess, Pointer(Item+$BC), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$C), @ItemName, SizeOf(ItemName), NoB);
end;
if (integer(ItemType) = 0) or (integer(ItemType) = 3) then begin
ReadProcessMemory (hProcess, Pointer(Item+$EC), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$C), @ItemName, SizeOf(ItemName), NoB);
end;
if (integer(ItemType) = 20) or (integer(ItemType) = 27) or (integer(ItemType) = 32)
or (integer(ItemType) = 5) or (integer(ItemType) = 10) or (integer(ItemType) = 13)
or (integer(ItemType) = 19) or (integer(ItemType) = 31) then begin
ReadProcessMemory (hProcess, Pointer(Item+$58), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$4), @ItemName, SizeOf(ItemName), NoB);
end;
if (integer(ItemType) = 11) or (integer(ItemType) = 17) then begin
ReadProcessMemory (hProcess, Pointer(Item+$58), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$8), @ItemName, SizeOf(ItemName), NoB);
end;
if integer(ItemType) = 15 then begin
ReadProcessMemory (hProcess, Pointer(Item+$F4), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$C), @ItemName, SizeOf(ItemName), NoB);
end;
if integer(ItemType) = 2 then begin
ReadProcessMemory (hProcess, Pointer(Item+$CC), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$8), @ItemName, SizeOf(ItemName), NoB);
end;
if integer(ItemType) = 7 then begin
ReadProcessMemory (hProcess, Pointer(Item+$e0), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$4), @ItemName, SizeOf(ItemName), NoB);
end;
if integer(ItemType) = 6 then begin
ReadProcessMemory (hProcess, Pointer(Item+$DC), @ItemN, 4, NoB);
ReadProcessMemory (hProcess, Pointer(ItemN+$C), @ItemName, SizeOf(ItemName), NoB);
end;
________________
Вихри говорят "Х-ш-ш-ш"
[6 лет здесь]
Пользователь сказал cпасибо:
21.07.2014, 16:51
#1239
Сержант
Регистрация: 30.08.2010
Сообщений: 121
Популярность: 249
Сказал(а) спасибо: 10
Поблагодарили 78 раз(а) в 23 сообщениях
Re: РУОФФ Адреса и оффсеты
флаг онлайна нашел кто?
________________
не забываем про спасибо Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
01.08.2014, 12:24
#1240
Разведчик
Регистрация: 28.04.2011
Сообщений: 9
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: РУОФФ Адреса и оффсеты
BaseAdress +0x1C +0x30 + 0x7A0 // структура заюзаного скилла
+ 0x8 // айди скилла
+ 0xC // лвл скилла
BaseAdress + 0x1C + 0x30 + 0xF50 - Квестовый инвентарь
+ 0xF50 + 0x0С + [0x04 * I] (I = 0 .. 31) - структура
+ 0x0C - ID предмета
+ 0x4C + 0x0 - описание предмета
Полагаю все смещения от обычного инвентаря подойдут
BaseAdress + 0x1C + 0x30 + 0x388 - Количество бафов/дебафов
BaseAdress + 0x1C + 0x30 + 0x380 + [0x12 * I] (I = 0 .. Кол-во бафов) - ID бафа/дебафа
Если уже было - соррь, но я не нашел.
Последний раз редактировалось Gigabyte88; 21.08.2014 в 13:33 .
Причина: Добавил оффсет
21.09.2014, 00:03
#1241
Разведчик
Регистрация: 11.05.2011
Сообщений: 41
Популярность: 305
Сказал(а) спасибо: 43
Поблагодарили 12 раз(а) в 7 сообщениях
Re: РУОФФ Адреса и оффсеты
По поводу пета мистика - не нашел тут (встретил вопросы, не видел ответов) пришлось искать с CE.
У петов друида есть в структуре номер клетки (0..9), так что хп и прочее мы читаем из структуры этой клетки.
С вводом мистов добавили 11-ю клетку. Соответственно, номер клетки любого вызванного пета - 10.
Мана пета читается из клетки по смещению 3C, сразу после ХП: BA +1C +30 +13C0 +CAGE_OFFSET +3C,
где BA = 00C9DFAC, а CAGE_OFFSET = 10 + CAGE_NUM*4 = 38 (CAGE_NUM = A, т.е. 10я клетка)
Последний раз редактировалось pw.lancer; 21.09.2014 в 14:34 .
Причина: дополнен
22.09.2014, 04:53
#1242
Пехотинец
Регистрация: 19.02.2010
Сообщений: 98
Популярность: 650
Сказал(а) спасибо: 23
Поблагодарили 150 раз(а) в 45 сообщениях
Re: РУОФФ Адреса и оффсеты
Цитата:
По поводу пета мистика - не нашел тут (встретил вопросы, не видел ответов) пришлось искать с CE.
У петов друида есть в структуре номер клетки (0..9), так что хп и прочее мы читаем из структуры этой клетки.
С вводом мистов добавили 11-ю клетку. Соответственно, номер клетки любого вызванного пета - 10.
Мана пета читается из клетки по смещению 3C, сразу после ХП: BA +1C +30 +13C0 +CAGE_OFFSET +3C,
где BA = 00C9DFAC, а CAGE_OFFSET = 10 + CAGE_NUM*4 = 38 (CAGE_NUM = A, т.е. 10я клетка)
вроде бы писали про это тут
Цитата:
+1068 PetArray /Массив петов/
+0x08 PetHutch /Номер призванного пета (0-9), (-1) - пет не вызван/
+0x3C ActivePetId /Призванный пет/
+(PetHutch*4+0x10), i=0-4(9)
+0x04 PetLoyale, dword /Верность/
+0x08 PetHunger, dword /Голод, 0, 1, 2-изголодавшийся, 6,7-полуживой, 8-умирающий/
+0x18 PetClass /класс пета - 0-ездовой, 1-друид, 2-декор/
+0x1C PetHPPrc, float /Жизнь, от 0.00 до 1.00/
+0x20 PetMPPrc, float /Мана, от 0.00 до 1.00 - для мистиков/
+0x24 PetLvl, dword /Уровень/
+0x2C PetExp, dword /Опыт/
+0x34 +0x0 PetName, wchar (UText / Unicode String) /Имя пета/
+0x38 HP, dword /Жизнь/
+0x3C MP, dword /Мана - для мистиков/
+0x40 PetSkillId1, dword /Id скила 1/
+0x44 PetSkillLvl1 /Уровень скила 1, возм значения 0,1,2,3,4,5/
+0x48 PetWaitSkill1 /Откат скилла 1/
+0x50 PetSkillId2, dword /Id скила 2/
+0x54 PetSkillLvl2 /Уровень скила 2/
+0x58 PetWaitSkill2 /Откат скилла 2/
+0x60 PetSkillId3, dword /Id скила 3/
+0x64 PetSkillLvl3 /Уровень скила 3/
+0x68 PetWaitSkill3 /Откат скилла 3/
+0x70 PetSkillId4, dword /Id скила 4/
+0x74 PetSkillLvl4 /Уровень скила 4/
+0x78 PetWaitSkill4 /Откат скилла 4/
+0x150 MaxHP /Не для друидов, для мистиков/
просто просто после 1.4.4 редко менялись смещения после массивов, поэтому пишут только оффсеты массивов.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Автор программы PwRuf - Bot и PwRuf - Crafter
29.12.2014, 16:01
#1243
Пехотинец
Регистрация: 11.11.2010
Сообщений: 67
Популярность: 16
Сказал(а) спасибо: 58
Поблагодарили 8 раз(а) в 5 сообщениях
Re: РУОФФ Адреса и оффсеты
Начинаем искать по новой, что нашел:
PackCall 751D10
DialogOpAddrec 93C700
TalkToNPC 747000
FullTarget 746BD0
29.12.2014, 18:56
#1244
Разведчик
Регистрация: 01.11.2011
Сообщений: 17
Популярность: -20
Сказал(а) спасибо: 0
Поблагодарили 16 раз(а) в 5 сообщениях
Re: РУОФФ Адреса и оффсеты
EXP_Calc_Base: CD03C0
UnfreezeOffset: 4D0
LVL_Offset: 4B0
Culti_Offset: 4B4
EXP_Offset: 4C0
Spirit_offset: 4C4
HP_OffSet: 4B8
MaxHP_OffSet: 504
MP_OffSet: 4BC
MaxMP_OffSet: 508
CHI_OffSet: 4CC
MaxCHI_Offset: 584
Gold_Offset: 588
CastID_Offset: 7B0
Pet_Offset: 13EC
Jump_Offset: E64
Name_Offset: 6C0
game_adress: CCF74C
base_adress: CCEFAC
29.12.2014, 22:24
#1245
Разведчик
Регистрация: 05.09.2010
Сообщений: 32
Популярность: 1182
Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
Re: РУОФФ Адреса и оффсеты
Пользователь сказал cпасибо:
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 12:21 .