Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 (Tek) 9/26/83; site mako.UUCP Path: utzoo!watmath!clyde!burl!hou3c!hocda!houxm!houxz!vax135!cornell!uw-beaver!tektronix!orca!mako!tims From: tims@mako.UUCP (Tim Stoehr) Newsgroups: net.games.rogue Subject: Re: patching rogue? Message-ID: <163@mako.UUCP> Date: Fri, 8-Jun-84 11:58:10 EDT Article-I.D.: mako.163 Posted: Fri Jun 8 11:58:10 1984 Date-Received: Sun, 10-Jun-84 00:17:03 EDT References: <611@osu-dbs.UUCP> Organization: Tektronix, Wilsonville OR Lines: 23 Yes, it's quite possible to patch rogue. If you have a version with a wizard password, then a likely attack is to 'adb' rogue. First obtain a assembler listing on paper piping adb output to a file and line printing the file. Then find the strings "wizard's password: ", "sorry" and "you are now as smart as Ken Arnold ..." with adb in the data space of the rogue object. Write down the address of these strings and then 'grep' for them in the the assembler listing file. You will find that these string addresses are localized in the code, and you can see where they are being printed and why. You can either patch in an instruction to do something nice, or set a break-point, and then 'continue' at a convenient place. When I did this, I got the game to toggle me from wizard mode and back at the touch of the ^P key. Once wizard, you may create any object you want, go up and down at will, increase your experience and Hp, or just about anything. Once this is done, however, and you've explored the possibilities, the fun doesn't last very long. I'm sure other more subtle things can be done, like finding out where your strength is incremented, and add 10 instead. The same method mentioned above should work with other strings, although you may have to trace subroutine calls and returns. In any case, you must have your own readable, writable copy of rogue to do any of this. Good luck, and remember, cheating is the only way to beat that stupid game.