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

Несколько вопросов по читерству

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 04.07.2016, 19:19   #1
 Разведчик
Аватар для Arsen0208
 
Arsen0208 никому не известный тип
Регистрация: 24.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Несколько вопросов по читерству

Всем привет. Вот уже месяца 2 как изучаю ботоводство и написание ботов. Сегодня наконец то дописал полностью рабочую АвтоЯшму для всех запущенных окон. И вот возникли некоторые вопросы во время написания кода для этой плюшки (да и для остальных недоделанных).

Так как я учусь только на собственных ошибках то в клиенте вылетают и фатальные ошибки и "Служба недоступна" и прочие подобные бяки. В основном из-за ошибок в отправке пакетов (кривые пакеты отправляю).

Вопрос первый: Администрация игры вообще это каким либо образом "палит"? К ним приходит отчет о неправильных пакетах пришедших на сервер? Или всем пофиг?

Когда писал Яшму то из-за того что я, для взятия/сдачи квеста, использовал только пакеты, окно диалога с НПСом (которое я тоже открывал пакетом) не закрывалось само и после того как квест был принят оно становилось неактивным и я не мог его закрыть симуляцией ECS в клиент (ага, для закрытия диалога я перевожу фокус на клиент и симулирую нажатие клавиши). Выходом стала повторная отправка пакета "Диалог с НПС" сразу после взятия оного. Окно становилось активным и закрывалось симуляцией.

Вопрос второй: существует ли связь между инжектами, пакетами и GUI?
Или вся троица работает параллельно? То есть опять таки видит ли сервер что на момент отправки пакета на открытие диалога в GUI он уже был открыт(диалог с НПС)?
P.S. тут могу нести бред ибо не очень понимаю вообще суть GUI хоть и пытался вникнуть в соседние темки.

И собственно вопрос о самом GUI: Что есть "контрол"? Как к ним обращаться? Или у каждого окна как и у окна ПВ есть свои свойства?
Есть ли у них handle? И если да, то я могу получив этот handle использовать функции WinApi для активации и прочего?


P.S. Очень интересуют ответы на эти вопросы, в гугле пытался найти но безуспешно.
P.P.S. Может я еще потом добавлю вопросов но они вряд ли будут менее бредовыми чем эти.
  Ответить с цитированием
Старый 05.07.2016, 14:12   #2
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Несколько вопросов по читерству

Цитата:
Вопрос первый: Администрация игры вообще это каким либо образом "палит"? К ним приходит отчет о неправильных пакетах пришедших на сервер? Или всем пофиг?

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

Цитата:
Вопрос второй: существует ли связь между инжектами, пакетами и GUI?
Или вся троица работает параллельно? То есть опять таки видит ли сервер что на момент отправки пакета на открытие диалога в GUI он уже был открыт(диалог с НПС)?

Инжекты - это исполнение кода в чужом процессе, приводящее к вызову определенных функций.
Пакеты - это частный случай инжекта - вызывается функция отправки пакета.
О GUI ниже.
Сервер не знает ничего об интерфейсе, так как это лишь рисунок, который клиент генерирует по данным, полученным с сервера, и некоторой локальной информации.

Цитата:
И собственно вопрос о самом GUI: Что есть "контрол"? Как к ним обращаться? Или у каждого окна как и у окна ПВ есть свои свойства?
Есть ли у них handle? И если да, то я могу получив этот handle использовать функции WinApi для активации и прочего?

GUI - графический интерфейс - это набор структур кнопок/фреймов/диалогов/чекбоксов и т.д., которые и называются контролами. GUI имеет как минимум свой обработчик событий и рендерер (отрисовщик). Грубо говоря, можно изменить состояние чекбокса с "выкл" на "вкл", а рендерер на следующий кадр узнает это и отрисует нажатый чекбокс. Каждый элемент, в зависимости от типа (кнопка/скролл/editbox) имеет свои свойства. Например, кнопка может быть нажатой или отжатой, у скролла есть текущая позиция относительно нулевого значения, у editbox'а есть какой-то текст и может быть свойство read-only.
GUI система специфична для игрового движка, на котором написано PW. Конечно, к WinApi она никакого отношения не имеет. Чтобы использовать GUI, нужно в первую очередь знать структуры контролов и адреса функций для инжекта.
Зачем нужны функции? Пусть стоит задача "вбить логин и пароль в соответствующие EditBox'ы".
Вариант 1: явно вбить текст в конкретное свойство требуемый текст и радоваться жизни.
Вариант 2: найти функцию AUIEditBox::SetText и вызывать её с двумя параметрами: ecx = указатель на контрол и текст 1-м аргументом.
Второй вариант лучше. Почему? Потому что внутри этой функции совершается множество других действий, которые нужны, чтобы изменение текста контрола было правильно обработано.

Я советую разобраться с пакетами и инжектами (assembler мастхэв), а потом заниматься GUI'ем. Еще для GUI пригодится знание работы виртуальных функций в C++. Если он очень уж нужен, можно бездумно пользоваться цепочками оффсетов, которые есть в соседних темках, ничего страшного в этом нет.
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 07.07.2016, 06:50   #3
 Сержант
Аватар для pw.assistant
 
pw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауру
Регистрация: 16.02.2012
Сообщений: 105
Популярность: 651
Сказал(а) спасибо: 19
Поблагодарили 39 раз(а) в 31 сообщениях
 
По умолчанию Re: Несколько вопросов по читерству

Собственно обмен между клиентом и сервером ведется с помощью пакетов. Так что любые не интерфейсные действия в конце концов приводят к пакетам.

Инжекты, как уже написали выше - это исполнение своего кода в чужом процессе. Они не обязательно могут приводить к отсылке пакетов или вызывать функции клиента, но обычно используются для этого.

GUI (Graphic User Interface), как правильно написали выше - графический интерфейс состоящий из окон и элементов (контролов) этих окон.
________________
backup - акт проявления трусости
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько вопросов. chelseaclub Свободное обсуждение 3 07.04.2012 10:24
Несколько вопросов. Wadik_111 Общение и обсуждение Perfect World 3 21.03.2011 18:34
[Помогите!] Несколько вопросов Sm0ky Lineage 2 4 14.03.2011 11:14
Несколько вопросов IIABEJI Вопросы и ответы, обсуждения 2 25.12.2009 15:51

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

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

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