.so Files Reverse Engineeren: Wie kriege ich raus, welche Funktionen die aufruft?

dettus

Bicycle User
Folgendes: Auf der Arbeit muss ich mal eine alte .so Datei reverse engineeren.
Die ruft natuerlich Funktionen in anderen .so libraries auf.
Wisst ihr, wie ich rauskriegen kann welche?

Gibts da was bei den binutils?
 
nm -D <libfile>

EDIT2: aber das zeigt vermutlich nur den Content an, nicht das was die Lib selber noch aufruft, hilft dir also ggf gar nichts;
EDIT3: ggf könnteste noch mit objdump reinschauen

Code:
nm -D /usr/lib64/ld-linux-x86-64.so.2

00000000000147a0 T _dl_allocate_tls@@GLIBC_PRIVATE
00000000000144f0 T _dl_allocate_tls_init@@GLIBC_PRIVATE
0000000000039ac0 D _dl_argv@@GLIBC_PRIVATE
000000000001b660 T _dl_audit_preinit@@GLIBC_PRIVATE
000000000001b730 T _dl_audit_symbind_alt@@GLIBC_PRIVATE
000000000001d3d0 T _dl_catch_error@@GLIBC_PRIVATE
000000000001d2e0 T _dl_catch_exception@@GLIBC_PRIVATE
0000000000014a70 T _dl_deallocate_tls@@GLIBC_PRIVATE
0000000000003300 T _dl_debug_state@@GLIBC_PRIVATE
0000000000004aa0 T _dl_exception_create@@GLIBC_PRIVATE
0000000000004ba0 T _dl_exception_create_format@@GLIBC_PRIVATE
0000000000005010 T _dl_exception_free@@GLIBC_PRIVATE
000000000000ff20 T _dl_fatal_printf@@GLIBC_PRIVATE
000000000000e1d0 T _dl_find_dso_for_object@@GLIBC_PRIVATE
00000000000143f0 T _dl_get_tls_static_info@@GLIBC_PRIVATE
00000000000107b0 T _dl_mcount@@GLIBC_2.2.5
000000000000af60 T _dl_rtld_di_serinfo@@GLIBC_PRIVATE
00000000000....
 
Hmm.. Ein objdump -T zeigt mir tatsaechlich nur funktionen aus der libc an.
(Sorry, dass ich hier keine Ausgabe poste, ist halt fuer die Arbeit...)
 
"readelf" wars.

readelf -a library.so

Zeigt mir an, welche anderen Libraries gebraucht werden. (NEEDED).
In dem Symbol table ".dynsym" sagt er mir, welche anderen Funktionen er braucht.
Nice!!!
 
Halb Offtopic, aber wenn Geld keine keine Rolle spielt, ist IDA Pro das Tool für Reverse Engineering: https://hex-rays.com/ida-pro Bekommt praktisch alles auseinander und vor allem anständig visualisiert, selbst Binaries dies aus Obsuscators gefallen sind. Hat allerdings auch eine recht steile Lernkurve.
 
Zurück
Oben