Python3 CryptUnprotectData () TypeError ожидал объект с буферным интерфейсом - PullRequest
2 голосов
/ 04 июля 2011

Я просматривал в сети некоторую информацию о CryptUnprotectData и WZC. Я нашел этот небольшой скрипт, который используется для расшифровки сохраненных беспроводных паролей в Vista. Я пытался с Python3 (он был написан, вероятно, для Python 2.X), но он дает мне: TypeError ожидал объект с буферным интерфейсом. Я не совсем уверен, как это исправить. Это простой скрипт:

    import win32crypt
    mykey = "Insert keyMaterial"
    binout = []
    for i in range(len(mykey)):
        if i % 2 == 0:
            binout.append(chr(int(mykey[i:i+2],16)))
    pwdHash=''.join(binout)

    output = win32crypt.CryptUnprotectData(pwdHash,None,None,None,0)

    print ("hex:", "".join(["%02X" % ord(char) for char in output[1]]))

    print ("ascii:", output[1])

Сценарий от здесь

1 Ответ

0 голосов
/ 04 июля 2011

Вы даете ему строковые / юникодные данные, когда ожидаются двоичные / байтовые данные.

Если он написан для Python 2, он вряд ли будет работать на Python 3 без каких-либо изменений. Используйте Python 2 (или исправьте это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...