From 566f4c722cb98a028e0865839729a15d16e5d421 Mon Sep 17 00:00:00 2001 From: TKE Date: Tue, 14 Apr 2020 19:28:49 +0200 Subject: [PATCH] added stdin support for hashes --- nsrl/search.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/nsrl/search.py b/nsrl/search.py index 559a179..ed5b72f 100755 --- a/nsrl/search.py +++ b/nsrl/search.py @@ -3,6 +3,7 @@ import argparse import binascii +import sys from pybloom import BloomFilter @@ -10,13 +11,19 @@ def main(): parser = argparse.ArgumentParser(prog='nsrl') parser.add_argument("-v", "--verbose", help="Display verbose output message", action="store_true", required=False) parser.add_argument("-m", "--mismatched", help="Echo only mismatched Hashvalues", action="store_true", required=False) - parser.add_argument('hash', metavar='MD5', type=str, nargs='+', help='md5 hash to search for.') + inputs = parser.add_mutually_exclusive_group(required=True) + inputs.add_argument('hash', metavar='', type=str, nargs='*', default=[], help='md5 hash to search for.') + inputs.add_argument('-s','--stdin',help="Read hashes from stdin", action="store_true") args = parser.parse_args() with open('nsrl.bloom', 'rb') as nb: bf = BloomFilter.fromfile(nb) - for hash_hex in args.hash: + if args.stdin: + hashlist=[hash.strip() for hash in sys.stdin.readlines()] + else: + hashlist=args.hash + for hash_hex in hashlist: hash = binascii.unhexlify(hash_hex) output=""