What I essentially want to do is have another program write data into this "empty space" for the executable to "work" on
I thought of appending a signature to the application and then writing the data, searching for it later, but that doesn't quite sound right...
Now, other important thing ... I know it should be possible to create a code cave by using code like :
void function(void) {
__asm {
nop
nop
nop
nop
};
}
then, even this is practically the same (apart from the fact that it will be in the .data section, so not executable):
const char data[3];
The problem then is that the other application will not have a definite address to write to.