On Aug 23, 2006, at 20:40, Mike Zink wrote: > Dave Howell wrote: > >> So you disable or redefine File.read, say. How do you stop a player >> from going to the stdlib or core source code, including, embedding, or >> copy&pasting that into their program, and calling it? > > This part could be a real problem. But we'll see about that later. I > could make part of the updater and such search the user program files > for anything from the stdlib, but that would take a looong time. And wouldn't work. "Recognized my code, eh? Fine! I'll just change File.read to Fyle.reed" or change line breaks or otherwise jigger the code around. I suspect your only hope would be to enlist the aid of the OS by having your initialization code switch over to an utterly unprivileged user; one that's not allowed to write to the file system, read from it, or really do much of anything outside Ruby itself. Your frozen (and hopefully somewhat paranoid) code would know how to get around that. Dunno how that'd work on Windows . . .