示例#1
0
        def _target(self, target_id=0):
            """
            Return information about the specified target.

            Returns data in the following structure:
            {
                "id":       0,         # ID that can be used in other funcs
                "file":     "/bin/ls", # target's binary file
                "arch":     "x86_64",  # target's architecture
                "state:     "stopped"  # state
            }
            """
            # get target properties
            d = {}
            d["id"] = pykd.getCurrentProcessId()
            d["num"] = d['id']

            # get target state
            d["state"] = self._state()

            d["file"] = pykd.getProcessExeName()

            # get arch
            d["arch"] = self.get_arch()
            d['byte_order'] = self.get_byte_order()
            d['addr_size'] = self.get_addr_size()

            return d
示例#2
0
文件: pig.py 项目: mutepigz/cdb-pig
	def _target(self, target_id=0):
		"""
		Return information about the specified target.

		Returns data in the following structure:
		{
			"id":	   0,		 # ID that can be used in other funcs
			"file":	 "/bin/ls", # target's binary file
			"arch":	 "x86_64",  # target's architecture
			"state:	 "stopped"  # state
		}
		"""
		# get target properties
		d = {}
		d["id"] = pykd.getCurrentProcessId()
		d["num"] = d['id']

		# get target state
		d["state"] = self._state()

		d["file"] = pykd.getProcessExeName()

		# get arch
		d["arch"] = self.get_arch()
		d['byte_order'] = self.get_byte_order()
		d['addr_size'] = self.get_addr_size()
		d['bits'] = d['addr_size'] << 3

		return d
示例#3
0
 def _get_correct_process_id(self):
     while self._pid == 0xffffffff:
         try:
             self._pid = pykd.getCurrentProcessId()
         except Exception as err:
             self.logger.debug("Can't get correct process id because of: %s" % err)
             continue
示例#4
0
 def __init__(self):
     self.pid = pykd.getCurrentProcessId()
     self.hprocess = kernel32.OpenProcess(PROCESS_ALL_ACCESS, False,
                                          self.pid)
示例#5
0
 def get_pid(self):
   if self.pykd_version == PYKD3:
     return pykd.getProcessSystemID()
   return pykd.getCurrentProcessId()
示例#6
0
	def __init__(self):
		self.pid = pykd.getCurrentProcessId()
		self.hprocess = kernel32.OpenProcess(PROCESS_ALL_ACCESS, False, self.pid)
示例#7
0
        except:
            pass


# fuzz_target = 'foxit'
fuzz_target = 'adobe'

while True:
    # check if expiration time arrived.
    if time.time() > expire_time:
        break

    try:
        # only fuzz 1 process
        if fuzz_target == 'adobe':
            if 1 != pykd.getCurrentProcessId():
                e("g")
                continue

        # sxd some breakpoint, and go;
        res_g = e("sxd cpr;sxd ld;sxd ct;sxd et;g")

        # get some information
        lastevent = e(".lastevent")
        r = e("r")
        kl2 = e("k L2")

        # see if any crash
        # if break at verifier!VerifierStopMessage, maybe a page heap crash occur.
        if kl2.find("verifier!VerifierStopMessage") >= 0:
            save_sample(lastevent)