








                      TSRCrack V3.00 Copyright (c) 1994
                              by Wong Wing Kin
                             All rights reserved.












What is TSRCRACK?

        This is a TSR utility for cracking software protection such as
    password protection. It can also be used to modify the games so that
    they can be much easier finished.
        Why not modify the file directly? It is because the files are
    often compressed and encoded, they cannot be decoded and modified.
    Thus you need a TSR to modify the codes after the files are loaded
    into memory.
        This program can generate a TSR from given information about
    where and how to modify the codes.












Input File format:

        [program <startup program name> ]
        int     <which interrupt to hook>
        <conditions>?

        <conditions> :- if   <segreg>:<seg offset>:<offset>:<codes>
                       (then <segreg>:<seg offset>:<offset>:<codes>)?

        <segreg> :- ds | es | cs | ss
        <seg offset> :- signed/unsigned hex numbers (word)
        <offset> :- unsigned hex numbers (word)
        <codes> :- space separated hex numbers (byte)

        ? means 1 or more occurrences.
        [] mean optional.


        Example: Crack INDARK password

        program tatou.com
        int 21
        if cs:0000:25bc = 3b 86 d0 fd 75 28 a0 8e
        then cs:0000:25c0 = eb 1a

        The above program will hook int 21. Every time int 21 is called,
        it will check the byte sequence at the address CS+0000:25bc
        equal to 3b 86 d0 fd 75 28 a0 8e or not. If it is equal,
        change CS+0000:25c0 to eb 1a.


        Example: The following program can also be acceptable

        Program tatou.com
        int 21

        if Cs:0000:25bc = 3b 86 d0 fd 75 28 a0 8e
        then cs+0:+25c0 = eb 1a

        if cs-cd6:1f46 = 8b 56 e6 d1 e2 c4 1e 8e 7d 03
        then cs:-cd6:1f46 = 83 7e e6 15 74 8 f7 d8 eb d2

        if cs:-cd6:1f04 = 26 ff 0f
        then cs:-cd6:1f04 = eb 01
