1 | |
компилятор с++28.05.2012, 20:19. Показов 1919. Ответов 8
Метки нет Все метки)
(
кто знает может можно сделать так чтоб компилятор не использовал фиксированных адресов, а использовал только относительное смещение?
0
|
|
28.05.2012, 20:19 | |
Ответы с готовыми решениями:
8
Компилятор (Visual C++ 6.0) в плохой совместимости с Windows 7. Посоветуйте другой компилятор компилятор Компилятор Компилятор С++ |
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
28.05.2012, 21:24 | 4 |
Для g++ опция -fPIC
1
|
![]() ![]() |
||||||
28.05.2012, 21:31 | 5 | |||||
В линуксе у gcc есть режим -fPIE, который генерит позиционно-независимый код. В итоге получается что-то типа динамической библиотеки, но с точкой входа. А загрузчик по логике вещей должен разместить программу по рандомному адресу. Но на практике я вижу один и тот же адрес. Может это как-то дополнительно настраивать
Добавлено через 4 минуты О! Надо две опции подать:
Код
$ gcc -fPIE -pie t.c $ ./a.out &x = 0xa5f020 $ ./a.out &x = 0x528020 $ ./a.out &x = 0x53d020 Добавлено через 50 секунд Правда здесь адреса разные с точностью до страницы (тут уже скорее всего ничего не сделать)
1
|
![]() ![]() |
|
28.05.2012, 21:33 | 7 |
а... ну тогда хз... Но наверняка тоже это всё есть, поищи в настройках компилятора и линкера. По научному называется "pisition independent executable". Этот режим делался именно с целью защиты, чтобы не было залипающих адресов от запуска к запуску
1
|
![]() ![]() |
|
28.05.2012, 22:35 | 9 |
Я не знаю, я в программировании под виндой не разбираюсь...
0
|
28.05.2012, 22:35 | |
Помогаю со студенческими работами здесь
9
Компилятор G++ Компилятор
компилятор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |