Хорошо, а получилось ли отыскать среди этих функций адрес для хука на вывод статусную строку?
Можно часть, которые точно не подойдут отбросить, а остальные перебрать.
Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Как создать плагин для HD модаХорошо, а получилось ли отыскать среди этих функций адрес для хука на вывод статусную строку?
Можно часть, которые точно не подойдут отбросить, а остальные перебрать. |
Re: Как создать плагин для HD модаХороший кандидат - OnMouseMove. Но этот метод может просто очищать статусную строку, когда курсор не над элементами с хинтом. Посмотрю чуть позже.
Можно ещё брейкпоинт на текстовый буфер поставить, если вывод в статусную строку идёт через него. * * * Нашёл. Попробуете по аналогии с предыдущим примером сделать? |
Re: Как создать плагин для HD модаПопробовал поставить хук по адресу 0x643C4C вот так:
После открытия окна с существами идет вылет. Но здесь я не уверен, что нужно использовать esi. Да и оригинальное сообщение из статусной строки должно получаться по идее иначе. Кстати, когда апгрейд стека существ возможен, то при наведении на кнопку выводится оригинальное сообщение "Upgrade Unit" или "Улучшить" (в русской версии). А вот когда кнопка неактивна (недостаточно ресурсов), то при наведении на кнопку апгрейда курсора мыши в статусной строке пусто, то есть в таком случае оригинальное сообщение не выводится (а вот в HotA выводится в любом случае не зависимо от состояния кнопки). Последний раз редактировалось Rolex 05 авг 2021, 08:56, всего редактировалось 2 раз(а).
|
Re: Как создать плагин для HD модаА Вы ставьте на 0x5F5320 (на картинке адрес указан).
Цитата: Здесь мы работаем через edi, а индекс - в eax. |
Re: Как создать плагин для HD модаА оригинальное сообщение статусной строки, получаем так же?
*(char**)(c->edi * 8 + 0x6A74C4) |
Re: Как создать плагин для HD модаВы можете посмотреть на инструкцию, подсвеченную красным? Где там esi и 0x6A74C4? Я же говорю: попробуйте сделать по аналогии, а не скопировать предыдущий код
|
Re: Как создать плагин для HD модаВроде, так:
Хотя на предыдущем скрине было: mov esi, adress[esi*8] Здесь же: mov edi, adress[eax*8] То есть там в обеих случаях esi, а здесь edi и eax. |
Re: Как создать плагин для HD модаДа, теперь оригинальную строку получаете правильно
Цитата: В команде mov a, b a - это приёмник, т.е. mov a, b <=> a = b; В квадратных скобках - индекс, а 0x6... - это адрес таблицы с хинтами. |
Re: Как создать плагин для HD модаПравда толку мало. test к оригинальному сообщению из статусной строки не добавляется.
|
Re: Как создать плагин для HD модаЭто потому, что индекс кнопки теперь не в edi, а в eax. А в edi - наша строка.
Цитата: А esi вообще на картинке нет. Ну, и не забудьте NO_EXEC_DEFAULT. Можно без адреса возврата: мы джампимся на следующую команду. Если что, нам нужно туда, куда ведёт стрелочка (адрес нижнего блока). |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1