Правильное использование ctypes для вызова _Py_Mangle?Python

Программы на Python
Anonymous
Правильное использование ctypes для вызова _Py_Mangle?

Сообщение Anonymous »

Пока я сидел на грибе и размышлял над тонкостями написания функции для реализации алгоритма искажения имен Python, в мою голову пришла невероятно лучшая идея. Почему бы не использовать рецепт, уже встроенный в язык, для достижения этой цели? Поэтому я вытащил ctypes из своей сумки, чтобы помочь в этом, и выполнил ctypes.pythonapi._Py_Mangle('Demo', '__test'). И вот, из ниоткуда появилась ошибка с сообщением OSError: исключение: нарушение прав доступа с чтением 0x00000A65646F00A8, и я не удосужился объяснить загадку больше, чем это.

Полное взаимодействие с переводчиком происходит следующим образом:

Код: Выделить всё

Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import ctypes
>>> ctypes.pythonapi._Py_Mangle('Demo', '__test')
Traceback (most recent call last):
File "
", line 1, in 
ctypes.pythonapi._Py_Mangle('Demo', '__test')
OSError: exception: access violation reading 0x00000A65646F00A8
Кто-нибудь знает, что нужно изменить, чтобы успешно вызвать функцию преобразования?


Подробнее здесь: https://stackoverflow.com/questions/279 ... -py-mangle

Вернуться в «Python»