Howto

psi-0.10

Изображение пользователя axet@jabber.ru.

Мы часто вводим пароль в программу и через год забываем напрочь, о том какие секретные символы образовывали пароль. Иногда для восстановления пароля достаточно использовать программу анализа трафика, иногда написать письмо в службу поддержки. Но есть другой более простой вариант: восстановить пароль из конфигурационного файла программы.

Вот скрипт на питоне позволяющий восстановить пароль:
По ссылке на странице автора http://docs.google.com/Doc?id=dd4b849c_53cbd863
Далее в этом документе.
  
def hexChar2int(c):
    if (c >= 'A' and c <= 'F'):
        return ord(c) - ord('A') + 10
    elif(c >= 'a' and c <= 'f'):
        return ord(c) - ord('a') + 10
    elif(c >= '0' and c <= '9'):
        return ord(c) - ord('0')
        return 0

def decodePassword(password,key):
    result=""
    n1=0
    n2=0

    if(len(key) == 0):
        return password

        n2=0
    for n1 in range( 0, len(password), 4):
        x = 0
        if(n1 + 4 > len(password)):
            break
        x += hexChar2int(password[n1])*4096
        x += hexChar2int(password[n1+1])*256
        x += hexChar2int(password[n1+2])*16
        x += hexChar2int(password[n1+3])
        c=x ^ ord(key[n2])
        n2+=1
        result += chr(c)
        if(n2 >= len(key)):
            n2 = 0
    return result
   
print decodePassword("001101010101011","axet@jabber.ru")

Опубликовано axet@jabber.ru в сб, 2007-04-07 17:34. categories [ ]