Symbols manipulation

Fernando Ronci ferr@render.com.ar
Tue Mar 25 00:50:00 GMT 2003


Hi,
I have a program in binary format (no sources available) that crashes with a couple of "dynamic
linker: symbol not found" errors when executed.
With 'ldd -r' I found that the program was dynamically linked to libsocket.so.1 and libc.so.1 and
that the two "symbol not found" errors arise because neither "inet_pton" nor "inet_ntop" exist in
those two libraries.
Then, by means of 'nm' I was able to locate the two objects in libresolv.so.1 , library that is
never called by the binary program.
Now, I have a question:
Using one of the binutils, is it possible to "patch" the binary file so that it includes
libresolv.so.1 or, put the other way around, extract "inet_pton" and "inet_ntop" from
libresolv.so.1 and embed them in libsocket.so.1 for example ?

If someone knows how to do this, or has a better approach, please let me know.
Thank you.

Fernando Ronci
E-mail: ferr@render.com.ar



More information about the Binutils mailing list