


                              X-Brain32 BP v1.31b
                             ---------------------

               done by Black Panther after an idea of Fire-Ball.


Whats this!?
------------
  This is a crack/cheat & patch-engine which is very easy to use. Just
  copy all the volumes you have (volumes=packats of cracks/cheats...)
  in the directory where you have the patchr32.exe in and run it.
  You can than choose from thousands of entries (if you have all the
  volumes).

  It's exactly like my dos-version, but has not been tested that much.
  I also dicovered the following bug(s) wich will be fixed soon (I hope) ;-/
    - problems in getting dos-parameters (TEMP, COMSPEC) under
      Windows 2000

  This is my first proggy which i have written for windows so please don't
  cry about the lame interface. I think the interface looks much better now
  but I am still not very sattisfied with it.


The volumes can have the following extensions:
----------------------------------------------
    X-B - the "old" X-Brain files (I can't handle the crypted now)
    BPP - the new files (use these names if U use new commands which are
          not used by X-Brain)
    BPZ - packed BPP-files with GZIP
        ->!!!If you want it to startup faster than enter "GUNZIP -N *.BPZ"!!!
    CRY - crypted files (can also have BPP, X-B or BPZ extension (pack them
          only AFTER crypting and not before!))


    UXB - update-packs which hold updated for existing volumes (will be
          deleted after installation)



U can use the following features in your volume:
------------------------------------------------
Yea it's true you can make your own volumes with a simple texteditor. Just
use the simple commands below to discribe what your crack/cheat should do.
Than give your volume the right extension and copy it into the directory
where patchr32.exe is and run it. The proggy will recognize the new volume
and will include all entries in the list. Please send your volume to us and
we will provide your volume on our homepage (http://thexbrain.cjb.net).


FILE.SEARCH: <filename>;[<size>] use this to search for a file with a
                                 certain size on all drives. Leave the
                                 size if you want.
FILE.COPY: <source> ; [<dest>]   use this to copy a file.
                                 If you want than you can use wildcards
                                 in <source>.
FILE.NFO: <filename>             create a file with the note contents in it.
FILE.EXEC: <program with param>  use this to start an external program with
                                 its command line.
FILE.CREATE: <filename>          use this to create a file with all the stuff
                                 found at the next lines till I reach [EOFC]
                                 Please don't use this command, because it
                                 has been replaced with File.Encode which is
                                 much better (dosen't waste space, faster).
FILE.ERASE: [<filename>]         deletes filename. If no filename is given
                                 than I will take the file from file.search.
FILE.ENCODE: <filename>;[<date time>];[<attribute>]
                                 use this instead of FILE.CREATE if you want
                                 to include big files. Don't care about
                                 the command line just use the ENCODER which
                                 is in the TOOLS directory or other tools
                                 (X-Brain Tools vX.XX which is available on
                                 our page).
FILE.TRUNC: [<filename>];<posi>  truncs a file at the position posi
                                 if no filename is given than the filename
                                 from FILE.SEARCH is taken
                                 If you want than you can use wildcards.
PATCH.STR: <posi>;<changes>      use this to modify a the searched file at
                                 the position "posi" with the bytes/strings
                                 found in changes (see below for the format).
PATCH.SEARCH: <searches>         searches in the file for a certain byte-se-
                                 quence found in searches (see below for the
                                 format).
FILE.SHOW <filename>;[<delay>]   display an ANSI file
                                 The delay-option isn't used cuz U can view
                                 it like a normal text. But U should
                                 use it to stay compatible with X-Brain and
                                 maybe for later versions (when I've
                                 included the trainer stuff).
                                 If you want than you can use wildcards.

------------------------------------------------------------------
PATCH.OPTION:
<Label>; <Posi>; <Flag1> <String1>; <Flag2> <String2>;...
; <Posi>;<String1>;<String2>;...
<Label>; <Posi>; <Bytes>; <Min>; <Max>;
; <Posi>
[EOFO]

You can use this to make up an option menu
where the user can chose to change things in the file (e.g. Life's, Energy,

Level...). The End of this menu is marked with an [EOFO]-line.
Where Label is the Name of this option (e.g. Life, Energy...) and Posi is
the location of this value in the file. After that U can chose between two
different formats the one gives the user the ability to enter a value
between Min and Max (only positive numbers allowed now).
And the other format lets the user chose between the Flags
(e.g.ON,OFF,...).
If you leave the option label than this tells me to install this
option with the one above. Hmm confused? I tell you it was a bitch to code
this and I am not sure if this is good for future development!?

------------------------------------------------------------------
PATCH.CHK: <posi>;<chkstring>    use this to check if a certain string is at
                                 the file at position "posi".
TITLE: <entryname>;[<comment>]   name of the shown title in the menu with
                                 a command (if U want).
CRACKER: <crackername>           name of the cracker/cheater...
NOTE:                            text which will be shown before the patch
                                 (if there comes one (only cheats...)).
                                 Use [EOFN] to tell me that the notes are
                                 finished.
COLOR: <Col>                     Well guess...right it changes the textcolor
                                 to Col during the patch process.
WRITELN: [<String>]              display a text during the patch process
                                 you can use the keyword "<back>" and I will
                                 jump one line up
READKEY: [<message>]             wait on a key- or mouse press
                                 if you add a message behind this statement,
                                 than it will be written to the screen first.
IF KEY: <scancode>               do next commands only if a certain key is
                                 pressed. This if-command must end with a
                                 END KEY:-command
                                  scancode = 0  means Y-key or Yes-button
                                  scancode = 1  means N-key or No-button
                                  all other scancodes are normal
END KEY:                         stop IF-command
DISPLAY: <NR>                    set displaystatus
                                 0 = default (show all about the patch:
                                              results, values, patch steps,..)
                                 1 = display only MainPatchSteps / ERRORs &
                                     WRITELN (NO values / results!)
                                 2 = just ERRORs & WRITELN comments will be
                                     shown!
                                 3 = ONLY .. WRITELN: comment will be
                                     displayed.
REGEDIT:                         inserts everything into the registry which
                                 is found in the next lines until [EOFR] is
                                 found (very usefull with ?_xxx_?-commands).
READSTR.x: <screen>; [<length>]  reads one of 3 strings (x = 1,2,3) and set
                                 them as variable %STR1% %STR2% %STR3%
                                 READSTR.3: enter filename: ; 12
                                 (read %STR3% with max length 12)
MKDIR: <directory>               creates a direcory

============================================================================

   this following command(s) is/are only used in UXB-volumes

    FILE.UPDATE: <FILENAME> ; [<Name of update>]
    ...stuff to append to FILENAME

    Of course you can update more than one FILENAME in a UXB-file


There are many script-errorchecks in the progam, so don't be afraid
of testing this stuff out!


U can always use the following "macros":
----------------------------------------
  %STR*%   - vars which U can set with READSTR.* (*=1,2 or 3)
  %POS%    - position of a searched and found string (see PATCH.SEARCH)
  %FILE%   - name ot the searched file (see FILE.SEARCH)
  %PATH%   - path (with a "\" at the end) where the searched file was found
             (see FILE.SEARCH)
  ?_.\_?   - the same as %PATH%
  ?_.\._?  - the same as path, but with not "\" at the end
  ?_.\\_?  - the same as path, but with two "\\" everywhere (useful for
             the registry)
  ?_.\\._? - the same as above, but with no "\\" at the end

  ?_\._?   - 
  ?_\_?    - \ the same the options above, but with no Drive Letter and "\"
  ?_\\_?   - / at the start
  ?_\\._?  - 

  ?_DRV_?  - drive letter of the drive where the file was found (see
             FILE.SEARCH) but ith no ":" or "\"
  %TEMP%   - Temp-dir with no "\" at the end

U can use the following as formats:
-----------------------------------
  $xxxxx   - "$" tells me that the next number is in Hex format
  xxxxxh   - "h" at the end tells me that this is a Hex number too
  xxxxxb   - "b" at the end tells me that this is a binar number
  #xxxxx   - "#" at the beginning tells me that the following number is dec
  xxxxx    - no special chars as above always tell me to use Dec numbers
  ?        - do no check patch at this position!
  ??       - the same as above (looks better if U use hex numbers)


special formats for PATCH.SEARCH, PATCH.STR and PATCH.CHK:
----------------------------------------------------------
  <????>    - this tells me to search/patch/check the string which is in the
              brackets
  [????]    - the same
  (????)    - well the same
  {????}    - guess

U can also use +, -, * and / to modify a value (e.g %POS%-10*2/3).
But be careful with this, because the calculation makes no difference
between +,- and *,/. And there are no brackets allowed.




Examble of nearly all commands
------------------------------

TITLE: demo copy file and exec;dark grey uuhuu
CRACKER: HackMan                // Crackerpseudonym
DISPLAY: 2                      // hide the following part
FILE.SEARCH: GAME.EXE; #1000    // search GAME.EXE with filesize 1000
PATCH.CHK: FFh; {xXx}           // check: if exist "xXx" on pos FFh go on...
PATCH.STR: #999; #32            // patch char on pos 999 to: " " char
DISPLAY: 0                      // now display all (default display)
PATCH.SEARCH: <xXx>             // search the 'xXx' in GAME.EXE
PATCH.STR: (ooOOoo)             // if found then patch to: "ooOOoo"
FILE.SEARCH: GAME.EXE           // search destination without filesizecheck
FILE.COPY: %PATH%GAME.EXE; %PATH%GAME.BAK
                       // creating a backup of game.exe, because no sizecheck
COLOR: 31              // set displaycolor to blue/white
WRITELN: backupfile: %PATH%GAME.BAK created!
FILE.CREATE: NEWFILE.DAT        // creates a new file with the next contents
#90 $92 45h 34 64 $5A <Test man> #34 $25
$96 192 45h 34 {Test again man!> #24 $23
30 23h (Well I get sick of this) 44 $22
[EOFC]                          // the end of the File-creation

PATCH.OPTION:                   //make up an option-menu
Life; %POS%*2; 1; 0; 255        //Chose lifes between 0 and 255 (=1Byte)
;30h <LiveCheatOn>              //install if the one above is installed
;50h+#12                        //insert value form Life in file at 50h+#12
Cheat; %POS%*2+2; On <J>; Off <N>; Unknown <U> //chose Cheat-level (3types)

;$10; <Cheat1>; <Cheat2>; <Cheat2> //install also this one
;$12; <Cheatx>; <Cheaty>; <Cheatz> //and this!
[EOFO]                            // OK no more options for this menu!


COLOR: 14                                   // set displaycolor yellow
WRITELN: Insert Reg-Date (Retun to do so)?  // write on the screen
READKEY:                         // wait on keypress / if <ESC> stop patch...
IF KEY: 7181                     // do the next if Return (=7181) is pressed

REGEDIT:                         //insert in registry (Win32 must be active)
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows2000]
"CD-DRIVE"="?_DRV_?"             // inserts current drive (from FILE.SEARCH)
"CD-Path"="?_.\\._?"             // inserts current path (from FILE.SEARCH)
[EOFR]                           // defines the end of REGEDIT
END KEY:                         // End of IF-command

WRITELN: ...press key to go on...
READKEY:                       // wait on keypress / if <ESC> stop patch...
FILE.COPY: X.EXE               // copy file X.EXE to [GAME.EXElocation]
FILE.COPY: X.EXE; %PATH%Y.EXE  // copy file X.EXE to [GAME.EXElocation]\Y.EXE
FILE.EXEC: %PATH%Y.EXE %PATH%  // execute Y.EXE in found Programdirectory!
                               // for ex.: ZIP packed .EXE ex.:(D:\Y.EXE D:\)
FILE.NFO: XyZ.NFO              // create XyZ.NFO with note text
NOTE: Demo to show the options find, copy, exec... !!!
READSTR.1 Enter Your Name: ;20 // user can enter a string with 20 chars
                               // the string is stored in %STR1%
WRITELN: Oh so U are %STR1% // ...
FILE.TRUNC %PATH%Movies\*.avi ;0  // truncs all avi-files to save space

/// END ///



History (reversed order):
-------------------------


  X-Brain32 BP v1.31b
    - Ansidisplay-bug fixed

  X-Brain32 BP v1.30b
    - brand new SAP concept -> fully customizable
    - filehandling is a tiny bit faster now
    - ansiViewer is faster
    - no extra form for ansi & patchOption (don't know why i did those
      anyway)
    - Crypt v2.0 added (much faster, old crypt will also be readed, but the
      crypter in X-Brain Tools will only crypt in v2.0 now)

  X-Brain32 BP v1.23b
    - regedit from inside (not with regedit.exe)

  X-Brain32 BP v1.22b
    - gzip/gunzip (un)packer included now....no need to start the dos-packers
      anymore
    - code optimized
    - SAP-file a bit smaller (well ams would propably help in making it
      smaller, but since I am not so used to win32asm it has to wait to get
      this smaller)
    - ability to set your colors and other options for your skins (see 
      settings.ini in skin-dir). Don't worry the old skins will working also.
      It doesn't matter if this ini-file is not present. The default values
      are used than.
    - small bug removed with closing files (may never be seen by users...
      just came across by optimizing the code).
    - ability to create a textfile wich a list of all entries (right
      mouseclick on the entrylist)

  X-Brain32 BP v1.21b
    - Mod-player added (finally)
    - SAP-creation-bug fixed (if u pressed the SAP-button and nothing
      was selected than the proggy crashed)

  X-Brain32 BP v1.20b
    - Design changed <- I replaced the image-buttons with those flat-buttons.
      This makes it much easyer to create skins. Just paint a two background
      (or let PS do it for you) and put a logo on the first background.
      Finally place the two jpg`s (background.jpg / background2.jpg) in the
      Skin-folder with it`s own directory. Now you can choose your skin at
      the next start of PATCHR32.EXE (hit the SKIN-button).
    - I included also an examble SKIN here...switch to it if you like it more
      BTW: if u liked the old design more than download it from the homepage
    - a README.TXT file will be shown if it`s in the Skin-directory

  X-Brain32 BP v1.19b
    - new packer + crypter -> should work again on most systems

  X-Brain32 BP v1.18b
    - BigScreenViewer added in case u want to view the notes in a bigger
      window...visper asked me to impland it and i did ;)

  X-Brain32 BP v1.17b
    - sap-creation-bug fixed (appeared when the entry was in a packed volume)
    - no asci-convertion anymore (not usefull for now cuz the font and
      it`s fonts are different and until the terminal-font isn`t used
      always it makes no sence).
    - sap-file & patchr32.exe itself is now a bit smaller. This is the
      result of a new ups-version (a packer I use) and some optimizations
      I've done when I coded "RLzer".

  X-Brain32 BP v1.16b
    - small bug fixed which appeared while creating a SAP-file and the entry
      was the last in volume (last line of it wouldn't be added).
    - SAP-file updated (editform (READSTR.X:) wasn't designed).

  X-Brain32 BP v1.15b
    - faster startup (finally). Means when changes are detected (new or
      modified volume) than only that volume will be searched for changes.
      This means I had to make a new concept in how changes are detected.
      So don't wonder about those *.IDX-files you may see. They holed the
      informations about changes. If you like give volumes to friends than
      leave the IDX-files on your HD. They will be created if they are not
      present.
    - If you double-klick on a line where a email is written in the notes,
      than your email-client is called automatecly with that email.
    - SkinException-Error fixed (appered when a jpg-file wasn't found).
    - again a bug with the notes-font fixed...I hate windows!!! It's not
      my fault that this is so pissed off sometimes (text dosen't fit into
      screen with no scrollbar).

  X-Brain32 BP v1.14b
    - AntiDebugProtection :-)
    - Ansi-Colors are correct now (in older version they looked a bit
      different from the original dos-ansi)
    - Ansi-Fonts are correct now...This really pisses me off!!! If you wan`t
      to use the Terminal-font, you can choose between different sizes of it
      but that depends on which other tasks are running (dos for examble).
      If anyone knowes if this is normal or a bugg in windows let me know.
      I am almost sure that it has nothing to do with my coding.
    - SAP is looking much better now ;). It's a bit bigger now, but I am
      unable to shrink it more...only ASM would help here. But I never did
      ASM under win32...well let`s see what the future brings :)
    - SkinBrowser looks better now
    - If you double-klick on a line where a URL is written in the notes, than
      your browser is called automatecly with that URL.
    - dialog if more than one SAP-module is found (e.g. from dos and win32).
    - strin256-bug fixed :-/, this is still something from good old dos-times
      In win32 the a string can have more than 256-bytes. That maked X-Brain
      crach if it was longer than that in notes. I am not sure if I fixed
      all...hmm I hope i will get a bit feedback. But unfortunatly I
      haven`t got a single email yet. I wonder why :-/

  X-Brain32 BP v1.13b
    - finally I included the option to build Stand Alone Patches (SAP).
      Right click on a entry -> Create SAP ....and you will have an exe-
      file which doesn't need X-Brain anymore.
    - fixed a small bug in the ReadStr.X-command. It was just
      cosmetical...nothing to worry about.
    - File.Create-command is displaying status correct now.
    - asci from dos is converted also in the notes now

  X-Brain32 BP v1.12b
    - Skin Browser added. Now you can make your own skins for X-Brain.
      Take a look into the original (./Skins/Default/*) and name your
      designs exactly as the files you find there. The format must be
      jpeg (for now). The size is more or less equel but the properties
      should be the same.
      To access the skin-browser just hit the right mousebutton when you
      are on the top-deck of x-brain.

  X-Brain32 BP v1.11b
    - asci from dos is converted
    - fixed a small bug (appered while sorting + clicking in list)
    - added popup-menus
    - move all windows with seeing where they are (~)
    - you can delete entries from volumes (just like in dos-version)
      if you know the secret commandline ;)

  X-Brain32 BP v1.10b [out of beta (i hope)]
    - no-volume-found-bug fixed
    - bug fixed which appeared when someone pressed enter in the mainscreen
      without selecting an item :-/
    - another patch.option bug fixed
    - search-option works currect now
    - graphical interface :-)
    - textsize is nomore limited (was not my fault but the component i
      used before could only handle a limited textsize).
    - crypt-routine is faster now
    - file-search can be abborted
    - tempdir-bug fixed -> wrong free diskspace was calculate sometimes
    - volumeinfo-bug fixed

  X-Brain32 BP v1.02 BETA3 [nearly perfect]
    - sometimes the wrong font was used to display text....no idea why :-(...
      hope i got it right now
    - "patch.dat"-file is now compartible with the dos-version
      also the mod- and color-stuff isn't used now (i am working on it).
    - savedialogs are more informing
    - File.Show-command included
    - small bugs fixed
    - versions before this doesn't work at all, cuz the file.search-procedure
      was totally wrong coded...shame on me :-(
    - fixed all variables with two "\\" (didn't exist)

  X-Brain32 BP v1.01 BETA2 *nuked*
    - patch.option command implanted (I even fixed a big bug in the
      dos-version so get the new dos-version also!)
    - find-temp-dir bug fixed (apperaed only under win 2000 pro final)
    - config-file-bug fixed (was not saved) -> it's much faster now
    - color-bug in patch-window fixed
    - File.copy-bug fixed (command in source was set wrong :-/)
    - access to files with any attribute works now
    - error-handling included (if you got such errorboxes contact me please
      cuz they maybe my fault).
    - temp-data is now cleared
    - file.encode & file.create will now not create the file if you skip it.
    - sort-option included

  X-Brain32 BP v1.00 BETA
    - just ported my dos-version (X-Brain BP v2.00b) to windows.

Contact:
--------
   Any questions, comments or even new volumes than send an email.
   Please help me to find those bugs.

                             bpcrack@hotmail.com

   Any general questions or comments to this project than write to...

                              thex-brain@gmx.net


                 ----->>> http://thexbrain.cjb.net <<<-----

