I'm trying understand how some parts of a closed source program distributed as a stripped binary implemented. When I run ldd
on the program, it prints only 4-5 most basic C libraries as dynamic dependencies. (e.g. libc
, glib
, gobject
etc.) However, when I run it in gdb or attach gdb to it and run info sharedlibrary
, it prints a huge list of libraries. Indeed, that program clearly uses GTK for GUI, for example, but gtk libraries are missing in ldd
output and shown in info sharedlibrary
output.
I was wondering does it work and how did they achieve this. Any ideas?
Thanks.