DynamoRIO / DynamoRIO/drmemory
indirected code object has two strlen* targets: drmem replaces only one
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
_From [derek.br...@gmail.com](https://code.google.com/u/117968039472581148324/) on December 10, 2010 17:58:24_
PR 582202
xref issue #248/PR 510905 where ELF indirect code object support was added: I
assume that there is only one routine to intercept.
but running tests/loader on my FC12 box I see two!
I don't fully understand what's going on: is the exported func checking how
many args it got somehow? need to analyze.
from log:
export strlen indirected from 0x003ead50 to 0x003ead90
replacing strlen @0x003ead90 in libc.so.6 (base 0x00374000)
yet code is at both and executed at ad50:
(gdb) x/4i strlen
0x3ead50 : push %ebx
0x3ead51 : call 0x38a9ef 0x3ead56 : add $0xfa29e,%ebx
0x3ead5c : cmpl $0x0,0x354c(%ebx)
(gdb) x/4i 0x003ead90
0x3ead90 : push %esi
0x3ead91 : mov 0x8(%esp),%eax
0x3ead95 : mov %eax,%ecx
0x3ead97 : pxor %xmm0,%xmm0
_Original issue: http://code.google.com/p/drmemory/issues/detail?id=191_
Contributor guide
Assessment
This issue has not been assessed yet.