From 840d92358e311b405475ba7488ec55cc3f4f5fae Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Sun, 21 Oct 2018 19:48:24 +0300 Subject: Give binsearch ability to find all matches --- contrib/brute-map.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'contrib/brute-map.bash') diff --git a/contrib/brute-map.bash b/contrib/brute-map.bash index 4a5a811..a05e915 100755 --- a/contrib/brute-map.bash +++ b/contrib/brute-map.bash @@ -1,11 +1,11 @@ #!/bin/bash -# usage: ./brute-map.bash pid file [window-size] +# usage: ./brute-map.bash pid file [window-size] < regions # Sometimes region offsets aren't available, but we know that some regions map a file # Fix the region offsets by bruteforcing the offsets from a known file while read -r region; do offset=$(printf '%d' "0x$(awk '{print $3}' <<<"$region")") if ((offset == 0)); then - offset=$(binsearch <(ptrace-region-rw "$1" read <<<"$region" 2>/dev/null | bintrim) $3 < "$2") + offset=$(binsearch <(ptrace-region-rw "$1" read <(printf '%s\n' "$region") | bintrim) first $3 < "$2" 2>/dev/null) if [[ -n "$offset" ]]; then hex=$(printf '%.8x' "$offset") awk '{printf "%s %s %s %s %s %s\n", $1, $2, "'"$hex"'", $4, $5, $6, $7}' <<<"$region" -- cgit v1.2.3-70-g09d2