diff --git a/src/reversing/bh_replacestring.sh b/src/reversing/bh_replacestring.sh index a8a505f..dbc792d 100644 --- a/src/reversing/bh_replacestring.sh +++ b/src/reversing/bh_replacestring.sh @@ -5,11 +5,12 @@ bh_replacestring() { local src="$2" local dst="$3" - local srchex=$(echo $src | xxd -pu) - local dsthex=$(echo $dst | xxd -pu) + local srchex=$(echo "$src" | xxd -pu) + local dsthex=$(echo "$dst" | xxd -pu) - local tmpfile=".$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1)" + local tmpfile=$(mktemp) - xxd -p < $fil | tr -d '\n' | sed "s/${srchex::-2}/${dsthex::-2}/g" | xxd -r -p > $tmpfile - cat $tmpfile > $fil && rm -f $tmpfile + xxd -p $fil | tr -d \\n | sed "s/${srchex::-2}/${dsthex::-2}/g" | xxd -rp > $tmpfile + + [[ -s $tmpfile ]] && mv $tmpfile $fil }