in tools/ghostpulse/ghostpulse_payload_extractor.py [0:0]
def main() -> None:
lief.logging.disable()
print_banner()
args = parse_arguments()
outdir = args.outdir.resolve()
payloads = dict()
if args.file:
payloads[
args.file.joinpath(outdir, args.file.name + ".bin")
] = process_ghostpulse_file(args.file)
elif args.directory:
payloads.update(
{
filename.joinpath(outdir, filename.name + ".bin"): payload
for (filename, payload) in utils.map_files_directory(
args.directory,
functools.partial(process_ghostpulse_file),
)
if payload
}
)
outdir.mkdir(parents=True, exist_ok=True)
utils.write_files(outdir, payloads)
for x in payloads.keys():
print("\nPayload written to {}".format(outdir.joinpath(x)))