Encrypted cookies in Chrome

前端 未结 6 2010
挽巷
挽巷 2020-11-27 15:36

I am currently working on a C# forms application that needs to access a specific cookie on my computer, which I can do perfectly fine. Here\'s the issue:

Google stor

6条回答
  •  一向
    一向 (楼主)
    2020-11-27 16:02

        # this powershell scripts exports your cookies to a format curl and wget understand
        # Obs ! Each profile has its own cookes file , replace me (ysg ;o) with your win usr name
        # aka wget -x --load-cookies cookies.txt http://stackoverflow.com/questions/22532870/encrypted-cookies-in-chrome
    
        $cookieLocation = 'C:\Users\ysg\AppData\Local\Google\Chrome\User Data\Profile 1\Cookies'
        $curl_cookies_file="C:\var\ygeo.reports.app.futurice.com.cookies.doc-pub-host.txt"
        $tempFileName1 = [System.IO.Path]::GetTempFileName()
        $tempFileName2 = [System.IO.Path]::GetTempFileName()
    
        # adjust your filter in the where clause ...
        "select writefile('$tempFileName1', encrypted_value) from cookies where host_key = '.futurice.com' ;" | sqlite3.exe "$cookieLocation"
        $cookieAsEncryptedBytes = Get-Content -Encoding Byte "$tempFileName1"
        Remove-Item "$tempFileName1"
    
    
        Add-Type -AssemblyName System.Security
        $cookieAsBytes = [System.Security.Cryptography.ProtectedData]::Unprotect($cookieAsEncryptedBytes, $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser)
        $cookie = [System.Text.Encoding]::ASCII.GetString($cookieAsBytes)
        $unquoted_cookie=$cookie -replace '"', ""
    
        # adjust your filter in the where clause ...
        "
        select  
            host_key
         , CASE WHEN httponly=0 THEN 'FALSE' ELSE 'TRUE' END
         , path
         , CASE WHEN secure=0 THEN 'FALSE' ELSE 'TRUE' END
         , expires_utc
         , name 
         , '$unquoted_cookie'
        from cookies where host_key = '.futurice.com' ;" | sqlite3.exe -separator " " "$cookieLocation" > $curl_cookies_file
    
        Get-ChildItem *.txt | ForEach-Object { (Get-Content $_) | Out-File -Encoding ASCII $_ }
    
        # check the meta data table
        #"PRAGMA table_info([cookies]);" | sqlite3.exe "$cookieLocation"
    
        # src: https://github.com/daftano/cookies.txt/blob/master/src/popup.js
        #content += escapeForPre(cookie.domain);
        #content += "\t";
        #content += escapeForPre((!cookie.hostOnly).toString().toUpperCase());
        #content += "\t";     
        #content += escapeForPre(cookie.path); 
        #content += "\t";     
        #content += escapeForPre(cookie.secure.toString().toUpperCase());
        #content += "\t";     
        #content += escapeForPre(cookie.expirationDate ? Math.round(cookie.expirationDate) : "0");
        #content += "\t";     
        #content += escapeForPre(cookie.name);
        #content += "\t";     
        #content += escapeForPre(cookie.value);
        #content += "\n";
        #
        #0|creation_utc|INTEGER|1||1
        #1|host_key|TEXT|1||0
        #2|name|TEXT|1||0
        #3|value|TEXT|1||0
        #4|path|TEXT|1||0
        #5|expires_utc|INTEGER|1||0
        #6|secure|INTEGER|1||0
        #7|httponly|INTEGER|1||0
        #8|last_access_utc|INTEGER|1||0
        #9|has_expires|INTEGER|1|1|0
        #10|persistent|INTEGER|1|1|0
        #11|priority|INTEGER|1|1|0
        #12|encrypted_value|BLOB|0|''|0
        #13|firstpartyonly|INTEGER|1|0|0
    

提交回复
热议问题