def getAvailableSignatures(): """ Forwards the request for available signatures to the signatures module. Normalises the output from this function (checks the signaturs). @return: C{None} if error in signatures file, otherwise the list of signatures. @rtype: C{List} of C{Signatures} """ signs = signatures.getCopyOfAllSignauteres() if signatures.normaliseSignatures(signs) == -1: return None return signs
def init(status_passed): """ Initalises the core for execution for one source file Variables for maximal signature sequence length, found start sequences, counters are reseted and the source file is opened. The status instance is updated and informed about the success of intialisation. @param status_passed: Status instance containing all information for the current execution. @type status_passed: ExecutionSettings.ExecutionStatus @return: Indicates, whether the initialisation was sucessful. (-1 / -2 for problems with signature file; 0 for success) @rtype: C{int} """ global maxlength, start, skipped, size, binfile status = status_passed settings = status.settings settings.dest_folder = tools.checkDestfolder(settings.dest_folder) binfilename = status.getCurrentFile() binfile = open(binfilename, 'rb') if status.file_start == None: status.file_start = 0 if status.file_end == None or status.file_end > os.path.getsize(binfilename): status.file_end = os.path.getsize(binfilename) counter = status.counter counterr = status.counterr # for continue counting start = {} skipped = {} for j in settings.signatures: counter[j[signatures.name]] = 0 start[j[signatures.name]] = -1 skipped[j[signatures.name]] = 0 size = status.file_end - status.file_start maxlength = signatures.normaliseSignatures(settings.signatures) if maxlength == -1: print ('Error in Signature File - required Entry missing in at least one signature') return -1 if maxlength == -2: print ('Error in Signature File - wrong value for at least one signature') return -2 disabled = signatures.disable(settings.signatures, settings.disabled_signatures) status.initialisedOne() return 0