!!!!!!!! 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.

!!!!!!!! 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.

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



La Version Francaise est plus bas.

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


KEYS no longer 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


**** 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

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...

---------------------------------------------------------------------------------------------
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

cheers
vlinders

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


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


Bon amusement,
vlinders

Vous continuerez a manger des pommes pendant encore: 4 ans et 7 mois.
Vous pouvez toujours envoyer un peu de sous a une oeuvre caritative (UNICEF...)