示例#1
0
    def analysis_thread(self):
        #print "*** started analysis_thread"
        while 1:
            time.sleep(0.2)
            # so this is done poorly, analysis can be incremental
            if self.maxclnum == None or self.db.get_maxclnum(
            ) != self.maxclnum:
                self.analysisready = False
                minclnum = self.db.get_minclnum()
                maxclnum = self.db.get_maxclnum()
                self.program.read_asm_file()
                self.flow = qira_analysis.get_instruction_flow(
                    self, self.program, minclnum, maxclnum)
                self.dmap = qira_analysis.get_hacked_depth_map(
                    self.flow, self.program)
                qira_analysis.analyse_calls(self)

                # hacky pin offset problem fix
                hpo = len(self.dmap) - (maxclnum - minclnum)
                if hpo == 2:
                    self.dmap = self.dmap[1:]

                self.maxd = max(self.dmap)
                self.picture = qira_analysis.get_vtimeline_picture(
                    self, minclnum, maxclnum)
                self.minclnum = minclnum
                self.maxclnum = maxclnum
                self.needs_update = True
示例#2
0
 def analysis_thread(self):
   #print "*** started analysis_thread"
   while 1:
     time.sleep(0.2)
     # so this is done poorly, analysis can be incremental
     if self.maxclnum == None or self.db.get_maxclnum() != self.maxclnum:
       self.analysisready = False
       minclnum = self.db.get_minclnum()
       maxclnum = self.db.get_maxclnum()
       self.flow = qira_analysis.get_instruction_flow(self, self.program, minclnum, maxclnum)
       self.dmap = qira_analysis.get_hacked_depth_map(self.flow, self.program)
       self.maxd = max(self.dmap)
       self.picture = qira_analysis.get_vtimeline_picture(self, minclnum, maxclnum)
       self.minclnum = minclnum
       self.maxclnum = maxclnum
       self.needs_update = True
示例#3
0
  def analysis_thread(self):
    #print "*** started analysis_thread"
    while 1:
      time.sleep(0.2)
      # so this is done poorly, analysis can be incremental
      if self.maxclnum == None or self.db.get_maxclnum() != self.maxclnum:
        self.analysisready = False
        minclnum = self.db.get_minclnum()
        maxclnum = self.db.get_maxclnum()
        self.program.read_asm_file()
        self.flow = qira_analysis.get_instruction_flow(self, self.program, minclnum, maxclnum)
        self.dmap = qira_analysis.get_hacked_depth_map(self.flow, self.program)
        qira_analysis.analyse_calls(self)

        # hacky pin offset problem fix
        hpo = len(self.dmap)-(maxclnum-minclnum)
        if hpo == 2:
          self.dmap = self.dmap[1:]

        self.maxd = max(self.dmap)
        self.picture = qira_analysis.get_vtimeline_picture(self, minclnum, maxclnum)
        self.minclnum = minclnum
        self.maxclnum = maxclnum
        self.needs_update = True