DynamoRIO / DynamoRIO/dynamorio

How to disable DR’s randomization policy to code cache?

Open
#2,786 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

My PC is Intel-x86-64, running Ubuntu 16.04. My project needs to instrument all system-calls issued by the target application. Therefore, i need to modify the source code of Dynamorio to put an extra hook before each syscall-instruction. I intend to find out that piece of source code with debugging tricks. In detail, i will first determine who puts the syscall-instruction into code cache by setting watchpoints, and then trace reversely.

However, i found that the address space of code caches is randomized, even when the system-wide ASLR is disabled and GDB's disable-randomize is off. For example, in the first run, the "uname" system call is invoked at address 0x0000000052505016, and it is 0x00000000474b5016 in the second run. This makes me failed to set watchpoints. So my question is how can i disable DR’s randomization policy to code cache? Is there an option?

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.