Note that there are some explanatory texts on larger screens.

plurals
  1. POProxy shared library (sharedlib, shlib, so) for ELF?
    primarykey
    data
    text
    <p>On Windows, it's more or less common to create "proxy DLLs" which take place of the original DLL and forward calls to it (after any additional actions as needed). You can read about it <a href="http://www.codeproject.com/KB/DLL/CreateYourProxyDLLs.aspx" rel="nofollow noreferrer">here</a> and <a href="http://aluigi.altervista.org/mytoolz.htm#dllproxyskel" rel="nofollow noreferrer">here</a> for example.</p> <p>However, shlib munging culture under Linux is quite different. It starts with the fact that LD_PRELOAD is the builtin feature with ld.so under Linux, which simply injects separate shlib into process and uses any symbols it defines as override. And that "injection" technique seems to define whole direction of thought - here's <a href="http://www.eresi-project.org/wiki/TheELFsh" rel="nofollow noreferrer">a typical ELF hacking tool</a> or <a href="https://stackoverflow.com/questions/4029940/patching-code-symbols-into-a-dynamic-linked-elf-binary">this question</a>, where gentleman seems to have the same usecase as me, but starts with asking how he can patch existing binaries.</p> <p>No, thanks. I don't want to inject into or modify something which is nor mine. All I want to do is to make a standalone proxy shlib which will call out to the original. Ideally, there would be a tool which can be fed with the original .so and create a C source code which would just redirect to original's functions, while letting me easily override anything I want. So, where's such tool? ;-) Thanks.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload