РУОФФ Адреса и оффсеты - Разработка ПО для Perfect World - Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World
31.08.2013, 09:54
#991
Разведчик
Регистрация: 06.07.2010
Сообщений: 30
Популярность: 364
Сказал(а) спасибо: 1
Поблагодарили 16 раз(а) в 9 сообщениях
Re: РУОФФ Адреса и оффсеты
sumikot , я с 6го
на данный момент все адреса идентичны китаю
особых изменений вроде не заметил, только для мобов/нпс у меня по другому
BA +0x1C +0x1C +0x24 +0x14 Count, dword /Количество/
BA +0x1C +0x1C +0x24 +0x50 +(i*0x4) /i = 0 - Count/ было
BA +0x1C +0x1C +0x24 +0x58 +(i*0x4) /i = 0 - Count/ стало
Последний раз редактировалось dixgen; 31.08.2013 в 10:04 .
10.09.2013, 00:16
#992
Старший сержант
Регистрация: 21.09.2009
Сообщений: 189
Популярность: 578
Сказал(а) спасибо: 27
Поблагодарили 144 раз(а) в 36 сообщениях
Re: РУОФФ Адреса и оффсеты
У меня мобы получились
BA +0x1C +0x1C +0x24 +0x14 Count, dword /Количество/
BA +0x1C +0x1C +0x24 +0x1C +(i*0x4) +0x4 /i = 0 - 0x300/
Лут
BA +0x1C +0x1C +0x28 +0x14 Count, dword /Количество/
BA +0x1C +0x1C +0x28 +0x1С +(i*0x4) +0x4 /i = 0 - 0x300/
И, кстати, /i = 0 - Count/ - это ошибка. Вроде бы нигде так не писал. Если хочешь ограничить i на максимуме, читай BA +0x1C +0x1C +0x28 +0x20 для старых версий и BA +0x1C +0x1C +0x28 +0x24 для ЗБТ. Count, который считываешь по +14, равен количеству элементов (луту), а Count по +20(24) равен выделенной памяти для этих элементов. Некоторые ячейки могут быть пустыми.
Последний раз редактировалось sumikot; 10.09.2013 в 00:41 .
10.09.2013, 08:53
#993
Разведчик
Регистрация: 06.07.2010
Сообщений: 30
Популярность: 364
Сказал(а) спасибо: 1
Поблагодарили 16 раз(а) в 9 сообщениях
Re: РУОФФ Адреса и оффсеты
Цитата:
У меня мобы получились
BA +0x1C +0x1C +0x24 +0x14 Count, dword /Количество/
BA +0x1C +0x1C +0x24 +0x1C +(i*0x4) +0x4 /i = 0 - 0x300/
Лут
BA +0x1C +0x1C +0x28 +0x14 Count, dword /Количество/
BA +0x1C +0x1C +0x28 +0x1С +(i*0x4) +0x4 /i = 0 - 0x300/
И, кстати, /i = 0 - Count/ - это ошибка. Вроде бы нигде так не писал.
Лут, да.
А мобы/нпс см. генезис. 2й вариант имхо удобнее
Цитата:
BA +0x1C +0x1C +0x24 +0x14 Count, dword /Количество/
BA +0x1C +0x1C +0x24 +0x18 +(i*0x4) +0x4 /i = 0 - 0x300/
или
BA +0x1C +0x1C +0x24 +0x50 +(i*0x4) /i = 0 - Count/
длинна структуры 0x384 байта
и имя уползло на +$0274
Код:
персонажи вокруг
BA +0x1C +0x1C +0x20 +0x14 Count, dword /Количество/
BA +0x1C +0x1C +0x20 +0x94 +(i*0x4) /i = 0 - Count/
Код:
кланы вокруг
BA +248 +4 Count, dword /Количество/
BA +248 +8 +[i*4] + (+0)^J: Clans Struct (I in [0..389])
хотя имя клана проще получить другой функцией
она тоже чуть изменилась
получение имени клана по id
Код:
// Чтение имени клана из хеша по его ID
function ReadClanName(ClanID:LongWord): String;
var
Tmp, Handle: Cardinal;
p, p2 : LongWord;
hash: LongWord;
j: Cardinal;
tm: Cardinal;
BytesRead: SIZE_T;
TmpWCN: array [0..9] of WideChar;
Name: UnicodeString;
begin
Handle := OpenProcess(PROCESS_VM_READ, false, frmMain.ProcessId);
if Handle > 0 then
try
ReadProcessMemory(Handle, Pointer($00C38B6C), @Tmp, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(Tmp + $248), @p, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(p + $14), @hash, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(p + $C), @p, 4 , BytesRead);
j := ClanId mod hash;
ReadProcessMemory(Handle, Pointer(p + j * 4), @p, 4 , BytesRead);
while(p <> 0) do
begin
tm := 0;
ReadProcessMemory(Handle, Pointer(p + $C), @tm, 4 , BytesRead);
if (tm = clanId) then
begin
ReadProcessMemory(Handle, Pointer(p + $8), @p2, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(p2 + $4), @p2, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(p2 + $0), @TmpWCN, 32 , BytesRead);
Name := TmpWCN;
end;
ReadProcessMemory(Handle, Pointer(p), @p, 4 , BytesRead);
end
finally
CloseHandle(Handle);
end;
Result := Name;
end;
получение имени персонажа по id
Код:
// Чтение имени персонажа из хеша по его ID
function ReadUserName(UserID:LongWord): String;
var
Tmp, Handle: Cardinal;
p, p2 : LongWord;
hash: LongWord;
j: Cardinal;
tm: Cardinal;
BytesRead: SIZE_T;
TmpWCN: array [0..9] of WideChar;
Name: UnicodeString;
begin
Handle := OpenProcess(PROCESS_VM_READ, false, frmMain.ProcessId);
if Handle > 0 then
try
ReadProcessMemory(Handle, Pointer($00C38B6C), @Tmp, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(Tmp + $1C), @p, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(p + $4C), @hash, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(p + $44), @p, 4 , BytesRead);
j := UserId mod hash;
ReadProcessMemory(Handle, Pointer(p + j * 4), @p, 4 , BytesRead);
while(p <> 0) do
begin
tm := 0;
ReadProcessMemory(Handle, Pointer(p + $8), @tm, 4 , BytesRead);
if (tm = UserId) then
begin
ReadProcessMemory(Handle, Pointer(p + $4), @p2, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(p2 + $0), @p2, 4 , BytesRead);
ReadProcessMemory(Handle, Pointer(p2 + $0), @TmpWCN, 32 , BytesRead);
Name := TmpWCN;
end;
ReadProcessMemory(Handle, Pointer(p), @p, 4 , BytesRead);
end
finally
CloseHandle(Handle);
end;
Result := Name;
end;
ZoomHack $00408E30
Unfreeze $0043BC56
Если что не так, поправьте
2 пользователя(ей) сказали cпасибо:
16.09.2013, 14:54
#994
Пехотинец
Регистрация: 20.08.2009
Сообщений: 90
Популярность: 173
Сказал(а) спасибо: 14
Поблагодарили 26 раз(а) в 8 сообщениях
Re: РУОФФ Адреса и оффсеты
скажу точно что хп мп айди смещены относительно 1.4.6 на +14 т.е. вместо 480 для айди 494 стало..
с айди клана уже такое не прокатывает
имя смещено на 18, пробуйте)
Последний раз редактировалось tianddu; 16.09.2013 в 14:59 .
16.09.2013, 16:05
#995
Разведчик
Регистрация: 19.08.2011
Сообщений: 25
Популярность: 465
Сказал(а) спасибо: 2
Поблагодарили 17 раз(а) в 9 сообщениях
Re: РУОФФ Адреса и оффсеты
Пакетный адрес никто не в курсе какой?
________________
Skype: ScriptoZ
ЗАПРОС АВТОРИЗАЦИИ=ИГНОР
16.09.2013, 17:52
#996
Разведчик
Регистрация: 16.09.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: РУОФФ Адреса и оффсеты
Люди, Хелп)
Нужны оффсеты и структуры нового обновления) Готов оплатить работу по поиску по предворительной договорённости) Далее делайте с ними что хотите)))
----------------------------------------------------------
Последний раз редактировалось Panaromix; 17.09.2013 в 07:10 .
16.09.2013, 19:42
#997
Пехотинец
Регистрация: 11.12.2009
Сообщений: 83
Популярность: -270
Сказал(а) спасибо: 7
Поблагодарили 26 раз(а) в 9 сообщениях
Re: РУОФФ Адреса и оффсеты
Ребята, подскажите или ткните в руководство как искать офсеты в СЕ, точнее как настроить Pointer scan чтобы выдавал цепочку сразу от базового адреса, который уже известен. А то СЕ при сканировании выдает кучу лишнего и приходится вручную пробывать. Вот что пока нашел для руофа:
Цитата:
4ac MP
4f4 maxMP
4a8 HP
4f0 maxHP
574 money
но это только благодаря тому, что структура не изменилась
BA +1c +34 +
А как искать цепочку смещений когда известен только BA?
Последний раз редактировалось bespaniki; 16.09.2013 в 19:44 .
16.09.2013, 22:49
#998
Разведчик
Регистрация: 16.08.2010
Сообщений: 10
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
Re: РУОФФ Адреса и оффсеты
17.09.2013, 00:25
#999
Разведчик
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
Re: РУОФФ Адреса и оффсеты
17.09.2013, 00:29
#1000
Старший сержант
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
Re: РУОФФ Адреса и оффсеты
Может где-то писали, но я не нашел. Покопался в клиенте, получил
BA = 0x00C38B6C
GA = 0x00C392CC
________________
[
Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
PW Everyday Helper Bot
17.09.2013, 01:23
#1001
Пехотинец
Регистрация: 16.12.2009
Сообщений: 54
Популярность: 279
Сказал(а) спасибо: 17
Поблагодарили 11 раз(а) в 5 сообщениях
Re: РУОФФ Адреса и оффсеты
Как обстоят дела со смещениями на 1.5.0? [Ссылки могут видеть только зарегистрированные пользователи. ]
________________
Уважаемый, Ваша грамматика хрома на всю голову
17.09.2013, 01:42
#1002
Разведчик
Регистрация: 20.10.2012
Сообщений: 32
Популярность: 120
Сказал(а) спасибо: 9
Поблагодарили 7 раз(а) в 6 сообщениях
Re: РУОФФ Адреса и оффсеты
Может, найдутся люди добрые? Очень нужны такие вот офсеты для обновленного руофа 1.5.0:
SkillCall
PlayerName
InventoryArray
17.09.2013, 10:09
#1003
Разведчик
Регистрация: 06.07.2010
Сообщений: 30
Популярность: 364
Сказал(а) спасибо: 1
Поблагодарили 16 раз(а) в 9 сообщениях
Re: РУОФФ Адреса и оффсеты
Пользователь сказал cпасибо:
17.09.2013, 10:22
#1004
Рыцарь-капитан
Регистрация: 02.05.2009
Сообщений: 525
Популярность: 4586
Золото Zhyk.Ru: 20
Сказал(а) спасибо: 37
Поблагодарили 767 раз(а) в 220 сообщениях
Re: РУОФФ Адреса и оффсеты
00475740
packetCall 6F55E0
Последний раз редактировалось semoder; 17.09.2013 в 10:24 .
Пользователь сказал cпасибо:
17.09.2013, 13:43
#1005
Разведчик
Регистрация: 04.11.2010
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: РУОФФ Адреса и оффсеты
Для руоффа 1.5.0:
BaseAddr.ExpNeed:= $C39EA8;
// Gamer Offsets
GamerOffsets.CharActionStruct:= $1290;
GamerOffsets.Sin:= $0C; // Sin угла взляда перса
GamerOffsets.Cos:= $2C; // Cos угла взляда перса
GamerOffsets.Pos.X:= $3C;
GamerOffsets.Pos.Y:= $44;
GamerOffsets.Pos.Z:= $40;
GamerOffsets.SkillFlag:= $B8;
GamerOffsets.WID:= $494;
GamerOffsets.Lvl:= $4A0;
GamerOffsets.HP:= $4A8;
GamerOffsets.MP:= $4AC;
GamerOffsets.Experience:= $4B0;
GamerOffsets.Spirit:= $4B4;
GamerOffsets.Chi:= $4BC;
GamerOffsets.MaxHP:= $4F0;
GamerOffsets.MaxMP:= $4F4;
GamerOffsets.Gold:= $574; // Money
GamerOffsets.Name:= $688;
GamerOffsets.ClassID:= $690; // 0-воин 1-маг 2-шаман 3-друид 4-оборотень 5-убийца 6-лучник 7-жрец 8-страж 9-мистик
GamerOffsets.MoveMode:= $69C; // WalkMode, byte 0 - Земля, 1 - Вода, 2 - Воздух
GamerOffsets.CharState:= $6E8; // Meditation, byte /State/ 0 - Walking, 16 - Flying, 32 - Meditation
GamerOffsets.CastID:= $74C; // Cast to target WID
GamerOffsets.WaitPotHPMP:= $AA0;
GamerOffsets.WaitPotHP:= $AE0;
GamerOffsets.WaitPotMP:= $AE8;
GamerOffsets.WaitFoodPet:= $B18;
GamerOffsets.TargetWID:= $C88;
// Players Offsets
PlayersOffsets.Pos.X:= $3C;
PlayersOffsets.Pos.Y:= $44;
PlayersOffsets.Pos.Z:= $40;
PlayersOffsets.WID:= $494;
PlayersOffsets.Lvl:= $4A0;
PlayersOffsets.HP:= $4A8;
PlayersOffsets.MaxHP:= $4F0;
PlayersOffsets.Name:= $688;
PlayersOffsets.ClassID:= $690;
// NPCs Offsets
NPCsOffsets.Pos.X:= $3C;
NPCsOffsets.Pos.Y:= $44;
NPCsOffsets.Pos.Z:= $40;
NPCsOffsets.Kind:= $0B4; // Type, dword /Тип моба/ 6 - моб, 7 - NPC, 9 - Pet
NPCsOffsets.WID:= $120;
NPCsOffsets.ID:= $124;
NPCsOffsets.Lvl:= $128;
NPCsOffsets.HP:= $130;
NPCsOffsets.MaxHP:= $178;
NPCsOffsets.Special:= $254; // Feature 0 - Нет 1 - Ускорение 2 - Pacifist 3 - Усиленная защита 4 - Усиленная магическая защита 5 - Усиленная атака 6 - Усиленная магия 7 - Берсерк 8 - Улучшенное здоровье 9 - Слабость
NPCsOffsets.Name:= $274;
NPCsOffsets.Enviropment:= $2CC; // 0-земля, 1-вода, 2-воздух
NPCsOffsets.Action:= $2DC; // MobAction (0 - Пассивный; 2 - Физ.атака; 3 - Маг.атака; 4 - Умер; 5 - Двигается)
// Loot Offsets
LootOffsets.Pos.X:= $3C;
LootOffsets.Pos.Y:= $44;
LootOffsets.Pos.Z:= $40;
LootOffsets.WID:= $110;
LootOffsets.ID:= $114;
LootOffsets.Kind:= $150;
LootOffsets.Name:= $168;
// Inventory Offsets
InventoryOffsets.Struct:= $E4C;
InventoryOffsets.Cell:= $0C;
InventoryOffsets.Size:= $10;
InventoryOffsets.ItemKind:= $04;
InventoryOffsets.ItemID:= $08;
InventoryOffsets.ItemCount:= $10;
InventoryOffsets.ItemPrice:= $18;
// Pet Offsets
PetOffsets.Struct:= $12A8;
PetOffsets.WID:= $3C;
PetOffsets.Name:= $34;
PetOffsets.Lvl:= $24;
PetOffsets.HP:= $38;
PetOffsets.ProcHP:= $1C;
PetOffsets.Loyale:= $04;
PetOffsets.Hunger:= $08;
PetOffsets.IsCalled:= $08;
PetOffsets.SkillID:= $40;
PetOffsets.SkillCoolDown:= $48;
// Skills Offsets
SkillsOffsets.Struct:= $12BC;
SkillsOffsets.ActiveSkillCount:= $12C0;
SkillsOffsets.ID:= $08;
SkillsOffsets.CoolDown:= $10;
SkillsOffsets.MaxCoolDown:= $14;
SkillsOffsets.Rage:= $36;
// Genie Offsets
GenieOffsets.Struct:= $12EC;
GenieOffsets.ActiveSkillCount:= $12F0;
GenieOffsets.ID:= $08;
GenieOffsets.CoolDown:= $10;
GenieOffsets.MaxCoolDown:= $14;
// Party Members
PartyOffsets.Struct:= $072C;
PartyOffsets.PartyMemberCount:= $18;
PartyOffsets.WID:= $0C;
Подскажите пожалуйста новые адреса Walk1, Walk2, Walk3
Старые были такие:
Walk1:= $00479A40;
Walk2:= $0047DD40;
Walk3:= $00479EB0;
Пользователь сказал cпасибо:
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 05:08 .