Shadow Stack  0.2
 All Classes Namespaces Files Functions Variables Typedefs Macros
Macros
constants.hpp File Reference
#include <string.h>

Go to the source code of this file.

Macros

#define DYNAMORIO_CLIENT_SO   "/path/to/.so/"
 The .so of the shadow stack DynamoRIO client. More...
 
#define PROGRAM_NAME   "PROGRAM_NAME_PLACEHOLDER"
 The name of the program This should be defined by the cmake on compilation. More...
 
#define STDOUT_FILE   stdout
 The default stdout This fill may be nullptr. More...
 
#define ERROR_FILE   stderr
 The default error log file (important events are also noted here) This fill may be nullptr. More...
 
#define WILDCARD   ( -1 )
 Wildcard address matching value This address matches any address on the stack Since no call or ret will ever happen here, during normal use, it is fine. More...
 
#define DR_SS_ENV_SOCK   "DR_SS_ENV_SOCK_VAR"
 The environment variable used to pass a string to the client The reason it is not an argument is because it is possible for a client's main function to run multiple times with the same arguments. More...
 
#define DR_SS_ENV_FD   "DR_SS_ENV_FD_VAR"
 The environment variable used to store the file descriptor that links to the server. More...
 

Macro Definition Documentation

#define DR_SS_ENV_FD   "DR_SS_ENV_FD_VAR"

The environment variable used to store the file descriptor that links to the server.

This is not closed on exec, but variables that say which fd to use are lost, so we store it in the environment

#define DR_SS_ENV_SOCK   "DR_SS_ENV_SOCK_VAR"

The environment variable used to pass a string to the client The reason it is not an argument is because it is possible for a client's main function to run multiple times with the same arguments.

We can change the environment between runs though!

#define DYNAMORIO_CLIENT_SO   "/path/to/.so/"

The .so of the shadow stack DynamoRIO client.

This should be defined by the cmake on compilation

#define ERROR_FILE   stderr

The default error log file (important events are also noted here) This fill may be nullptr.

#define PROGRAM_NAME   "PROGRAM_NAME_PLACEHOLDER"

The name of the program This should be defined by the cmake on compilation.

#define STDOUT_FILE   stdout

The default stdout This fill may be nullptr.

#define WILDCARD   ( -1 )

Wildcard address matching value This address matches any address on the stack Since no call or ret will ever happen here, during normal use, it is fine.