I'm learning about software anti-tampering and I wanted to start making some experiments. This is one of them.

Leaving aside the undefined behavior, I have this program:

```
#include <stdio.h>

void test();

int main() {
    // Code doing all kind of things like calling functions,
    // accessing global variables, calling things from .so's, etc...

    for (int i = 0; i < ((char *)test) - ((char *)main); ++i) {
        printf("%c", ((char *)main)[i]);
    }

    printf("\n");
    return 0;
}

void test() {
}

```

I have made some experimets and it always prints the same string in my mac:

```
����H)�HcM�H9��.H�=kH�����HcM����5�E�E���E�����H�=@��1ɉE��H��]�`

```

Could runtime code change between executions?

Note that I'm asking about runtime code in RAM, not image code that resides in the program file.

What I suspect is that between executions the loader may make the runtime code different depending on the process memory location or something like that.