Если объект является изменяемым, то это возможно, чтобы получить изменяемую буфер не указав второй аргумент buffer()
(которая является встроенной функцией) так:Есть ли способ сделать буфер() доступным для записи без копирования при установке аргумента размера?
>>> s = bytearray(1000000) # a million zeroed bytes
>>> t = buffer(s, 1) # slice cuts off the first byte
>>> s[1] = 5 # set the second element in s
>>> t[0] # which is now also the first element in t!
'\x05'
Однако в моем случае , Мне нужно указать 0x7fffffff
как параметр размера. В этом случае:
>>> b = buffer(bytearray('a'), 1,0x7fffffff)
how to make b
writeable without copying it’s data? В моем случае _ctypes
поддержка отключена, и программа не запускается с правами root.
Конечно, вещи, подобные памяти, доступны, но я теряю возможность читать память на каждом виртуальном адресе.
Вы обращали внимание на тег безопасности. Я забыл [включить это] (https://bugs.python.org/issue21831 «они используют версию python, которая уязвима») в моем вопросе. Я получил возможность выполнить произвольный код python на веб-сайте. Но их программа бонусов будет вознаграждаться только в том случае, если я уйду из песочницы, используемой для интерпретатора * (для этого мне нужно выполнить собственный код сборки) *. – user2284570
«Письмо на это испортило бы память вашего процесса». Это то, что я хочу сделать: мне нужно получить доступ к системным вызовам напрямую, чтобы быть в состоянии выйти из изолированной среды уровня os. Для этого требуется возможность выполнить собственную сборку, чтобы я мог обойти песочницу уровня на уровне python * (песочница python не позволяет экранировать песочницу ᴏꜱ-уровня) *. – user2284570
@ user2284570: Ну, если вы пытаетесь использовать эту ошибку, вы сталкиваетесь с дополнительной проблемой, что объекты буфера, созданные с помощью 'buffer', просто не могут быть записаны вообще, передаете ли вы аргумент размера или нет Python-side API, чтобы сделать их доступными для записи. Вы сделали запись через bytearray с 's [1] = 5', а не записью через буферный объект. – user2357112