Страница: 1 |
Страница: 1 |
Вопрос: Для чего нужен RVA.
Добавлено: 16.08.04 04:31
Автор вопроса: CyRax | Web-сайт:
Как это число использует загрузчик?
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #1
Добавлено: 16.08.04 13:14
http://www.cracklab.ru/art/pe.php
Номер ответа: 2
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #2
Добавлено: 16.08.04 14:03
это адрес в памяти на смещения чего либо напрмиер RVA секции это адрес на начало секции... в памяти... есть же физ адреса а есть вирт адреса .... может и не прав поправте...
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 16.08.04 15:49
Ну это всё ясно. А как RVA позиционируется в памяти при загрузке? На примере любого PE покажи.
Номер ответа: 4
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #4
Добавлено: 16.08.04 20:19
Я так понимаю, RVA указывает, на каком смещении от начала модуля будет расположен тот или иной объект (секция) модуля. И в памяти он не позиционируется, если я правильно понял вопрос. Для того, чтобы правильно распихать секции в отведенном для модуля пространстве памяти и чтобы после загрузки все адреса соответствовали тем которые соорудил линкер, можно было бы указывать и абсолютные адреса, но т.к. заранее неизвестно, куда загрузчик засунет модуль, то приходилось бы все эти абсолютные адреса пересчитывать, а это замедляет загрузку в память. С RVA это теоретически происходит быстрее, видимо относительная адресация не требует пересчёта всех адресов. Только начальный адрес в памяти и всё. Остальное = + RVA конктретного объекта.
Номер ответа: 5
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 17.08.04 01:41
А как создать самому этот RVA? Есть какая то формула?
Номер ответа: 6
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #6
Добавлено: 17.08.04 03:17
Поковыряй какой-нибудь пакер/протектор с открытым кодом, может и понятно будет, что к чему
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 17.08.04 03:23
Неплохая идея. А ссылка есть на один из них?
Номер ответа: 8
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #8
Добавлено: 17.08.04 14:53
Ссылку не помню, где-то на wasm'е брал. Закинул тебе на мыло.
Криптор yodaCrypt. На asm'е исходник. Там есть пара ошибок(в исходнике), но думаю разберёшься
Он шифрует файл, уничтожает инфу о заголовке, цепляет к файлу дешифрующую процедуру, при запуске расшифровывает.
Думаю, окажется полезным.