Exemplo n.º 1
0
 def upload(self, path):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('upload', self.APIKey, path, path)
         cmd.finishedProcessing.connect(self.uploadFinished)
         self.waitCursor(True)
         self.status('Uploading opened file...', 'black')
         cmd.start()
Exemplo n.º 2
0
    def registerButtonClicked(self):
        email = self.ui.editEmail.text().strip()
        name = self.ui.editName.text().strip()
        if email == '':
            self.notifyStatus({
                'statuscode': 1,
                'message': 'Email Address field is empty'
            })
            self.ui.editEmail.setFocus()
            return

        if name == '':
            self.notifyStatus({
                'statuscode': 1,
                'message': 'Name field is empty'
            })
            self.ui.editName.setFocus()
            return

        self.waitCursor(True)
        self.ui.btnRegister.setEnabled(False)
        cmd = VBAsyncCommand('register', email, name)
        cmd.finishedProcessing.connect(self.registerFinished)
        self.status('Registering...', 'black')
        cmd.start()
Exemplo n.º 3
0
 def query(self, hash):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('query', self.APIKey, hash)
         cmd.finishedProcessing.connect(self.queryFinished)
         self.waitCursor(True)
         self.status('Loading binary information for hash %s...' % hash, 'black')
         cmd.start()
Exemplo n.º 4
0
 def queryAll(self):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('query', self.APIKey)
         cmd.finishedProcessing.connect(self.queryAllFinished)
         self.waitCursor(True)
         self.status('Loading all uploaded binaries...', 'black')
         cmd.start()
Exemplo n.º 5
0
 def queryAll(self):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('query', self.APIKey)
         cmd.finishedProcessing.connect(self.queryAllFinished)
         self.waitCursor(True)
         self.status('Loading all uploaded binaries...', 'black')
         cmd.start()
Exemplo n.º 6
0
 def reprocess(self, hash):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('reprocess', self.APIKey, hash)
         cmd.finishedProcessing.connect(self.reprocessFinished)
         self.waitCursor(True)
         self.status('Re-processing binary for hash %s...' % hash, 'black')
         cmd.start()
Exemplo n.º 7
0
 def reprocess(self, hash):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('reprocess', self.APIKey, hash)
         cmd.finishedProcessing.connect(self.reprocessFinished)
         self.waitCursor(True)
         self.status('Re-processing binary for hash %s...' % hash, 'black')
         cmd.start()
Exemplo n.º 8
0
 def upload(self, path):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('upload', self.APIKey, path, path)
         cmd.finishedProcessing.connect(self.uploadFinished)
         self.waitCursor(True)
         self.status('Uploading opened file...', 'black')
         cmd.start()
Exemplo n.º 9
0
    def registerButtonClicked(self):
        email = self.ui.editEmail.text().strip()
        name = self.ui.editName.text().strip()
        if email == '':
            self.notifyStatus({
                'statuscode': 1,
                'message': 'Email Address field is empty'
            })
            self.ui.editEmail.setFocus()
            return

        if name == '':
            self.notifyStatus({
                'statuscode': 1,
                'message': 'Name field is empty'
            })
            self.ui.editName.setFocus()
            return

        self.waitCursor(True)
        self.ui.btnRegister.setEnabled(False)
        cmd = VBAsyncCommand('register', email, name)
        cmd.finishedProcessing.connect(self.registerFinished)
        self.status('Registering...', 'black')
        cmd.start()
Exemplo n.º 10
0
 def behaviors(self, hash):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('behaviors', self.APIKey, hash)
         cmd.finishedProcessing.connect(self.behaviorsFinished)
         self.waitCursor(True)
         self.status('Loading behaviors information for binary %s...'%hash
             , 'black')
         cmd.start()           
Exemplo n.º 11
0
 def query(self, hash):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('query', self.APIKey, hash)
         cmd.finishedProcessing.connect(self.queryFinished)
         self.waitCursor(True)
         self.status('Loading binary information for hash %s...' % hash,
                     'black')
         cmd.start()
Exemplo n.º 12
0
 def pedata(self, hash):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('pedata', self.APIKey, hash)
         cmd.finishedProcessing.connect(self.pedataFinished)
         self.waitCursor(True)
         self.status('Loading pe information for binary %s...' % hash,
                     'black')
         cmd.start()
Exemplo n.º 13
0
 def pedata(self, hash):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('pedata', self.APIKey, hash)
         cmd.finishedProcessing.connect(self.pedataFinished)
         self.waitCursor(True)
         self.status('Loading pe information for binary %s...'%hash
             , 'black')
         cmd.start()   
Exemplo n.º 14
0
 def searchBinaries(self, hash):
     if self.checkAPIKey():
         threshold = self.ui.boxThreshold.value()
         upperhalf = True if self.ui.checkUpperHalf == QtCore.Qt.CheckState.Checked else False
         cmd = VBAsyncCommand('searchBins', self.APIKey, hash, threshold, upperhalf)
         cmd.finishedProcessing.connect(self.searchBinariesFinished)
         self.waitCursor(True)
         self.status('Searching similar binaries...', 'black')
         cmd.start()
Exemplo n.º 15
0
 def behaviors(self, hash):
     if self.checkAPIKey():
         cmd = VBAsyncCommand('behaviors', self.APIKey, hash)
         cmd.finishedProcessing.connect(self.behaviorsFinished)
         self.waitCursor(True)
         self.status(
             'Loading behaviors information for binary %s...' % hash,
             'black')
         cmd.start()
Exemplo n.º 16
0
 def showBinary(self, hash):
     if self.checkAPIKey():
         noLibProc = False
         if self.ui.checkNoLibProc.checkState() == QtCore.Qt.CheckState.Checked:
             noLibProc = True
         cmd = VBAsyncCommand('showBin', self.APIKey, hash, noLibProc)
         cmd.finishedProcessing.connect(self.showBinaryFinished)
         self.waitCursor(True)
         self.status('Retrieving binary disassembly for hash %s...' % hash, 'black')
         cmd.start()
Exemplo n.º 17
0
 def searchBinaries(self, hash):
     if self.checkAPIKey():
         threshold = self.ui.boxThreshold.value()
         upperhalf = True if self.ui.checkUpperHalf == QtCore.Qt.CheckState.Checked else False
         cmd = VBAsyncCommand('searchBins', self.APIKey, hash, threshold,
                              upperhalf)
         cmd.finishedProcessing.connect(self.searchBinariesFinished)
         self.waitCursor(True)
         self.status('Searching similar binaries...', 'black')
         cmd.start()
Exemplo n.º 18
0
 def showProc(self, hash, rva):
     if self.checkAPIKey():
         noLibProc = False
         if self.ui.checkNoLibProc.checkState() == QtCore.Qt.CheckState.Checked:
             noLibProc = True
         cmd = VBAsyncCommand('showProc', self.APIKey, hash, rva, noLibProc)
         cmd.finishedProcessing.connect(self.showProcFinished)
         self.waitCursor(True)
         self.status('Retrieving disassembly for procedure of binary %s at rva %s...' % 
             (hash, rva), 'black')
         cmd.start()
Exemplo n.º 19
0
 def showBinary(self, hash):
     if self.checkAPIKey():
         noLibProc = False
         if self.ui.checkNoLibProc.checkState(
         ) == QtCore.Qt.CheckState.Checked:
             noLibProc = True
         cmd = VBAsyncCommand('showBin', self.APIKey, hash, noLibProc)
         cmd.finishedProcessing.connect(self.showBinaryFinished)
         self.waitCursor(True)
         self.status('Retrieving binary disassembly for hash %s...' % hash,
                     'black')
         cmd.start()
Exemplo n.º 20
0
 def searchAvailableProcedureInList(self):
     if self.checkAPIKey() and len(self.rvaProcessingList) > 0:
         noLibProc = False
         if self.ui.checkNoLibProc.checkState() == QtCore.Qt.CheckState.Checked:
             noLibProc = True
         self.rvaProcessing = self.rvaProcessingList.pop()
         if self.rvaProcessing is not None:
             cmd = VBAsyncCommand('searchProcs', self.APIKey, self.openedFileHash, 
                 self.rvaProcessing, noLibProc)
             cmd.finishedProcessing.connect(self.searchProcedureFinished)
             self.waitCursor(True)
             self.status('Searching for procedure at rva %s...' % self.rvaProcessing, 'black')
             cmd.start()   
Exemplo n.º 21
0
 def showProc(self, hash, rva):
     if self.checkAPIKey():
         noLibProc = False
         if self.ui.checkNoLibProc.checkState(
         ) == QtCore.Qt.CheckState.Checked:
             noLibProc = True
         cmd = VBAsyncCommand('showProc', self.APIKey, hash, rva, noLibProc)
         cmd.finishedProcessing.connect(self.showProcFinished)
         self.waitCursor(True)
         self.status(
             'Retrieving disassembly for procedure of binary %s at rva %s...'
             % (hash, rva), 'black')
         cmd.start()
Exemplo n.º 22
0
 def searchAvailableProcedureInList(self):
     if self.checkAPIKey() and len(self.rvaProcessingList) > 0:
         noLibProc = False
         if self.ui.checkNoLibProc.checkState(
         ) == QtCore.Qt.CheckState.Checked:
             noLibProc = True
         self.rvaProcessing = self.rvaProcessingList.pop()
         if self.rvaProcessing is not None:
             cmd = VBAsyncCommand('searchProcs', self.APIKey,
                                  self.openedFileHash, self.rvaProcessing,
                                  noLibProc)
             cmd.finishedProcessing.connect(self.searchProcedureFinished)
             self.waitCursor(True)
             self.status(
                 'Searching for procedure at rva %s...' %
                 self.rvaProcessing, 'black')
             cmd.start()
Exemplo n.º 23
0
    def download(self, hash, isChild):
        if self.checkAPIKey():            
            if not os.path.isdir(self.downloadFolder):
                os.mkdir(self.downloadFolder)

            if isChild:
                fileType = self.ui.editChildServiceName.text()                 
            else:
                fileType = self.ui.editClassObject.toPlainText()

            extension = self.getExtension(fileType)
        
            cmd = VBAsyncCommand('download', self.APIKey, hash, '%s%sdownload%s%s.%s' %
                (self.currentDir, os.sep, os.sep, hash, extension))
            cmd.finishedProcessing.connect(self.downloadFinished)
            self.waitCursor(True)
            self.status('Downloading file for hash %s...' % hash, 'black')
            cmd.start()
Exemplo n.º 24
0
    def download(self, hash, isChild):
        if self.checkAPIKey():
            if not os.path.isdir(self.downloadFolder):
                os.mkdir(self.downloadFolder)

            if isChild:
                fileType = self.ui.editChildServiceName.text()
            else:
                fileType = self.ui.editClassObject.toPlainText()

            extension = self.getExtension(fileType)

            cmd = VBAsyncCommand(
                'download', self.APIKey, hash, '%s%sdownload%s%s.%s' %
                (self.currentDir, os.sep, os.sep, hash, extension))
            cmd.finishedProcessing.connect(self.downloadFinished)
            self.waitCursor(True)
            self.status('Downloading file for hash %s...' % hash, 'black')
            cmd.start()