(BDE) Browser Data Exporter


(Too Slepy) #1

Message to Mods: I don’t know what category to put this in

BDE is a project im working on to get all the data i can from the SQL tables each browser saves

Author Assigned Level: Wannabe

Community Assigned Level:

  • Newbie
  • Wannabe
  • Hacker
  • Wizard
  • Guru

0 voters

Required Skills

  • Basic Python Understanding
  • The ablity to read my probably horrid write-up

Disclaimer (Optional)

I am not personally responsable for anything you learn about this and if you steal someones data with the demonstrated techniques and get caught then that is your problem.


Everyone knows that browsers save data about what site you vist and what you download. But what data do they really keep about what you do on the internet? Thats what this project is about.

Fistly i went into %appdata% as this is where browsers such as Firefox and Chrome save their userdata. I remembered that there were programs that extracted the username and passwords that were saved in such browsers. I then wondered where they saved your history and opened a few files with notepad++ and found the string SQLite3 in some of the files. So SQL3 is used for some data that is recorded. What data?

Because im your average lazy skid i find an SQL database GUI and open these files. Some didnt seem interesting but others did. The file that was interesting for Firefox was places.sqlite which had history and downloads data. So i thought why don’t i practice my python and SQL skills and make a simple data extractor so i did.


Honestly that was just some rambleing that no one wants to hear and just wants to see a finished product so here

(fxbg) #2

I suck at python (but Im a dev sooo) I figured, wth, why not, I’ll mess with it. When I saw it, it clearly was for Windows, so I started editing the History grabbing stuff for Linux, which was fine and all for getting the path to chromium default history for the current user but now I’ve hit a snag in some datetime int/float conversion thing in the fucntions.py file.

Traceback (most recent call last):
  File "chromeHistory.py", line 31, in <module>
    lastVisitTime = str(date_from_webkit(lastVisitTime, 10))
  File "/home/fxbg/BDE/functions.py", line 26, in date_from_webkit
    delta = datetime.timedelta(microseconds=int(webkit_timestamp))
ValueError: invalid literal for int() with base 10: ''

I am sure I will figure it out and fix it but maybe you knew how to fix it faster than me. I think it has something to do with it trying to parse a string and not an int from the chromeHistory.py file. I forked the project and have already modified it, I’ll submit the changes soon. Also, I fixed another little bug that had to do with some abnormal ASCII character (it was a smiley tongue face), on my system it came out as ^ ^ ^, so I just went ahead and manually changed it. (in the chromeHistory.py file)

(A Scrub) #3

I’m no dev in Python but just curious if you could replicate this using Beautiful Soup or use Selenium or even PhantomJS?

(fxbg) #4

Yea I’ve seen this kind of thing done with Javascript before a long time ago when chrome first started hitting the scene. Plus it’s a bit ridiculous doing it in python but it’s fun to mess with (for a developer at least)

(CGMS) #5

I didn’t see the repo, but why you would want this?