Google-chrome – How to Edit Google Chrome’s ‘History Provider Cache’ File

address-barencryptiongoogle-chromehistorysqlite

I'm interested in editing (not completely deleting) contents of some of Google Chrome's cache files. In particular, the 'History Provider Cache' (found in ~/Library/Application Support/Google/Chrome/Default on Mac). As this other question suggests, it appears to simply be a SQLite file. Unfortunately, when I try to open it using a SQLite browser (MesaSQLite) I'm asked for an encryption key.

So, I'd welcome any suggestions on how to either (1) determine the encryption key, or (2) an alternate way to edit this file.

The end goal is to be able to remove specific annoying suggestions in the Omnibar. I've read countless other techniques, but none seem to remove suggestions that have the clock icon next to it. Some say deleting this file entirely will do the trick (and I imagine it will), but I don't wish to trash my entire browsing history. I find most of the suggestions to be useful and helpful, and I'd like to preserve that.

Best Answer

Note the answer to the other question is wrong when it asserts that all Chrome data files are SQLite3. History Provider Cache uses Google's Protocol Buffers format. To edit a file using the Protocol Buffers format, try Google's own protobufeditor. However, you'll probably need to write a proto definition for it to work.

An SQLite3 client can't distinguish non-SQLite3 data from encrypted data, which is why you're prompted for a key. It doesn't actually mean you're dealing with an encrypted database (the command line client makes this clear, printing the message "Error: file is encrypted or is not a database" when it doesn't recognize the format of a file).

References:

Related Question