Hi guys:

I know this might be (most probably is) a newbie question, but I posted it in programing because it's more relevant to this. Here it is:

I am wondering how it is that a program (for example, written in C++) can interact with other running programs in a pc. This might sound like a very hackish example, but it's the only relevant one I can find: For instance, a zip password cracker. I've seen them work. They crack it in the interface. So it must have some way of manipulating (if not at least reading) the zip file, right? There are other examples, like scanners and sniffers (like I said, hackish, but it's the best I can come up with) Please, enlighten me. My mind is in need of knowledge.

P.S.:
Anyone know a good sight with docs on writing assembly. MOV, MOV, ect, ect. It's always fascinated me (If you didn't notice, the only command I remember is MOV)