Пример #1
0
    def __init__(self):
        Component.__init__(self)

        self.subcomponents['fuel'] = Fuel()
        self.subcomponents['o2'] = O2()
        self.subcomponents['injector'] = Injector()
        self.subcomponents['nozzle'] = Nozzle()
        self.subcomponents['combustor'] = Combustor()
Пример #2
0
 def inject_agent(self):
     self.util.make_substrate_plist(self.PLIST_NAME)
     self.util.make_target_plist(self.TARGET_PLIST_NAME, self.args.package)
     self.injector = Injector(self.AGENT_NAME, self.PLIST_NAME ,self.TARGET_PLIST_NAME, self.args.ip, "root", "alpine")
     self.injector.inject()
Пример #3
0
    # extrakce systemovych volani a jejich navratovych hodnot
    extractor = SyscallExtractor()
    try:
        syscallsAndErrors = extractor.extract("syscalls")
    except:
        print "Error during syscalls search"
        return

    # lexikalni a syntakticka analyza vstupniho soboru s pravidly
    scanner = InputScanner(syscallsAndErrors)
    injectValues = scanner.scan(inputData)
    if injectValues == None:
        print "Bad format of input file"
        return

    # vygeneruje soubor pro systemtap
    generator = GenerateStap()
    generator.generateCmdLine(injectFile, injectValues, syscallsAndErrors[1])

    # vlozi odpovidajici chyby podle zadaneho vstupu
    injector = Injector(command, injectFile)
    try:
        injector.start()
    except:
        print "Error during injection"


if __name__ == "__main__":
    main()
Пример #4
0
    def startButtonClicked(self, widget):
        appName = self.appEntry.get_text()
        param = self.paramEntry.get_text()

        if appName == "":
            messDlg = gtk.MessageDialog(
                type=gtk.MESSAGE_ERROR,
                buttons=gtk.BUTTONS_CLOSE,
                message_format="Path to aplication is empty")
            messDlg.run()
            messDlg.destroy()
            return

        if not self.modeBasic:
            if self.faults == {}:
                messDlg = gtk.MessageDialog(type=gtk.MESSAGE_WARNING,
                                            buttons=gtk.BUTTONS_CLOSE,
                                            message_format="No fault is added")
                messDlg.run()
                messDlg.destroy()
                return

        # nastavi se zobrazovany stav
        self.progress.set_fraction(0.0)
        self.progress.set_visible(True)
        self.labelStatus.set_label("Running")
        self.imageYes.set_visible(True)
        self.imageNo.set_visible(False)

        # vyprazdni se Log
        self.logText = ""
        self.textBuffer.set_text(self.logText)

        # zneplatni se tlacitka a vkladane chyby
        widget.set_sensitive(False)
        self.addButton = self.builder.get_object("addButton")
        self.addButton.set_sensitive(False)
        self.removeButton = self.builder.get_object("removeButton")
        self.removeButton.set_sensitive(False)
        self.browseButton = self.builder.get_object("browseButton")
        self.browseButton.set_sensitive(False)
        self.panely = self.builder.get_object("panely")
        self.panely.set_sensitive(False)
        self.menu = self.builder.get_object("menubar1")
        self.menu.set_sensitive(False)

        termButton = self.builder.get_object("termButton")
        termButton.set_sensitive(True)

        # vygeneruje soubor pro systemtap
        generator = GenerateStap()
        try:
            if self.modeBasic:
                generator.generateNormalInjection(self.injectBasicFilename,
                                                  self.syscallsAndErrors[1],
                                                  self.enableFault,
                                                  self.missingSyscall,
                                                  self.basicError)
            else:
                generator.generate(self.injectAdvancedFilename, self.faults,
                                   self.faultsStartValue,
                                   self.syscallsAndErrors[1])
        except IOError:
            self.endTestApp()
            self.threadError(
                "Permission denied.\nClose application and run as root")
            return

        # vytvoreni injectoru, ktery spousti testovani (Systemtap)
        if self.modeBasic:
            self.injector = Injector(appName + " " + param,
                                     self.injectBasicFilename, self)
        else:
            self.injector = Injector(appName + " " + param,
                                     self.injectAdvancedFilename, self)

        # vytvoreni kontroleru, zjisti, kdy skonci predklad skriptu
        # pro Systemtap
        self.controller = InjectController(self)

        # spusti se testovani
        self.injector.start()
        self.controller.start()