Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Для чего нужен RVA. Добавлено: 16.08.04 04:31  

Автор вопроса:  CyRax  | Web-сайт: basicproduction.nm.ru | ICQ: 204447456 
 Как это число использует загрузчик?

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #1
Добавлено: 16.08.04 13:14
http://www.cracklab.ru/art/pe.php

Ответить

Номер ответа: 2
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #2
Добавлено: 16.08.04 14:03
это адрес в памяти на смещения чего либо напрмиер RVA секции это адрес на начало секции... в памяти... есть же физ адреса а есть вирт адреса .... может и не прав поправте...

Ответить

Номер ответа: 3
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #7
Добавлено: 17.08.04 03:23
 Неплохая идея. А ссылка есть на один из них?

Ответить

Номер ответа: 8
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #8 Добавлено: 17.08.04 14:53
Ссылку не помню, где-то на wasm'е брал. Закинул тебе на мыло.
Криптор yodaCrypt. На asm'е исходник. Там есть пара ошибок(в исходнике), но думаю разберёшься
Он шифрует файл, уничтожает инфу о заголовке, цепляет к файлу дешифрующую процедуру, при запуске расшифровывает.
Думаю, окажется полезным.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам