!!!!!!!! Conditions of use !!!!!!!!

1. If you're Herr Michael Hepp or an individual involved with WatchTVPro development directly or indirectly,
   I DENY YOU ANY RIGHT:
   a) to read this file further than these conditions of use, paragraph 1.
   b) to read by any mean (including with a program) any file included in this package, 
   c) to make behave Watch TV Pro differently if this plugin is loaded by comparison to any other plugin,
      namely by trying to detect that a .dll is yankse and setting timers for instance. 
      You must handle all plugins fairly and undiscriminantly

  If you disagree with the statements above, I'll say that the Watch TV Pro team are a bunch of Bad Guys if
  any new version of Watch TV Pro is again doing nasty thing with my plugin.

  Update: Mr Hepp and his team ARE A BUNCH OF BAD GUYS, since WTVP 2.13C. Hepp, could you tell me on what 
          ground you take the right to modify one of the USER file (yankse.ini) and change one option ?
	  You'd better stick on fixing bugs in WTVP instead of trying to piss me off. I hope you at least get
          a free Premiere abo for such a dedicated crusade against piracy ;-) Don't you forget to declare
          the revenues you get from WTVP supporters to your tax administration: I think you already have
          500-600 supporters at min 10EUR. For the record, I think each WTVP version is download around 1500
          times on non-official sites, you can call all this a very smart move LOL. 
          By the way, Michael, thanks again for the suggestion of putting the ECM pid into the AC3.

  Update: Since WTVP 2.16, it seems that it's all back to normal ;-) Thanks to Michael and Alexander.
  Update: I underestimated the Hepp team: now WTVP 2.2x requires activation (I guess in next steps he'll 
	  add the 'Clippy' assistant and Blue Screen Generator as in any decent Windows XP application)
  Update: Since WTVP 2.21: you need to generate a WTVP activation key (with the keygen *NOT* included), with
          a username beginning with t or T ;-)),if you don't do that, you'll have a warning message on each start.
  Update: it's supposed to be working with WTVP 2.22 but I can't test: please hack the damn thing (keygen!)
  Update: who cares !

2. To all others, have fun.       

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!! DISCLAIMER !!!!!!!!!!!!!!!

I do not condone nor instigate illegal TV viewing with this software.
You can only use it to view/record channels you're subscribed to.
This plugin should only work if you stick your subscribtion card(s) on your monitor
when the TV application starts ;-)

!!!!!!!! DISCLAIMER !!!!!!!!!!!!!!!

!!!!!!!! Avertissement !!!!!!!!!!!!

Je n'encourage en aucune facon l'utilisation de ce programme pour regarder frauduleusement la TV
Vous ne pouvez l'utiliser que pour regarder/enregistrer des chaines pour lesquelles vous disposez
d'un abonnement. Vous devez placer vos cartes d'abonnement sur votre moniteur au demarrage du programme ;-)

!!!!!!!! Avertissement !!!!!!!!!!!!





La Version Francaise est plus bas.

=========================================================================================================
ENGLISH Version
=========================================================================================================
Yankse is a SoftCam for MD8.
It should decrypt Via1/TPSCrypt, Seca1, Irdeto1/Beta1, Nagravision, Conax and @SkyCrypt.
It's still alpha software, just worth testing.

THERE ARE NOW TWO VERSIONS OF THE PLUGIN:
* Yankse.dll: full unicode version working only with Windows 2000 and XP, NOT W95/W98/ME !!
	      fully support non western languages like Greek, Bulgarian...
* Yankse_w98.dll: standard encoding, working on all windows, but some languages may display funny
	      characters unless your windows is localized in that Language.

PLEASE USE ONLY ONE VERSION !

------------------
-New since 1.22.2-
------------------

All common files like the *.example, sid.Cache generation tools have been
moved to another package: Yankse-Common-x.xx.zip.
The Yankse will come in 2 updates: 
Yankse-x.yy.z-TT-W98 and 
Yankse-x.yy.z-TT-XP

with only the updated files (often only the yankse.dll)


----------------------------------------------
SUPPORTED LANGUAGES
----------------------------------------------
English
French
German
Dutch
Spanish
Italian
Portuguese
Swedish
Norwegian
Greek
Czech
Polish
Slovenian
Bulgarian
Hungarian
Croatian
Serbian
Macedonian
Turkish
Slovak
Romanian
Russian

----------------------------------------------

KEYS not included in package !

Warning: PMT reading seems to hang from time to time, use it with caution,
it's only useful to discover the correct ECM, then turn if off for
regular viewing once all the channels are correct.

Explanation of options in menu:

Active: switch to disable all ECM/PMT processing by the DLL, you may use another softci
Show Monitor: display the monitor window, to see what's going on !
Logging: ECM / PMT, to log the ECM and PMT packets to yankse-ecm.log or yankse-pmt.log files
Read PMT: No: the Program Map Table is never read, only ECM is processed
	  Always: everytime 'new channel is called'
 	  On SID change: same as above but only if the Program/SID is different (namely if you just change
                         the VPID,APID or ECM)
ECM Filter: to take out some information about the ECM a channel supports. TPS is known to send bogus
	    list of ECM to confuse the receivers. You can filter 'Unknown' Providers (not in Yankse.prv)
            and also Fake entries (several ECM for the same ProvID with different PIDs make no sense)
Auto PIDS: for some channels, MD8 wrongly parses the PMT to detect the VPid, APid, I've seen this on most
           Nagra channels on Hispasat. This way, you trust Yankse to detect the correct VPid/Apid for the 
	   given SID. If the Monitor is shown, you can the press "Accept" to use them (along with the first
	   ECM system in the list).
  *** Hint **
	You can use the DLL Hot Key 'G' to automagically accept the Pids and ECM
Auto ECM: early support, still buggy !


In the Monitor Dialog:
the list on the right shows the detected Conditional System for the channel:
double-click on one to active it: the Channel entry in MD8 is updated accordingly
(and the channel list is saved)

Work in progress..

Parts of code shamelessly extracted from 'mgcam' and Nagra rewritten from the Borg Pic files.
Special Thanks to Campag and Hax0r for Nagra MECM code and ideas, and to NS for the NoZap code.


**** Creation of Yankse-SID.cache
This file is used with programs that don't keep the ECM and/or PMT correctly, namely WatchTVPro.
To create it automatically, you'll need Programm.set from either Multidec 8.2 or a previous version (8.0, 8.1)
Multidec 8.2: index82 programm.set yankse-sid.cache
Multidec 8.x: index80 programm.set yankse-sid.cache

With a ProgDVB channels list: channels.dat is in subdir Channels in ProgDVB.
ProgDVBExport channels.dat yankse.sid.cache

Then copy yankse-sid.cache to the directory where Yankse.dll is located.
It's only a workaround until I fully parse the PAT and PMT. It may not work with all channels because
the data is indexed on Transponder ID SID pair, and some different channels have the same info. Sorry :(

This file is NOT needed for Multidec, ProgDVB...

Format of Yankse-sid.cache:
---------------------------
<SIDCACHE Version=1 Format="TPID SID PMT ECM Frequency-Name">
11100  4602   102   610 10723000-Cinenova 2
11100  4603   103   608-Cinenova
...
</SIDCACHE>

The frequency field is optional. It's used to solve some ambiguities when using several satellites at once.
The frequency must be expressed in KHz, 10723000 not 10723. I tolerate 0.01% variation.

For Supporter versions of WatchTVPro: tested with 2.09c.
--------------------------------------------------------
(Mr Hepp go away ;-)

This plugin works with the original and untouched version of WTVP 2.09c (tested); provided the following:
* Yankse.dll is put in plugins folders, along with yankse.ini and yankse.prv
* for each channel you want in WTVP, you must edit the AC3 PID and replace it with the ECM PID
  (remember to save your channels)
  this way, yankse-sid.cache is not needed


Supported flags in yankse.ini:
------------------------------
in section [Yankse]
"Disabled",0		- deactivate Yankse if =1
"LogECM",0		- set via Menu 0: no logging, 1: bin , 2: ascii
"LogPMT",0		- set via Menu ditto for PMT
"ReadPMT",0		- set via Menu 0: no, 1: always, 2: on channel change
"AutoECM",0		- 1: try the different ECM pid found in the PMT to find a valid decryption
"FilterUnknownECM",0	- 1: discard the ECM for unknwon providers (not found in yankse.prv)
"FilterBogusECM",0	- 1: discard fake ECM pid seen on many TPS channels
"AllowAutoPIDS",0	- 1: allow yankse to override the VPID, APID and ECM with the first data found in the PMT
"Log",0			- 1: enable logging in yankse.log
"LogFirstECM",0		- 1: log the first ECM after a channel change (to yankse-x-ecm.log)
"LogBadKeys",0		- 1: report bad keys in yankse.log
"LogCW",0		- 1: log Control words (and key) in yankse.log
"CWDelay",750		- delay in ms before sending the control words to the hardware
"UseSIDCache",0		- for WTVP: allow external list of ECM pid
"UseECMThread",1	- 1: use a thread for ECM processing, 0: no thread
"ShowOSD",0		- 1: show info about bad keys with OSD
"ForcePMTCA",0		- 1: force the crypto system to the value found in the PMT, 0: use the detection heuristic to find it
"UseTT",-1		- for WTVP: 0: no TT hack support, 1: force TT support, -1: autodetect 
"CW64bits",0		- 1: leave the CW unchanged (no checksum for CW[3] and CW[7])
"LogCurData",0		- 1: write the current CW and Key to curdata.txt. This file is overwritten
"LogDecrypted",0	- 1: log the decrypted RSA data (conax, nagra) to yankse.log
"SetDescrCommand",-1	- sets Descrambler command (can vary for different firmware version)
			     only taken into account for MD9x (API >=03.00), -1 means "default value" for MD9.1 ;-)
			     any other value overrides
"KeyPath",""		- Allows to specify the Directory where the *.key files are located (softcam, and updated
			  viaccess.key, nagra.key... by Fenrir)

in section [DCW]	(new in 1.08)
"EcmLog",""		- Filaname in which the last received ECM blocks will be written to
"DCW",""		- Filename where the DCW will be read. It's expected that an external program process 
			  the ECM written above, and produce the DCW in the <"DCW"> file


Note about DCW:
---------------
The ECM data written to <EcmLog> file is NBlocks*184 bytes in Hexadecimal TEXT ("%02X") (usually 5x184 with ProgDVB).
Each ECM block (184 bytes) is written on a single text line without space, and ended by a CRLF.
The file is *overwritten* on each new series of ECM blocks.

The data in the <DCW> file (holding the externally computed DCW) is expected to be 16 bytes written in Hexadecimal TEXT:
the first 8 bytes (16 hex characters) being the Even (0) DCW, the next 8 are the Odd (1) DCW.
E1E2E3E4E5E6E7E8O1O2O3O4O5O6O7O8.
Once this file is read, it's deleted, so that the external program can notice the DCW have been received by Yankse.
You could use this file to input Constant DCW...



Registry key:
-------------
HKEY_CURRENT_USER\Software\BlueRiver\Fenrir
	String values: 
		KeyPath=... path
The value is optional
If no values are found (either in registry or INI), the Yankse.dll directory is assumed.

You can use the provided "Fenrir.reg" to create the keys in the registry, then edit to fit your needs,
by default it's set to ".", meaning current directory.


* BISS Support
--------------

Fixed Session keys from BISS can be used, these are only taken into account if
the CAID of the channel is BISS (=0x2600).
Keys are stored in a file called BISS.ini (in the same directory as Yankse.ini)
The format is the following (like a INI file:

[BISSKEYS]
channelname1=<sessionkey1>
channelname2=<sessionkey2>

channelname is the name of the channel as specified in the properties of the channel (by ProgDVB or any other application),
eventual spaces before and after the name are removed.

sessionkey is the 12 hex digits key (=48 bits) for the channel, it's expanded to the usual 64-bits CW by Yankse.



* Fixed DCW support
-------------------

Fixed DCW can be used, even if no ECM data is available:
1) in section [DCW] on yankse, add the entry DCW=<file.txt> (<file.txt> can be any name you like)
2) the file specified before is read around every second, the format expected is:
8 bytes of the EVEN CW followed by the 8 bytes of the ODD CW, stored as HEX digits ( "%02X" text, not binary bytes!)
Example:
E1E2E3E4E5E6E7E8O1O2O3O4O5O6O7O8

!! After being read, the file is deleted !!

If you want to try some fixed CW, you can write to this file from the command prompt:
> echo 0123456789ABCDEFFEDCBA9876543210 >dcw.txt

In about one second, the specified dcw will be used by Yankse.


* Card client
-------------

Section [CardServer] in Yankse.ini
Server=<name> or <ip>
port=<port> in decimal
enabled=1 ; 0 means didabled

Connection is attempted on startup, then it's re-established if it becomes broken.

Protocol is radegast: nanos followed by the length of the datas

* Client->Server: ECM request

01 Len; ECM request (len is the len of following data)
02 01 <caid>; high part of CAID; Viaccess=05
06 08 30 30 30 30 37 43 30 30; Provider ID;  "00007C00"expressed as text: %8X; 
07 01 08; Key number
03 Len <ecm data>;  actual ECM data: it's the complete ECM table starting with 8x 70...

* Server->client: DCW reply

- Successfull reply
02 Len; DCW reply
05 10 <DCW>; OK, 16 bytes of even and odd DCW
 
- error
02 Len; DCW reply
04 Len; Not OK, usually Len is 0; my Seca server is returning 2 additional bytes for the ISO card status



KNOWN ISSUES:
-------------
* Some FTA channels (RTL for instance) may fail to be displayed although not crypted if Yankse is active: 
  please verify that the ECM of that channel is 8191 or 0 (normal values for FTA).


---------------------------------------------------------------------------------------------
Revision history:
V 0.9.0.1 30-mar-2002 
	first public release

V 0.9.1.2 02-apr-2002
	No new major feature.
	Minor features:	* Log of wrong key to yankse.log (if logging enabled) (no erased anymore on Yankse load)
			* yankse-ecm.log and yankse-pmt.log are erased when MDYankse if loaded
			* Log of the first ECM on each channel change to the file yankecm.log
			  not very useful now, but who knows...
			* detects (only!) cryptoworks stream. Conax, Videoguard... should be 'unknown'
	bugfix: * recording fixed
		* viaccess on ViaSat now works
		* erroneous change of channel number fixed (for 'accept') when some channels were not selected
		  in the MD channel list
		* ECM Filter for Invalid ECM only for Viaccess (it was removing some valid Seca ECM)
		* SECA2 ECM on Viajar detected as SECA (not unknown) 
V 0.9.1.4 09-apr-2002
	Bugfix: * irdeto date on SexView
		* only sends CW if changed
	Warning: Record is still not good. 
		 Mini-freezes from time to time.

V 0.9.2.0 09-apr-2002 Pre-release
	Major features: rereads Ird-Beta.key, Seca.key when no valid signature found, if those file are updated
			by MDLoggen, it should be transparent. 
			Remark: when recording starts, MDLoggen seems to be halted by Multidec.
			Use threads for processing the ECM and PMT data. Should cause less 'freezes'
	Minor features: * logs the CW to yankse.log
	Bugfix:	* Sends only the CW when changed
		* irdeto date

V 0.9.8.0 18-apr-2002 Quick release ;-)
	WARNING: this version has not been tested much (only on Hotbird actually), 
		 so it may not work, but as SoftCI V4 does not work on Multivision channels, 
		 and Yankse does, it may be worth testing.
	With MD8.2, it *should not* be needed anymore to Read the PMT in Yankse to choose the correct ECM.
	Major features: adapted to new MD-API for MD8.2
			Yankse now still supports the old API for MD8.0 & 8.1, and new for MD8.2, nice huh ?
			Support the various Firmwares (based on size for MD8.2+, and the string 'tda' in 
			FIRM_DIR in Multidec.ini for version <=8.1
	Minor features: * reread *.key files immediately in case of wrong signature 
 	 		  (does not wait next parity anymore)
			* can log CW (LogCW in yankse.ini)
			* can log bad keys (LogBadKeys in yankse.ini)
	Bugfix: none

V 0.9.8.2 28-apr-2002
	Minor features: * experimental CryptoWorks parsing (still no decoding !)
			* log timestamp on CW update along with the key in use (LogCW=1)
	Bugfix: * LogCW fixed
		* delay on channel changed reduced (I hope)

V 0.9.8.5 18-may-2002
	Major features:	* now supports MECM extension in Nagra (Polsat tested ok, Dish too perhaps)
			* early support for Auto ECM (not very stable)
			* Support for TechnoTrend *2.09 only* TTDVBACC for sending command directly to the card
			  used with WatchTVPro (needs patching to load modified Root firmware)
			  To use it, you need a file called Yankse-sid.cache to map Transponder-ID and SID
			  to channels (ECM,PMT, name). You can add channels by hand. See above how to create	
			  the file.
 			  You also have to add UseSIDCache=1 in Yankse.ini. Data from Sid cache is used as default
			  for ECM and PMT if their value is <=2 or >=1FFF.
			* Added UseECMThread in Yankse.ini. Default value is 1: it use thread as in Yankse 0.98.
			  A value of 0 is for old 0.91.4 bahaviour (it may cause glitches in recording ??)
	Minor features: * Detection of WatchTVPro API (to allow TT hack)
			* info about API version added in Monitor window
			* decrypted Nagra MECM displayed
	Bugfix:		

V 0.9.8.6 02-jun-2002:
	Minor features: * added support for all known versions of TTDVBACC upto 2.06-2.10 (not tested!!)
	Bugfix:	* MECM table index fixed

V 0.9.8.7 --	     : not released
	Minor features: * added event ID info in Seca/Via (for PPV)
			* DLLIDName=customizable name in Yankse.ini
	Bugfix: * MDAPI_SET_PROGRAMM_NUMMER fix for WTVP

V 0.9.8.8 19-jun-2002: not released
	Minor features: * Added ECM Text and PMT Text logging

V 0.9.8.9 25-jun-2002:
	Minor features: * Rereads Viaccess.key and Softcam.key when signature is invalid
			* Added a menu entry to reread all keys
			
V 0.9.8.10 --		not released
	Bugfix: * Corrected detection of TT drivers 2.10 with timestamp

V 0.9.9.0  13-jul-2002:	
	Minor features: * TPSCrypt support
 			* Experimental OSD info about wrong keys (MD8x only)

V 0.9.9.2  06-aug-2002:
	Minor features: * added detection of DVB Xtreme
			* detection of DVB card: MAC address shown in the bottom of Monitor
			  Tell me if it does not display the correct MAC address
	Bugfix: * reworked ECM parsing for Irdeto ECM problem

V 0.9.9.3  22-aug-2002: WTVP 1.51 supported :-))))) Disable AutoECM
	internal version is still 0.99.2-TT. The file is much smaller because of compression

V 0.9.9.4  03-sep-2002: added TPSCrypt keys for 008C00 (Canal+ France)
			compressed dll.

V 0.9.9.5  07-sep-2002: updated TPSCrypt mask for longer ECM
			DLL not compressed
			It seems that there is a bug with WTVP (very high CPU use): 
				workaround: set Read PMT -> No

V 0.9.9.5B 14-sep-2002: recompiled with VC6 for better compatibility with old Windows

V 0.9.9.6  28-sep-2002: added MECM keys for ExpressVU

V 0.9.9.7  13-oct-2002: 
	Minor features: * added support for Multidec9 alpha
			* new option to select CA from stream (autodetect) or use the hint from the PMT
			  ForcePMTCA in Yankse.ini (default=0 from Stream)
	Bugfix: * fixed wrong detection of crypto system from PMT
	Updated yankse.prv

V 0.9.9.8  17-oct-2002:
	Bugfix: * bug in viaccess decrypt routine: (key[7]&0xF0)==0 -> 0x5A and not &0x0F  !!

V 0.9.9.9  20-oct-2002:
	Bugfix: * bug in Nagra MECM code
		* Nagra: now skip key if hash(with VKEY) fails instead of relying on 0x10,0x11,0x12
			 which sometimes caused a (wrong old) key in Softcam to be used instead of 
                         the good updated one from nagra.key

V 0.9.9.11 19-nov-2002:
	Minor features: * all files are relative to the directory of this plugin
			* softcam.key is first tried in that directory, then in currentdir (=application dir)
			* option CW64Bits=1 in ini file to use the full 64 bits of the CW, instead of making the
			  (not-so)-clever sum 3=0+1+2
			* key file is selectable with SCName=... (softcam.key by default) 
V 0.9.9.12 15-dec-2002:
	Minor features: * changed the DLL name to yankse
			* works again with untouched WTVP: change DLLIDNAME to whatever, edit each channel AC3PID to the ECMPID
			* added LogCurData=[0|1] in ini file, to log the current info about the channel in curdata.txt

V 0.9.9.13 not released:
	Bugfix: * format of the key written in curdata.txt 

V 1.0.0.1   8-jan-2003:
	Major features: * added Conax support 
			  at the moment only the Canal Digital Nordic bouquet 
			  (Thor @0.8W and Sirius 2,3 is working)

	Minor features: * option LogDecrypted=1 in ini to log the decrypted RSA data (for Conax and Nagra)

V 1.0.1.1   12-jan-2003:
	Bugfix: * Bugfix in conax block overlap caused wrong signature
		* some anti-Hepp code added
		* Changed detection of Conax (before Nagra)			
		* double-click fixed for MD9x (Get/Set_Programm_Detail using new TProgramm size)
	Minor features: * Added option SetDescrCommand in ini for MD9.1 (API >=03.00)
			* Double-click in CA List changes the ECM for WTVP (not saved though)
			
V 1.0.2.1   13-jan-2003: TEST VERSION

V 1.0.3.1   09-fev-2003
  	Minor features: * Added localization
			* Added Conax $21 keys
			* Added logging of Crypted and Decrypted CW to yankse-cw.log
			* Last used keys are written to softcam.key.used with timestamp: this file is for information only
			  don't edit/replace keys, it's useless, as it is rewritten on each channel change at on exit.

V 1.0.3.2   11-fev-2003
	Bugfix: * Removed translations (not working as expected :(
		* Really added Conax $21 Keys for Canal Dig. Nordic. I don't think I'll add next one in future release
	Stay tuned for the user-selectable translation

V 1.0.4.1   22-fev-2003
	Minor features: * At last, localization is working
			* Unicode & standard versions

V 1.0.4.2   13-mar-2003
	Bugfix: * menu handling for WTVP
	Minor features: * added Turkish, Romanian, Macedonian and Slovak translations

V 1.0.5.0  29-may-2003
	Minor features: * added Russian translations, corrected German
			* Added Nagra providers: MECM keys for Dream, RTVE and Globecast
			* Support for TT drivers 2.15 (WTVP)

V 1.0.5.1  30-may-2003 (private version)
	Major features: * added Free XTV/NoZap
	Bugfix: * fixed detection of TT 2.15 (20-3-2003), only 10-4-2003 was working in 1.0.5.0
		  Rmk: if WTVP stays that way (needing activation), support will be dropped as it only benefits
 		       to WTVP supporters !
		* Removed old Conax Key 20 (not working anymore)

V 1.0.6.1  17-jun-2003
	Major features: * added Free XTV/NoZap
	Minor features: * wtvp >=2.21 detection. watchtvpro.key username must begin with a t/T to disable the warning	
			  this way, it should encourage people to use the keygen and maintain it :-)
			
V 1.0.6.2 19-jun-2003
	Minor features: * new nozap key ( hope it will last longer this time LOL )

V 1.0.7.0 18-jul-2003
	Major features: * Free XTV/NoZap removed (algo changed !)
	Minor features: * Can locate Keys thanks to KeyPath in yankse.ini or Registry
			* OSD support for HispaDVB added
			* Added 'Frequency' in Yankse-sid.cache
	Bugfix:		* generate less Messages in OSD when wrong key found

V 1.0.8.0 15-oct-2003
	Major features: * DVBCore interface
	Minor features: * support external processing (ECM->DCW) using files.

V 1.0.9.0 22-dec-2003
	Major features:	* added support for Nagra D+-style MECM
	Minor features: * added (re)reading of Conax.key

V 1.0.9.1 24-dec-2003
	Bugfix:	* D+->Cabo switching bug (Nagra)
		* Cabo MECM (experimental hack, not real fix)
	Merry XMas :-))

V 1.1.0.0 03-jan-2004 PRIVATE RELEASE
	Major features: * client support for Radegast cardsharing protocol
			[CardServer] section in yankse.ini
			server=<ip> or <server name>
			port=<port>
			enabled=1 or 0 for disable
			Rmk: remove keys for provider in *.key files

V 1.1.0.1 12-jan-2004 PRIVATE RELEASE
	Major features: * client support for cwserver (irdeto)
			[CWServer] section in yankse.ini
			cwserver=<ip> or <name>
			port=<port>
			cwxor=xor value (one single byte, 2 HEX digits)
			enabled=1 or 0 for disable
			Rmk: make sure to remove wrong irdeto keys from softcam
	Minor features: * added BISS support (CAID 2600), using BISS.ini
	
V 1.1.0.2 24-jan-2004 PRIVATE RELEASE
V 1.0.9.2 24-jan-2004 PUBLIC RELEASE
	Minor features: * added support for Hong Kong Cable (Nagra)
			* support for fixed DCW (see section Notes above)
	Bugfix: * Nagra: Cabo MECM again


V 1.2.0.0 15-mar-2004
	Major features: * support for SECA2 :-)
			Yankse does not include sensitive data, but it happens to be able to
			use an external data file called seca2_tit.bin, which is the eeprom
			of a titanium card. See seca2_support.txt for details.

	Bugfix: * DVBCore initialisation should work a little better (finds file where expexted)
	Known bug: [CWServer] cwserver support is buggy, 
		    please use only radegast [CardServer] !

V 1.2.0.1 18-mar-2004
	Minor features: * display decoded Seca2 ECM in Monitor
	Bugfix: * correction in Seca2 to support 0071 & 0072. (you still need the same external file)
	Note: Tested & working with MyTheatre 3.11 (in Plugins)

V 1.2.1.0 22-mar-2004
	Minor features: * rewritten the S2 handling: now you don't need the seca2_tit.bin anymore
			  see seca2_support/txt for details: you'll need some other files.
			* now supports S2 provider 64 (spain)			

V 1.2.1.1 25-mar-2004
	Bugfix: * S2: fix for some channels like TCM Spain, MTV Sp...

V 1.2.2.0 10-apr-2004
	Bugfix: * Conax: for "63 nano"
	Known problem: it seems S2 is not working with provider 0072 and key 0C/BC

V 1.2.2.1 10-apr-2004
	Bugfix: fixed masking table handling for S2 Sky IT (bug introduced in 1.22.0)
		Gioco Calcio channel work with correct "BC" key
		Still don't know why Jimmy/Fox/... don't work in 0072 with key "0C"

V 1.2.2.2 12-apr-2004
	IMPORTANT: from now on, there will be 3 packages:
		- one basic with all common files (sid.cache tools for instance)
		- one with the UNICODE version of Yankse: only works on (NT)/W2K/XP
		  it provides menus with localized characters
		- one with the non-UNICODE version of Yankse: works on all platforms

	Bugfix: - again Conax (nano 63) fix (final I hope)
		- cardserver: fixed CAID and ProvID for Conax and Irdeto (for Premiere)
		- seca2.cfg and data are expected according to KeyPath
	Minor features: * Registry HKCU\Software\BlueRiver\Fenrir\PrvPath=...
			  yankse.ini value PrvPath(path only) and ProviderList(full name)
			  to specify the yankse.prv file
			* Reduced the default CWDelay (now =0, was 750 ms): please adjust 
			  YOUR yankse.ini if needed

V 1.2.3.0 24-apr-2004
	IMPORTANT: the Nagra MECM keys are not hardcoded anymore, they are expected in the
		   Softcam.key file. The format should be the same as with VDR-SC	
		   N IDID E1 ...
		   N IDID N1 ...
		   N IDID N2 ...
	Bugfix: - Nagra: provider ID is completely considered (before it was IDID & 0xFEFF)
		  for instance, 0801 and 0901 are not considered the same anymore. 
		  Please update your Softcam accordingly. Temporarily, if no 
 		  keys are found on the high ID (0901), the lowid (0801) is tried 
		  The MECM provid can be different from the ECM provid (like on Cabo)

V 1.3.0.0 6-jun-2004
	IMPORTANT: - the Seca2 MaskTable for 0070 is changed: it must begin with a 82
		   - the Seca2 hashtable for 0070 is also changed to include the table 9X
	Major features: * added Via2 (should work on NTV+ if key 08 is known :-)
			* added Seca2 nanos 0F and 51 for Sky Italy

cheers
vlinders

PS: this software is Charityware: please consider sending a few bucks to a Charity Organization like
UNICEF.
	
=========================================================================================================
Version Francaise
=========================================================================================================
Yankse est un emulateur de module conditionnel d'acces pour Multidec 8.x
Il decrypte les systemes Via1, Seca1, Irdeto1/BetaCrypt1, Nagravision et Conax ainsi que @SkyCrypt.
Ceci n'est qu'une version alpha, n'en esperez pas de miracle !

IL Y A MAINTENANT 2 VERSIONS DU PLUGIN:
* Yankse.dll: version unicode fonctionnant uniquement avec Windows 2000 et XP, PAS W95/W98/ME !!
	      supporte complementent les langues non occidentales (grec, bulgare)
* Yankse_w98.dll: encodage standard, fonctionne avec tous les Windows, mais certaines langues peuvent s'afficher
              avec de droles de caracteres a moins qye votre Windows ne soit lacalise dans cette langue.

Attention: n'utilisez qu'une seule version a la fois !


----------------------------------------------
Langues supportees
----------------------------------------------
Anglais
Francais
Allemand
Neerlandais
Espagnol
Italien
Portugais
Suedois
Norvegien
Grec
Tcheque
Polonais
Slovene
Bulgare
Hongrois
Croate
Serbe
Russe

----------------------------------------------


Les cles ne sont plus incluses dans l'archive.

Avertissement: la lecture de la table de programme PMT semble planter a l'occasion, donc prudence:
c'est surtout utile pour trouver le bon ECM, ensuite desactiver-la en utilisation normale quand
toutes les chaines sont bien parametrees.

Explication des options du menu:

Active: permet d'activer/desactiver completement le traitement des ECM/PMT dans la DLL, 
	ceci permet d'utiliser un autre SoftCI
Show Monitor: affiche la fenetre de surveillance, pour voir ce qui se passe
Logging: ECM / PMT, pour logger les packets ECM et PMT dans les fichiers yankse-ecm.log 
	 et yankse-pmt.log (utile pour la mise au point)
Read PMT: No: la table de programme n'est jamais lue, celle fournie par MD est consideree
	  Always: la table est lue a chaque changement de canal
	  On SID change: idem mais seulement si le Programme/SID change (en pratique si vous 
	                 changez seulement le VPID, APID, ECM, elle ne sera pas relue)	
ECM Filter: pour enlever certaines informations de la liste des ECM supportes par un canal: 
	    TPS est connu pour envoyer des listes erronees d'ECM pour pieger les recpteurs: 
	    Vous pouvez eliminer les Providers 'Inconnus/Unknown' qui ne font pas partie de
 	    Yankse.prv et aussi ceux qui sont faux (avoir plusieurs ECM pour le meme provider 
	    ID avec differents PIDs n'ont pas de sens !)
Auto PIDS: pour certains canaux, MD8 se trompe en decodant la table PMT (channel property) 
	   pour trouver les VPID, APID etc. Cela se passe surtout sur les chaines en Nagravision 
	   d'Hispasat. Avec cette option, vous faites confiance a Yankse pour detecter 
	   correctement les Vpid et Apid pour un SID donne. Si le moniteur est affiche, vous 
	   pouvez appuyez sur "Accept" pour les valider (cela choisi aussi le premier ECM de la liste).
   *** Truc *** 
	Utilisez la touche 'G' pour accepter les Pids and ECM automatiquement meme quand le moniteur n'est
	pas affiche.
Auto-ECM: support elementaire: ca plante parfois !

La fenetre Moniteur:
La liste a droite montre les Systemes Conditionels (CA) detectes pour un canal:
double-clickez sur un pour le choisir: l'entree du canal dans MD8 est mise a jour et la liste
des canaux est sauvegardee par Multidec.

Ce logiciel est toujours en cours de developpement...

Des parties de code ont ete extraites de 'mgcam' et la partie Nagra a ete reecrite a partir des fichiers Borg.
J'adresse des remerciements tous particuliers a Campag et Hex0r pour leur code/suggestions sur Nagra MECM.


**** Creation de Yankse-SID.cache
Ce fichier est utilise avec les programmes qui ne gardent pas les ECM et/ou PMT correctement, 
par exemple WatchTVPro. Pour le creer automatiquement, il vous faut Programm.set provenant soir de Multidec 8.2
ou d'une version anterieure (8.0, 8.1)
Multidec 8.2: index82 programm.set yankse-sid.cache
Multidec 8.x: index80 programm.set yankse-sid.cache

Ensuite copiez yankse-sid.cache dans le repertoire ou se trouve Yankse.dll.
C'est seulement un pis-aller en attendant que je lise correctement la PAT et la PMT. Cela peut ne pas
fonctionner avec certaines chaines car les donnees sont indexees sur la paire Transpondeur.ID/SID, et
certaines chaines ont la meme paire. Desole :(

Ce fichier n'est PAS necessaire avec Multidec ou ProgDVB.

---------------------------------------------------------------------------------------------
Historique:
V 0.9.2.0 09-apr-2002 Pre-release
        Caracteristiques principales: relit Ird-Beta.key, Seca.key quand la signature n'est pas valide , si ces fichiers sont
			mis a jour par MDLogger ca devrait etre transparent. 
                        Remarque: Quand l'enregistrement commence, MDLogger semble s'arrete: utilisez Tranponder Logger dans ce cas.
			Utilise des threads pour traiter les donnees ECM et PMT, cela devrait provoquer moins de 'blocages'
        Mineures: * logge les CW to yankse.log
        Bugfix: * met a jour le/les CW changes 
                * date irdeto

V 0.9.8.0 18-apr-2002 Quick release ;-)
        Avetissement: cette version n'a pas ete beaucoup testee (uniquementt sur Hotbird en fait)
                 donc elle *peut* marcher, mais ca en vaut peut-etre la peine puisque Soft-CI4 semble
		 avoir des problemes sur les canaux Multivision
        Avec MD8.2, ii *ne devrait plus* etre necessaire de lire la PMT dans Yankse pour trouver le bon ECM.
        Car. Principales: adapte pour la nouvelle API de MD8.2
			Yankse supporte toujours l'ancienne API pour MD8.0 & 8.1 ainsi que celle de MD8.2, sympa non ?
			Supporte les differents Firmwares: d'apres la taille pour MD8.2+, et selon la chaine 'tda' dans
			FIRM_DIR dans Multidec.ini pour les version <=8.1
	Mineures: * relit les fichiers *.key immediatement en cas de fausse signature
		  * logge les CW (LogCW dans yankse.ini) (Correction: ca marche pas :(
		  * logge les mauvaises cles (LogBadKeys dans yankse.ini)
        Bugfix: aucun

V 0.9.8.2 28-apr-2002
        Mineures: * analyse experimentale de CryptoWorks (pas encore de decodage!)
                  * logge l'heure/date des changements de CW/cles (LogCW=1)
        Bugfix: * LogCW corrige
                * delai lors des changements de canaux corrige (j'espere!)

V 0.9.8.5 18-mai-2002:
     Car. Principales:	* supporte les extensions MECM en Nagra (Polsat teste ok, Dish aussi peut-etre)
			* Auto ECM preliminaire (instable !)
			* Support pour la DLL TechnoTrend *version 2.09 uniquement* TTDVBACC pour l'envoi
			  direct de commandes a la carte
			  utilise avec WatchTVPro (requiert une modification pour qu'il accepte les firmwares qui 			  vont bien)
			  Pour l'utiliser, il vous faut un fichier appele Yankse-sid.cache, qui fait la 				  correspondance  entre la paire Transponder-ID/SID et les canaux (ECM,PMT, name).
			  Vous pouvez ajouter des canaux a la main. Voir plus haut comment creer ce fichier.
			  Vous devez aussi ajouter UseSIDCache=1 dans Yankse.ini. Les donnees du fichier sont 				  utilisees comme defaut si l'ECM ou le PMT <=2 ou >=1FFF.
			* Ajout de UseECMThread dans Yankse.ini. La valeur par defaut est 1, on utilise un thread 
			  comme dans Yankse 0.98. Avec 0, c'est le comportement de la version 0.91.4 (qui
			  peut poser des problemes a l'enregistrement (enfin, peut-etre ;-)
	Mineures:	* Detection de l'API WatchTVPro API (pour activer la bidouille TT precitee)
			* info sur la version de l'API ajoutee dans le fenetre du Monitor
			* affichage de l'instruction Nagra MECM decryptee
	Bugfix:		
 
V 0.9.8.6 02-jun-2002:
	Mineures: * ajout support pour les versions de TTDVBACC 2.06 à 2.10 (non testees!)
	Bugfix: * index table MECM corrige

V 0.9.8.7 --	     : pas distribuee
	Mineures: 	* ajout de l'info sur les event ID en Seca/Via (pour les PPV)
			* DLLIDName=nom assigne dans Yankse.ini
	Bugfix: * correction de MDAPI_SET_PROGRAMM_NUMMER pour WTVP

V 0.9.8.8 19-jun-2002: distribution limitee
	Mineures: 	* Ajout du logging en mode Texte des ECM et PMT

V 0.9.8.9 25-jun-2002: Version privee
	Mineures: 	* Relecture de Viaccess.key et Softcam.key quand la signaure est invalide
			* Ajout d'une entree de menu pour relire toutes les cles

V 0.9.8.10 --	     : pas distribuee
	Bugfix: * correction de la detextion drivers TT 2.10

V 0.9.9.0 13-jui-2002:
	Mineures: * support TPSCrypt
		  * affichage OSD (experimental!) de qq infos si cle invalide, uniquement pour MD8x

V 0.9.9.2 06-aou-2002:
	Mineures: * ajout detection de DVB Xtreme
		  * affichage de l'adresse MAC de la carte DVB dans le bas du Moniteur
	            dites-moi si l'adresse affichee n'est pas correcte
	Bugfix: * changement pour corriger le probleme avec les ECM Irdeto (cle 11 etc...)

V 0.9.9.3 21-aou-2002: WTVP a nouveau supporte :-)))))
	La version interne est toujours 0.99.2-TT. La DLL est maintenant compressee.

V 0.9.9.4 03-sep-2002: ajout de la cle TPSCrypt 008C00 (Canal+ France)
		       la DLL est compressee

V 0.9.9.5 07-sep-2002: mise a jour masque TPSCrypt pour ECM longs
		       la DLL n'est plus compressee
		       Il semble qu'il y ait un bug avec WTVP (utilisation CPU tres elevee)
				solution: mettre 'Read PMT'-> No
V 0.9.9.5B 14-sep-2002: recompilation avec VC6 (correction probleme de compatibilite avec certains Windows

V 0.9.9.6  28-sep-2002: ajout cles MECM pour ExpressVU

V 0.9.9.7  13-oct-2002: 
	Mineures: * ajout support pour Multidec9 alpha
		  * selection du CA soit du flux ou de la PMT
		    ForcePMTCA dans Yankse.ini (default=0 du flux)
	Bugfix: * correction de la mauvaise detection du CA (dans PMT)

V 0.9.9.9   20-oct-2002:
	Bugfix: * correction d'un bug dans le code Nagra MECM
		* pour Nagra: verification du hash pour rejeter un mauvaise cle au lieu de compter
		  sur 0x10,0x11,0x12: une mauvaise cle (expiree) de softcam pouvait parfois etre 
		  acceptee, et la bonne de nagra.key etre ignoree.

V 0.9.9.13 non distribuee
	Bugfix: * correction du format de la key ecrite dans curdata.txt 

V 1.0.0.1   8-jan-2003:
	Majeures:  * ajout Conax 
		     actuellement; seul le bouquet Canal Digital Nordic fonctionne 
			  (Thor @0.8W et Sirius 2,3 ok)

	Mineures: * option LogDecrypted=1 dans le fichier ini pour logger le donnees apres la decryption RSA (pour Conax et Nagra)

V 1.0.1.1   12-jan-2003:
	Bugfix: * correction Conax: bug dans le recouvrement de blocks (causait mauvaise signature)
		* ajout d'un peu de code anti-Hepp 
		* detection de Conax modifiee (avant Nagra)			
		* double-click fixe pour MD9x (Get/Set_Programm_Detail utilise la nouvelle taille de TProgramm)
	Mineures: * Ajoute option SetDescrCommand dans ini pour MD9.1 (API >=03.00)
		  * Double-click dans la list CA change l'ECM pour WTVP (bien que pas sauvagarde)
V  1.0.3.1   9-fev-2003:
	Mineures: * Ajout localisation
		  * Ajout clés Conax $21
		  * Ajout écriture des 'control words' cryptes (si disponibles) et decryptes dans yankse-cw.log
		  * Ecriture des cles utilisees avec la date dans softcam.key.used. Ne modifiez pas ce fichier,
                    ca ne sert a rien: il est reecrit a chaque changement de chaine et a la fermuture du programme.
V  1.0.4.1  22-fev-2003:
	Mineures: * la localisation fonctionne enfin
		  * versions unicode et standard

V  1.0.4.2  13-mar-2003:
	Bugfix: gestion du menu pour WTVP
	Mineures: ajout traductions en Macedonien, Slovaque, Turc et Roumain

V 1.0.5.0  29-mai-2003
	Mineures: * ajout traduction en russe, correction de l'allemand
		  * ajout providers nagra: cles MECM pour Dream, RTVE et Globecast
		  * Support pour pilotes TT 2.15 (WTVP)

V 1.0.5.1  30-mai-correction detection de TT 2.15 (20-3-2003), celle du 10-4-2003 seulement fonctionnait dans 1.0.5.0
		* Enlevé ancienne cle Conax 20 (marf' plus)

V 1.0.6.1  17-jun-2003
	Majeures: * ajour Free XTV/NoZap
	Mineures: * detection wtvp >=2.21 le champ "username" dans le fichier 'watchtvpro.key' doit commencer avec 
		    un t/T pour desactiver l'avertissement, de cette facon ca devrait encourager les gens a utiliser le
               	    keygen et a le maintenir :-)

V 1.0.6.2 19-jun-2003
	Mineures: nouvelle cle nozap (j'espere qu'elle durera plus longtemps !)

V 1.0.7.0 18-jui-2003
	Majeures: * Free XTV/NoZap supprimé (algo changé !)
	Mineures: * Le réperoire des cles peut etre specifie avec KeyPath in yankse.ini ou en Registry
		  * Ajout support pour l'OSD de HispaDVB
	Bugfix:	  * correction dans l'OSD pour generer moins de messages (cles invalides)

V 1.0.8.0 15-oct-2003
	Majeures: * ajout interface pour DVBCore
	Mineures: * support du processing externe (ECM->DCW) via fichiers

V 1.0.9.0 22-dec-2003
	Majeures: * ajout support pour les MECM Nagra de D+
	Mineures: * ajout (re)lecture du fichier conax.key

V 1.0.9.1 24-dec-2003
	Bugfix: * correction du probleme (arret de decrytage) lors du passage d'une chaine de D+ vers Cabo
	Joyeux Noel.

Bon amusement,
vlinders

Vous continuerez a manger des pommes en "France occupee" par les Sarko(na)zy pendant encore: 4 ans.
"En tole les pirates des beaux quartiers!"
"Si tu pirates, je te confisque ta mob'"
Vous pouvez toujours envoyer un peu de sous a une oeuvre caritative (UNICEF... ou meme au Parti Socialiste ;-)