|
РУОФФ Адреса и оффсеты - Разработка ПО для Perfect World - Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World |
11.12.2015, 11:13
|
#1291
|
|
|
|
Разведчик
|
Регистрация: 12.12.2009
Сообщений: 7
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 2 сообщениях
|
Re: РУОФФ Адреса и оффсеты
Код:
ChatStart = $00D75038
ChatEnd = $00D7503C
ChatMax = $00D75040
ChatNumber = $00D75044
InviteCount = $00D79C24 // Счетчик уведомлений
InviteStruct = $00D79C18 // Указатель на структуру уведомлений
+(i*$1C+$0) +$0 - InviteType, ASCII // Тип уведомления
+(i*$1C+$4) +$0 - InviteString, Unicode // Текст сообщения уведомления
+(i*$1C+$8) - InviteTimeout, dword // Время актуальности уведомления (мс)
+(i*$1C+$C) - InviteTimeStamp, dword // Временная метка
+(i*$1C+$10) - InviteWID, dword // WID персонажа, отправившего запрос
+(i*$1C+$14) - InviteID, dword // ID запроса пати/торга
i = 0..InviteCount-1
Последний раз редактировалось deemon_hs; 13.12.2015 в 03:59.
|
|
|
4 пользователя(ей) сказали cпасибо:
|
|
13.12.2015, 08:22
|
#1292
|
|
|
|
Пехотинец
|
Регистрация: 11.11.2010
Сообщений: 67
Популярность: 16
Сказал(а) спасибо: 58
Поблагодарили 8 раз(а) в 5 сообщениях
|
Re: РУОФФ Адреса и оффсеты
OnLineFlag 00D84090 если в сети 1, вылет 0
|
|
|
Пользователь сказал cпасибо:
|
|
24.12.2015, 10:43
|
#1293
|
|
|
|
Разведчик
|
Регистрация: 21.10.2013
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 8 сообщениях
|
Re: РУОФФ Адреса и оффсеты
AutoPath=0x004574F0
|
|
|
27.12.2015, 19:36
|
#1294
|
|
|
|
Разведчик
|
Регистрация: 11.04.2014
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: РУОФФ Адреса и оффсеты
|
|
|
28.01.2016, 21:06
|
#1295
|
|
|
|
Разведчик
|
Регистрация: 04.07.2012
Сообщений: 8
Популярность: -37
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: РУОФФ Адреса и оффсеты
+16BD FlagPhizSos, byte
+16BE FlagMagSos, Byte
|
|
|
30.01.2016, 22:03
|
#1296
|
|
|
|
Разведчик
|
Регистрация: 08.10.2010
Сообщений: 9
Популярность: -69
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: РУОФФ Адреса и оффсеты
А на 1.3.6 есть эти FlagPhizSos и FlagMagSos? А то я ищу и не могу найти.
|
|
|
31.01.2016, 20:05
|
#1297
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: РУОФФ Адреса и оффсеты
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
05.02.2016, 18:18
|
#1298
|
|
|
|
Пехотинец
|
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
|
Re: РУОФФ Адреса и оффсеты
WinClose Закрытие диалога с НПС
Код:
DlgCancelPush = $00CF10EC;
DialogOpAddr = $009B2FC0;
|
|
|
08.02.2016, 05:03
|
#1299
|
|
|
|
Разведчик
|
Регистрация: 26.08.2011
Сообщений: 38
Популярность: -80
Сказал(а) спасибо: 6
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: РУОФФ Адреса и оффсеты
|
|
|
18.02.2016, 08:42
|
#1300
|
|
|
|
Пехотинец
|
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
|
Re: РУОФФ Адреса и оффсеты
Код:
[mobs_offset]
Baffs = +320 +[I*12,0,[mobs_offset.BaffsCount]]
BaffsCount = +328
|
|
|
Пользователь сказал cпасибо:
|
|
21.02.2016, 15:45
|
#1301
|
|
|
|
Разведчик
|
Регистрация: 21.04.2012
Сообщений: 13
Популярность: -88
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: РУОФФ Адреса и оффсеты
1.3.4 версия, сборка 2265, версия обновления 50
UnfreezeAddress=927A48
________________
Последний раз редактировалось Smertig; 26.02.2016 в 20:13.
|
|
|
27.02.2016, 13:13
|
#1302
|
|
|
|
Пехотинец
|
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
|
Re: РУОФФ Адреса и оффсеты
При в воде в консоле d_showid появляются ID телепортов по миру.
До кучи как есть с пва.
Код:
5, 10, 13, 16, 19, 20, 27, 31, 32, 38, 40, 46, 39, 62, 63, 64, 58: //31-apteka 32-shar drakona 27-korm 40-краситель 5-батарейки 19-алый,сундук(ПКМ) 20-призы, почти весь шоп,хх,сведения, кровь, осколок(миража), вино, гипы, горн,бао,феня, молоток
sNameAddr := '+58 +4';
17,11: //17-камни 11-скилы
sNameAddr := '+58 +8';
43: //гпб
sNameAddr := '+5C +4';
8, 9, 22, 23: //9- хлеб, банки 8-дк, ресы, трава, формы, рупор, главы
sNameAddr := '+60 +C';
26: //яйца
sNameAddr := '+AC +4';
34: //34-книги
sNameAddr := '+C0 +4';
4: //4-соски
sNameAddr := '+C0 +8';
18:
sNameAddr := '+C4 +4';
36, 37: //хиры
sNameAddr := '+C8 +4';
2: //strella
sNameAddr := '+D8 +8';
6: //стиль
sNameAddr := '+DC +C';
7:
sNameAddr := '+E0 +4';
0, 3: //0-шмот 3-бижа
sNameAddr := '+EC +C';
15: //оружее
sNameAddr := '+F4 +C';
41: //джины
sNameAddr := '+118 +4';
Последний раз редактировалось diagnost; 27.02.2016 в 17:38.
|
|
|
02.03.2016, 20:26
|
#1303
|
|
|
|
Пехотинец
|
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
|
Re: РУОФФ Адреса и оффсеты
+03B4 PCCharacter, array /Хеш близлежащих игроков/
BA +0x1C +0x28 +0x3B4 +0x18 - Count
BA +0x1C +0x28 +0x3B4 +0x98 +(i*0x4) /i = 0 - Count/
Получить имя
BA +0x1C +0x28 +0x3B4 +0x98 +(i*0x4)+0x6E8+0x0
;массив умений Джина
BA +0x1C +0x28 +14F8 - Count
BA +0x1C +0x28 +14F4 +[I*4] /i = 0 - Count/
Последний раз редактировалось diagnost; 03.03.2016 в 03:09.
|
|
|
02.03.2016, 21:16
|
#1304
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: РУОФФ Адреса и оффсеты
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
02.03.2016, 23:59
|
#1305
|
|
|
|
Разведчик
|
Регистрация: 11.05.2011
Сообщений: 41
Популярность: 305
Сказал(а) спасибо: 43
Поблагодарили 12 раз(а) в 7 сообщениях
|
Re: РУОФФ Адреса и оффсеты
Всем привет, решил поделиться своим методом разморозки окна.
Адреса после обновы нам уже известны.
UnfreezeFlag 00D6FD1C (указано выше)
Unfreeze_function 0044A880 (указано выше) 0044A882 (вместо этого использую я)
Нахождение адреса UnfreezeFlag уже подробно описано на форуме.
Зная его, можно выяснить адрес Unfreeze_function (например, с помощью CheatEngine).
Опишу это процесс (пригодится после очередной крупной обновы).
Запускаем клиент PW, без инжекта mrac.dll.
Запускаем СЕ, присоединяем к PW, добавляем вручную адрес 00D6FD1C (который UnfreezeFlag)
В контекстном меню выбираем Find out what writes to this address, соглашаемся с подключением отладчика (вот тут важно, чтобы клиент был запущен без mrac.dll, иначе рухнет).
Далее делаем окно PW активным и снова переключаемся на CE, выделяем появившуюся строчку с адресом 0044A882, нажимаем "Show disassembler".
Появится окошко с кодом примерно следующего содержания:
Код:
...
0044A880 84 C0 test al, al
0044A882 88 85 EC040000 mov [ebp + 000004EC], al
0044A888 75 51 jne 0044A8DB
...
Я в своем боте меняю код по адресу 0044A882 (6-байтная команда mov):
вместо 88 85 EC040000 записываю 90 90 90 90 90 90
получается такая картина:
Код:
...
0044A880 84 C0 test al, al
0044A882 90 nop
0044A883 90 nop
0044A884 90 nop
0044A885 90 nop
0044A886 90 nop
0044A887 90 nop
0044A888 75 51 jne 0044A8DB
...
Т.е. вместо команды "запись по адресу UnfreezeFlag" теперь команда "ничего не делать"
Если что-то упустил, вот пример кода на C++:
Код:
const UINT64 Freeze_Code_Mask = 0x0000FFFFFFFFFFFFLL;
const UINT64 Freezed_Block = 0x0000000004EC8588LL;
const UINT64 Unfreezed_Block = 0x0000909090909090LL;
// вспомогательные функции
int WriteMemBlock( LPCVOID buffer, DWORD size, HANDLE hProcess, DWORD address )
{
DWORD wrote;
return WriteProcessMemory( hProcess, ( LPVOID ) address, buffer, size, &wrote );
}
int WriteInt32( LPCVOID buffer, HANDLE hProcess, DWORD address )
{
DWORD wrote;
return WriteProcessMemory( hProcess, ( LPVOID ) address, buffer, 4, &wrote );
}
// собственно раз(за-)морозка
int Freeze( HANDLE hProcess, bool freez )
{
DWORD flag;
UINT64 code = 0LL;
if ( freez ) {
flag = 0;
code = Freezed_Block;
}
else {
flag = 1;
code = Unfreezed_Block;
}
if ( !WriteInt32( &flag, hProcess, Unfreeze_flag ) )
return -1;
if ( !WriteMemBlock( &code, 6, hProcess, Unfreeze_function ) )
return -1;
return 0;
}
Последний раз редактировалось pw.lancer; 03.03.2016 в 00:33.
Причина: дополнение
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 00:01.
|
|