def init_broker(self): print "[*] init_broker" modname = self.input.text().encode('ascii', 'replace') cmdline = u"\"%s\" -u \"%s\" --idb \"%s\"" % ( os.path.join(PYTHON_PATH, PYTHON_BIN), BROKER_PATH, modname) print "[*] init broker,", cmdline self.broker = Broker(self.parser) env = QProcess.systemEnvironment() env.append("IDB_PATH=%s" % IDB_PATH) env.append("PYTHON_PATH=%s" % os.path.realpath(PYTHON_PATH)) env.append("PYTHON_BIN=%s" % PYTHON_BIN) try: self.broker.connect(self.broker, QtCore.SIGNAL("started()"), self.cb_broker_started) self.broker.connect(self.broker, QtCore.SIGNAL("finished(int)"), self.cb_broker_finished) self.broker.setEnvironment(env) self.broker.start(cmdline) except Exception as e: print "[-] failed to start broker: %s\n%s" % (str(e), traceback.format_exc()) return self.init_hotkeys() self.broker.worker.name = modname