def main():
    data = dbaccess.getdata()
    dbaccess.check_seq_length_consistency(data.sequence_lengths)

    while True:
        input_line = sys.stdin.readline()
        if not input_line:
            break

        execname, uid, calls = reader.line2data(input_line)

        if execname not in data.executables:
            continue

        known_seqs = tuple(data.executables[execname])

        minimum = min_distance(calls, known_seqs)

        if minimum > config.ALLOWED_MISMATCHES:
            print minimum, execname, calls
def main():
    data = dbaccess.getdata()
    dbaccess.check_seq_length_consistency(data.sequence_lengths)

    while True:
        input_line = sys.stdin.readline()
        if not input_line:
            break

        execname, uid, calls = reader.line2data(input_line)

        if execname not in data.executables:
            continue

        known_seqs = tuple(data.executables[execname])

        minimum = min_distance(calls, known_seqs)

        if minimum > config.ALLOWED_MISMATCHES:
            print minimum, execname, calls
Exemple #3
0
from reader import SetSyscallDataReader
import config
import dbaccess

msg = "%s database. Stop at any time with CTRL+C"

if not dbaccess.dbexists():
    print msg % "Creating"
    data = SetSyscallDataReader(input=sys.stdin)

else:
    print "Loading old data...",
    reader = dbaccess.getdata()
    print "done"

    dbaccess.check_seq_length_consistency(reader.sequence_lengths)

    print msg % "Updating"

    data = SetSyscallDataReader(input=sys.stdin, 
        data_to_merge=reader.executables)

dbaccess.putdata(data)

print "Database built into", config.FILENAME

print "Unique syscalls sequences per executable name:"

for execname in data.executables:
    print execname, len(data.executables[execname])