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

Определить адрес подгружаемого модуля.

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

Как отследить адрес "client.dll" ?
Я так понимаю в игре используется ASLR и если получить адреса всех подключенных модулей к игре, то "client.dll" находится в адресном пространстве самой игры, а судя по скрину из CE, то "client.dll" находится далеко за адресным пространством игры. 

CE ведь после перезагрузки берет откуда-то корректный адрес и выдаёт правильное игровое значение.
Возможно можно создать костыль, путём создания тренера и потом из своего софта доставать их него этот адрес?

 

zRL6OSn_vQI.jpg

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


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

"client.dll" находится далеко за адресным пространством игры. 

Это с чего ты взял? 

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


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

Ну если на плюсах, то gemodulehandlea("client.dll");

В СЕ есть отдельный пункт для регионов в контекстном меню 

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


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

Это с чего ты взял?

Ну потому что  можно узнать начало адресов самой игры, далее взглянуть на адрес  "client.dll". 

Адрес "client.dll" из CE и  "client.dll" полученный из процесса игры абсолютно разные.

 

1 час назад, roma912 сказал:

Ну если на плюсах, то gemodulehandlea("client.dll");

В СЕ есть отдельный пункт для регионов в контекстном меню 

Совсем другой адрес получаем.

 

Вот наглядный пример

 

Game address:                           7FF6BC7A0000
Address client.dll from game: 7FFDEFAD0000
Address client.dll from CE:      19B1D61308

 

2 часа назад, Xipho сказал:

Это с чего ты взял? 

 

Она за адресным пространством, но она подключается к игре.

Посмотрев адреса всех модулей я нашёл ещё 4 модуля, которые очень рядом с искомым модулем, но искомый по адресу далёкому от этих 4х.

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


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

Не проще написать скрипт со своим статическим смещением для динамического адреса.

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


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

7FF6BC7A0000 - адрес игры

7FFDEFAD0000 - адрес, по которому библиотека была загружена в игру (в пределах адресного пространства игры)

19B1D61308 - базовый адрес самой длл

Или я чего-то не понимаю.

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


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

7FF6BC7A0000 - адрес игры

7FFDEFAD0000 - адрес, по которому библиотека была загружена в игру (в пределах адресного пространства игры)

19B1D61308 - базовый адрес самой длл

Или я чего-то не понимаю.

 

Ну если под понятием "базовый адрес" подразумевается адрес, который выдаёт CE, то да

5 часов назад, krocki сказал:

Не проще написать скрипт со своим статическим смещением для динамического адреса.

 

Если имеется ввиду смещение от адреса игры до dll, то даже смещение всегда разное.

Даже модули, которые подключаются к игре и находятся почти рядом с искомым модулем, то даже от них смешение всегда разное. 

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

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


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

Если это что-то даст, то какая-то закономерность адреса имеется.

Вот последние 5 адресов:

 

28D64F25890
28D64F25890
213ECECD890
14DF8495890
23E68485890

 

Ну и следовательно от игры смещение тоже постоянно с одинаковыми последними 3 символами.

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

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


Ссылка на сообщение
Поделиться на другие сайты
В 18.08.2019 в 16:27, nRaiver сказал:

а судя по скрину из CE, то "client.dll" находится далеко за адресным пространством игры. 

 

Может для начала стоит изучить основы и прочитать про динамическое выделение памяти? ASLR не имеет никакого отношения к тому что на скрине и не понятно, зачем надо было его приплетать, а на скрине глобальный адрес указывающий на структуру, указатель на которую выделяется в куче, а как происходит выделение?

  1. Функция просматривает список занятых/свободных областей памяти, размещённых в куче, в поисках свободной области подходящего размера;
  2. В случае нехватки свободной памяти может запросить дополнительную память у ОС;
  3. Добавляет найденную область в список занятых областей (или помечает область как занятую);
  4. Возвращает указатель на начало области памяти;
  5. Записывает данные по этому указателю.

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


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

 

Может для начала стоит изучить основы и прочитать про динамическое выделение памяти? ASLR не имеет никакого отношения к тому что на скрине и не понятно, зачем надо было его приплетать, а на скрине глобальный адрес указывающий на структуру, указатель на которую выделяется в куче, а как происходит выделение?

  1. Функция просматривает список занятых/свободных областей памяти, размещённых в куче, в поисках свободной области подходящего размера;
  2. В случае нехватки свободной памяти может запросить дополнительную память у ОС;
  3. Добавляет найденную область в список занятых областей (или помечает область как занятую);
  4. Возвращает указатель на начало области памяти;
  5. Записывает данные по этому указателю.

 

Я видимо слишком туп что бы понять, почему из CE модуль по одному адресу, а этот же модуль, адрес которого получен из списка модулей игры разнятся ?

Или в значении по адресу модуля из игры хранится адрес модуля из CE ?

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

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


Ссылка на сообщение
Поделиться на другие сайты
В данном топике никто не постил уже 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 эмодзи.

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

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

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

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

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

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

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