[Информация] Оффсеты GUI - Zhyk.Ru Forums
Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация

Оффсеты GUI

-

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

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

Ответ
 
Опции темы Опции просмотра
Старый 13.06.2012, 19:43   #1
 Пехотинец
Аватар для dwa83
 
dwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небе
Регистрация: 21.03.2012
Сообщений: 82
Популярность: 727
Сказал(а) спасибо: 17
Поблагодарили 97 раз(а) в 52 сообщениях
 
По умолчанию Оффсеты GUI

[Значения могли измениться/сместиться]
Возможно кому-нибудь будет полезно. Оффсеты указаны для руофа, для других могут отличаться.

Структура GUI
Код:
GA+18+08
(GUI+...)
Код:
+8C - указатель на начало массива окон верхнего уровня(WIN)
+АС - указатель на начало массива окон нижнего уровня(WIN)
+74 - указатель на структуру активного окна(WinStruct)
Основные поля структуры элемента массива окон (WIN+...)
Код:
+0 NextWin(указатель на следующий элемент массива)
+8 WinStruct(указатель на структуру окна)
Основные поля структуры окна (WinStruct+...)
Код:
+4C  - WinName(указатель на строку-имя окна)
+90  - Visible(Видимое окно)
+98 - Win X Coord
+9C - Win Y Coord
+A0 - Win Width
+A4 - Win Height 
+E8 - CurrentControlStructPtr(указатель на cтруктуру активного контрола)
+1C8 - CtrlArray(указатель на начало массива контролов окна)
Структура элемента в массиве контролов
Код:
+4 - указатель на следующий контрол в массиве
+8 - указатель на структуру контрола (CtrlStruct)
Структура контрола (CtrlStruct+...)
Код:
+18+0   -  Ctrl_Name          (ascii string)
+1C+0    -  Ctrl_Command_Txt   (ascii string) - Команда контрола
+20+0    -  Ctrl_Sound_Path    (ascii string) - Звук, проигрываемый при клике по контролу
+68        - BGR-цвет текста(цвет EditText)(DWORD)
+74(?)     - Чекнутость переключателя типа RadioButton. 
+84        - Левый отступ текста в пикселях от границы окна.
+88        - Верхний отступ текста в пикселях от границы окна.
+B8+0    -  Caption            (unicode string)
+BC+0    - Description (unicode string) полное описание предметов, скиллов, и тд, текст вплывающего описания любого контрола
+121      -  Checked/Active  (bool)
+134      - Верхний отступ текста в пикселях от границы контрола.
+13C      - ItemIndex (номер выделенной строчки в листбоксе, отсчёт от нуля)
+144      - ScrollBarPosition(Значения от 0 до ScrolBarMaxPosition)
+148      - ScrolBarMaxPosition
+188      -  EditTextLen(DWORD) (ограничивает передвижение курсора но не отрисовку текста)
+18С      - Положение курсора в тексте EditText
+13FC+0 -  EditText          (unicode string) - Редактируемый текст в контроле типа Edit(поле ввода логина, пароля, строки чата)
Отдельное спасибо krukovis, за разьяснение ключевых оффсетов.

Некоторые замечания:
1)Прописав по оффсету +E8 - CurrentControlPointer(указатель на активный контрол) адрес нужного нам контрола, мы сделаем его активным, например поле ввода для логина/пароля. Далее ввод символов будет происходить именно в нём.
2)Прописав по оффсету +13FC(если контрол подразумевает ввод символов) адрес заготовленной нами строки текста, этот текст мгновенно появится в поле ввода. Так же работает со оффсетом +B8 (указатель на строку Caption), этим мы будем менять надписи на Button, Label и прочих.
3)Указатель на строку +1C+0 - Ctrl_Command_Txt, а так же указатель WinStruct на структуру окна, в котором этот контрол находится, мы можем передать в функцию работы с GUI, этим мы програмно будем например, жать на кнопки.

В ЭТОЙ теме выложена функция, с помощью которой можно программно выполнать команды GUI, используя оффсеты
+8 WinStruct(указатель на структуру окна) Адрес начала структуры окна
+1C - указатель на Ctrl_Command_Txt (ascii string) - Адрес текстовой команды контрола

Дополнительно:
тык|тык
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝

Последний раз редактировалось dwa83; 10.06.2014 в 18:10. Причина: дополнение
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
388672 (27.11.2018), =[Rush]= (18.01.2017), wajskopf (16.02.2013)
Старый 16.06.2012, 09:44   #2
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 323 раз(а) в 103 сообщениях
 
По умолчанию Re: Оффсеты GUI

Цитата:
Сообщение от dwa83Посмотреть сообщение
Основные поля структуры окна (WinStruct+...)
Код:
+4C  - WinName(указатель на строку-имя окна)
+90  - Visible(Видимое окно)
+1C8 - CtrlArray(указатель на начало массива контролов окна)

Из серии "до кучи":

+98 - Win X Coord
+9c - Win Y Coord
+a0 - Win Width
+a4 - Win Height
________________
--------------------------------------------
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 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Старый 21.06.2012, 22:09   #3
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 323 раз(а) в 103 сообщениях
 
По умолчанию Re: Оффсеты GUI

Переделывал релогин и вспомнил как я раньше фокус менял, чтобы логин и пароль вписывать.
Я записывал по этому смещению (раньше оно было +90) указатель на контрол и туда переходил фокус.
Теперь оно тут:
WinStruct+0x0e8 - указатель на контрол на котором фокус - CurrentControl.
________________
--------------------------------------------
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; 21.06.2012 в 22:15.
  Ответить с цитированием
Старый 29.06.2012, 21:10   #4
 Пехотинец
Аватар для ToRcH2565
 
ToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известенToRcH2565 скоро будет известен
Регистрация: 02.08.2009
Сообщений: 57
Популярность: 417
Сказал(а) спасибо: 12
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Оффсеты GUI

Может кто подсказать как получить текст из листбокса?)
  Ответить с цитированием
Старый 30.06.2012, 02:20   #5
 Пехотинец
Аватар для dwa83
 
dwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небе
Регистрация: 21.03.2012
Сообщений: 82
Популярность: 727
Сказал(а) спасибо: 17
Поблагодарили 97 раз(а) в 52 сообщениях
 
По умолчанию Re: Оффсеты GUI

Цитата:
Сообщение от ToRcH2565Посмотреть сообщение
Может кто подсказать как получить текст из листбокса?)

Нужно ковырять дальше структуру контрола. Мне кажется давольно сложным это занятие, так как листбоксы и их оффсеты отличаются в зависимости от вида листбокса. Например, для листбокса ближайших игроков и листбокса квестов оффсет положения вертикального бегунка отличаются, так же может быть и с указателем на элементы списка. Самый интересный оффсет - это тип контрола, где он - хз. Хотя для некоторых листбоксов, например как выбор сервера, выделенный элемент можно считать из поля Caption этого контрола(со слов другого участника форума), а сделать его выделенным можно по оффсету +13C - ItemIndex.
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝
  Ответить с цитированием
Старый 05.11.2012, 20:03   #6
 Разведчик
Аватар для AHTOLLlKA
 
AHTOLLlKA никому не известный тип
Регистрация: 08.10.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Оффсеты GUI

Подскажите куда копать чтоб получить данные из listboxa ??
+13C - ItemIndex (номер выделенной строчки в листбоксе, отсчёт от нуля)
выдает индекс нормально, данные доложны быть в структуре самого окна или нужно искать смещение от +13С
если кто в теме поделитесь
  Ответить с цитированием
Старый 16.11.2012, 13:51   #7
 Пехотинец
Аватар для dwa83
 
dwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небе
Регистрация: 21.03.2012
Сообщений: 82
Популярность: 727
Сказал(а) спасибо: 17
Поблагодарили 97 раз(а) в 52 сообщениях
 
По умолчанию Re: Оффсеты GUI

Цитата:
Сообщение от AHTOLLlKAПосмотреть сообщение
или нужно искать смещение от +13С

Могу заверить что точно не от него
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝
  Ответить с цитированием
Старый 16.02.2013, 10:02   #8
 Разведчик
Аватар для wajskopf
 
wajskopf никому не известный тип
Регистрация: 15.08.2011
Сообщений: 25
Популярность: 10
Сказал(а) спасибо: 8
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Оффсеты GUI

Нашел кто-нибудь решение по листбоксу? Хочется аукцион поковырять...
кстати нашел кое-что на elitepvpers.com ...

Полная строка из листбокса аукциона
GA+0x18+0x8+0x8c+0x8+0x208+0x168+ I*0x800 +0x0, wchar[CharMax]
Здесь если это первый в списке предмет, то I*0x800 принимает значение 0х0. а далее, соответственно, 0х800, 0х1000 и т.д.

Описание продаваемого итема
GA+0x18+0x8+0x8c+0x8+0x208+0x168+ I*0x800 + 0x5C+0x0, wchar[CharMax]
Вот здесь проблемка есть. Если речь идет о первом предмете то смещение:
GA+0x18+0x8+0x8c+0x8+0x208+0x168 + 0x5C+0x0, wchar[CharMax] дает корректное описание
а вот в последующем I*0x800 уже почему-то не работает. Получается как-то так:
GA+0x18+0x8+0x8c+0x8+0x208+0x168+ I*???? + 0x5C+0x0, wchar[CharMax]
Вот что вместо вопросов надо вставить?

Кое-что понял...
вместо I*???? + 0x5C надо вставить 0x5C+0х800 = 0х85с

таким образом, описание второго предмета в списке можно прочитать по адресу
GA+0x18+0x8+0x8c+0x8+0x208+0x168+ 0х85с +0x0, wchar[CharMax]

Последний раз редактировалось wajskopf; 16.02.2013 в 20:48.
  Ответить с цитированием
Старый 01.10.2013, 11:03   #9
 Пехотинец
Аватар для tianddu
 
tianddu на правильном путиtianddu на правильном пути
Регистрация: 20.08.2009
Сообщений: 90
Популярность: 173
Сказал(а) спасибо: 14
Поблагодарили 26 раз(а) в 8 сообщениях
 
По умолчанию Re: Оффсеты GUI

Цитата:
Сообщение от dwa83Посмотреть сообщение
+18+0 - Ctrl_Name (ascii string)
+1C+0 - Ctrl_Command_Txt (ascii string) - Команда контрола
+20+0 - Ctrl_Sound_Path (ascii string) - Звук, проигрываемый при клике по контролу
+68 - BGR-цвет текста(цвет EditText)(DWORD)
+74(?) - Чекнутость переключателя типа RadioButton.
+84 - Левый отступ текста в пикселях от границы окна.
+88 - Верхний отступ текста в пикселях от границы окна.
+B8+0 - Caption (unicode string)
+BC+0 - Description (unicode string) полное описание предметов, скиллов, и тд, текст вплывающего описания любого контрола
+121 - Checked/Active (bool)
+134 - Верхний отступ текста в пикселях от границы контрола.
+13C - ItemIndex (номер выделенной строчки в листбоксе, отсчёт от нуля)
+144 - ScrollBarPosition(Значения от 0 до ScrolBarMaxPosition)
+148 - ScrolBarMaxPosition
+188 - EditTextLen(DWORD) (ограничивает передвижение курсора но не отрисовку текста)
+18С - Положение курсора в тексте EditText
+13FC+0 - EditText (unicode string) - Редактируемый текст в контроле типа Edit(поле ввода логина, пароля, строки чата

возможно +7A байт отвечающий за доступность кнопки.
  Ответить с цитированием
Старый 08.04.2014, 14:24   #10
 Разведчик
Аватар для prizrak3003
 
prizrak3003 никому не известный тип
Регистрация: 04.11.2010
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Оффсеты GUI

Подскажите пожалуйста, как корректно осуществить заполнение логина/пароля, используя оффсет +13FC+0 - EditText (unicode string)
Собираю цепочку в CheatEngine, пытаюсь ввести логин. Он вводится, но заполняются сразу несколько полей
+B8+0 - Caption, +BC+0 - Description , +13FC+0 - EditText, а также тоже самое вводится и в пароль.
Если начать с пароля, то наоборот.

Проблема в том, что
если сначала в клиенте заполнить руками поля логина и пароля произвольными символами , а затем запустить "автологин" что бы тот ввел логин и пароль, то заполняются исключительно поля логина и пароля.
если в клиенте руками не вводить ничего и запустить "автологин", то когда "автологин" начинает заполнять поле логина, то заполняются логин, пароль. описание к логину, описание к паролю, заголовок логина, заголовок пароля и еще другие поля.
То же самое происходит если это делать в CheatEngine не испльзуя "автологин".

Последовательность действий:
1. делаю активным структуру где содержится контрол ввода логина
2. делаю активным контрол ввода логина
3. записываю данные
Каких действий не хватает.

P.S. Спасибо.

Последний раз редактировалось prizrak3003; 09.04.2014 в 09:34. Причина: дополнение о проблеме
  Ответить с цитированием
Старый 08.04.2014, 15:58   #11
 Пехотинец
Аватар для Nek1t
 
Nek1t на правильном путиNek1t на правильном пути
Регистрация: 31.08.2010
Сообщений: 64
Популярность: 129
Сказал(а) спасибо: 30
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: Оффсеты GUI

Цитата:
Сообщение от prizrak3003Посмотреть сообщение
Подскажите пожалуйста, как корректно осуществить заполнение логина/пароля, используя оффсет +13FC+0 - EditText (unicode string)
Собираю цепочку в CheatEngine, пытаюсь ввести логин. Он вводится, но заполняются сразу несколько полей
+B8+0 - Caption, +BC+0 - Description , +13FC+0 - EditText, а также тоже самое вводится и в пароль.
Если начать с пароля, то наоборот.

Вначале нужно выделить память, потом туда записать свой текст, а затем записать указатель на эту память по нужному адресу. В вашем случае писать по смещению +13FC

В коде это выглядить так:
Код:
int text_address = WinApi.VirtualAllocEx(handle, 0, 2500, 0x1000, 0x04);
memory.WriteString_Unicode(text_address, "login");
memory.WriteInt32(control_ptr + 0x13FC, text_address);
________________
Спасибо.
  Ответить с цитированием
Старый 09.04.2014, 11:26   #12
 Разведчик
Аватар для prizrak3003
 
prizrak3003 никому не известный тип
Регистрация: 04.11.2010
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Оффсеты GUI

Не получается корректно записать +13FC+0 - EditText
Использую только CheatEngine 6.3

Содержимое ячеек клиента после запуска
URL=http://www.radikal.ru][Ссылки могут видеть только зарегистрированные пользователи. ][/URL]

Вводим с помощью CheatEngine 6.3 значение в EditText логина
Структура видима, активна, активный контрол ввода логина
URL=http://www.radikal.ru][Ссылки могут видеть только зарегистрированные пользователи. ][/URL]

Содержимое ячеек после ввода логина с помощью CheatEngine 6.3 в EditText
URL=http://www.radikal.ru][Ссылки могут видеть только зарегистрированные пользователи. ][/URL]

Содержимое ячеек клиента, после ввода логина традиционным способом
URL=http://www.radikal.ru][Ссылки могут видеть только зарегистрированные пользователи. ][/URL]

Как правильно нужно, подскажите пожалуйста.

P.S. Спасибо.

Последний раз редактировалось prizrak3003; 09.04.2014 в 16:58.
  Ответить с цитированием
Старый 01.05.2014, 08:12   #13
 Разведчик
Аватар для FriendsKenny
 
FriendsKenny на правильном пути
Регистрация: 13.07.2011
Сообщений: 22
Популярность: 20
Сказал(а) спасибо: 16
Поблагодарили 7 раз(а) в 6 сообщениях
Отправить сообщение для FriendsKenny с помощью Skype™
 
По умолчанию Re: Оффсеты GUI

Чем отличаются окна верхнего уровня от окон нижнего уровня?
  Ответить с цитированием
Старый 01.05.2014, 21:27   #14
 Пехотинец
Аватар для dwa83
 
dwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небеdwa83 лучик света в грозовом небе
Регистрация: 21.03.2012
Сообщений: 82
Популярность: 727
Сказал(а) спасибо: 17
Поблагодарили 97 раз(а) в 52 сообщениях
 
По умолчанию Re: Оффсеты GUI

Цитата:
Чем отличаются окна верхнего уровня от окон нижнего уровня?

Если просто, то окна верхнего уровня - это окна типа "окно игры", "окно выбора перса", "окно логина", а нижнего уровня - это различные мелкие окна типа "окно инвентаря", "окно чата" и т.п.(или наоборот), но суть такова.
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝
  Ответить с цитированием
Старый 17.07.2014, 00:27   #15
 Разведчик
Аватар для ukurenijboter
 
ukurenijboter скоро будет известенukurenijboter скоро будет известенukurenijboter скоро будет известенukurenijboter скоро будет известенukurenijboter скоро будет известен
Регистрация: 19.08.2011
Сообщений: 25
Популярность: 465
Сказал(а) спасибо: 2
Поблагодарили 17 раз(а) в 9 сообщениях
 
По умолчанию Re: Оффсеты GUI

Кто-нибудь уже сталкивался с проблемой: при попытке "вытащить" невидимое окно путем замены адреса (+74 - указатель на структуру активного окна(WinStruct)) на адрес нужного окна и сделать видимым при помощи установки 1 по адресу +90, игра вылетает. Кто-то эту проблему как-то смог решить?
________________
ICQ 627195843
Skype: ScriptoZ
ЗАПРОС АВТОРИЗАЦИИ=ИГНОР
  Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оффсеты WOLF9595 Общение разработчиков 23 12.06.2012 03:26
оффсеты саня питерский Вопросы и ответы, обсуждения 3 25.01.2012 07:29
Оффсеты wzhik Общение и обсуждение CrossFire 0 19.02.2011 13:43

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

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

Пишите нам: forum@zhyk.ru
Copyright © 2019 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net