Подытоживая: как тащить так же структуру из пакета 0x22? Какая структура нахрен? Там несколько сотен пакетов GS. И мои ответы с соседней темы Все упакованные в 0x00 пакеты обрабатываются ядром. "Что хочет клиент мать его" - это хороший вопрос, для ответа на него нужно потратить достаточно времени, исследуя все пакеты. В клиенте всё асинхронное, да и названий функций нет. Могу посоветовать покопаться в ядре, там хоть что-то есть В ядре есть названия функций и их читабельный текст, из которого можно вытащить всю информацию Все структуры есть в отладочной информации, но сопоставление opcode <-> структура уже наугад идёт. Смотри gplayer_controller::CommandHandler, там switch по опкоду, а логику уже из кода вытащить можно.
В самом gs. Ну а там тоже проблема я думаю будет с названием функций и не вытащить опкоды пакетов. Получается замкнутый круг и только приходится полагаться только на себя немножко магии и везения. В ядре есть названия функций и их читабельный текст, из которого можно вытащить всю информацию
Все упакованные в 0x00 пакеты обрабатываются ядром. "Что хочет клиент мать его" - это хороший вопрос, для ответа на него нужно потратить достаточно времени, исследуя все пакеты. В клиенте всё асинхронное, да и названий функций нет. Могу посоветовать покопаться в ядре, там хоть что-то есть
Слушай я копался копался и никак не могу найти это значение 0x2, ты можешь показать пример где оно хранится. Ищем в IDA функцию Я имел ввиду, что искать надо в списке функций, а не в бинарных данных. Подробно: 1. Установить IDA Pro - можно даже без Hex-Rays, любую стабильную версию 2. Открыть в ней gdeliveryd и дождаться полного анализа - просто протыкать "Да", "Да", "Ок" и прочее 3. Полный анализ завершится, когда в левом нижнем углу программы перестанут мелькать цифры и останется надпись AU: idle 4. Слева, в окне Functions window нажать Alt-T и ввести GNET::KeyExchange::KeyExchange, нажать ОК. Если такого окна нет, нажать View/Open subviews/Functions. 5. Нажать дважды на найденное значение и увидеть код [IMG] 6.1. Опкод пакета - число, являющееся аргументом первого push. 6.2. Вместо этого можно кликнуть F5 при наличии hex-rays и увидеть это же число в аргументе функции [IMG]
/offtop To Unix: поставь TeamViewer или что-нибудь для удаленного управления компьютером - очень удобно и бесплатно (при наличии купленного pwadmin'а)
Ошибка означает, что сервер не справляется с нагрузкой - слабое железо. На обработку каждого объекта в ядре отводится около 5 сек, после чего мир падает. Но для нормальной работы нужна обработка за <0.1 секунды. Если такие баги редкие и единичные фризы не критичны, можно увеличить максимальное время обработки. P.S. Если ядро модифицировано, то причиной также может быть кривой разработчик.
Была такая же проблема, JoLan верно причины описал. Сначала думал, что система багает.
// Пока писал, Алекс уже выдал названия enum'ов. Но раз уж написал сообщение.. Через gdb - никак. Опкоды вшиты в конструкторы соответствующих классов. Алгоритм получения опкода по названию пакета: 1. Берем название пакета (пусть KeyExchange) 2. Ищем в IDA функцию GNET::KeyExchange::KeyExchange 3. Смотрим второй аргумент функции GNET::Рrotocol::Рrotocol(..., 0x2) 4. PROFIT
Фактически, если оставлять полоску процентов, а "титулы" давать каждые 10 уровней, то как это выглядеть будет? Игрок 10 раз набивает по 100% без какого-либо эффекта, а потом бац - и сменилось? Бред. Даже если так, что выводить вместо числа надпись - это команд 10 асм кода, но нужны знания, конечно.
Редактируем оффсеты в скилле в GNET::Skill(ид скилла)Stub::State1::~State1 А причем тут деструктор? Или это ошибки копипаста и это просто обозначение, что за мы скилл редактируем? Если заменить Calculate на BlessMe, то может потеряться вся логика скилла (SetPerform внутри Calculate), хотя это конкретно от скилла зависит
Каждый сам оценивает, сколько стоит его репутация. Видимо, у sysdev'а её было немного
Вы бы хоть видеопруфы попросили перед покупкой :D
а первых двух фич в шаре точно нет Фичи: 1. При усиленном выходе(или вылете) из игры персонаж остается в сети некоторое время(указанное в конфиге). Можно оставить кота торговать, персонажа медитировать и так далее. 2. Если пл в пати вышел(вылетел) из игры, то его сопартийцы могут получить ПЛ написав в чат группы специальную команду
Не обращай внимания на злостные комментарии завистников. По теме: ТС - отличный программист и шарит в своём деле. Удачи в продаже :) По поводу критики: логгирование расшифрованного трафика никто не обеспечивал раньше, светофоры бывают разные, а первых двух фич в шаре точно нет
Заточка в 1 клик в подписи
на фениксе еще в 2013 простые игроки сделали патч с спид стартом))) Игроки более прошарены в читах, чем админы, да и тогда актуальную информацию было проще достать, нежели сейчас рыть архивы
Там помимо отличий в адресе есть и отличия в коде, поэтому копипаст тут не пройдёт. Хотя знаю одного человека, который где-то неделю докапывался до истины и добился своего
Видны только себе? Как реагирует на другие значки (пати, мечи)? Активация предмета - при перезаходе сохраняется?
я за таргет, имел ввиду что сдвиг же будет, если дописать иф А, ну if там банально не поместится. Нужно в другую память прыгать. Без особых навыков вряд ли получится
окай, изменение адресов последующих функций и значений единственная проблема с которой придется столкнуться? Для дальности скилла - да
Имена участников (разделяйте запятой).