Avec les compliments de la Team Kyng : les modifications à apporter à Oscam pour le partage des cartes Fransat HD et TNTSAT en mode radegast. |
Avant la sortie de la version A1.15 du HD-100, il y avait un bug pour le partage des cartes Fransat HD et TNTSAT. Ce bug a été corrigé et pour vous en convaincre, il suffit juste de partager ces cartes entre 2 HD-100 par exemple. Pour ça, la Team Kyng a du modifier aussi le mode client du HD-100. Mais, la majorité des intéressés, veulent l'utiliser avec Cccam ou Oscam. Pour CCcam, c'est difficile puisque personne ne peut le modifier. Par contre pour Oscam c'est une autre histoire, vous pouvez le modifier et le compiler vous mêmes. La Team Kyng vous donne ce qu'elle a dû faire et modifier pour que ça marche sur le HD-100, donc, ceux qui veulent que ça marche ailleurs, doivent faire la même chose.
Voici un exemple d'ECM de la TNTSAT:
Code:
80 71 27 01
80 2F 90 07 03 0B 00 09 05 67 01 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 85 FB 51 D4 F0 94 22 57 72 8B D4 67 23 C9 D9 F5 F0 08 CF F2 A1 3E B4 94 47 B5
80 2F 90 07 03 0B 00 08 06 15 01 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 3A F3 1F F5 08 0A 93 50 09 1B 2B 15 FC 2D 28 F4 F0 08 8F 6C B7 86 FA 33 66 30
80 2F 90 07 03 0B 00 08 07 01 00 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 16 F1 E4 65 5C 3F 05 D7 9E C3 9C E3 EA D6 A9 C6 F0 08 6A 09 1E 3D 1B 47 22 81
80 2F 90 07 03 0B 00 08 07 01 01 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 3D 1F C5 B6 3A 58 C2 74 01 A3 68 88 70 0C 3C B7 F0 08 29 A1 F1 52 A6 63 1A 2C
80 2F 90 07 03 0B 00 08 06 15 00 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 F1 6B 03 6C 3F 9D 43 6F 74 6B D3 B3 30 61 02 6F F0 08 E9 40 41 AB 9D F4 A1 39
80 2F 90 07 03 0B 00 09 05 67 00 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 2B C1 3D AA B5 03 AD 78 28 76 20 32 01 91 A3 CE F0 08 0C 3C CE 85 2A 40 FF 04
Ce que la Team Kyng a fait de son côté, avant d'envoyer la requête via radegast, c'est de modifier l'ecm pour qu'il soit reconnaissable par la carte et aussi de réduire sa taille pour ne pas dépasser les 256 bytes, mais sans le tronquer.
Elle a fait ce choix:
Code:
80 71 27 01
80 2F 90 07 03 0B 00 09 05 67 01 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 85 FB 51 D4 F0 94 22 57 72 8B D4 67 23 C9 D9 F5 F0 08 CF F2 A1 3E B4 94 47 B5 //enlevé parce que CWsSwap flag == 1
80 2F 90 07 03 0B 00 08 06 15 01 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 3A F3 1F F5 08 0A 93 50 09 1B 2B 15 FC 2D 28 F4 F0 08 8F 6C B7 86 FA 33 66 30 //enlevé parce que CWsSwap flag == 1
80 2F 90 07 03 0B 00 08 07 01 00 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 16 F1 E4 65 5C 3F 05 D7 9E C3 9C E3 EA D6 A9 C6 F0 08 6A 09 1E 3D 1B 47 22 81
80 2F 90 07 03 0B 00 08 07 01 01 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 3D 1F C5 B6 3A 58 C2 74 01 A3 68 88 70 0C 3C B7 F0 08 29 A1 F1 52 A6 63 1A 2C //enlevé parce que CWsSwap flag == 1
80 2F 90 07 03 0B 00 08 06 15 00 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 F1 6B 03 6C 3F 9D 43 6F 74 6B D3 B3 30 61 02 6F F0 08 E9 40 41 AB 9D F4 A1 39
80 2F 90 07 03 0B 00 09 05 67 00 E2 03 42 C3 00 E2 03 42 C3 FE EA 10 2B C1 3D AA B5 03 AD 78 28 76 20 32 01 91 A3 CE F0 08 0C 3C CE 85 2A 40 FF 04
Code:
Où, ECM est du même type que ECMp. ECMp étant l'ecm original et Len sa taille (longueur) originale. En exécutant cette procédure, le résultat est dans ECM[] et la taille aura aussi changé et toujours contenu dans Len.
C'est ce que la Team Kyng a fait pour que ça marche.
int k, pos;
uint8_t* SubECMp;
if( ECMp[4]==0x80 )
{
memcpy(ECM, ECMp, 4);
ECM[1] = 0x70;
ECM[2] = 0x01;
pos = 0x04;
k = 4;
while(k<Len)
{
SubECMp = (uint8_t *)&ECMp[k];
if( (pos+SubECMp[1]+2)>0xE0 )
{
break;
}
if (SubECMp[2]==0xD2)
{
if( SubECMp[0x0E] == 0x00 )
{
memcpy(ECM+pos, SubECMp, SubECMp[1]+2);
ECM[2] += SubECMp[1]+2;
pos += SubECMp[1]+2;
}
}
else if ( (SubECMp[2]==0x90 || SubECMp[2]==0x40) && SubECMp[3]==0x07 )
{
if( SubECMp[0x0A] == 0x00 )
{
memcpy(ECM+pos, SubECMp, SubECMp[1]+2);
ECM[2] += SubECMp[1]+2;
pos += SubECMp[1]+2;
}
}
k += SubECMp[1] + 2;
}
Len = ECM[2]+3;
}
C'est ce que la Team Kyng a fait pour que ça marche.
Source : KyngForums
Aucun commentaire:
Enregistrer un commentaire