Tags: escape strings preproccessor 

Rating:

We used an unintended solution using `#define`, `\`, and `//` to get the compiler to accept string literals that were not valid string literals in C++. This causes it to emit arbitrary C++ code, that Clang happily gobbles up and runs for us.

[Full exploit, with some explanation of how it gets processed, here.](https://ohaithe.re/post/628459542958800896/google-ctf-2019-threading)

Original writeup (https://ohaithe.re/post/628459542958800896/google-ctf-2019-threading).