Let us presume a program knows its own filename and path, either gotten it during run-time or has it as a constant. Now is it possible for the program to alter the data in its own executable program file, the "EXE" meaning? I presume that it won’t get write access but I can’t understand why, when the program is running from the memory it shouldn’t affect it self during run-time and therefore shouldn’t affect the OS, so whats the problem? Is there a function that could give access for altering an executed program file, that is or isn’t the calling program's own executable file? I other words, is it possible for a program to alter the data in its own executable program file or another already executed program's executable file?