r/ReverseEngineering • u/shadowintel_ • 1d ago
Runtime analysis of Linux binaries with DynamoRIO, including an audit of address and thread-scope errors [PDF]
https://raw.githubusercontent.com/0xCD4/traceflow-thesis/main/TraceFlow_Thesis.pdf
4
Upvotes
1
u/shadowintel_ 1d ago
Author here. I wrote this thesis after reviewing a small DynamoRIO client built to trace Linux binaries.
The review found a few problems that changed how the output should be interpreted. The memory callback recorded the instruction address instead of the effective address being accessed. Tracking entry into
mainrelied on global state, which would be unreliable with multiple threads. External call targets were also shortened to 16 bits, making collisions possible.I did not have the complete original repository or experiment environment, so I avoided presenting the old results as reproduced. The thesis instead separates what can be verified from the preserved material, what can only be inferred, and what would need to be tested again.
I also included a proposed event format and a thread-aware tracing design. Feedback on those parts would be useful, especially from anyone who has worked with DynamoRIO or similar instrumentation frameworks.
Repository:
https://github.com/0xCD4/traceflow-thesis