{"action":"created","issue":{"url":"https://api.github.com/repos/obsidianforensics/hindsight/issues/5","labels_url":"https://api.github.com/repos/obsidianforensics/hindsight/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/obsidianforensics/hindsight/issues/5/comments","events_url":"https://api.github.com/repos/obsidianforensics/hindsight/issues/5/events","html_url":"https://github.com/obsidianforensics/hindsight/issues/5","id":89549368,"number":5,"title":"ascii error writing xlsx","user":{"login":"pittjl","id":1260495,"avatar_url":"https://avatars.githubusercontent.com/u/1260495?v=3","gravatar_id":"","url":"https://api.github.com/users/pittjl","html_url":"https://github.com/pittjl","followers_url":"https://api.github.com/users/pittjl/followers","following_url":"https://api.github.com/users/pittjl/following{/other_user}","gists_url":"https://api.github.com/users/pittjl/gists{/gist_id}","starred_url":"https://api.github.com/users/pittjl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pittjl/subscriptions","organizations_url":"https://api.github.com/users/pittjl/orgs","repos_url":"https://api.github.com/users/pittjl/repos","events_url":"https://api.github.com/users/pittjl/events{/privacy}","received_events_url":"https://api.github.com/users/pittjl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-06-19T12:12:02Z","updated_at":"2015-06-29T02:56:12Z","closed_at":null,"body":"Yosemite 10.10.3\r\nPython 2.7.10 (installed via brew, also using a virtualenv for hindsight)\r\n\r\nRunning hindsight gives an ascii error when writing the xlsx file. If I change the output format to json, all is well.\r\n\r\npython hindsight.py -i '/Users/infosec/Library/Application Support/Google/Chrome/Default' -o test2\r\nCouldn't import module 'win32crypt'; cookie decryption on Windows disabled.\r\n\r\n\r\n Hindsight v1.4.5\r\n       Start time: 2015-06-19 08:03:31.687\r\n  Input directory: /Users/infosec/Library/Application Support/Google/Chrome/Default\r\n      Output name: test2\r\n\r\n Processing:\r\n                     Detected Chrome version:            [     42 ]\r\n                                 URL records:            [  21298 ]\r\n                            Download records:            [    441 ]\r\n                              Cookie records:            [   4974 ]\r\n                            Autofill records:            [   1554 ]\r\n                            Bookmark records:            [   1132 ]\r\n                       Local Storage records:            [  24290 ]\r\n                                  Extensions:            [     14 ]\r\n                          Login Data records:            [     11 ]\r\n                            Preference Items:            [     20 ]\r\n\r\n Running plugins:\r\n          Chrome Extension Names (v20150125):   - 8 extension URLs parsed -\r\n       Generic Timestamp Decoder (v20140816):     - 99 timestamps parsed -\r\n  Google Analytics Cookie Parser (v20140813):      - 154 cookies parsed -\r\n                 Google Searches (v20150222):     - 1423 searches parsed -\r\n         Quantcast Cookie Parser (v20140813):      - 14 cookies parsed -\r\n             Query String Parser (v20150222):  - 5282 query strings parsed -\r\n         Time Discrepancy Finder (v20141214):    - 73 differences parsed -\r\n\r\n Writing \"test2.xlsx\"\r\nTraceback (most recent call last):\r\n  File \"hindsight.py\", line 1920, in <module>\r\n    main()\r\n  File \"hindsight.py\", line 1901, in main\r\n    write_excel(target_browser)\r\n  File \"hindsight.py\", line 1652, in write_excel\r\n    workbook.close()\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/site-packages/xlsxwriter/workbook.py\", line 295, in close\r\n    self._store_workbook()\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/site-packages/xlsxwriter/workbook.py\", line 518, in _store_workbook\r\n    xml_files = packager._create_package()\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/site-packages/xlsxwriter/packager.py\", line 140, in _create_package\r\n    self._write_shared_strings_file()\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/site-packages/xlsxwriter/packager.py\", line 280, in _write_shared_strings_file\r\n    sst._assemble_xml_file()\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/site-packages/xlsxwriter/sharedstrings.py\", line 53, in _assemble_xml_file\r\n    self._write_sst_strings()\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/site-packages/xlsxwriter/sharedstrings.py\", line 83, in _write_sst_strings\r\n    self._write_si(string)\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/site-packages/xlsxwriter/sharedstrings.py\", line 110, in _write_si\r\n    self._xml_si_element(string, attributes)\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/site-packages/xlsxwriter/xmlwriter.py\", line 122, in _xml_si_element\r\n    self.fh.write(\"\"\"<si><t%s>%s</t></si>\"\"\" % (attr, string))\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/codecs.py\", line 694, in write\r\n    return self.writer.write(data)\r\n  File \"/Users/Infosec/envs/hindsight/lib/python2.7/codecs.py\", line 357, in write\r\n    data, consumed = self.encode(object, self.errors)\r\nUnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 64: ordinal not in range(128)\r\n"},"comment":{"url":"https://api.github.com/repos/obsidianforensics/hindsight/issues/comments/116397905","html_url":"https://github.com/obsidianforensics/hindsight/issues/5#issuecomment-116397905","issue_url":"https://api.github.com/repos/obsidianforensics/hindsight/issues/5","id":116397905,"user":{"login":"obsidianforensics","id":4984680,"avatar_url":"https://avatars.githubusercontent.com/u/4984680?v=3","gravatar_id":"","url":"https://api.github.com/users/obsidianforensics","html_url":"https://github.com/obsidianforensics","followers_url":"https://api.github.com/users/obsidianforensics/followers","following_url":"https://api.github.com/users/obsidianforensics/following{/other_user}","gists_url":"https://api.github.com/users/obsidianforensics/gists{/gist_id}","starred_url":"https://api.github.com/users/obsidianforensics/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obsidianforensics/subscriptions","organizations_url":"https://api.github.com/users/obsidianforensics/orgs","repos_url":"https://api.github.com/users/obsidianforensics/repos","events_url":"https://api.github.com/users/obsidianforensics/events{/privacy}","received_events_url":"https://api.github.com/users/obsidianforensics/received_events","type":"User","site_admin":false},"created_at":"2015-06-29T02:56:12Z","updated_at":"2015-06-29T02:56:12Z","body":"I made a bunch of changes, converting str to unicode where ever I could.  Hindsight should be converting everything to Unicode as soon as it can.  I hope this fixes your problem; if not, would you be willing to provide me with some of the troublesome raw data?  "}}