s54820
Пустая таблица или вообще секции .reloc нет?
Пустая — это ещё один вариант. Microsoft просто не могла решить, как им больше нравится. И в любом случае они сами этим не пользовались.
Anonymous
Не слишком много страниц затрагиваются поправками в 64-битном коде.
ето потому что он позиционно-независимый (rip-relative)
Anonymous
не понятно как тут PIC не нужен если он и есть PIC уже
s54820
ты ж не будешь под каждую страницу создавать отдельный регион
Какой регион? У нас CoW. Поправка в странице — копируем страницу.
Anonymous
это да, верно
s54820
не понятно как тут PIC не нужен если он и есть PIC уже
Щаз. У нас есть ещё данные. static int foo; static int *bar = &foo;.
s54820
Щаз. У нас есть ещё данные. static int foo; static int *bar = &foo;.
Ну в смысле не код, но поправки нужны.
Anonymous
зависит от модели кода - данные тоже можно сделать позиционно-независимыми, если бинарь не больше 4GB
Anonymous
хотя на винде незнай может нету такого контракта
Eugene
64 бита - это ладно. Меня вот 32 интересует. Как я понял, каждая длл грузится по разным адресам, правильно (даже для разных процессов) и отображается на одни и те же адреса (двое для разных процессов). Я прав?
Anonymous
хакирам )
Anonymous
зависит от модели кода - данные тоже можно сделать позиционно-независимыми, если бинарь не больше 4GB
а нет, вот тут я проебался - в вашем примере в секции данных будет ссылка на внутрь секции данных, такое через rip-relative не выразить
Eugene
Если повезёт, и адрес не занят, и нет ASLR — да. Теперь уже нет, но кому нужны 32 бита в 2022 году?
Ну что значит повезёт? Если есть ASLR, всё равно они, по идее, должны отображаться на одни адреса. Я проводил такой тест: грузил разные либы и выводил адреса: они хаотично менялось в районе 0х7хххххххх и были постоянными, даже если менять порядок их загрузки.
Eugene
Мне вот интересно, что будет, если DLL будет загружено на несколько гигабайт?
Eugene
С ASLR?
Да какая разница?
s54820
Зачем?
Ну адреса сменятся.
Katrina
does Telethon supports bot payments?
Anonymous
Мне вот интересно, что будет, если DLL будет загружено на несколько гигабайт?
Ну если памяти хватит, ничего страшного. Если не хватит - ОС выдаст ошибку, что недостаточно памяти
Eugene
Только сейчас узнал, что оказывается, есть такое расширение (ISA) как AMX. Очень странно, что о нём нет никакого упоминания в Intel SDM, только тут. Ну и вкратце, кому интересно: https://en.wikichip.org/wiki/x86/amx
Eugene
Прикол...
Eugene
Eugene
Ну и вообще в той доке есть много всего, чего не найти в Intel SDM...
bilka00
Зачем?
Увидишь работу aslr
Eugene
Увидишь работу aslr
А что на неё смотреть. Речь не об этом была :)
M
Втф,о чем вообще тут много сообщений )
M
Aslr придумали для решения вопроса безопасности
M
Чтобы было труднее stack/heap overflow юзать
M
Чтоб нельзя было взять,найти уязвимость,у себя в песочнице сделать шеллкод и чтоб он везде работал
M
Псевдозащита работает )
Anonymous
M
От криворукости кодеров,допускающих буф оверфлоу,ничего не защитит.
M
И вообще ASLR придумали,чтоб вырастить ценники на базонезависимые шеллкоды. Заговоры))
.
всем привет
.
мне нужна помочь, как снимать с карты деньги что бы было это не понятно и что бы никто не мог узнать куда они ушли
disba1ancer
Щаз. У нас есть ещё данные. static int foo; static int *bar = &foo;.
тут 2 варианта, либо релок, либо в рантайме инициализировать, но хз допускает ли второй вариант стандарт сей
M
#выжпрограммисты
.
#выжпрограммисты
я не программист:)
M
я не программист:)
Это как раз понятно
disba1ancer
предлагаю бан, нефиг с карт деньги воровать...
.
да мне по кайфу было тут с тобой находиться:))
disba1ancer
знаем мы ваши приколы, сначала карты, потом звонки бабушкам из-за границы...
.
вы многое знаете
Aiwan \ (•◡•) / _bot
никак
можно
Aiwan \ (•◡•) / _bot
достаточно отдать карту прохожему
.
спс всем
disba1ancer
можно
рано или поздно инфа о снятии денег будет, вопрос только в том как всё это будет запутано, чтобы "читера" не обнаружили
Aiwan \ (•◡•) / _bot
и тебе тоже огромное спасибо внук Эйнштейна
я не Пол, ты ошибаешься. твоя инфа не верна
disba1ancer
Главное, что бы его побыстрее нашли и на органы пустили.
хорошенько намять тут бока вполне пойдёт
s54820
тут 2 варианта, либо релок, либо в рантайме инициализировать, но хз допускает ли второй вариант стандарт сей
В рантайме инициализировать — это по сути тот же релок, только придётся больше данных хранить.
Anonymous
как выше сказал товарищ, там будет CoW для измененных страниц
Anonymous
поэтому я и говорю что PIC экономит память на х86-32
Edem
Привет всем! хотел узнать, что предпочтительнее использовать при простом линковании? mov ax, offset smth или lea ax, smth
Eugene
Привет всем! хотел узнать, что предпочтительнее использовать при простом линковании? mov ax, offset smth или lea ax, smth
Привет. Пиши первым способом. Хотя, если это tasm/masm, то можно и вторым, так короче, а транслятор сам переделает под первый.
Eugene
Кроме размера для 16 и 32 бит разницы нет (хотя в 16 битах, кстати, lea eax,[1234h] будет короче, чем mov eax,1234h, но только если значение <= 0FFFFh). Для 64 бит лучше писать lea rax,[addr] (при включённой default rel или lea rax,[rel addr] для надёжности), чтобы не было лишней релокации, т.к. в 64 битах есть относительная адресация.
Edem
спасибо, понял! И ещё вопрос по поводу TASM. Проходим его в универе и хочется изучить его поглубже. Можете посоветовать литературу?
DarkPerl
Надо было ей\ему словарь по ассемблерным командам умножения вручить )
DarkPerl
😁
Eugene
@IvUyr, ты так часто меняешь имена и картинки, что я тебя не узнаю в гриме каждый раз 🤣 Пока случайно юзернейм ни увижу.
Eugene
Часто это 2 раза в год? :-)
Х/з, но ощущение, что 2 раза в месяц :)