DynamoRIO / DynamoRIO/dynamorio

reduce syscall wrapper dependences in DR

Open
#1,854 2 comments 0 reactions 0 assignees View on GitHub
help wanted Maintainability OpSys-Windows Type-Feature
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

Today, a tiny change in a syscall wrapper sequence breaks DR. This issue
covers better future-proofing DR by improving the places where we assume
particulars about syscall wrappers:
- syscalls_init() looks at precise bytes in the wrapper to identify the
syscall gateway
- syscall_wrapper_ilist() and clean_syscall_wrapper() rely on being able to
construct a precise syscall wrapper from scratch in order to handle
hooks, including our own native_exec hooks
- the winsysnums tool assumes things like no branches (except a few
hardcoded cases) in its attempt to identify all system calls in an
arbitrary system library

Xref #1598

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.