GithubHelp home page GithubHelp logo

bierschi / chromepass Goto Github PK

View Code? Open in Web Editor NEW
89.0 89.0 19.0 9.71 MB

Fetching passwords from the chrome browser database

License: MIT License

Python 100.00%
browser chrome database linux passwords windows

chromepass's People

Contributors

bierschi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

chromepass's Issues

Hack

импорт ОС
импортный шутил
подпроцесс импорта
импортировать секретное хранилище
из времени импортировать сон
из getpass импортировать getuser
от Криптодом . Импорт шифра AES
от Криптодом . Протокол . Импорт KDF PBKDF2

из chromepass импортировать Chrome

класс ChromeLinux ( Chrome ):
""" класс ChromeLinux для получения паролей из браузера Linux Chrome
Применение:
chrome_linux = ChromeLinux ()
chrome_linux.decrypt_password (encrypted_password = encrypted_password)
"""
защита init ( самостоятельно ):

    # инициализируем базовый класс
    супер (). __инициализация__ ()

    сам . login_db_path  =  f"/home/ { getuser () } /.config/google-chrome/Default/Данные для входа"
    сам . tmp_login_db_path  =  f"/home/ { getuser () } /.config/google-chrome/Default/Login_tmp"

    если  ос . путь . существует ( self .login_db_path ) :
        шутил . copy2 ( self.login_db_path , self.tmp_login_db_path ) # создание временной копии ,   поскольку база данных для входа заблокирована во время работы Chrome
    еще :
        print ( "Кажется, браузер Chrome не установлен! Выход..." )
        выход ( 1 )

    сам . iv  =  b''  *  16
    сам . пароль  =  'арахис' . кодировать ( 'utf8' )

    автобус  =  хранилище секретов . dbus_init ()
    коллекция  =  хранилище секретов . get_default_collection ( автобус )
    для  предмета  в  коллекции . получить_все_элементы ():
        если  пункт . get_label () ==  'Хранилище Chrome Safe' :
            попробуй :
                сам . пароль  =  пункт . получить_секрет ()
            кроме  секретного хранилища . исключения . LockedException  как  пример :
                print ( "Файл базы данных Chrome заблокирован. Браузер открывается в фоновом режиме. Завершение работы через 1 секунду..." )
                сам . открытый_хром ()
                сам . пароль  =  пункт . получить_секрет ()
            ломать

    сам . key  =  PBKDF2 ( пароль = self . пароль , соль = b'saltysalt' , dkLen = 16 , количество = 1 )
    сам . шифр  =  AES . новый ( сам.ключ , AES.MODE_CBC , IV = self.iv ) _ _ _ _ _ _
    сам . bytechars  = [ b' \x01 ' , b' \x02 ' , b' \x03 ' , b' \x04 ' , b' \x05 ' , b' \x06 ' , b' \x07 ' , b' \x08 ' , б' \x09 ' ]

деф  __del__ ( сам ):
    """разрушитель"""
    попробуй :
        ос . удалить ( сам .tmp_login_db_path ) _
    кроме  FileNotFoundError  как  например :
        проходить

деф  open_chrome ( сам ):
    """ открывает хром как фоновый процесс и завершает его через одну секунду
    """
    процесс  =  подпроцесс . Открыть ([ "/usr/bin/google-chrome" ])
    спать ( 1 )
    проц . прекратить ()

def  replace_chars ( самостоятельно , расшифровано ):
    """ заменяет определенные символы строки байтов из расшифрованной строки байтов.
    :параметр расшифрован: строка байтов
    :return: строка байтов без специальных символов
    """
    для  c  в  себе . bytechars :
        расшифровано  =  расшифровано . заменить ( с , б'' )
    вернуть  в расшифрованном виде

def  расшифровать_пароль ( самостоятельно , зашифрованный_пароль ):
    """ расшифровать данный зашифрованный пароль
    :param зашифрованный_пароль: зашифрованный пароль
    :вернуть расшифрованный пароль
    """

    enc_passwd  =  зашифрованный_пароль [ 3 :]
    расшифровано  =  я . шифр . расшифровать ( enc_passwd )

    попробуй :
        расшифровано  =  я . replace_chars ( расшифровано = расшифровано )
        пароль  =  расшифрован . декодировать ( кодировка = 'utf-8' , ошибки = 'surrogateescape' )
    кроме  UnicodeDecodeError  как  например :
        print ( "Не удалось расшифровать пароль в кодировке 'utf-8'. Игнорирование ошибок..." )
        пароль  =  расшифрован . полоса (). декодировать ( кодировка = 'utf-8' , ошибки = 'игнорировать' )

    вернуть  пароль

Codec can't decode byte 0xec in position 0: invalid continuation byte

This is pip installed on Fedora 32 Linux and I get

➜  ~ chromepass

Traceback (most recent call last):
  File "/usr/local/bin/chromepass", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/site-packages/chromepass/main.py", line 27, in main
    results = chromepass.get_passwords()
  File "/usr/local/lib/python3.8/site-packages/chromepass/chrome_passwords.py", line 68, in get_passwords
    password = self.os.decrypt_password(encrypted_password=encrypted_password)
  File "/usr/local/lib/python3.8/site-packages/chromepass/chrome_linux.py", line 63, in decrypt_password
    password = decrypted.strip().decode('utf8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xec in position 0: invalid continuation byte

Are there some files I can provide to help debugging?

installation issue

Trying to complete the sudo python3 setup.py install command on Windows 10x64 i avoided sudo command. However, after this i still have an issue to install the downloaded package. Here is the trouble:
C:\Windows\System32\chromepass>python3 setup.py install
Traceback (most recent call last):
File "C:\Windows\System32\chromepass\setup.py", line 3, in
from chromepass import version, author, email, license, title
File "C:\Windows\System32\chromepass\chromepass_init_.py", line 10, in
from chromepass.chrome_linux import ChromeLinux
File "C:\Windows\System32\chromepass\chromepass\chrome_linux.py", line 4, in
import secretstorage
ModuleNotFoundError: No module named 'secretstorage'

Maybe my python version is not approprieted one...

Does somebody has full instruction how to install the chromepass on windows?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.