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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()