import struct import sys # TODO: Rather nasty hack, when volatility's actually installed this would be unnecessary sys.path += ".." from volatility.framework import interfaces, layers from volatility.framework.automagic.pdbscan import scan if __name__ == '__main__': import argparse from volatility.framework import contexts parser = argparse.ArgumentParser() parser.add_argument("filenames", metavar = "FILE", nargs = "+", action = "store", help = "FILE to read for testing") args = parser.parse_args() ctx = contexts.Context() scan_layers = [] for filename in args.filenames: index = args.filenames.index(filename) config_name = 'config' + str(index) base_name = 'data' + str(index) ctx.config[interfaces.configuration.path_join(config_name, "filename")] = filename base = layers.physical.FileLayer(ctx, config_name, base_name) ctx.memory.add_layer(base) # XXX What's the right way to check for LiME? (magic,) = struct.unpack('