Created
December 26, 2023 17:26
-
-
Save thiagopilz/4cf74041c72c4e5a607c5983e808dd54 to your computer and use it in GitHub Desktop.
como descobrir as bibliotecas dinâmicas executáveis q carrega quando executadas!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
#find-out-the-dynamic-libraries-executables-loads.sh | |
#------------------------------------------- | |
needs=`readelf -d $1 | \ | |
awk '$2=="(NEEDED)" { | |
gsub("[][]", "", $5); | |
hits[$5]=$5 | |
} | |
END { | |
for (i in hits) { | |
printf(sprintf("%s ", i)) | |
} | |
}'` | |
ldconfig -p | \ | |
awk -vneeds="$needs" \ | |
'BEGIN{ | |
split(needs,aneeds) | |
} | |
{ | |
if (!arr[$1]) | |
arr[$1] = $NF | |
} | |
END { | |
for (i in aneeds) { | |
need = aneeds[i]; | |
if (arr[need]) { | |
print need "\t" arr[need] | |
} else { | |
print "unfulfilled:", need | |
} | |
} | |
}' | |
#------------------------------------------- | |
#HOW TO EXEC: | |
# chmod -R 777 find-out-the-dynamic-libraries-executables-loads.sh | |
# ./find-out-the-dynamic-libraries-executables-loads.sh /path/to/file/file.so | |
#EX: | |
# ./find-out-the-dynamic-libraries-executables-loads.sh /usr/local/CompusisDFe/x64/libacbrcte64.so | |
#[root@localhost teste3_JRE]# ./find-out-the-dynamic-libraries-executables-loads.sh /usr/local/CompusisDFe/x64/libacbrcte64.so | |
#libgtk-x11-2.0.so.0 /lib64/libgtk-x11-2.0.so.0 | |
#libgmodule-2.0.so.0 /lib64/libgmodule-2.0.so.0 | |
#libatk-1.0.so.0 /lib64/libatk-1.0.so.0 | |
#libgdk_pixbuf-2.0.so.0 /lib64/libgdk_pixbuf-2.0.so.0 | |
#libgdk-x11-2.0.so.0 /lib64/libgdk-x11-2.0.so.0 | |
#libgthread-2.0.so.0 /lib64/libgthread-2.0.so.0 | |
#libdl.so.2 /lib64/libdl.so.2 | |
#libpango-1.0.so.0 /lib64/libpango-1.0.so.0 | |
#libglib-2.0.so.0 /lib64/libglib-2.0.so.0 | |
#libgobject-2.0.so.0 /lib64/libgobject-2.0.so.0 | |
#libpangocairo-1.0.so.0 /lib64/libpangocairo-1.0.so.0 | |
#libc.so.6 /lib64/libc.so.6 | |
#libcairo.so.2 /lib64/libcairo.so.2 | |
#libX11.so.6 /lib64/libX11.so.6 | |
#libpthread.so.0 /lib64/libpthread.so.0 | |
#[root@localhost teste3_JRE]# | |
#------------------- | |
#-OU DIRETO POR COMANDO SEM SCRIPT! | |
#DEBUG FILES .SO: | |
# readelf -d /path/to/file/file.so | grep 'NEEDED' | |
#EX: | |
# readelf -d /usr/local/CompusisDFe/x64/libacbrcte64.so | grep 'NEEDED' | |
# awk '/\.so/{print $6}' /proc/1/maps | sort -u | |
# docker exec -u 0 acbrweb bash -c "readelf -d /usr/local/CompusisDFe/x64/libacbrcte64.so | grep 'NEEDED'" | |
# docker exec -u 0 acbrweb bash -c "netstat -tlpn" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment