From b8536ced093ca46f004bea76adbd1ad484d8a8d7 Mon Sep 17 00:00:00 2001 From: Alexander Shvedov <60114847+a-shvedov@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:01:50 +0300 Subject: Update generate_libtoken_dict.sh --- utils/libtokencap/generate_libtoken_dict.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'utils/libtokencap') diff --git a/utils/libtokencap/generate_libtoken_dict.sh b/utils/libtokencap/generate_libtoken_dict.sh index 1ddec06b..cc8c5de7 100644 --- a/utils/libtokencap/generate_libtoken_dict.sh +++ b/utils/libtokencap/generate_libtoken_dict.sh @@ -1,6 +1,6 @@ #help usage() { - echo "Usage: $0 -o -b -p [-t ]" + echo "Usage: $0 -o -b -p [-t ] -- [target_args]" echo "Options:" echo " -o Path to target output directory" echo " -b Path to target program binary" @@ -21,6 +21,9 @@ while getopts ":o:b:p:t:" opt; do esac done +#shift away the parsed opts +shift $((OPTIND - 1)) + #check options if [ -z "$target_output" ] || [ -z "$target_bin" ] || [ -z "$LD_PRELOAD_PATH" ]; then echo "Error: Missing mandatory opts" >&2 @@ -29,7 +32,7 @@ fi # initialize vars AFL_TOKEN_FILE="${PWD}/temp_output.txt" -AFL_DICT_FILE="$(basename "$target_output").dict" +AFL_DICT_FILE="${PWD}/$(basename "$target_bin")_tokens.dict" #generate token-file { @@ -37,9 +40,16 @@ AFL_DICT_FILE="$(basename "$target_output").dict" for i in $(find "$target_output" -type f -name "id*"); do LD_PRELOAD="$LD_PRELOAD_PATH" \ timeout -s SIGKILL "$timeout_sec" \ - "$target_bin" "$i" + "$target_bin" "$@" "$i" done } >"$AFL_TOKEN_FILE" # sort & remove duplicates sort -u "$AFL_TOKEN_FILE" >"$AFL_DICT_FILE" + +# delete temp-file +rm "$AFL_TOKEN_FILE" + +# print done-message +echo "Token dictionary created: $AFL_DICT_FILE" +echo "Script completed successfully" -- cgit 1.4.1