Exemple #1
0
  def ParseFile(
      self,
      knowledge_base: rdf_client.KnowledgeBase,
      pathspec: rdf_paths.PathSpec,
      filedesc: IO[bytes],
  ) -> Iterator[rdf_webhistory.BrowserHistoryItem]:
    del knowledge_base  # Unused.

    # TODO(user): Convert this to use the far more intelligent plaso parser.
    chrome = ChromeParser()
    path = pathspec.CollapsePath()
    for timestamp, entry_type, url, data1, _, _ in chrome.Parse(path, filedesc):
      if entry_type == "CHROME_DOWNLOAD":
        yield rdf_webhistory.BrowserHistoryItem(
            url=url,
            domain=urlparse.urlparse(url).netloc,
            access_time=timestamp,
            program_name="Chrome",
            source_path=pathspec.CollapsePath(),
            download_path=data1)
      elif entry_type == "CHROME_VISIT":
        yield rdf_webhistory.BrowserHistoryItem(
            url=url,
            domain=urlparse.urlparse(url).netloc,
            access_time=timestamp,
            program_name="Chrome",
            source_path=pathspec.CollapsePath(),
            title=data1)
Exemple #2
0
 def Parse(self, stat, file_object, knowledge_base):
     """Parse the History file."""
     _, _ = stat, knowledge_base
     # TODO(user): Convert this to use the far more intelligent plaso parser.
     ie = IEParser(file_object)
     for dat in ie.Parse():
         yield rdf_webhistory.BrowserHistoryItem(
             url=dat["url"],
             domain=urlparse.urlparse(dat["url"]).netloc,
             access_time=dat.get("mtime"),
             program_name="Internet Explorer",
             source_urn=file_object.urn)
Exemple #3
0
    def ParseFile(self, knowledge_base, pathspec, filedesc):
        del knowledge_base  # Unused.

        # TODO(user): Convert this to use the far more intelligent plaso parser.
        ie = IEParser(filedesc)
        for dat in ie.Parse():
            yield rdf_webhistory.BrowserHistoryItem(
                url=dat["url"],
                domain=urlparse.urlparse(dat["url"]).netloc,
                access_time=dat.get("mtime"),
                program_name="Internet Explorer",
                source_path=pathspec.CollapsePath())
Exemple #4
0
 def Parse(self, stat, file_object, knowledge_base):
     """Parse the History file."""
     _, _ = stat, knowledge_base
     # TODO(user): Convert this to use the far more intelligent plaso parser.
     ff = Firefox3History(file_object)
     for timestamp, unused_entry_type, url, title in ff.Parse():
         yield rdf_webhistory.BrowserHistoryItem(
             url=url,
             domain=urlparse.urlparse(url).netloc,
             access_time=timestamp,
             program_name="Firefox",
             source_path=file_object.Path(),
             title=title)
Exemple #5
0
    def ParseFile(self, knowledge_base, pathspec, filedesc):
        del knowledge_base  # Unused.

        # TODO(user): Convert this to use the far more intelligent plaso parser.
        ff = Firefox3History()
        for timestamp, unused_entry_type, url, title in ff.Parse(filedesc):
            yield rdf_webhistory.BrowserHistoryItem(
                url=url,
                domain=urlparse.urlparse(url).netloc,
                access_time=timestamp,
                program_name="Firefox",
                source_path=pathspec.CollapsePath(),
                title=title)
Exemple #6
0
 def Parse(self, stat, file_object, knowledge_base):
     """Parse the History file."""
     _ = knowledge_base
     # TODO(user): Convert this to use the far more intelligent plaso parser.
     chrome = ChromeParser(file_object)
     for timestamp, entry_type, url, data1, _, _ in chrome.Parse():
         if entry_type == "CHROME_DOWNLOAD":
             yield rdf_webhistory.BrowserHistoryItem(
                 url=url,
                 domain=urlparse.urlparse(url).netloc,
                 access_time=timestamp,
                 program_name="Chrome",
                 source_urn=file_object.urn,
                 download_path=data1)
         elif entry_type == "CHROME_VISIT":
             yield rdf_webhistory.BrowserHistoryItem(
                 url=url,
                 domain=urlparse.urlparse(url).netloc,
                 access_time=timestamp,
                 program_name="Chrome",
                 source_urn=file_object.urn,
                 title=data1)