Esempio n. 1
0
 def openFile(self, widget):
     fileDialog = gtk.FileChooserDialog(title=None, action=gtk.FILE_CHOOSER_ACTION_OPEN,
                                     buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
     fileDialog.set_default_response(gtk.RESPONSE_OK)
     response = fileDialog.run()
     if response == gtk.RESPONSE_OK:
         filename = fileDialog.get_filename()
         #try:
         inputFile = file(filename, 'r')
         data = inputFile.read()
         scanner = InputScanner(self.syscallsAndErrors)
         self.faults = scanner.scan(data)
         if self.faults == None:
             fileDialog.destroy()
             self.threadError("Bad file format")
             return
         self.faultList.clear()
         self.existedFaults = []
         self.faultsStartValue = {}
         for key in self.faults.keys():
             self.faultsStartValue[key] = "NOFAULT"
             for f in self.faults[key]:
                 if f[1] == []:
                     self.faultList.append([key, "", "", "", "", "", "", f[0], False])
                 else:
                     self.faultList.append([key, f[1][0], f[1][1], f[1][2], f[1][3], f[1][4], f[1][5], f[0], False])
                 self.existedFaults.append([key, f[0]])
         self.fileName = filename
         self.faultsEdited = False
         self.saveItem.set_sensitive(False)
     fileDialog.destroy()
Esempio n. 2
0
 def openFile(self, widget):
     fileDialog = gtk.FileChooserDialog(
         title=None,
         action=gtk.FILE_CHOOSER_ACTION_OPEN,
         buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,
                  gtk.RESPONSE_OK))
     fileDialog.set_default_response(gtk.RESPONSE_OK)
     response = fileDialog.run()
     if response == gtk.RESPONSE_OK:
         filename = fileDialog.get_filename()
         #try:
         inputFile = file(filename, 'r')
         data = inputFile.read()
         scanner = InputScanner(self.syscallsAndErrors)
         self.faults = scanner.scan(data)
         if self.faults == None:
             fileDialog.destroy()
             self.threadError("Bad file format")
             return
         self.faultList.clear()
         self.existedFaults = []
         self.faultsStartValue = {}
         for key in self.faults.keys():
             self.faultsStartValue[key] = "NOFAULT"
             for f in self.faults[key]:
                 if f[1] == []:
                     self.faultList.append(
                         [key, "", "", "", "", "", "", f[0], False])
                 else:
                     self.faultList.append([
                         key, f[1][0], f[1][1], f[1][2], f[1][3], f[1][4],
                         f[1][5], f[0], False
                     ])
                 self.existedFaults.append([key, f[0]])
         self.fileName = filename
         self.faultsEdited = False
         self.saveItem.set_sensitive(False)
     fileDialog.destroy()
Esempio n. 3
0
    except IOError:
        print "File does not exist."
        return
    inputData = inputFile.read()
    inputFile.close()

    # 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"