- Tunisia Forums > > > Unlooper





 
16-01-08, 00:56   #1
mohamed_aziz

 
  mohamed_aziz
 
: Mar 2007
: 3,515
mohamed_aziz will become famous soon enough mohamed_aziz will become famous soon enough
Mediaguard -> Etude de la codification

ATR d'une carte SECA
Format gnral de l'ATR (Anglais: Answer To Reset", rponse au reset = la carte s'annonce au systme avec ses spcifications):
3B F7 11 00 01 40 96 xx xx xx 0E 6C B6 D6 90 00
La norme ISO 7816 nous permet de nous y retrouver (en anglais dans le texte):
TS: 0x3B direct convention
T0: 0xF7 TA1, TA2, TA3, TA4 are transmitteds,;
7 historical characters
TA1: 0x11 FI (clock rate conversion factor) = 1 (372 min. 1 MHz to max. 5
MHz use 3,579 MHz);
DI (bit rate adjustment factor) = 1
TB1: 0x00 II (maximum programming current) = 0 (25 max. 25 mA);
PI1 (programming voltage) = 0 volt (no VPP [programming voltage input]) indicates that VPP is connected in the card which generates an internal programming voltage from VCC [power suply input]

TC1: 0x01 N (extra guard time) = 1
TD1: 0x40 protocol T = 0 (asynchronous half duplex character transmission
protocol);
no TCK (check charakter);
TC2 is transmitted
TC2: 0x96 not specified in ISO, but used as guard time extension
- the following 7 bytes (T1-T7) are the historical characters
Les xx sont variables, mais ne doivent pas tre diffrends. Cela signifie que l'ATR ne permet pas d'identifier le propritaire de la carte. Les 90 00 sont des octets de statut (voir: Octets de Statut"), et n'appartiennent pratiquement plus l'ATR.
La carte SECA connat trois modes de fonctionnement. L'ATR est diffrent dans chaque mode.
1 - mode de programmation haut (High Program fashion-HPM)
EFFC-EFFF sont gaux 7F4F-7F52
L'ATR se termine par: A5 96 58 7C
Les possibilits: Changement du numro de srie, cration du provider SECA avec ses cls.
2 - Le mode de programmation basse (Low Program fashion-LPM)
EFFC-EFFF sont gaux 7F57-7F5A
L'ATR se termine par:: 9B 1B C2 A3
3 - Le mode utilisateur (Normal mode - NM)
EFFC-EFFF sont gaux 7F53-7F56
L'ATR se termine par: 0E 6C B6 D6
C'est grce une caractristique de la carte, qui permet des modifications de l'EEPROM dans cette zone que l'on pourra peut-tre changer de mode de programmation, la recherche ce sujet n'est cependant pas termine. En fonction du mode de programmation de la carte, certaines instructions ne sont pas permises (Protges), on obtient alors 6D 00, comme si cette instruction n'existait pas

1.2 Cls
L'algorithme SECA se base sur un mot de 8 octets chiffr, (anglais: " crypted " ou
"encrypted" ControlWord [CW]), ce qui avec une cl de 16 octets permet d'obtenir
un mot de 8 octets dchiffr, (anglais: "decrypted"ou " plain ControlWord ").
Pour ceci on utilise les cls oprationnelles. Cet Algorithme est connu, la signature
peut tre calcule et la Surencryption, (voir instruction 0x40), tre utilise. Ces
explications nous mneraient trop loin, la procdure est disponible la lecture dans le texte "Mdiaguard Musings" de John MacDonald.
Les 16 octets de la cl sont diviss en une Cl Primaire, (PK) de 8 octets, et une
Cl Secondaire, (SK) de 8 octets. La Cl Secondaire et la Cl Primaire PEUVENT
tre gales. Les PK et SK sont numrotes de 0x00 0x0F et nous avons donc 16
cls possibles.
Les Cls 0x0C 0x0E sont les cls de dcodage (CD). La Cl 0x0F parat avoir une fonction spciale. Les Cls 0x00 0x0B sont les cls de management (MK).
Nous ferons une distinction entre cls SECA et cls de Provider. Par la subdivision
en cls SECA et cls de provider une structure hirarchique a t cre: chaque
provider peut changer uniquement ses propres donnes. Pour les oprations allant
au-del de cela, comme justement l'ajout ou l'effacement de provider, une cl
SECA est ncessaire.

La cl SECA 0x00 est ncessaire pour chaque opration importante sur la carte,
comme l'effacement ou l'ajout de provider (diffuseurs de programme). Cette cl est
diffrente pour chaque carte et peut aussi tre utilise pour activer/annuler une carte.

La cl SECA 0x01, (67 67 05 45 0C DB F2 E1) est identique pour toutes les
cartes, indpendamment du fournisseur de la carte. Elle n'existe pas sur toutes les
cartes (par exemple elle n'existe plus sur les cartes Canal Satellite Numrique France [CSN], et est efface la mise en service de la carte.
Contrairement la cl SECA 0x00 qui est unique pour chaque carte, on peut
transformer presque toutes les cartes avec la cl 0x01 au moyen d'EMM-G,
(voir instruction 0x40) !
Ce qui est valable pour les utilisateurs normaux ne l'est pas pour les cartes MOSC! (Modified Original Smart Cards).a l'aide de nos propres logiciels, avec n'importe quelle MK, et l'aide d'INS 40, on peut rajouter une cl 0x01 ou ajouter ou retirer un provider!
La cl provider 0x00 est utilise pour les jetons ou les event PPV . Le provider Canal Satellite digital Espa***241;a CSD affecte une nouvelle SA ses cartes apparemment tous les deux mois. Avec la cl provider 0x00 la carte reoit alors la nouvelle PPUA, une nouvelle cl provider 0x01 et les cls de dcodage actives.
La cl provider 0x01 est extrmement importante. Celle-ci est affecte un groupe de cartes et sert la mise jour des cls de dcodage. Avec la bonne cl 0x01 ainsi qu'avec un PPUA valide le provider envoie l'ordre C1 40 XX 81 4E avec lequel les cls sont mises jour par Surencryption. Les donnes sont dchiffrs avec la cl 0x01 et on rcupre les cls de dcodage actives qui sont ensuite crites sur la carte. Nous appellerons ce processus Autoupdate. Si on russit modifier une carte, pour qu'elle soit traite par les provider comme un carte d'abonn rgulire elle sera actualise constamment. Une possibilit d'avoir une carte autoupdate serait ainsi le changement de PPUA et de MK1 d'une carte puise Si celle-ci est crite correctement l'endroit souhait, on reoit les mises jour de cls (voir plus haut).

J'ai anticip quelque peu dans ce chapitre, tous les processus cits sont expliqus plus loin dans le texte (voir instructions 0x0E, 0x12, 0x40).
Une autre cl mentionner est la cl provider 0x02. Elle permet une phase de test d'abonnement (le temps d'essai est dpendant du provider) avec toutes les options actives. Ceci n'existe pas chez tous les provider ou est en cours de disparition. Elle est aussi efface l'initialisation de la carte. Sur le bouquet Canal+ NL des chanes de commandes codes avec la MK02 sont mises qui effacent toutes les MK sauf la MK00.
Les nouvelles cartes possdent une cl provider 0x03, qui n'a toujours pas t utilise.
Si les cls sont stocks sur la carte en usine, le cinquime bit (de 0x10) est positionn. Les cls primaires sont stockes sur la carte de 0x10 0x1F, Elles sont numrotes ainsi ( partir de 0x10) si le cinquime bit est positionn. Nous verrons plus loin ce que "bit positionn" signifie.
Les cls sont stockes ainsi:
Si les cls primaires et secondaires sont stockes sur la carte, la cl primaire se nomme F0 par exemple (ici MK0x00) et la cl secondaire se nomme 50.
S'il n'y a que la cl primaire sur la carte, il lui est attribu l'index 5C par exemple.
Lors de l'utilisation ventuelle de cls de 16 octets, il serait probablement procd de faon identique (par exemple FC comme cl primaire et 5C comme cl secondaire).
Une chose importante noter: une carte en mode de programmation basse exige une cl 5X et en aucun cas une cl FX. Dans le LPM, la carte n'accepte aucune commande avec des clefs dont le bit 7 est mis (statut: 90 22), donc toujours utiliser de clefs de type 5X!
Rsum:
Actuellement, les cls de dcodage utilises par les providers courants ( l'exception par exemple de l'INS 0x40 d'AB SAT avec P1 = 82 qui utilise une cl primaire + une cl secondaire) sont des cls sur 8 octets, juste rptes deux fois, comme cl primaire et comme cl secondaire pour obtenir les 16 octets. Il serait aussi possible pour les providers d'utiliser des cls primaires et secondaires diffrentes. Sur les cartes, les cls de management disponibles sont dj sur 16 octets en gnral.
Avec MOSC, nous pouvons changer bien sr n'importe quand une commande afin qu'elle utilise seulement une cl sur 8 octets plus facile manipuler.
L'utilisation des cls stockes sur la carte par les instructions est rgle par les valeurs des paramtres P1 et P2:
Ces explications seront mieux comprises l'aide de quelques exemples:
a) instruction la carte: C1 3C 04 0E LEN
Rsultat:
La cl primaire 0x0E du provider 0x04 est utilise donc 2 fois la suite(16 octets).
b) instruction la carte: C1 3C 14 0E LEN
A la diffrence de l'exemple prcdent, le provider est dclar dans P1 de la forme P1=0x1n (provider 4, mais au lieu de 04 il est not 14).
Rsultat:
La cl primaire 0x0E et la cl secondaire 0x0E du provider 0x04 sont utilises, SI la cl primaire est appele 0x1E et existe, AUTREMENT on utilise deux fois la cl primaire 0x0E, 0x0E.

Nous devons toutefois tre un peu plus prcis ici. L'instruction 0x3C (voir: instruction 0x3C) peut contenir du texte en clair (except les ControlWord) mais un encryptage des donnes est aussi possible. (voir: L'instruction 0x40, Surencryption "). Le premier chiffre de P2 est utilis pour indiquer ceci.
Les instructions 0x3C et 0x40 utilisent les mmes deux routines au dbut: " compute_hash () et " decrypt_nanos ()" (L'initialisation du Hash-buffer pour le calcul de signature n'utilise pour le moment que [8*00]).
Le cinquime bit de P1 nous sert d'indicateur.(compt de droite gauche). S'il est mis (1 au lieu de 0), deux cls diffrentes sont utilises. Utilisons la calculatrice de Windows en mode scientifique pour convertir la valeur hexadcimale 14 en binaire par exemple, nous obtenons 10100. Nous voyons que le cinquime bit est mis . Avec la valeur 04 en binaire: 00100 le bit 5 n'est pas mis
..




mohamed_aziz    
16-01-08, 00:59   #2
mohamed_aziz

 
  mohamed_aziz
 
: Mar 2007
: 3,515
mohamed_aziz will become famous soon enough mohamed_aziz will become famous soon enough


1.3 Structure d'une instruction SECA
Le systme SECA connat trois niveaux de commandes. Il est important de bien distinguer entre ceux-ci :
1. L'instruction (engl. : "instruction") : une fonction, slectionn grce la valeur de l'octet INS (cf. : plus loin dans cette section).
2. La commande (engl. : "command") : une fonction qui se construit avec une valeur dtermine contenue dans le paquet de donnes envoy la carte. Elle fait partie de la construction d'une instruction.
3. Nanocommande ou Nano (engl. : "nanocommand" ou "Nano") : une fonction qui se construit avec une valeur dtermine contenue dans le paquet de donnes envoy la carte. Elle fait partie de la construction d'une commande.
Il est utilis une structure de header universelle 5 octets qui respecte la norme ISO 7816.Une instruction SECA a la structure suivante:

CLA INS P1 P2 (I)LEN/P3 DATA 82 SIG
CLA = Octet de classe
La seule classe valide pour SECA est C1.
INS = octet d'instruction
P1 = paramtre ou octet de rfrence
P2 = paramtre ou octet de rfrence
ILEN / LEN / P3 = Octet de longueur = Longueur de la chane de rponse (hexadcimal!)
DONN***201;ES = partie de donnes de l'instruction. Toutes les instructions n'utilisent pas de donnes (elle peut contenir commandes et Nanos avec leur partie de donne propre)
82 = Nano 0x82 (suivie de la Signature)
SIG = Signature (si elle existe elle fait 8 octets. Pas ncessaire pour toutes les instructions)
Exemple:
Instruction: C1 3A 00 00 10
CLA=C1; INS=3A; P1=00; P2=00; LEN=10 (Hexa)
Rponse: 3A 01 44 45 50 41 05 44 D4 50 10 50 D6 00 01 51 B2 90 00
Nous voyons que la chane de rponse (souligne) a une longueur de 16 (10hex) octets. Dans toutes les rponses nous trouvons au dbut l'octet d'instruction aussi appel octet de confirmation (English: Acknowledge bytes "). Il ne fait toutefois pas partie intgrante de la chane de rponse et n'est pas compt dans sa longueur de la mme faon que les octets de statut, 90 00. Un statut de 90 00 signifie que la commande s'est termine avec succs. Pour plus de prcisions, voir la section " Octets de statut ".
L'octet Instruction renvoy par la carte dans la chane de rponse s'appelle l'cho.
Les nombres hexadcimaux seront nots indiffremment: 10h, $10, 0x10, 10hex le nombre dcimal correspondant est 16 dans tous ces cas.
Une Nano est construite de la faon suivante: xy = Nano y de longueur x, la longueur des donnes qui suit une nano fait partie intgrante de sa construction.
Exemple:
Nano 0x04 = Nano 0x4 de Longueur 0x0, n'est suivie d'aucune donne.
Nano 0x82 = Nano 0x2 de Longueur 0x8, suivie de 8 octets de donnes.
Les longueurs suivantes sont admissibles:
0 ...C correspondent 0 ..12 octets,
Les D=16 octets
Les E=24 octets
Les F=32 octets
Nano 0xD1 = Nano 0x1 de longueur 0xD, suivie de 16 octets de donnes.
Touts les nombres seront donns en hexadcimal.

1.4 Octets de statut
Ces octets nous donnent une indication, qui n'est d'ailleurs pas ncessairement une erreur. Ces octets de statut sont d'ailleurs extrmement dpendants de la version de la carte (voir: systme d'exploitation de la carte). La V 3.0 ou 4.1 rpond bien souvent diffremment de la V4.0.
Les octets de statut commenant par 0x6X sont indpendants du systme et valables pour toutes les cartes ISO7816. S'il vous arrive d'obtenir une chane 0x6X non documente dans cette FAQ aprs une excution, il faudra consulter l'ISO 7816, pour des octets de statut apparaissant rarement.
6700 Mauvaise longueur des donnes d'entre
6B00 Paramtre/Octet(s) de rfrence non correct
6D00 Instruction non supporte / Instruction invalide ou protge / Instruction non libre
6E00 Classe d'instruction (Class) non supporte
6F00 Pas de diagnostic prcis possible
6281 Donnes fournies peut-tre incorrectes
6282 La fin le fichier tait atteinte avant la fin du processus de lecture
6284 Le fichier choisi n'est pas valide
6501 Erreurs de stockage. Problme de Lecture/Ecriture sur l'Eeprom ou autre problme matriel
6800 Fonction non supporte par la carte
6A00 Mauvaise valeur de P1 et/ou de P2
6A80 Paramtre faux dans la partie de donnes
6A82 Fichier non trouv
6A83 Enregistrement non trouv
6A84 Cellules de mmoire insuffisantes dans dossier ou enregistrement
9000 Commande excute sans erreur
9002 Signature errone ou absente
9004 Provider non support
9005 Nano rserve SECA
9006 Ins 0x3C, Nano 0x15/0x19/0x2C: Pas de mmoire pour les Preview records
9007 Provider bloqu (utiliser Nano 02 pour dbloquer)
9008 Ins 0x40, Nano 0x01: pas autorise
9009 Ins 0x40: PPUA pas dans la bitmap F0,
9010 Ins 0x30: mauvais PIN
9011 Le testbit n'est pas 0 : Instruction non supporte
9013 Ins 0x40: mauvaise cl, seules les MK's sont autorises
9014 Instruction prcdente incorrecte
9015 Ins 0x40, Nano 0x80: non autorise
9015 Ins 0x3C, Nano 0x2C: non autorise ou Nano 0x15: non autorise
9015 Ins 0x32/0x36: donne d'entre non supporte
9016 Ins 0x40, Nano 0x87: dcodage rat
9016 Ins 0x44: non autorise
9017 Ins 0x50/0x54/0x56: non autorise
9018 Provider existe dj
9019 Ins 0x40, Nano 0x41: PPUA a t chang
901A Ins 0x3C, Nano 0x15/0x2C: achat via Jetons rat
901B Ins 0x3C, Nano 0x15/0x2C: aucun Jetons dispo ou aucun Crdit Record dispo
901C Ins 0x3C, Nano 0x15/0x2C: achat via Jetons ok
901D Cl Primaire inexistante
901E Erreur
901F Cl Secondaire inexistante
9021 Ins 0x04: la cl n'est pas 0x0F - refus
9022 Carte dans le mauvais mode
9024 Erreur de Checksum
9026 Ins 0x3C, Nano 0x31: plus aucun Preview
9027 Ins 0x3C, Nano 0x19: phase de Preview dcrypte
9301 Ins 0x40, Nano 0x22/0x27: la date de la carte est au-del de la date de validit
9302 Ins 0x3C, Nano D1: aucun dcodage
9304 Ins 0x3C, Nano 0x12: contrle parental, niveau trop bas
9305 Ins 0x3C, Nano 0xF1: non valide pour cette zone gographique
9401 Ins 0x32: Valeur de P1 incorrecte
9402 Ins 0x32: Valeur de P2 incorrecte : seule valeur admise : P2 = 0
9402 Ins 0x30: mauvaise valeur de P2.
9600 Ins 0x38: Chane d'entre incorrecte (Nanos incorrectes, signature manquante)
9600 Ins 0x3C: Nano 0x15/0x2C: rsultat gal 0- Nanos traites avec succs - aucun dcodage
960A Index Cls non supports
96xx Ins 0x3C: xx Nanos traites, mais aucune Nano 0xD1 trouve
96xx Ins 0x40: Toutes les Nanos ont t traites avec succs
97xx Update de l'EEPROM pas ncessaire pour quelque Nanos. xx est le bitmap de ces Nanos, par exemple 3C: aucun Update pour Nano 2, 3, 4, 5 (le comptage commence 0)
99xx date errone: les crdits ont t changs aujourd'hui
99xx date errone
mohamed_aziz    
16-01-08, 01:00   #3
mohamed_aziz

 
  mohamed_aziz
 
: Mar 2007
: 3,515
mohamed_aziz will become famous soon enough mohamed_aziz will become famous soon enough

1.5 Format de dates
Certaines commandes utilisent la date. Elle est encode sous forme de bits. La date peut valoir de 01.01.1990 31.12.2118. Les bits sont lus de la gauche droite:
7 bits codent l'anne. A ce nombre il convient d'ajouter 1990.
4 bits codent le mois, avec 1= Janvier.
5 bits codent le jour du mois
Exemple:
Nous aurons nouveau besoin de la calculatrice de Windows en mode scientifique!
Aprs une Instruction 0x12 nous obtenons cette chane:
12 00 04 43 41 4E 41 4C 53 41 54 45 4C 4C 49 54 45 20 20 00 1A 0C 34 0E FF 90 00
La date de fin d'abonnement est 0E FF. Entrons cette valeur dans la calculatrice en mode hexadcimal (entrons simplement EFF) et transformons ce nombre en binaire. Nous obtenons 111011111111, un nombre sur 12 bits. Nous savons que la date est toujours sur 16 bits et nous compltons donc avec 4 zros positionns gauche de notre nombre: 0000111011111111 et nous le sparons comme indiqu ci-dessus :
0000111 (7 bits pour l'anne), 0111 (4 bits pour le mois), 11111 (5 bits pour le jour). Nous transformons maintenant sparment ces nombres binaires en dcimal (ne pas oublier d'ajouter 1990 pour l'anne !) et nous obtenons la date suivante: 31.07.1997.
Le programme dDate pour ****** ne peux pas fonctionner ici!

1.6 EEPROM
Zone Octets Contenu
EFFC-EFFF 4 Octets historiques de l'ATR (suivant le mode de la carte)
EFF4-EFFB 8 Numro de srie de la carte + 2 octets
EFF4-EFF5 2 2 octets pour les calculs de Hash
EFF6-EFFB 6 Numro de Srie
E208-EFF3 3564 Zone des records: 297*12
E064-E207 420 zone pour 15 Providers: 15 * 28 = 420 =0x1a4
-------------------------
Sous-total 3984 = 0x0f90: Effacs par l'INS 0x0C avec P2=1
E040-E063 36 Enregistrement (SECA, Fournisseur 00)
E05C-E063 8 INS 0x40 Nano 0x03, INS 0x30 - 6 octets 00 + 2 PIN
E05B 1 PIN Statut, dition avec INS 0x16
E059-E05A 2 Bitmap des providers supports, ditions avec 0x16
E020-E03F 32 Bitmap des nanos autorises avec INS 0x44,
dition avec INS 0x44
E01B-E01F 5 vide
E01A 1 drapeaux de protection INS 0x56;Valeurs possibles:
00,55,FF, positionn par INS 0x40 Nano 1D
E019 1 drapeau de protection INS 0x50,0x54; Valeurs
possibles: 00,55,FF, positionn par INS 0x40 Nano 1F ;
E018 1 drapeau de protection INS 0x56,0x54;Valeurs
possibles: 00,55,FF, positionn par INS 0x40 Nano 1E ; Edition des drapeaux E018, E019 par INS 0x4A octets 33 + 34
E010-E017 8 Cls Systme
E008-E00F 8 vide
E000-E007 8 non disponibles: tout 00; Edition par INS 0x0A
----------------
Total 4096 = 4KB EEPROM

4.18 format de la date

Diffrents commandements utilisent la date. Et' codifie au bit et il peut assumer valeurs de 01.01.1990 jusqu'

31.12.2118. Les bits doivent tre lus par droite vers la gauche.

7 bits contiennent l'an. au numro obtenu il doit tre additionn 1990.

4 bits contiennent le mois. 1 st pour janvier

5 bits contiennent le jour du mois

Exemple:

Aprs un istrizione 0x12 nous obtenons un lacet du type:

12 00 04 43 41 4E 41 4C 53 41 54 45 4C 4C 49 54 45 20 20 00 1A 0C 34 0E FF 90 00

La date codifie pour la fin de l'abonnement est 0E FF. Si nous convertissons en voie le deux byte nous obtenons

111011111111, 12 bits. La date est compose de 16 bits de toute faon, donc nous ajoutons les zros manquants et

nous obtenons 0000111011111111.

les 7 bits sont ensuite: 0000111 (an)

4 bits sont: 0111 (mois)

5 bits sont: 11111 (jour)

En convertissant en chiffre dcimal les numros obtenus on obtient 31.07.1997.





ps:ces pas du seca2 mais sa permet de comprendre certaine chose.@+ __________________

mohamed_aziz    
16-01-08, 01:49   #4
JANNENE

 
  JANNENE
 
: Apr 2007
: -
: 3,212
JANNENE is on a distinguished road

JANNENE    
08-02-08, 16:46   #5
nilesat102

 
  nilesat102
 
: Oct 2006
: DJERBA TN
: 3,627
nilesat102 will become famous soon enough nilesat102 will become famous soon enough

nilesat102    
21-02-08, 19:28   #6
abc

 
: Feb 2008
: 8
abc is on a distinguished road

abc    
30-04-08, 08:05   #7
adilos

 
: Nov 2007
: 16
adilos is on a distinguished road

adilos    
18-05-08, 01:30   #8
eco1975

 
: May 2008
: 15
eco1975 is on a distinguished road

continuons avec le tuto
eco1975    
12-06-08, 19:06   #9
khelifa31

 
  khelifa31
 
: Apr 2008
: 412
khelifa31 is on a distinguished road

Heuresement Il ya des Perssonnes de comp***233;tances Qui assure Le maintien du site m***233;rci a toute Les equipes qui assure Et les stafes technique de ce site et d'autre en exlusive moresat et echolinck et d'autres qui travaillent sans aret pour toute le monde regarde la television un confr***233;re de la midit***233;rann***233;e Merci je m''excuse mon francais n'est pas tres fort
khelifa31    
12-06-08, 19:06   #10
khelifa31

 
  khelifa31
 
: Apr 2008
: 412
khelifa31 is on a distinguished road

Heuresement Il ya des Perssonnes de comptances Qui assure Le maintien du site mrci a toute Les equipes qui assure Et les stafes technique de ce site et d'autre en exlusive moresat et echolinck et d'autres qui travaillent sans aret pour toute le monde regarde la television un confrre de la miditranne Merci je m''excuse mon francais n'est pas tres fort
khelifa31    

« | »




06:21

- - -

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Adsense Management by Losha
2007-2013