Python: доступ к функции DLL, использующей ctypes — доступ функцией *, называет* сбои

Лучшее решение, принимая имя пользователя и пароль не может быть дано во времени выполнения пользователем, вероятно, отдельный исходный файл, содержащий только переменную инициализацию для имени пользователя и пароля, который импортируется в Ваш основной код. Этому файлу только было бы нужно редактирование, когда учетные данные изменяются. Иначе, если Вы только волнуетесь по поводу серфингистов плеча со средними памятями, кодировка Base 64 является, вероятно, самым легким решением. ROT13 просто слишком легок для декодирования вручную, не чувствителен к регистру и сохраняет слишком много значения в, он зашифровал состояние. Закодируйте свой пароль и идентификатор пользователя вне сценария Python. Имейте его, сценарий декодирует во времени выполнения для использования.

Предоставление учетных данных сценариев для автоматизированных задач всегда является опасным предложением. Ваш сценарий должен иметь свои собственные учетные данные и учетную запись, которую он использует, не должен иметь никакого доступа кроме точно, что необходимо. По крайней мере, пароль должен быть долгим и довольно случайным.

8
задан J.J. Hakala 24 July 2016 в 11:32
поделиться

2 ответа

Возможно, потому, что имя C ++ искажено компилятором и не экспортируется из DLL как RingBell . Вы проверили, что он отображается в экспортированных именах именно так?

7
ответ дан 5 December 2019 в 06:38
поделиться

Ваш компилятор C ++ изменяет имена всех видимых извне объектов, чтобы отразить (а также их базовые имена) их пространства имен, классы и сигнатуры (так становится возможной перегрузка).

Чтобы избежать этого искажения, вам понадобится extern "C" для видимых извне имен, которые вы хотите видеть из кода, отличного от C ++ (и поэтому такие имена не могут быть перегружены, и в стандарте C ++ они не могут быть встроенным, в пространствах имен или внутри классов, хотя некоторые компиляторы C ++ расширяют стандарт в некоторых из этих направлений).

10
ответ дан 5 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: