diff --git a/attach b/attach index 2b65be1b..53e53c15 100755 --- a/attach +++ b/attach @@ -35,7 +35,12 @@ cp "bin/libcathook.so" "$FILENAME" echo loading "$FILENAME" to "$proc" -gdb -n -q -batch \ +gdbbin="gdb" +if [ -x "./bin/gdb-arch-2021-02" ]; then + gdbbin="./bin/gdb-arch-2021-02" +fi + +$gdbbin -n -q -batch \ -ex "attach $proc" \ -ex "echo \033[1mCalling dlopen\033[0m\n" \ -ex "call ((void*(*)(const char*, int))dlopen)(\"$FILENAME\", 1)" \ diff --git a/attach-gdb b/attach-gdb index 270bfe20..05cc0390 100755 --- a/attach-gdb +++ b/attach-gdb @@ -35,7 +35,12 @@ cp "bin/libcathook.so" "$FILENAME" echo loading "$FILENAME" to "$proc" -gdb -n -q -batch \ +gdbbin="gdb" +if [ -x "./bin/gdb-arch-2021-02" ]; then + gdbbin="./bin/gdb-arch-2021-02" +fi + +$gdbbin -n -q -batch \ -ex "attach $proc" \ -ex "echo \033[1mCalling dlopen\033[0m\n" \ -ex "call ((void*(*)(const char*, int))dlopen)(\"$FILENAME\", 1)" \ diff --git a/attach-libnamed.sh b/attach-libnamed.sh index ef57cee5..bbe36b30 100755 --- a/attach-libnamed.sh +++ b/attach-libnamed.sh @@ -44,7 +44,12 @@ sudo cp "bin/libcathook.so" "/lib/i386-linux-gnu/${FILENAME}" echo loading "$FILENAME" to "$proc" -gdb -n -q -batch \ +gdbbin="gdb" +if [ -x "./bin/gdb-arch-2021-02" ]; then + gdbbin="./bin/gdb-arch-2021-02" +fi + +$gdbbin -n -q -batch \ -ex "attach $proc" \ -ex "echo \033[1mCalling dlopen\033[0m\n" \ -ex "call ((void*(*)(const char*, int))dlopen)(\"/lib/i386-linux-gnu/$FILENAME\", 1)" \ diff --git a/scripts/dependencycheck b/scripts/dependencycheck index 193b91f6..0398aeaf 100755 --- a/scripts/dependencycheck +++ b/scripts/dependencycheck @@ -97,6 +97,8 @@ case "$OS" in requestPermissions "${arch_packages[@]}" $SUDO pacman -S --noconfirm --needed "${arch_packages[@]}" fi + # Arch's shipped GDB is broken at this time + curl -C - -o ./bin/gdb-arch-2021-02 https://nullworks.gitlab.io/cathook/cathook/gdb && chmod +x ./bin/gdb-arch-2021-02 || true ;; "ubuntu") dpkg -s "${ubuntu_packages[@]}" > /dev/null 2>&1