





                "What do you want to patch today?" *0

                      [NUKE]
                     NAPALM ULTIMATE
                           KILLING
                                 EXPERIENCE!
                               presents
                           CHEAT ENGiNE v2.xX
                    Registered to yoU
                

                "The standard in patch-making" *1






--     ------     --ͻ
 Comments from users                                                       
--     ------     --ͼ

 "...I want to say you have a great CE! It's totally cool! Well anyway I just
 want to say keep up the good work..."
                                             Zone Master

 -Good work??? Ahem...Oh, yes, good, very, would you send me $1 for it?
  Ok, ok, just a tought... :)

"Hey dude. I like it! NKCE200.zip is really hot."
                                         an215169@anon.penet.fi

 -Sure, maybe I should dedicate it to some girl... :)


"GREAT job on Cheat Engine...I like it a lot."
                                        The Blind Beggar

 -Maybe datz because you're BLIND! :)

"I must say i waz REAL impressed with the concept you use for registration"
"This util of yours saves me lots of time, and I use it a lot..."
                                          SPuTNIK/HAI

 -We aim to please. We usually miss, however...


 Ok, these were some comments I picked RANDOMLY. ;)

--     ------     --ͻ
 Files included in this version                                            
--     ------     --ͼ

    CExx.EXE  Cheat Engine
      CE.DOC  Doc in english
      CE.CFG  Current strings
 CE_TXT1.CFG  Other strings, copy to CE.CFG to change look.
 CE_TXT2.CFG  Other strings, copy to CE.CFG to change look.
EXAMPLE1.EXE  Patch made with CE.
   SCRIPT.CE  Script (optional use)

 Plus all the extra 500KB of bbs adds...


--     ------     --ͻ
 Contents of this almost-looks-serious DOC                                 
--     ------     --ͼ

  0  Start Info
  1  Patches registered to you!
  2  Creditz
  3  Greetings
  4  What is this crap?
  5  How to use the data you know to make a patch
  6  Examples on how to find how to cheat
  7  History

--     ------     --ͻ
0 Starting Info                                                            
--     ------     --ͼ

 Ok, this is just like in the supermarket, the shit that no one cares about
always comes first, and the important stuff is at the end.


 This program is provided "as it is". The author will not be responsible for
  any damaged caused by this program, directly or indirectly, to software or
  hardware. This is 100% safe, however, you never  know,  someone  might
  disassemble this and make a nice trojan to trash your HD. :)
  This is YELLWARE. You might spread it, this time with your conscience
  clear. You can do anything, change it if you like, I don't care, just be
  elegant. I think that there's no real problem in ripping stuff, if you
  give the  author the some creditz..

--     ------     --ͻ
1 Please Register    Yeah, do it once for a change...                      
--     ------     --ͼ

  Hey, hey, don't ignore this, I won't kneel and beg for money, CE is
  totally free!
  Hey! Don't dare to press PGDN!! :)

 If you use this program to release at least 1 patch to the public, you
  must register. To register, simply send me a message saying what you think
  about the proggy, where u got it, ideas, comments, flames, whatever!
  If you don't send the message, your copy will be considered pirated
  software, the Feds will break into your house, get your hardware, and
  you'll have to pay a huge amount of money, and will get a criminal
  record, attacked by fagg prisioners,... ahem, I think you got the idea...

 If you want your patches to display "Registered to <yourgroup>" mention
  the exact string of your group's name or your name.
  If I like yer messie, I'll send you a registration key. :)
  That's the only difference, it will look more professional (yea,yea),
  the unregistered is not crippled in any way.

 Mail me for any other comments.
  Messages of users will make me improve CE, so, staying  quiet is the
  perfect way to insure I won't do this again!

 [NOW]   Send your messages to me (Asskicker): an201088@anon.penet.fi
         If you really liked this and want to be a nice guy (what?!?)
         then make a ANSi for ma board or a ASCii for NUKE. :)


--     ------     --ͻ
2 Creditz   Run time error is our middle name...                           
--     ------     --ͼ


        Design,Code & Docs: Asskicker/[NUKE]

             Additional Code: Mad Zombie,Rad Raver
   (incompetent) Guinea Pigs: Rad Raver,Guardian, Mad Zombie

 Thx to Phantom Lord for agreeing in giving me his font editor routines
 without my needing to use violence.


--     ------     --ͻ
3 Greetings   We can't live without them...                                
--     ------     --ͼ

 Since individual greetings are too long and give too much work... :)
 Greetings to all my friends and all the users of-[RKLS$ LiF]-!!!

 Greetings from NUKE to all the cool groups around, and greetings to
 you if you use this program. :)
 And the traditional "FUCK YOU!!!"'s go  to Portugal Telecom, techno music,
 trojan makers, and all the guys who like me as little as I like them. :)


--     ------     --ͻ
4 Geese!   Ok! Ok! I buy 5 of them!! But wass that crap anyway?!?!         
--     ------     --ͼ

 Fast info:

  For crackers and cheaters, you supply offsets/bytes/info and this
  makes a cute, well-organized, 7-10KB executable patch.
  Simple like hell, but damn useful for cheat/crack makers.

 Why is it called Cheat Engine?

  I don't know yet, but it sounds good. :)

 Complete info:

  This is simply a patch engine. It will not find stuff for you, and it won't
  crack stuff for you, but nothing does that. It's just a tool to help you
  to make crack patches, savegame editors, or anything similar.

  Once you know what to change, where to change, and what to change to, then
  all you have to do is use CE, and spread your patch so that everbody can use
  it. CE simply gets the data you enter, and creates a nice EXEcutable patch.
  Your patch can be a cheat do give you money on savegames of game X, can
  be a crack to kick protection out of commercial program X, anything.

  If you get info on magazines, the usual "change offset X to FF", now you
  can make your own patches to use whenever you want. No need for PCTools
  or other hex eds.

 If you don't have a clue on how to cheat games, you can read the quick
  tutor in this doc. Cracking is much more complex, if you know enough
  to make decent cracks, than you also know enough to build your own
  personalized patcher, and won't need CE (I know however some crackers
  that like to use CE kohz it's cute (hehe) and really fast to use).

--     ------     --ͻ
5 Details   Blood type, shoe size, etc...                                  
--     ------     --ͼ

 CE will  allow  you  to  change  a  maximum of 250 bytes. This seems ok
  because CE was made to create savegame editors and crack patches, which
  usually require 1-20 bytes.

  When you run it, you'll be prompted for some info. Name of the program
  you're patching, it's filename, number of topics to change, etc.

 Suppose you had 2 topics, Money and Ammo, money required the change
 of 3 bytes, and Ammo required the change of 1 byte...

 Topic 11 Byte in offset 1003d changes to 240d
 (Money)             2 Byte in offset   0Fh changes to 255d
                     3 Byte in offset 07FFh changes to  0Fh

 Topic 11 Byte in offset   10d changes to 240d
 (Ammo)

 [NOTE]  The above scheme is totally useless, but I tought it would look
         nice in the doc, so enjoy. :)

 You can have up to 5 topics, and up to 50 bytes in each topic.
 CE has a small help, that should be enough, so you should easily
 understand it. There's no need for me to explain all steps
 here unless you're really braindamaged.
 If it's registered, you'll see an extra question. (Registered to who?)

  After all the info was entered, CE will create the executable patch
   and encrypt/compress everything except the patch info, so you can
   spot it on a quick look and it's easier, much easier to access.
   The size of the patch will ways be=generic code+record with data, so
   a 250 byte patch will have the same size than a 1 byte patch.
   I don't care about this, since 8-10KB is nothing, but I might change
   the system if other features require space.

 [WARNING]  The patch will have overlays, so if you compress it again
            ya'll probably trash the whole thing!

--     ------     --ͻ
6 Examples   Yeah, two examples of cheated games.                          
--     ------     --ͼ

 Ok, now you know how to make get the executable patch, but how do you know
what to change and where?
 Remember that if the file you want to change doesen't always have the same
size than you probably won't succeed in creating a CE patch for it.

 Also, I can define 2 basic type of patches, cheats for games, and protection
cracks - This micro-tutor will give you a hint on how to cheat games, but
if you're not a cracker, then buy a asm book and get a debugger, kohz that's
a totally different field and produces totally different crashes. :)


 1 Doom II

 Let's pick some game... Doom II. Let's suppose you want a patch that
 edits savegames and gives you 255 chaingun rounds. This is not a useful
 thing to do, but I'll use it as the first easy example:

   Start playing... shoot your chaingun. Write down the number of shots
 you have. Ex: 158. Save and exit.
   Convert 158 to HEX with a calculator, edit the savegame with a hex
 editor and search 9E (158d). You'll find it in offset 208.
   Use ce to make a patch of 1 topic, 1 byte, to change offset 208 to 255.

  This might not work, because Doom savegames have variable size.
  Check the next example, it's clear and applies to most games:

 2 Warcraft - Humans and Orcs or orcs & humans, whatever. :)

 I had some HD crashes lately, so I lost all games, now I just have
 Doom 2 and Mortal Kombat II in the HD, and I'm too lazy to get shit from
 the tapes, so, I asked Guardian to write down all steps we used to cheat
 Warcraft, that's another fine example...
 He wrote some nice text, but I decided to cut it to a minimum, to
 be very clear to you lam..uh, beginners. ;)

- Check the money you have and lumber
- Save a game, Lumber / Gold are there, of course.
- In this example, we'll have 1500 lumber and 1500 gold.
- Change 1500 to hexadecimal, use a calculator, maths suck (Guardian
  is in maths, crazy sucker!)
  You'll know that 1500 decimal is 05DC hex or that you're a Pentium.
- Reverse the numbers, 05 DC becomes DC 05
- Get a hex editor, PCTools 4.24, Hiew, any shit.
  (AK:I personally prefer CEDIT bexause it inclues a handy dec<>hex
      converter)
- Search DC 05 in the savegame file
- In those two offsets stick the values FF
- Re-enter the game, you should have 65535 units of each

 Now you can use CE, tell it to stick 255 (FF in decimal) in those
 2 offsets, and you just have to run the patch each time you want
 more gold & lumber in any savegame!

 3 In general...

- Try to use CEDIT always, or HIEW to search the values
  There are several editors, HIEW is great, but I prefer CEDIT to do
  this.
- One way is to write down decimal values, convert to hex, save the game,
  exit and search it to find its offset.
- The other way is to save one game, waste some money (or whatever), and
  do nothing else, save, and the compare the two games, with MSDOS's FC
  command, for instance. The only changes will be in the offset where
  the money (or whatever) value is stored

[ BUGS? ]  This is should work fine, designed to be moron-proof, but not 100%
           so, you know, you feed it garbage, you get garbage!
           I'm too lazy to test it decently. Worked ok here, but there might
           be some hidden bugs. Yell if you see anything wrong.

  Ok, this should be enough. Don't forget to register if  you use this
  proggy. Don't complain if you wanted something but didn't suggest it.
  I'll also compile a list of guys who bothered to write and their comments,
  and include it the next release, so we can all laugh a bit. :)

                                        See you around...

 =[ Asskicker, RKLS$ LF $YZAV/[NUKE] Prez/UNiON VGA ]=-
 =[Born 2 Kick Ass & Chew C4!      iNeT: an201088@anon.penet.fi ]=-

--     ------     --ͻ
7 History                                                                  
--     ------     --ͼ

 See file CE.HIS for history/bug reports.


---
*0: Ok, ok, I was uninspired...
*1: Well, not really, but I tought that would look cool in the first
    page of the doc :)
