I was hoping that this
would make a simple one line program that would print the string pointed to by a pointer from another program if argv was the address of the pointer (eg, bfde768f), but it seems not to work.Code:printf("%s\n", &argv);
Now I notice that if I ask gdb (running without an input program) "x/s 0xbfde768f", it can't access this memory (it's "out of bounds"). I had thought memory was "protected" by simple assigned (ie. the same address won't be handed out twice) and not by actual restriction, as appears to be the case.
Is there a way around this?