Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[win32] support AppInit injection #112

Open
derekbruening opened this issue Nov 28, 2014 · 1 comment
Open

[win32] support AppInit injection #112

derekbruening opened this issue Nov 28, 2014 · 1 comment

Comments

@derekbruening
Copy link
Contributor

From derek.br...@gmail.com on December 10, 2010 17:57:41

PR 408521

for AppInit injection we need to initialize the shadow memory for the part of the stack
that has been used already. I didn't do this earlier b/c I had no way to get the current
stack: but PR 395156 gives that to me now.

another problem is handling loss of control on a cbret
this shows up as:
ASSERT pt_parent != NULL common/alloc.c:1019

in addition to marking stack, etc. after re-taking over, DR often takes
over via NtAllocateVirtualMemory hook. client sees post-syscall but never
saw pre => more asserts, like:

in event_basic_block(tag=0x772f03a0)
processing system call #2 NtCallbackReturn
in event_basic_block(tag=0x772f0573)
processing system call #21 NtAllocateVirtualMemory
NtAllocateVirtualMemory: 0x002b0000-0x002b2000 vcommit commit
ASSERT FAILURE (thread 3504): E:/derek/dr/misc/internal/clients/drmemory/common/alloc.c:1268: !is_in_heap_region(base) (HeapAlloc vs VirtualAlloc: error distinguishing)

Original issue: http://code.google.com/p/drmemory/issues/detail?id=112

@derekbruening
Copy link
Contributor Author

From bruen...@google.com on December 02, 2013 10:12:50

We had a user request for this: https://groups.google.com/forum/#!topic/DrMemory-Users/PX8N6_x50dA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant