mh... this should change page contents
unsafeWindow.document.documentElement.innerHTML='DEFACED!!!!!!1!!!'
To get those contents you could rely upon GM_xmlhttpRequest()
The real problem here is at what time greasemonkey is triggered; that is: too late for the user not to notice what happened.
I'm not sure about what you're trying to achieve here.
Is it a prank, or a lab user access scheme?
Anyway for the user not to notice you'll eventually need to do one of those two:
- write a full fledged firefox extension that kicks in earlier than GM in the loading process,
- add a non-transparent proxy in the way.