Path: blob/master/payloads/library/credentials/DuckyLogger2/duckyLoggerDecoder
2968 views
usage () { echo -e "\nDuckyLoggerDecoder is used to decode raw key strokes acquired by DuckyLogger.\n" echo -e "Usage: \nDecode captured logs:\t[./duckyLoggerDecoder -f <log file> -m <mode> -o <output file>]"; echo -e "\nOptions:" echo -e "-f\tSpecify the log file." echo -e "-m\tSelect Mode(normal|informative)" echo -e "-o\tSpecify an output file." echo -e "-h\tFor this banner." } while getopts o:m:f:h: flag do case "${flag}" in o) output=$OPTARG ;; m) mode=$OPTARG ;; f) filename=$OPTARG ;; h) help=$OPTARG ;; *) usage exit 1 esac done if [ -z "$output" ] && [ -z "$filename" ]; then usage exit 1 fi if [ -z "$filename" ]; then echo -e "DuckyLoggerDecoder: Missing option \"-f\"(Log file not specified).\nUse \"-h\" for more information." >&2 exit 1 fi if [ -z "$output" ]; then echo -e "DuckyLoggerDecoder: Missing option \"-o\"(Output file not specified).\nUse \"-h\" for help." >&2 exit 1 fi if [ -z "$mode" ]; then echo -e "DuckyLoggerDecoder: Missing option \"-m\"(Mode not specified).\nUse \"-h\" for help." >&2 exit 1 fi if [ "$mode" != "informative" ] && [ "$mode" != "normal" ]; then echo -e "DuckyLoggerDecoder: Invalid mode \"$mode\".\nUse \"-h\" for help." >&2 exit 1 fi if [ "$mode" == "normal" ] ; then awk 'BEGIN{while (("xmodmap -pke" | getline) > 0) k[$2]=$4} {print $0 "[" k [$NF] "]"}' $filename | grep press | awk '{print $4}' > $output exit 1 fi if [ "$mode" == "informative" ] ; then awk 'BEGIN{while (("xmodmap -pke" | getline) > 0) k[$2]=$4} {print $0 "[" k [$NF] "]"}' $filename > $output exit 1 fi