            ...//\Oo/\\ HexPatcher v1.1 by .+MaLaTTiA. //\oO/\\...          
                             -=readme file=-

Last revision: 19/11/98
-----------------------

-=[INTRO]=------------------------------------------------------------------

Have you ever asked yourself why you're using a hexeditor? If the operations
you do are just open a file in it, search for a sequence of hex values and
then change them with another sequence, that is, if you're a crac... erm, a
"patcher", well you don't need it anymore... at least I hope so, if my prog
works... =)


-=[BASICS]=-----------------------------------------------------------------

HexPatcher (yes I know, fantasy is not one of my virtues) lets you patch hex
values on the fly, with just 3 or 4 values on the command line:

Syntax: hp [switches] <file1> [<file2>] <hexv01> [<hexv02>]

        <file1>   --> Input file
        <file2>   --> Optional output file (default: create .bak copy)
        <hexv01>  --> Original hex values
        <hexv02>  --> New hex values

Switches:
        -s, -search    Just searches the hex occurrencies
                       usage: hp -search <file1> <hexv01>

        -n, -nobackup  Doesn't write any backup/output file
                       usage: hp -nobackup <file1> <hexv01> <hexv02>

-NOTE-  The hex strings must not contain spaces
        The maximum length for every hex string is 100 chars (50 hex values)

(what you see above is the help and you can recall it just typing "hp" on a
line alone)


-=[NOTES]=------------------------------------------------------------------

Well, there isn't much to explain:

- You can call the program with 3 or 4 parameters
- If the parameters are 3, it supposes you want to patch directly <file1>,
  so it will create a file1.bak file
- If the parameters are 4, it supposes you want to use an alternative output
  (NOT backup) file... I think it's quite useful especially when I run it
  together with my Patching Engine (I directly create a .crk file to work on)
- The hex values should be, of course, hex values: so don't try to put an odd
  number of chars, 'cause the program will accept only "even strings"...
- The hex sequences must not contain spaces... maybe I'll add this feature
  but I didn't think it was SO important :)
- The hex sequences can be of different lengths, for instance if you want to
  search a "long" sequence to be sure it'll be the only one in the file and
  then patch just its first byte.
- The starting point of the patch is the one of the sequence searched in the
  file: so, if you want to patch the SECOND value of the sequence, you'll
  have to write, as patched sequence parameter, THE FIRST AND THE SECOND
  values... of course =)
- Ah yes: since I thought this program to be a patcher on the fly, I thought
  that it should work just with ONE occurrency of the searched string (I
  hope you know HOW to search a sequence to obtain just ONE address, don't
  you?). Then I decided to add support for ALL the occurrencies... result:
  if you have one occurrency, everything is ok; if you have more than one
  occurrency, you can choose to exit or to patch all of them!

[ PHEW! At last THERE WAS much to explain! =) ]

NEWS FROM VERSION 1.1:

You can now use hp just to search, or to patch programs WITHOUT making
backup copies! To perform the first operation, you can just write

hp -s <filename> <hexvalues>

or, shortly

hp <filename> <hexvalues>

If you don't want the backup copy use the "3 parameters version" and
write:

hp -n <filename> <hexvals01> <hexvals02>

NOTE: this is quite a dangerous operation, but it could be helpful if
the files you're going to patch are REALLY big ;)

The switches can be overridden by the number of parameters you insert:
so, if you enter 2 hexvalues sequences, the program will think you want
to patch EVEN IF YOU WRITE THE -s SWITCH! Also, if you enter 2 filenames,
the program will create the alternative file to patch EVEN IF YOU WRITE
THE -n SWITCH! And so on... :)


-=[DISCLAIMER]=-------------------------------------------------------------

Well, all these details are just to let you know that I'M NOT RESPONSIBLE
FOR WHAT YOU'RE DOING WITH THIS FILE, if you're not able to use such an easy
app, well... I don't want to know what you do with Windoze!

This program is FREEWARE: this doesn't only mean you don't have to pay
ANYTHING for it, but also that the code is MINE, the glory is MINE, and
you CAN'T make money with it ;))

This means that:

1) You can change the code (hey, we're all "patchers" aren't we?), but
   remember to unpack it first =)

2) If you try to make money with it I won't call a legal: I'll find you
   and shuffle all the 25317 bones of your body, so it's better if you
   tag them before. And, for all the ones who say "hey a body doesn't
   have all those bones!" I answer: "I KNOW. They WILL be." >:)

3) You want the glory you don't deserve? Take mine, it's second hand!


-=[CHANGES FROM LAST VERSIONS]=---------------------------------------------

v1.1

    Added -s and -n switches. The first just searches for a hex values
    string in the file, the second lets you patch without creating any
    backup copies.


-=[FUTURE VERSIONS]=--------------------------------------------------------

Hey, there HAS BEEN a future version! Woa... :)
I'll add soon the possibility to patch the bytes in points which are
different from the beginning of the found sequence, something like a
[patch +5 bytes there, or -7 there]...
Lemme know if you want something else, but nothing which has to do with
Monica Lewinski, ok? =)


-=[FEEDBACK]=---------------------------------------------------------------

Okie, that's all. If you find any bug or find this program useful, well let
me know, I'll be glad in both of the cases! You can mail me at

malattia@usa.net

If you want to try other proggies written by me (and some other GOOD ones,
because they're not by me!) you can download them from my page:

http://malattia.cjb.net


