def do_codediff(self, line): ''' Use the new (*alpha*) code diffing engine to show similarities between the current vivisect workspace and the one specified on the command line. COMMING SOON: * Matching similar but changed functions * Enumeration of individual changed blocks * Rename self/other based on matches * Export sig defs for later compare ''' import vivisect.codediff as viv_diff vw2 = VivCli() self.vprint('Loading second workspace: %s...' % line) vw2.loadWorkspace(line) import vivisect.qt.main as vqt_main vqt_main.runqt(vw2) #vw1_unique, vw2_unique, vw_common = viv_diff.getFunctionDeltas(self, vw2) viv_diff.printCodeDeltas(self, vw2)
def loadServerWorkspace(oldvw, server, workspace): oldvw.vprint('Loading Workspace: %s' % workspace) vw = viv_server.getServerWorkspace(server, workspace) import vivisect.qt.main as viv_q_main viv_q_main.runqt(vw, closeme=oldvw.getVivGui())