diff options
author | Your <you@example.com> | 2023-08-30 17:17:55 +0100 |
---|---|---|
committer | Your Name <you@example.com> | 2023-08-30 17:17:55 +0100 |
commit | e4b408932d50c278f3dcd1612a44647512218a6f (patch) | |
tree | bdc52ef01f7c7d05931054118cef48e97161783b | |
parent | 1fe27eb9cd7dc108b5c66bec0ac14c541973b55b (diff) | |
download | afl++-e4b408932d50c278f3dcd1612a44647512218a6f.tar.gz |
Fix detection of DSO
-rwxr-xr-x | frida_mode/util/frida_get_symbol_addr.sh | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/frida_mode/util/frida_get_symbol_addr.sh b/frida_mode/util/frida_get_symbol_addr.sh index fb0002b7..2e682255 100755 --- a/frida_mode/util/frida_get_symbol_addr.sh +++ b/frida_mode/util/frida_get_symbol_addr.sh @@ -31,12 +31,13 @@ file=$(file $target|sed 's/.*: //') arch=$(echo $file|awk -F, '{print$2}'|tr -d ' ') bits=$(echo $file|sed 's/-bit .*//'|sed 's/.* //') pie=$(echo $file|grep -wqi pie && echo pie) +dso=$(echo $file|grep -wqi "shared object" && echo dso) test $(uname -s) = "Darwin" && symbol=_"$symbol" tmp_addr=$(nm "$target" | grep -i "T $symbol" | awk '{print$1}' | tr a-f A-F) test -z "$tmp_addr" && { echo Error: function $symbol not found 1>&2; exit 1; } -test -z "$pie" && { echo 0x$tmp_addr; exit 0; } +test -z "$pie" && test -z "$dso" && { echo 0x$tmp_addr; exit 0; } test -z "$base" && { test "$bits" = 32 -o "$bits" = 64 || { echo "Error: could not identify arch (bits=$bits)" 1>&2 ; exit 1; } |