------------------------------------------------
Season7 -- MS-DOS Videocrypt smart card emulator
------------------------------------------------
1994-06-19 -- Markus Kuhn

This software allows you to connect your PC to a Videocrypt pay-TV
decoder. Season7 can both listen to the data traffic between a card and
a decoder and act like a card. This software also implements the hash
function and the secret key that was used in the 07 series card used by
British Sky Broadcasting on the Astra satellites in 1993 and early
1994. In that time, it was possible to watch these channels without a
Sky card using Season7 (someone also called it OMIGOD), but with the
introduction of the 09 card series, the secret key has been changed. So
you can't use this software easily to watch Sky any more, but it still
descrambles recorded program from before 1994-05-18. Season7 can
basically also decrypt the Adult Channel (the same hash algorithm is
used), but for legal reasons, the secret key of the Adult Channel has
been removed from this version, because it is still in use.

In order to use this software, you will need a Videocrypt decoder with
a card slot (costs about 400 DM), an IBM AT compatible PC with at least
a 12 MHz i286 processor, a serial RS-232 port and DOS 3.3 or higher and
you will have to build a small interface circuit as described in the
file ADAPTER.TXT. This interface may be operated in three modes:

 a) A PC listens to data traffic between a card an a decoder
 b) A PC talks to a decoder without a card and acts like a card
 c) A PC talks to a card without a decoder and acts like a decoder

Season7 only supports mode a) and b), but the file ADAPTER.TXT also
describes the additional circuitry (clock generator) necessary for mode
c) operation.

You can use Season7 to record the data traffic between a card and a
decoder for a certain program. If you make this recording available to
someone else, then it is possible for this person to replay the data to
the decoder with Season7 and to descramble the same program later if it
has been recorded in encrypted from on a VCR. The VCL Videocrypt
logfile format supported by Season7 is especially designed for this
purpose, because it only contains the part of the exchanged data needed
to descramble the image. Other exchanged data like the card serial
number is not stored in a VCL file. Technical details of the Videocrypt
card protocol and the VCL file format are explained in the file
DETAILS.TXT.

IMPORTANT: It is illegal to watch pay-TV programs without a subscription
          in the countries in which a regular subscription is available
          (for the Sky channels, these are currently Great Britain and
          Northern Ireland). The legal situation in other countries
          is unclear, but as it is currently tolerated that e.g. in
          Germany and Sweden so-called pirate or clone cards are sold,
          using this software in other countries should be no problem
          at the moment. There is perhaps also no problem if you have
          already a regular subscription for the channels and want
          to use this software only for educational purposes. THE AUTHOR
          OF THIS SOFTWARE TAKES NO RESPONSIBILITY FOR THE LEGALITY OF
          USING AND DISTRIBUTING THIS SOFTWARE. As far as the author is
          concerned, this software may be used and redistributed freely.


How do you use Season7
----------------------

You have to build an electrical interface between the decoder's card
slot and a serial port of your PC. The file ADAPTER.TXT that comes with
this package gives you more technical information about how to do this.
Then start SEASON7.EXE and give as a command line argument the port
number to which you connected your interface (default is COM2 if you
don't give a number).

E.g. enter

       SEASON7 1

if your interface is connected to COM1. If the text 'RESET' or
'Decoding ...' doesn't appear after a few seconds or if your decoder
displays 'YOUR CARD IS INVALID', then please switch to an unscrambled
channel for at least 3 seconds in order to cause a card reset in the
decoder. This software has currently only been tested with a PACE VC100
decoder, but it is expected to work with all other decoders, too.
Without further options, Season7 tries to emulate a Sky series 07 card.

You can leave the program by pressing either q, x or ESC and you can
activate and deactivate a debugging mode by pressing d. In the
debugging mode, all data packets exchanged between the card and the
decoder are listed. By pressing l you can write the last (up to 400)
crypto messages to file VCLOG. As the log file time stamps are in
universal time (UTC, formerly known as Greenwich Mean Time), you should
define your local time zone in environment variable TZ. E.g. put 'set
TZ=MET-1DST' in your AUTOEXEC.BAT if you live in the Middle European
Timezone in summer (2 hours ahead of universal time) and use 'MET-1' in
winter (1 hour ahead of Greenwich). On startup, Season7 shows you the
current universal time. Please check whether it is correct, especially
if you want to provide VCL files for other peoples.

On slow computers (e.g. an i286 processor with 12 MHz is slow enough),
the time needed for the debugging output might already be too long and
the decoder will get a timeout and send a RESET signal. As the protocol
is quite time critical, try to use only simple DOS (no DOS
compatibility box in another operating system) and if you still have
problems, remove unnecessary TSR programms that might steal time and
interrupts from Season7 and try the e option.

Season7 understands several command line options:

       d               This activates the debugging mode which will
                       print all data exchanged with the decoder on
                       screen. Debugging mode can also be (de-)activated
                       by pressing d while the program runs.

       p               In the passive mode, Season 7 doesn't send any
                       bytes, but listens only to the data traffic
                       between a decoder and a real card. E.g. use
                       'season7 pd >logfile' in order to record to
                       a file what's happening between a card and
                       a decoder.

       o<filename>     Write a VCL file that allows other peoples later
                       to descramble the same program from a VCR.
                       The file name is optional (e.g. 'season7 otest.vcl'),
                       and if you don't specify one, Season7 generates
                       one using date, time (hour rounded up by 5 minutes),
                       satellite name and transponder number (VCmmddhh.stt).
                       Season7 will ask you about the satellite, the
                       transponder number and what you are recording
                       and stores this information together with the
                       time in the VCL file header. The 'o' option
                       automatically activates the passive mode, so
                       you'll have to connect a real card to the adapter
                       (mode a), because Season7 only listens. Make sure
                       you have set the system clock and environment
                       variable TZ correctly.

       i<filename>     Instead of emulating a Sky 07 card, use the
                       specified VCL file in order to answer the queries
                       of the decoder and descramble a program (mode b).
                       Useful only for video cassette recorded program.

       e               In the economy mode, no time consuming screen
                       output and data log activities take place in the
                       main loop. This allows to use Season7 on some very
                       slow systems. You might want to try this option
                       together with options wb0 and wa0.

       m               This option suppresses the on-screen message
                       with the Season7 version number, the time and the
                       channel name.

       wa<number>      Allows you to specify the number of microseconds
                       wait time between a reset impulse from the decoder
                       and Season7's answer to reset (default: 30000 =
                       30 ms).

       wb<number>      Allows you to specify the number of microseconds
                       wait time between the bytes sent to the decoder
                       (default: 500). This value can be modified while
                       Season7 runs by pressing + and -.

The optimum wa and wb values haven't been determined yet for all
possible processors and decoders, so please play around with wa in case
of reset problems and with wb in case of unstable operation after a
successful reset.

While decrypting, Season7 shows you three hexadecimal numbers from the
decoder's data packets. The second one is used to select the secret key
in the card, so if this one changes, perhaps new codes have been
activated. The third number identifies the channel and strange numbers
there have been used by Sky in the past to confuse hacker cards. In VCL
replay mode (option i), you'll only see at which position in the VCL
file the current answer for the decoder query has been found. If the
numbers bore you, better switch off the PC monitor in order to save
power while watching TV.

I wrote Season7 just for fun as a hobby project and I have no
commercial intentions. Many other Videocrypt hobby experts and I
periodically read the USENET group alt.satellite.tv.europe, so please
post there a message if you have problems, questions, etc. regarding
this software. Please don't contact me directly unless you have new
technical information, and please understand that I don't have the time
to give technical support to unexperienced Season7 users. I wish to
thank the members of the tv-crypt mailing list for their valuable help.

Season7 uses a public domain interrupt driven serial port assembler
routine which has been published by David Kessner <[email protected]>
some time ago. Ask him if you are interested in the latest version of
this serial code.

This software was primarily written for European Star Trek fans outside
Great Britain who don't have a chance to get a regular Sky subscription
and have no other way of watching the undubbed version of their
favourite SF series. I don't want to cause any harm to Sky and I even
asked them for a regular subscription some time ago, but they refused
to sell one to Germany. So they have to live with the consequences of
attracting the interest of high tech freaks to the technical details of
their access control system. :-)

I developped this software and made it available to you at no cost and
so I expect of course that if you improve, update or port this software
to other systems, you will also make your work freely available to
others.