python与sqlite3实现解密铬饼实例代码

  

本文研究的主要问题:有一个解密铬饼的事情,谷歌出了代码,却不能正常执行,原因在于sqlite3的版本太低,虽然我切换到了python3.5的环境,但sqlite3的版本也只有3.6 .

  

谷歌了许久,终于找到方法:

  

1,进入页面http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/

  

2,下载原子- sqlite - sqlite 3.8.5 - 2. - el6.art.x86_64.rpm

  

3, rpm -Uvh原子- sqlite - sqlite 3.8.5 - 2. - el6.art.x86_64.rpm

  

4,执行命令sqlite3 - version一切都好啦

  

顺便附上解析饼干的代码

        #=utf - 8编码   进口操作系统   进口sqlite3      #输入密匙环   从加密。进口AES密码   从Crypto.Protocol。KDF进口PBKDF2      #为mac   # my_pass=密匙环。get_password (“Chrome安全储存”,“铬”)   # my_pass=my_pass.encode (use utf8)   #迭代=1003   # cookie_file=os.path。expanduser(~/图书馆/应用支持/谷歌/铬/违约/cookie”)      #为linux   my_pass=盎ㄉ?encode (use utf8)   迭代=1   cookie_file=氨伞?      盐=b 'saltysalt '   长度=16   4=b ' ' *长度            def expand_str(令牌):   token_len=len(令牌)   expand_len=(token_len//长度+ 1)* - token_len长度   返回token.encode (ascii) + b * expand_len \ x0c         def aes_encrypt(令牌):   关键=PBKDF2 (my_pass、盐、长度,迭代)   密码=AES。新(钥匙,AES。MODE_CBC, 4=(四)   enc_token=cipher.encrypt(令牌)   b 'v10 ' + enc_token返回         def aes_decrypt(令牌):   关键=PBKDF2 (my_pass、盐、长度,迭代)   密码=AES。新(钥匙,AES。MODE_CBC, 4=(四)   dec_token=cipher.decrypt(令牌)   返回dec_token         def query_cookies ():   康涅狄格州sqlite3.connect (cookie_file):   sql="选择host_key,名字,从饼干encrypted_value name=jzysYonghu”   # sql=" select *从饼干”   结果=conn.execute (sql) .fetchall ()   返回结果         def write_cookies (enc_token):   康涅狄格州sqlite3.connect (cookie_file):   b=sqlite3.Binary (enc_token)   sql=" "“更新cookie设置encrypted_value=https://www.yisu.com/zixun/?在name=remember_token”“”   conn.execute (sql, (b))      def change_user(令牌):   write_cookies (ase_encrypt (expand_str(令牌)))      if __name__==癬_main__”:   data=https://www.yisu.com/zixun/query_cookies () [0] [2]   打印(数据)   打印(len(数据))   print (aes_decrypt(数据[3:]))      

加密后在字符串前面添加了一个v10,因此解密前要先去掉

  

  

以上就是本文关于python与sqlite3实现解密铬饼实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

python与sqlite3实现解密铬饼实例代码