>>43
It's pretty clear you're trolling, but those 3 functions have very basic functions:
CreateFile - open or create a file, fopen would be the ANSI C equivalent, however as you might guess, this allows fine-tuning of a lot more things than a system-independent function could provide.
CreateProcess - makes a new process, allows very fine control of the state(for example the process could be started in a suspended state, which is very useful if you want to do some other things before actually starting it) of this new process as well as starting parameters this process will have. spawn/exec libc equivalent, but much more featureful.
VirtualAllocEx - I'm not sure what the POSIX equivalent is, but it's probably doable with ptrate. This allocates a piece of memory, of a certain size, protection properties(read/write/execute/...), and a certain allocation mode(commited, reserved, highest-possible address, etc). This functions is needed for purposes such as remote debugging, or running a piece of your code in a remote process, such as hooking other people's code (there are also many other debugging APIs, such as remote exception handling, starting remote threads, changing page protection, and many more). *nixes are a bit worse than Windows in portable low-level debugging functionality because source is shared, and such functionality is not regarded as important.
In case you didn't realize yet, rewriting the application in either case is NOT AN OPTION, because there is nothing else that will do the job
! If you wanted to do this in Linux, you'd have to either abuse implementation-specific syscalls, maybe even recompile your kernel to add support for some syscalls, or write a loadable kernel module to do it for you. In either case, this would be specific to your platform.