Fuckin' Hacker 2.0
                           ~~~~~~  ~~~~~~ ~~~

                           A 2AF Presentation

                          Written by: Hypnocosm

                         Released: June 10, 1987

                      "It's just a fuckin' hacker!"









AN OVERVIEW


 Fuckin' Hacker is a code-hacking piece of software. Anyone who does not
know much about phreaking should NOT use this program. It is designed for
the experienced phreak as a tool to aid him in his telephone endeavors, and
to save him a little money in the process.

 Fuckin' Hacker is written to be used with an IBM PC,XT or AT (or clone,
of course) with a Hayes compatible modem. It only supports up to 2400 baud,
but there's no real gain in hacking at speeds higher than 1200, anyway, due
to the lack of higher baud dialups, and the CPU speed limitations.

 Fuckin' Hacker offers a wide range of capabilities. It has multiple dialup
hacking, using multiple targets, and even long distance hacking. (A feature
most other hackers are still lacking). It is not brute force program, but is
designed instead for the 'paranoid' phreak, living under ESS or worse, who is
in need of codes, yet must obtain them with as little risk as possible.
Hacking multiple dialups, sometimes through a LD service, with random target
numbers is the most risk-free way to hack. It gives LD companies little
indication that any hacking is taking place at all, and reduces your chances
of being 'traced' while in the act. Put it this way, no one I know has ever
been busted for using Fuckin' Hacker ('FH', for short).

 To run FH, be sure the files FH.COM and FH.000 are in the logged drive
(or directory), then simply type 'FH <ret>'. FH will create any files it
needs as it runs, so leave the disk in the drive until you quit FH.


SETTING UP


 When FH first runs it will read in the configuration from disk. If these
files are not present, they will be created. You will then be dropped off
at the Main Menu. The menus in FH are all in the same format. To choose a
menu option, just use the arrow keys and press return when the option you
desire is highlighted. People with color monitors will see the highlighted
options in a different color than the rest of the menu. Monochrome display
users will see the options in two shades, high and low. If these two shades
are not apparent, adjust the level on your monitor until things become clear.


THE MAIN MENU


The options on the Main Menu are:

   Hacker -    Run the hacker. You must have configured the modem and
               extenders before this option will function.

   Scanner -   Yes, FH has a carrier detect scanner, also. It also requires
               some configuration.

   Terminal -  This is a VERY basic terminal routine in case you find the
               need. If you don't like it, use ProComm. This is a hacker,
               not a piece of communications software.

   Utilities - This is the option you will need to use first. It takes to to
               the Utilities Menu where you will spend most of your time with
               FH. This is the meat of the program.

   Quit      - Quit FH and return to DOS.

 As was stated before, to choose an option on the menu, highlight the option
with the arrow keys, and press return (or the space bar). The first thing you
will need to do is configure, so next up:


THE UTILITIES MENU


The options on the Utilities Menu are:

   Configure Modem   - Takes you to the modem configuration.

   Misc Parameters   - Lets you set the default command line parameters,
                       like Begin and End times, printer, I/O windows, etc.

   Edit Extenders    - This is where you design each extender configuration
                       individually.

   Edit Targets      - This is where you store and edit the targets.

   Edit Valids       - This is where the valid codes for use in LD hacking
                       are stored. You can have the hacker automatically
                       append good codes it finds, but they must be updated
                       and checked for validity.

   Extender Flagging - Allows you to flag any combination of extenders to
                       hack.

   Edit Exchanges    - This is where you enter the exchanges you want to
                       scan for computers to hack into.

   Exchange Flagging - Allows you to flag any combination of exchanges to
                       scan.

   Quit to Main Menu - Self explanatory.


                            Setting it Up to Run
                            --------------------

             First step is to go down to the utilities option and hit
        return.  Ok, now you are faced with a new challenge.  The
        Utilities menu.  Well, lets skip over the formalities and move
        on.  Go to the Configure Modem option (you should be on it), and
        hit return.  Ok, this is where you fix up the program to run
        on your system.  The arrow keys on the numeric keypad will flip
        you around on the possible options. If you don't have a numeric
        keypad, well then you have a lousy keyboard, but you can still hit
        the letter corresponding to the option and end up in the right place.
        Hit return or the space bar to edit that option.


        A) ComPort:

            Set the ComPort to 1 or 2 with the arrow keys.

        B) Maximum Baud:

            Set the baud to the maximum baud your modem can handle. This
            baud rate will NEVER be exceeded no matter what some other setting
            is on. (Extenders and targets have their own baud rates... gee.)

        C) Local Dialing:

            This can be set to tone or pulse.  It is sets what mode of dialing
            the program will use to dial out of your home dialtone. Everything
            will henceforth be dialed in tone. Just in case your system can't
            handle DTMF...

        D) PBX Dialing:

            This is for those of you calling out from a pbx system.  If you
            are, you simply put 'Yes' for that option and then go down one and
            enter the digit (or digits) that you must hit for an outside line.
            If you are not calling from a pbx then you need not worry about
            the Outgoing Digit.

        E) Outgoing digit:

            This is valid only if the above option is set to 'Yes'. It is the
            numbers dialed locally (in pulse or tone) to get a local phone co
            dialtone. In most cases this will be a '9'.

        F) Initial String:

            This is a 'modem command string' which you define. Be sure it is
            valid if you want the hacker to initialize properly. It is there
            for your commands to the modem just to make using the program a
            little better. I would suggest putting the dialing speed and
            advanced command set (if your modem has them (X6)) in here. An
            example string would be: 'ATX6S11=47' which would set your modem
            to detect busy and voice on the line, and dial with a 47 millisec
            delay. If you can't think of anything useful to put in here, just
            set it to 'AT' so the program will initialize properly.

               * NOTE The program sends TWO initialization strings to the
                 modem. The first sets the response codes to numeric, turns
                 off the echo, etc. The actual command string sent is:

                        ATM0H0E0V0Q0S0=0S7=90

                 If the second string you specify counteracts any of these
                 commands the modem will NOT initialize properly and you
                 could be bothered with a lot of headscratching. Do NOT
                 set the Initial String to 'ATZ' or anything using a command
                 in the above string. Use it for dialing speed, or to turn
                 on advanced response codes (such as voice and busy detect).
                 If you are using a 1200 baud modem, that does not support
                 these extra features but needs a command to let the modem
                 return a CONNECT 1200 you will need to set this string to
                 'ATX1' or something. The first built-in initialization
                 string is not user modifiable. If your modem has trouble with
                 some of the commands in it, you may still get things working
                 the hard way by modify the COM file itself so that it will
                 have this built-in string set to something your modem is
                 compatible with. I don't suggest doing this if you don't
                 understand exactly how to go about it. And if you DO modify
                 the COM file (hey, it's yours!) PLEASE do not copy it for
                 anyone else. I think you understand why...

        G) Dialing Delay:

            This can either be Time Delay or Dialtone Detect. Dialtone Detect
            is for those of you who have modems that use the advanced command
            set {W,@} (such as USR's).  The Timed Delay is just that. Dialing
            is done with a timer counting off the seconds. I suggest that you
            use Timed Delay even if your modem supports the advanced command
            set, because different modems and different serial ports tend to
            give different results, and it is better to stick with a sure
            deal.

        H) Modem Type:

            You can set this for either External or Internal.  Meaning if you
            have an internal modem you set it to Internal, and vice versa.
            This is there cause it seems that people with internals have major
            problems with all the other programs of this sort.  We fixed that.
            Don't matter where the modem is, in or out, just setting it for
            the correct type will get you on your way. The program will work
            on some internals whether you set it to Internal or not, but it
            will hack more slowly. If the modem has trouble hanging up set
            this option to Internal

        I) Speaker:

            This just toggles the default for the speaker being on or off.
            The program will run silently with this option set to off.
            Nothing dramatic.

        J) Response codes:

            Finishing off the options is Response Codes.  Response Codes
            brings up its own menu.  There is a list of 12 things.  The first
            11 being the different messages you modem sends to the terminal.
            And the number next to them is the numeric code that the modem
            sends which stands for the message.  Understand? For some reason I
            don't think that is too clear, so let me explain it this way: when
            your modem receives a command string and is able to execute it
            without error, it sends you a numeric code that means "OK".  The
            standard number for "OK" is 0, thus that is what we have the "OK"
            response code set to.  When you get this it will be set to the
            defaults for a USR Courier, which are standard response codes, so
            unless you are using some 6th party modem that you bought from
            the Libyan black market, these should work for you. (But to make
            sure, look up what your response codes are in the owners manual
            for the modem).

                * NOTE There is no reason to change any of the response codes
                  if your modem simply does not have messages like VOICE or
                  BUSY, etc. Since your modem will not be returning these
                  codes, the program will function normally, never having
                  to deal with the codes being sent. However, you MUST change
                  these numbers if the messages that ARE sent by your modem
                  do not match the codes listed here. For example, if your
                  modem returns an '8' every time it connects at 1200, you
                  will need to set the CONNECT 1200 code to '8' instead of
                  '5'. This is rare, and you will most likely never have
                  to touch this section of the program. Remember, DO NOT
                  change these codes around if the messages your modem DOES
                  return are matched to the right response code. It doesn't
                  MATTER if the VOICE has a response code set for it. If your
                  modem never sends that response code, you will not have to
                  worry about this section at all.

        K) Quit to Utils:

            The 12th command is Quit, it simply brings you back to the
            Utilities menu.  Now go back to the Utilities menu, and we can
            continue with your lesson.


                           Miscellaneous Parameters
                           ------------------------

           This section is where you can set the defaults for the Command
        Line Parameters, or change the values of these parameters while
        running the program. The Command Line Parameters make it easy to
        tell the program what to do without having to flip through menus.
        It also makes it very easy to run the program from batch files.
        (I know of a BBS that every few days, early in the morning, quits
        the BBS program to a batch file which looks for a certain errorlevel
        and runs FH using these parameters to set the quit time etc. and then
        returns to the BBS, as if nothing ever happened.) Here are the
        parameters and what they mean. (For info on how to use them from the
        command line, type "FH ?" for the syntax). You need not use any
        command line parameters to set values which are saved as defaults.
        You need only use them if you want something changed from the default
        value you have chosen.

        A) Vacation Dialing:

            This option is used in conjunction with the begin and end
            times for the hacker. When this is enabled, the program will
            hack until the end time, and then wait until the start time
            AGAIN to begin hacking, over and over. Use this if you are
            away for a week or two, and set it to hack, say, between the
            hours 13:00 and 17:00. (Don't hack late at night if you can
            help it, there's less switchboard traffic, and a better chance
            of some operator noticing the bad codes being dialed.)

        B) I/O windows:

            This just turns on or off the scrolling input and output display
            on the top of the hacking and scanning screens. Some people
            think it looks neat, others think it slows things down. But you
            can turn it on or off as you please.

        C) Printer:

            Setting this value to ON will result in having all good codes,
            or carriers found with the scanner to be dumped to the printer
            as they are discovered.

        D) Quit to DOS:

            This options tells the hacker or scanner to drop to DOS when the
            end time is reached. This allows a batch file to pick up from the
            DOS prompt and go wherever you want it. No errorlevels are used
            to pass messages to the batch file, but if you can think of
            something you want passed, let me know and I'll put it in.

        E) Start Time:

            This is the time you want to begin hacking, or scanning. It
            will be used for either option. Enter the time in 24hr military
            format.

        F) Quit Time:

            This is the time you want the hacking or scanning to stop. If you
            have the Quit to DOS enabled, the program will exit to DOS when
            this time is reached. Or if Vacation Dialing is enabled, when
            this time is reached, hacking or scanned will cease, and a
            message "Waiting until XX:XX (start time) to begin hacking/
            scanning" will appear.

        G) Quit to Utils:

            Sends you back to the Utilities Menu. You will be asked if you
            want to save the values you have entered here as defaults. If
            you want these values to be the same every time you run the
            program, answer "Y", if however, you liked the defaults you had
            before, and you just want to change something this one time,
            answer "N".


                      Adding/Editing/Deleting Extenders
                      ---------------------------------

             Now what you will want to do is add some of your local dial-
        ups to the Extender file.  So go to the Edit Extender option and
        hit return.  Now you should have a big window in the middle of the
        screen which has all the things you can modify for EACH extender
        in it.  What you want to do is look above that, at the command
        line.  That is your menu of possible commands.  You switch between
        the extender that you can edit by hitting the arrow keys as is
        said on the command line.  If you feel you want to modify one of
        the extenders (that is in the EXTENDER.DAT file that comes in the
        original ARC) or one that you have added ('A'), just hit the arrow
        keys till it says it is on the number you want to edit, and type "E"
        (for edit) to edit it.  You can flip through the different things
        and change them... well, I might as well go over them NOW, so here
        goes.


        A) Area Code:

            This one is simple enough.  Put the area code for the extender
            right here.  Enter this even if the number is local and the area
            code should never be dialed. It won't be. But the information is
            necessary when dialing through valid codes. Understand?

        B) Number:

            Another easy one.  As you might think, this is where the phone
            number to the 'service' you wish to hack. This should be 7 digits
            long. If you wish to enter a range of numbers, hit return after
            entering the first number of the range. A dash will then appear
            and you may enter the LAST number in the range. Any number
            within and including these numbers will be hacked. If you do not
            want to enter a range, simply hit return after the dash and all
            will be well.

        C) Dial Mode:

            This one can be set to either Local or Long Distance.  If set to
            Long Distance, it will dial through an extender with a good code
            in VALID.DAT (we will talk about adding good codes to it with the
            Edit Valids option in a little while).  And if it is set to Local
            it will simply dial the extender straight. A good use for Long
            Distance is hacking long distance services and calling some of
            the 950s and PBXs that you don't want to show up in your record.

                  *NOTE:  When hacking 800's it will AUTOMATICALLY
                          add 1800 to the extender while dialing, so you
                          don't need to mess with anything, just set the
                          area code to 800.

        D) Maximum Baud:

            This lets you set the highest baud rate the extender can support.
            This is the highest speed that the extender can handle.  Usually,
            an extender can handle ANY baud, but there are a few exceptions
            (if it is a noisy service, your chances of connecting at 300 are
            better than at 1200 or 2400). Whatever this baud is set to, it
            will never exceed the baud rate in the Modem Configuration.
            This option is linked with E) Minimum Baud.

        E) Minimum Baud:

            This lets you set the lowest baud rate the extender will be
            hacked at. (Targets with baud rate limitations will be taken
            into consideration when matching extenders with targets, so
            do not concern yourself with possible target baud rate
            conflicts.) When dealing with extenders that send 'fake carriers'
            you can set this value to something higher than 300 to overcome
            this problem. This may not always work, but it is usually
            successful.

            This is the digit you must hit in order to get an outside line,
            and it is dialed AFTER the code. The typical Outgoing is 9, but
            it could be anything else, it all depends on the system.

        F) Tone detect:

            This is used in conjunction with the Dialtone Detect in the
            Configure Modem section.  If you have it set to ON in the
            Configure Modem section, then you can use the option here to set
            it on or off for each individual extender, since not every
            extender gives valid dialtones. This option only applies to
            modems which support the dialtone detect feature. ('W').

        G) Answer Delay:

            This is the delay that comes AFTER the extender, and BEFORE the
            code.  It is suggested that you set the speaker on, or listen on
            an extension, and test out the Delay to make sure it is allowing
            enough time for the Extender to answer before it dials the Code
            (if you have option F set to ON, it won't use this delay, it will
            wait for a dialtone before continuing).

        H) Target Delay:

            This is the time that the program will wait for a carrier before
            hanging up the modem and going on to the next try.  This timer
            starts when the target is finished dialing.  Again, you might
            want to turn on the speaker, or listen on an extension, and see
            if this Delay is long enough (meaning the target has time to
            answer before the Delay runs out (of course you will have to set
            option N to a code you know is good, so that you can test the
            Delay)).

        I) Target Prefix:

            This will be dialed before the target, and after the code.  You
            can put commas and W's (for Dialtone Detect) in it.

        J) Code First:

            This one is either Yes or No.  If Yes, then the after the
            Extender is dialed, the Code will come before the Target, but
            on the other hand, if it is No, the Target will come before the
            code.

        K) Hack Mode:

            This is a three possibility option.  It can be Random (which
            picks codes to try COMPLETELY randomly (like the Lottery)),
            Sequential (this is as it sounds, if the code is 382, then next
            one tried will be 383, and then 384 and on like that), and Both
            (this one picks the codes in a sequential order, but the
            increment of the code is random).  So set it according to what
            you feel will do the best in your situation.

        L) Code Length:

            Oh good, an easy one.  This value is how many digits are in the
            code. If the Code Template is being used, this value is ignored.

        M) Code Template:

            This is easily the most complex and powerful option when it
            comes to code generation. This option overrides the code length
            (If this space is blank, codes will be generated according to the
            length entered, but if this option has ANYTHING entered, the code
            length is forgotten, and codes are created according to this
            template, so be careful when devising it.) It works like this.
            You make a string consisting of the digits 0 through 9, the X
            character, the comma (,), and the W character (for dialtone
            detection.  Any numerical digits (0-9) in the template will be
            present in EVERY code generated in the exact same position. Any
            commas in the template will not be in the place of a code digit,
            but will act as a pause when dialing the code (some systems have
            a second dial tone for the second half of the code, etc.) The X
            character signifies a variable digit. Entering a code template
            like 'XXXXX' would be exactly the same as setting the code length
            to 5 and leaving the template clear. The Hack modes apply here
            also. Some sample templates would be: 'XXXX,9,' would be useful
            if you want to try making a template to hack a PBX (instead of
            using the PBX mode of hacking) it would send a 4-digit code, wait
            for two seconds, send an outgoing 9 and wait for two more seconds
            before dialing the target. Or perhaps '1301XXXXXXX' would hack
            calling cards in the 301 area. The code template (except for the
            X's) is entered EXACTLY as the code is sent to the modem dialing
            command string, so be careful with it.

        N) Starting Code:

            This is the Code it will use the next time that this extender is
            used.  You can modify it in order to test out the delays that
            you are responsible for setting. By entering a good code here,
            so that you KNOW that you should make it all the way through to a
            CONNECT of some sort, you can see if you have timed everything
            accurately. This code should match the code template if you have
            set one (rare actually, most extenders are straightforward) and
            commas (,,,,) are legal in the code. If the extender depends on
            the code template, you must make the starting code match the
            template since the first code is not generated by the template.

        O) Code File:

            This is the name of the file that the good codes that are found
            for that particular Extender are stored in. We suggest you keep
            it at the default for the extender (the extender + .COD), but
            feel free to make it whatever the hell you want. If the extender
            dialed is part of a range, the code file will be set for each
            number in the range, and there is nothing you can do here to
            change it.

        P) Add valids:

            If you are real sure about this extender set this option to Yes
            and every good code found will be added onto the VALID.DAT file
            where good codes are kept. These codes are used to dial long
            distance extenders, and the timing here is critical. The target
            delay on the valid code must be set PERFECTLY for this to work
            and unless you have Dialtone Detect enabled on the extenders you
            dial Long Distance it is not recommended that you use this option.
            It does save you a little trouble though.

        Q) Note:

            Another easy one.  This is a little string of text that you can
            use like a small notepad for something about a particular
            Extender.  We use it for what the name of the service is, or who
            owns it.  Nothing real important, but handy, nevertheless.

        S) Flagged:

            This is an important one.  When hacking, the program randomly
            picks which extender to hack for the next pass.  If this is set
            to No, then it won't be included in the computers choice of
            extenders.  Thus, if you don't want to hack a certain Extender,
            set this to option to NO, otherwise, make sure it is Yes if you
            want to hack the Extender.  There is another option at the
            Utilities Menu that allows you to flag/un-flag every extender
            in the Extender file and it is much easier than flipping through
            each extender and changing it. When you A)dd a new extender this
            value defaults to NO and you must remember to flag it if you want
            to hack the extender immediately.

        T) Quit:

            This returns the cursor to the Command line, and you can
            continue on from there.


             Now that you have thoroughly learned all that, you must know that
        that if you use the "A" command from the Command Line, you MUST
        enter the Area Code, Number, and Code Length before you can hack it
        (I mean be real, how can you hack an empty string? eh?).  You must
        also know about Deleting an Extender.  If an extender is not longer
        in service, or you just don't want it in your list anymore, then hit
        the proper arrowkey, until you see that Extender on the screen. Now
        what you want to do it hit "D" for Delete Extender.  It will prompt
        you for a Yes or No, as to whether or not you want to delete it, and
        if you type "Y" it will be removed form the list, otherwise, it stays
        in the list.



                           Edit/Add/Delete Targets
                           -----------------------

             Edit Targets is the third option on Utilities Menu.  When you
        choose it, it will clear the screen, and do just as it does for
        Edit Extenders, except that the window in the middle of the screen
        is smaller, because it doesn't store as much info as EXTENDER.DAT
        does.  But anyway, the Command Line is the same, and so are the
        Commands (duh huh!).  In this window you should see four things:

        A) Area Code:

            Simply put, this is the area code for the target in B.

        B) Number:

            This, of course, is the target.  Not much else you can say
            about it.

        C) Extra Delay:

            This is used in conjunction with Target Delay in the Edit
            Extender routine.  This value (in seconds) is added to the
            Target Delay time for whatever extender you are hacking.  Its
            main use is for LD Targets.  I mean if the target is Long
            Distance, it might take X more seconds for the call to get
            through, thus Extra Delay = X. If this option weren't around,
            it would be impossible to make all the extenders work with all
            the targets. The default value is zero an unless the target
            takes an unusually long time to answer (say it's in British
            Columbia or something) the value should remain at zero.

        D) Maximum Baud:

            This is the MAXIMUM baud at which the Target is capable of
            answering at.  The program compares the Max Baud from the
            Configure Modem, Edit Extender, and Edit Target (this one),
            and will initialize and hack at the LOWEST of those speeds.
            I believe that to be self explanatory, so I wont explain.

        E) Minimum Baud:

            This is the MINIMUM baud to use with this Target. This is
            usually set to 300, but if you happen to find a target that
            won't connect at 300, set it to something higher. Remember,
            no matter what you set the bauds in the extenders and targets
            to, the program will never exceed the baud rate in the Modem
            Configuration.

        F) Quit Edit:

            This option just takes you back to the Edit Target Command Line.


             Just as you "A"dd and "D"elete in the Edit Extender routine,
        you do here.  It is all the same, so no need explaining it.  Now
        on to better things.



                            Edit/Add/Delete Valids
                            ----------------------

             Ok, this is the fourth option on the Utilities Menu.  Lets pick
        it.  You will see the all familiar clearing of the screen (but for
        the border), and the Command Line will appear at the top along
        with a small window.  This one is for Valid Codes.  These are used
        to dial an extender that is marked as Long Distance.  You may want
        to add a lot of these if you are doing some LD hacking.  The
        different fields are as follows:

        A) Number:

            Ok, this is a number to an extender.  That's all. Oh, use common
            sense, of course it must be local or an 800.

        B) Code:

            This is a VALID code for the above number. If a code template was
            used with this extender, use the proper commas or W's in the
            valid code.

        C) Dial Code First:

            Ok, this is another one of them Yes and No options.  It works just
            like the Dial Code First in the Edit Extender routine.  Read about
            it if you didn't bother already.

        D) Answer Delay:

            As you would think, this is the SAME as the Answer Delay in the
            Edit Extender routine, PLEASE look at it if you haven't already,
            or if you have forgotten already.  Thank you.

        E) Target delay:

            This is how many seconds to wait after dialing the target number
            (which in this case is the extender you are hacking) before
            dialing the code. Since most extenders time out if no code is
            dialed after a certain period of time, this length must be set
            VERY precisely. Dialtone detect is recommended.

                  *NOTE:  It is added to the answer delay for whatever
                          Extender you are using.  I actually recommend
                          you set this to 0 and modify the Answer Delay
                          in Edit Extenders, for the Extender you are
                          using.

        F) Quit Edit:

            This is like every other Quit that is in the program, it takes
            you back to the previous menu (in this case, back to the Command
            Line).

             Now as you find more good codes, you are going to want to put
        them in this list.  Well, that is rather simple, just type "A" for
        Add, and then input the information needed.  Also, the codes that
        you have put in there are going to go bad some time, so you will want
        to delete them.  This, once again, is rather simple.  Just type "D"
        at the Command Line, and hit "Y" when it asks for confirmation of the
        deleting.



                                Flag Extenders
                                --------------

             Ok, the next routine of the Utilities Menu is Flag Extenders.
        What this allows you to do is toggle the flag on each Extender,
        so that it will (or will not) be used while hacking.  The screen
        should clear, and a window will appear in the middle of the screen.
        This menu will have a list of the Extenders in your extender file,
        along with a "Quit" option, which returns you to the Utilities Menu.
        If you have a lot of Extenders, they wont fit on the screen, so it
        gives you more options.  They are "Next Screen" and "Previous Screen"
        and they will be up as options according to how many Extenders you
        have, and what 'screen' of them you are looking at.  You may use the
        PgUp and PgDn keys to choose the Next and Previous screen options
        instantly. But anyway, you move down until you are on top of the
        extender you want to flag (or un-flag as the case may be), and hit
        return.  If an arrow is pointed at the Extender, it is Flagged,
        otherwise it is not.

                  *NOTE: To save me some time, I'll mention right now that
                         the Exchange Flagging option behaves exactly like
                         this one, but it flags exchanges to scan instead of
                         extenders to hack.



                               Edit Exchanges
                               --------------

           This is where you enter in the exchanges you want to scan for
        carriers with the Scanner. The editing system here is very similar
        to the Extender Editing. I'll assume you all understand how CD
        scanners work and simply give you the explanation of the info you
        must fill in for each one:

        A) Area:

            This is the Area code for the range you are scanning. Enter
            if even if it isn't long distance, just so it looks good.

        B) Exchange:

            This is the first three numbers in any number dialed in this
            range. It is often referred to as the prefix.

        C) Start:

            Here is where you complete the phone number where you will
            start scanning. You enter the last four digits of the FIRST
            number you want to start dialing. This number will increase
            as the scanning progresses.

        D) Quit:

            This is the last four digits of the LAST number to dial.
            If you want to scan the numbers 301-321-0000 to 301-321-9999
            you would enter 301 in the Area (option A), 321 in the Exchange
            (option B), 0000 in Start (option C) and 9999 in Quit (this
            option). Is that confusing enough? Just wait.

       E) Dial Mode:

            This tells the program whether the exchange is long distance or
            local. Use the arrow keys to choose one or the other. If the
            number is local, only the exchange and last 4 digits (start) will
            be dialed to call the number. If it is long distance, then the
            call will first go through a service in the Valid Codes section,
            then dial the area code, exchange and last 4 digits.

        F) Timeout:

            This is a value in seconds that tells the Scanner how long to
            wait for a carrier after each dial. You can set this to anything
            you like, but I recommend about 12-15 seconds for local numbers
            and anywhere from 20 to 30 for long distance exchanges.

        G) Flag:

            Yes, you can flag exchanges the same way you flag extenders to
            hack. You may only want to scan one exchange at a time, or all
            or just a few. It's up to you. You can set the flag on or off
            at this menu, or use the Exchange Flagging (next option on the
            Utilities Menu) to flag any combination quickly.

        H) Quit Edit:

            Sends you back to the Utilities Menu, saving all changes made.


                              Quit to Main Menu
                              -----------------

             Not only does this return to the Main Menu, so you can move
        on to better things, but if you edited something, and that routine
        didn't save it to disk, it is saved here (though most everything is
        saved the second you finish editing it).  Well, time to hit this
        option and return to the Main Menu to continue your tour.


                              The Hacking Screen
                              ------------------

           Here is an explanation of what all that shit on the hacking
        screen means.


        Status   :  This is what the program is doing, and what is going on
                    in response to it.

        Dialed   :  This is the number of attempts you have made since you
                    started.

        Success  :  The number of Good Codes found is here, along with your
                    ration of Dialed vs. Successes (since started hacking).

        Baud     :  This is the baud the program is working at during the
                    call.  It is determined, as I said before, by the lowest
                    rate between the Modem Max, Extender Max, and Target Max.

        Hackmode :  This is just what the Code Generation is for the Extender
                    you are hacking at that moment.

        Extender :  Number of the Extender you are hacking on.

        Number   :  The phone number of the Extender.

        Note     :  This is the Extender Note we talked about earlier.

        Code     :  The code that it is trying is shown here.

        Attempts :  This is the total attempts you have made with the
                    extender you are hacking.

        Success  :  This success is for THE EXTENDER, not for all calls
                    that have been made since hacking has begun.

        Target   :  This is the phone number of the Target that it is using
                    to connect with.

             There are two others that you only see when you are hacking
        Long Distance, they are:

        Using :  One of the Extenders in the file VALID.DAT.

        Code  :  The Code that goes along with the above Extender.

             There are a few other things you should notice.  In the top
        right corner of the screen, there will be a timer that counts down
        the delays.  In the top left corner is the time and date (you should
        have noticed that by now).  Below the window there is a small list of
        commands.  They are just as they say.  Hit "S" to toggle the speaker
        on/off, hit the space bar to cycle onto the next pass, and hitting
        the escape key will abort hacking and return to the Main Menu. If you
        set the program to quit to dos, and aborted with a keypress, the quit
        to dos option will be ignored. That is really all there is to it,
        so lets have our closing remarks.



                                   Quit to DOS
                                   -----------

             If you pick this option, it will do as it says. After the time
        for Hacking Quit time has rolled around, the program will stop
        hacking, leave the Hacking Window, show you the credits, CLEAR the
        screen, and Quit to DOS where a batch file can regain control and
        dump your codes to the printer or whatever you want it to do. This
        option was put in because someone wanted to hack all night until 6 AM
        when his parents woke up, but didn't want the Hacker to be on the
        screen. They bitched that he left the computer on, but were none the
        wiser. Although this situation may not apply to you, the usefulness
        of having a batch file take over after running the Hacker justifies
        this option.



                                Idiosyncrasies
                                --------------

             Every program has its own 'quirks', so I will inform you of the
        ones this program has.  Well, I wouldn't exactly call them 'quirks'
        it is more like little unmentioned things that you can do, and tips.

               You can hit any arrow key to flip around most menus, unless it
               says otherwise.  You can also type the # (or letter) of the
               option, and it will be highlighted.

               Hitting ESC will move you back to the previous menu.

               Keypresses are buffered like hell, so if you think you
               didn't press it hard enough, wait a second or two to
               be sure before you punch that bad boy again. Sometimes you
               will be surprised to find yourself flipping wildly through
               the menus.

               If the Quit to DOS option is enabled on the Scanner or Hacker
               it will only drop to DOS if the program finishes Hacking or
               Scanning by means of the timer or (in the case of the Scanner)
               if the last number is dialed. Aborting the Hacker or Scanner
               with a keypress will disable the Quit to DOS option.

               Hitting the space bar in any of the editmenus will allow
               you to change that option (just as if you hit return).

               The Home, End, PgUp, and PgDn keys serve their familiar
               functions in most places. On the menus they jump from top
               to bottom and bottom to top, and when at the Edit Command Line
               they will jump to the first or last extender,target,valid
               or whatever. Try 'em out.

               If you need to change the .DAT files around, sometimes it
               is quickest just to delete the whole goddamn thing. (For
               example: you fucked around with the Response Codes, and
               forgot what to set them back to...) The program will create
               a new file if it finds one missing, and make the first
               record the default values for whatever the file is. (So if
               you deleted CONFIG.DAT, when you run the program again, it
               will say CREATING CONFIG.DAT, and you will have to go and
               configure for your modem. However the response codes will
               be set to their default values...) Don't be afraid to delete!

             WOW.  I could have sworn there were more little things. Well,
        if I forgot anything, I am sure you will figure em out. This is it,
        so go tear em up, eh?


TERMS


 Some of the terms you will encounter while you use FH may need some
explanation, so here's a small glossary of terms:


 CD

   Short for Carrier Detect. CD is what the Hacker uses to detect valid
   codes, and what the Scanner is scanning for.

 COMMAND LINE

   The DOS prompt where you type FH to run the program. The parameters
   you type after FH are used to set temporary values for the information
   in the Miscellaneous Parameters Menu.

 EXCHANGE

   The first 3 digits of a local phone number are referred to as the
   exchange. The scanner in FH scans 'exchanges.'

 EXTENDER

   A dialup for a LD service. This is the number people call to enter their
   access code in order to make a LD call.

 FAKE CARRIER

   Some extenders issue a fake answer tone to deter code hackers. This can
   often be overcome by hacking the extender at a different baud rate than
   the answer tone is designed for. The baud rate can be set individually
   for each extender, often enabling you to 'beat' fake carriers.

 I/O WINDOWS

   When hacking or scanning, the modem input and output can be displayed
   sequentially on the screen in two windows. The output to the modem is
   displayed in a 20 byte window on the upper left of screen, which scrolls
   from right to left as more output takes place. The input from the modem
   behaves in the same way, but on the upper right of the hacker/scanner
   screen.

 LD

   Long Distance. A number that is out of your local dialing area.

 PBX

  Private Business Exchange. A PBX is a phone system that is for the
  exclusive use of a business or institution. These are the kinds of
  phone systems where you have to dial a 9 (or something) to get an
  'outside line.' These systems apply to FH in two ways. The first is
  hacking from within a PBX system. FH is capable of doing this, by
  dialing the 'outside line' code before it dials the extender, valid code
  or exchange. PBX systems sometimes have a line with which you can call
  into the PBX system, enter a code, and have access to the 'outside line'
  without even being present at the PBX itself. The Code Template can
  be configured to hack PBX systems.

 TARGET

   When FH 'hacks' a code it dials an extender, enters a random code,
   and then dials a target number. The target number must be one that
   answers with a carrier. If FH gets a CONNECT message, the code dialed
   must be valid. (However, see FAKE CARRIER).

 VALID

   This is the term FH uses to refer to a 'good code' stored in the file
   VALIDS.DAT. FH uses these valid dialups/codes to hack long distance
   extenders, or to hack local extenders without the threat of ANI.













                           Documentation Written by
                       The Raving Lunatic and Hypnocosm

                          with Inspirational help by
                         Adrian Belew, and Sweet Leaf

                     Discipline is not an end in itself,
                        but merely means to an end.
                          Or something like that...

                      This has been a 2af presentation.