Перейти к содержанию
Pitronic

Вывод адресов из адреса по сигнатуре в таблицу

Рекомендуемые сообщения

Доброго времени суток форумчане. столкнулся с проблемой на писания теле порта. Дело в том что адреса начиная с самого адреса и вплоть до 12 уровня и дальше показываются как статистические а на самом деле меняются как перезапуске  игры, так и если просто с загрузке сохранения. Чтоб решить эту проблему я снял сигнатуру с самого указателя на адрес. вот будущий скрипт.

Спойлер

[ENABLE]
aobscan(_playr_coordinat_,8B * * 89 * * 89 * * 0F B6 * * 8B * 89 * * 8B * * 8B * FF * 8B * 83 * * 0F 84 * * * * 8B * * 8B * * 8B * * 8B * * 8B * * * * * 8B * * * 8B * * 83 * * * 8D * * * FF * 80 * * 74 * 8B * 8B * * 8D * * * * * * * 8B * FF * 8B * * 8B * 89 * * 89 * * 0F B6 * * 8B * * 6B * * 03 * 0F B6 * * * * * * 8D * * * * * * 8B)
alloc(newmem_playr_coordinat_,$1000)

label(code_playr_coordinat_)
label(return_playr_coordinat_)
label(_player_coordinates_)

registersymbol(_playr_coordinat_)


newmem_playr_coordinat_:
// здесь дописать
mov [_player_coordinates_],edx
code_playr_coordinat_:
mov eax,[edi+08]


mov [ebp-10],eax
jmp return_playr_coordinat_
_player_coordinates_:
 dd 0
_playr_coordinat_:
jmp newmem_playr_coordinat_
nop
return_playr_coordinat_:

registersymbol(_player_coordinates_)
[DISABLE]

_playr_coordinat_:
mov eax,[edi+08]
mov [ebp-10],eax

unregistersymbol(_playr_coordinat_)
unregistersymbol(_player_coordinates_)

dealloc(newmem_playr_coordinat_)

 

А вот сигнатура на поиск указателя  [ * * * * * 00 * 00 * 08 * 00 * 00 * 00 * * FF * 38 * * 00] регистр edx свободны. Необходим такой скрипт, найти адрес по сигнатуре и скопировать значение в регистр edx, скрипт вроде простой но я не знаю как и во всём интернете, ответа не нашёл. Дело в том что сигнатура не должна быть отдельным кодом а только использоваться для нахождения адреса, иначе скрипт будет включаться только когда будет произведён вход в саму игру, и не будет включаться если игру запустить, но не зайти на сохранённую игру или начать с начала. Буду благодарен всем кто откликнется, потому что искать указатели до бесконечности  уровней сложно. А еще второй вопрос, Как статистические адреса могут быть на самом деле динамичесими.

Изменено пользователем Pitronic
Исправление грамматических ошибок

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Забыл добавить необходимость этого варианта обосновано тем, что на всех уровнях указателя я не нашёл адреса который бы работал с одним адресом везде к инструкциям обращаются более 20 адресов. а адрес по сигнатуре всегда указывает на указатель адресов координатов игрока.

Изменено пользователем Pitronic
Исправление грамматических ошибок

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Pitronic сказал:

А вот сигнатура на поиск указателя

Не фига не понял вопрос, но он был очень интересный.

Ты же мне по моему задавал такой вопрос уже и ответ давал. Или он не работает ? Хотя тут вопрос такой, что не понятно :lol: что конкретно надо. 

newmem_playr_coordinat_:
mov edx,[edi+08]
mov ecx,[edx+xxxxxxxx]  // + сколько там ?
mov [],ecx  // координата...
mov ecx,[edx+xxxxxxxx]
mov [],ecx
mov ecx,[edx+xxxxxxxx]
mov [],ecx
code_playr_coordinat_:
mov eax,[edi+08]
mov [ebp-10],eax

Хотя от куда что и куда передается - это над телепата нанимать или экстрасенса, а это уже дополнительные расходы.

Ps: И сигнатура такой быть не может... или она у тебя разбита на 2 части, а начало в самом скрипте ?

* * * * * 00 * 00 * 08 * 00 * 00 * 00 * * FF * 38 * * 00

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, LIRW сказал:

Ты же мне по моему задавал такой вопрос уже и ответ давал

только тогда я не знал что к инструкции много адресов обращается, и в результате в таблице не верные координаты. а сигнатура выводит на сам указатель. В указателей всех уровней не один адрес а множества, проще обратиться к адресу с сигнатурой, чем искать указатель выше 12 уровня, фильтр сделать не получается во всех адресах в структуре значения меняються, ото можно проверить если открыть инструмент поиск совпадений, в конце не остаётся не одного адреса.

Изменено пользователем Pitronic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, LIRW сказал:

Или он не работает ?

Не работает, в верху я написал почему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, Pitronic сказал:

а сигнатура выводит на сам указатель.

* * * * * 00 * 00 * 08 * 00 * 00 * 00 * * FF * 38 * * 00

странная она какая то... Это +5 что ли... или просто первого байта нет. От +5 смысла нет эти пропуски делать. с 00 и начинал бы. Может кто не будь разберется, поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, LIRW сказал:

сигнатура такой быть не може

сигнатура плагином найдена первые 4 байта заменил на звёзды, так как там значение которое всегда меняется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, LIRW сказал:

или просто первого байта нет

пятый байт был звёздочкой а первые 4 байта сам заменил так как там значение которое меняется, потому что это не на инструкцию сигнатура а на сам адрес. именоо там значение

Изменено пользователем Pitronic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, LIRW сказал:

От +5 смысла нет эти пропуски делать

в edx надо записать первые 4 байта сигнатуры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

чтоб было понятно с первыми байтами я специално зашёл в игру и снял первые 4 байта с адреса

первый раз 20 CC 8A 01 в этой сигнатуре  [вероятное значение] - [18ACC20]
второй раз A0 2C AA 07 в этой сигнатуре  [вероятное значение] - [7AA2CA0]
третий раз A0 D0 A6 01   в этой сигнатуре  [вероятное значение] - [1A6D0A0[]

Изменено пользователем Pitronic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Женя вообще возможно адрес из сигнатуры в edx записать? Это реально?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, LIRW сказал:

От +5 смысла

первые 4 байта без плюсов, именно там значение, потому что адрес не с инструкции указателя а с самого указателя,

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Предпросмотр

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.