DynamoRIO / DynamoRIO/drmemory

indirected code object has two strlen* targets: drmem replaces only one

Open
#191 0 comments 0 reactions 0 assignees View on GitHub
Migrated Priority-Medium
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.