|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.08.2014, 22:01 | #11 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
физический адрес(вы его называете абсолютным), всегда разнится, да и смысла в нем для вас нету. а виртуальный адрес(вы его называли относительным), у каждого процесса свой. но по сути, с помощью пары <Process ID>:<Address> мы можем попасть в любой адрес любого процесса. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
26.08.2014, 22:21 | #12 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Цитата:
С этим никаких проблем, если конечно нет security ограничений. |
|
27.08.2014, 00:09 | #13 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
в некоторм смысле адреса относительны.
логический адрес (значение указателя) это индекс в таблицу логических сегментов (данные, код, константы, стек) и смещение относительно базового адреса сегмента. базовый адрес сегмента это индекс в таблицу трансляции страниц памяти, ну в таблице трансляции страниц лежит индекс страницы памяти (физический адрес). все это управляется менагером памяти проца и в некоторой степени системным манагером памяти. работать с физическими адресами напрямую не даст ни система ни проц. да, манагер памяти проца предоставляет возможность настройки параметров доступа для логических сегментов и физических страниц. системный манагер использует фичи манагера проца для изоляции програм от системы и друг друга. Последний раз редактировалось f.hump; 27.08.2014 в 00:27. |
27.08.2014, 09:17 | #14 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
А я всегда думал что адреса абсолютные. Теперь понятно почему при каждом запуске показывает один и тот же адрес. Интересно, при запуске программы на разных машинах наверно то же адреса будут одинаковы или я не прав?
|
27.08.2014, 10:32 | #15 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Цитата:
Начиная с Vista процесс может быть загружен на разные начальные виртуальные адреса. В этом случае, адрес нужной переменной будет меняться. Это сделано именно с целью затруднить модификацию извне. Все зависит от флагов, с которыми был собран процесс. |
|
27.08.2014, 11:31 | #16 | ||
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
в мануале Интел сегменты по прежнему называются сегментами:
Цитата:
Цитата:
|
||
27.08.2014, 13:32 | #17 |
Пользователь
Регистрация: 31.07.2014
Сообщений: 48
|
|
27.08.2014, 13:35 | #18 | |
Пользователь
Регистрация: 31.07.2014
Сообщений: 48
|
Цитата:
|
|
27.08.2014, 13:38 | #19 | |
Пользователь
Регистрация: 31.07.2014
Сообщений: 48
|
Цитата:
Как же тогда работают программы трейнеры? |
|
27.08.2014, 14:11 | #20 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
но внутри игр меняются адреса, но по другой причине, изза использования кучи для данных. но зацепка всегда обычно есть, так трейнеры их и ищут. Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прочитать значение адреса из памяти другой программы | Xo66um | Общие вопросы Delphi | 3 | 23.09.2013 16:27 |
из адреса сайта взять id и подставить в код этой же страницы к другой ссылке | ellada1 | Помощь студентам | 0 | 23.06.2012 12:21 |
Изменение адреса в iframe | Lohmatiyy | JavaScript, Ajax | 1 | 03.06.2012 03:25 |
изменение ip адреса | jeki0 | Работа с сетью в Delphi | 3 | 25.12.2011 22:21 |
Конфликт ip-адреса с другой системой в сети. Что это? | spamer | Свободное общение | 4 | 04.10.2009 09:53 |