(16.09.2010 18:30)Sav Wrote: [ -> ]Quote:Ну и параллельно смотрим код в HexRays'e
Что такое Hex Rays?
Это страшная вещь

. Это Шестнадцатиричные Лучи ))) разрушающие оболочку головного мозга.
А вообще гугл в помощь. Это дополнение к ИДА с С-подобным синтаксисом.
легче всего можно узнать статичность адреса, если исследовать секцию памяти, куда указывает адрес. секции можно смотреть в артмани и олли.
Quote:Что такое Hex Rays?
Плагин к Иде, декомпилятор.
Спасибо, с динамическими и статическими адресами вроде разобрался.
NB: по адресу 0x67D86C+40*hero_class находится название класса героя.
Подскажите, пожалуйста, как выйти на адрес, отлавливающий движение мыши по карте... Не координаты x/y/l (их я уже вроде нашел), а при любом движении.
Блин, так и не выходит. Вот есть у меня адрес "71112441(dec)", нахожу два указателя - 42149612(dec) и 42149612(dec). Ни один из них не работает, а вот при обращении по прямой все отлично.
GetCursorPos и ScreenToClient
Добавлено:
Чтоб не было лишних вопросов - дополню. Вероятнее всего оконная процедура героев реагирует на событие WM_MOUSEMOVE (или чет типа того. Лень лезть в MSDN). Т.е. при изменении положения мыши хоть на пиксель вызывается участок кода ответственный за обработку данного события и вызываются вышеуказанные процедуры. Хочешь иметь координаты мыши перехватывай процедуры. Координаты хранятся в локальных переменных, поэтому не найдешь ты адреса никакого.
а еще лучше подключить длл и поставить винапишный хук на сообщения мыши. это если надо движения мыши перехватывать.
Надо отображать в подсказке координаты (как по ПКМ, так и в строке).
Координаты мыши или координаты на карте?
И да, если надо найти функцию вывода хинтов - то ставь бряк на чтение указателя на какую-нить хинтовую строку и лови через него.
Координаты на карте. Спасибо, завтра попробую.
Quote:Координаты на карте. Спасибо, завтра попробую.
Quote:!!UN:C6916632/4/9; (698A18: 09)
включает указание координат в подсказке для почвы/объектов.
я это..энтузиазм не убиваю?
feanor, да нет, скорее, наоборот!

Спасибо!
Подскажите, пожалуйста, каков код в Virtual Pascal для того, чтобы сохранить в функции 90005 (которая является ловушкой для одного адреса) x1=[значение адреса A], а x2=[значение адреса B]? Дабы можно было выполнять, например, вот такое:
!?FU90005;
!!IF:M^%X1 %X2^;
Ассемблер или паскаль?
MOV EAX,DWORD PTR DS:[address A]
MOV DWORD PTR DS:[91DA38],EAX //x1
MOV EAX,DWORD PTR DS:[address B]
MOV DWORD PTR DS:[91DA3C],EAX //x2
как-то так в общем, ассемблер я благополучно позабыл
