Re: LD_PRELOAD problem

  • From: "LS Cheng" <exriscer@xxxxxxxxx>
  • To: "Tanel Poder" <tanel.poder.003@xxxxxxx>
  • Date: Fri, 1 Sep 2006 08:23:41 +0200

Hi Tanel

I have run nm against the file and it gives an output of 12699 lines with
this structure:

Symbols from libavanzasiebel.sl:

Name                    Value   Scope  Type    Subspace

$$divI_10           |    464420|extern|milli  |$MILLICODE$
$$divI_12           |    464508|extern|milli  |$MILLICODE$
$$divI_14           |    464944|extern|milli  |$MILLICODE$
$$divI_15           |    464564|extern|milli  |$MILLICODE$
$$divI_16           |    464128|extern|milli  |$MILLICODE$

I guess name is the function name? How can I check what function is being
highjacked?

I ran nm against sqlplus and it shows this:

Symbols from /home/oracle/app/oracle/product/9.2.0/bin/sqlplus:

[Index]    Value                  Size    Type  Bind  O Shndx    Name

[0]      |                     0|       0|NOTYP|LOCAL|0|   UNDEF|
[29983]  |   4611686018440130704|       0|MILLI|GLOB |0|   .text|$$div2I
[29986]  |   4611686018440131056|       0|MILLI|GLOB |0|   .text|$$div2U

Probably the best thing is compare the name of both outputs?

Thanks



On 8/31/06, Tanel Poder <tanel.poder.003@xxxxxxx> wrote:

LD_PRELOAD allows you to hijack dynamicly loaded library functions. If sqlplus calls function X, then if this function X is exported from your /sbl/xxx.sl then this function X is called from /sbl/xxx.sl even if it exists in some other dll against which the executable is linked (like libclntsh* libraries).

Run: nm /sbl/xxx.sl to see which functions may be hijacked there, this
could give some more indication what's going on.

And of course, the library's word-size has to match word-size of the
executable. If the word sizes are different, you have to recompile the
library.

Tanel.

 ------------------------------
*From:* oracle-l-bounce@xxxxxxxxxxxxx [mailto:
oracle-l-bounce@xxxxxxxxxxxxx] *On Behalf Of *LS Cheng
*Sent:* Thursday, August 31, 2006 04:45

*To:* Jesse, Rich
*Cc:* oracle-l
*Subject:* Re: LD_PRELOAD problem



However when I unset LD_PRELOAD sqlplus works but of course the
application specific program fails.


Other related posts: