Esempio n. 1
0
  def testRegions(self):

    def MockedOpen64(requested_path, mode="rb"):
      del mode
      if "proc/100/mem" in requested_path._obj.value:
        return True

      raise OSError("Error in open64.")

    def MockedOpen(requested_path, mode="rb"):
      if "proc/100/maps" in requested_path:
        return open.old_target(os.path.join(self.base_path, "maps"), mode=mode)

      raise OSError("Error in open.")

    with utils.MultiStubber((__builtin__, "open", MockedOpen),
                            (process, "open64", MockedOpen64)):
      with process.Process(pid=100) as proc:
        self.assertEqual(len(list(proc.Regions())), 32)
        self.assertEqual(len(list(proc.Regions(skip_mapped_files=True))), 10)
        self.assertEqual(len(list(proc.Regions(skip_shared_regions=True))), 31)
        self.assertEqual(
            len(list(proc.Regions(skip_executable_regions=True))), 27)
        self.assertEqual(
            len(list(proc.Regions(skip_readonly_regions=True))), 10)
        self.assertEqual(
            len(
                list(
                    proc.Regions(
                        skip_executable_regions=True,
                        skip_shared_regions=True))), 26)
Esempio n. 2
0
    def testUnknownPID(self):
        def FailingOpen(requested_path, mode="rb"):
            del requested_path, mode
            raise OSError("Error in open64.")

        with utils.Stubber(process, "open64", FailingOpen):
            with self.assertRaises(process_error.ProcessError):
                process.Process(pid=1).Open()
Esempio n. 3
0
def OpenProcessForMemoryAccess(pid=None):
    return process.Process(pid=pid)