Sie sind auf Seite 1von 14

Manual para prolongar a data

do ird (DT$01) e tiers (DT$07)

Power by GEA1, Novembro de 2006.

Material necessrio:
- Software:
Unloopix;
EMMplastro v1.0 ou N2S3 V1.7;
Rom 110 Update Rev Nagra 2 Soft ou NENES;
GEAActiveCards.

- Hardware:
Dreambox ou PC-DVB;
Phoenix / TE-21

- Dump110 (obteno das chaves necessrias)

Este pequeno manual destina-se actualizao da data do ird (DT$01) e dos tiers (DT$07) em
moscas que no podem ser colocadas no forno mas que recebem as EMMs de actualizao
por parte do provedor2.

Para ter sucesso nesta operao necessrio:


- conhecer o interior da mosca;
- efectuar um log com uma dreambox ou pc-dvb;
- seleccionar e enviar as EMM-S necessrias a enviar mosca;

Conhecer o interior da mosca


fundamental conhecer o interior da mosca a fim de conhecer as chaves necessrias para o
decrypt das EMM-S.

Provedor Idea EMM-S RSA EMM-S (96 bytes)3


4801 ou 4001 01 18 11 10
4901 ou 4101 01 18 11 10

1
GEA: Grupo de Estudos Avanados FISC (Frum de Investigao de Sistemas de Codificao,
http://www.nagratnt.net).
2
data da elaborao deste manual, o nosso provedor apenas tem utilizado as EMM-S para prolongar a data dos
DT$01e DT$07, neste caso so enviados os mesmos comandos para famlias de 256 moscas. Pode-se concluir que,
se o provedor no enviar esta actualizao haver famlias inteiras de moscas a hibernar.
3
Para converter a RSA de 128 bytes a 96 bytes, devem ler o manual Converter RSAs Rom110 para RSAs Rom101
em http://www.fiscpt.net/forum/showthread.php?t=21189.
A restante informao, Rights dos DT$07 e o Cam_ID podem tambm ser conhecidas com o
software Unloopix4 e com o recurso a um programador Phoenix / TE-21.
Ao iniciar o software, com a mosca inserida no programador, devemos confirmar as
configuraes.

Depois de clicar em Gravar, vamos ler a informao existente na mosca.

4
Software desenvolvido pelo GEA em http://www.nagratnt.net/forum/showthread.php?t=23802. Todas as informaes
sobre a forma de utilizao do software encontram-se no ficheiro instrues.txt.
Eis um exemplo do resultado obtido para uma determinada mosca.

Ao analisar a colunas referentes s datas ficamos a saber qual os tiers activos. Associado a eles
ficamos a saber qual os seus Rights que so necessrios para seleccionar as EMM-S. Eis um
exemplo do tier responsvel pelas SportTV1&2 com o correspondente Rights:

Type Prov Rights Exp Date Exp Time Min Cha Max Cha B Sub Date B Sub Time End Date End Time
8C 4901 000008 xx-xx-20xx xx:xx:xx 0320 0320 xx-xx-20xx xx:xx:xx xx-xx-20xx xx:xx:xx

Depois disto, fazemos um log para captar as EMM-S dirigidas mosca.


Seleccionar as EMM-S necessrias a enviar mosca
O log, pode ser efectuado com uma dreambox ou uma placa pc-dvb e o excelente software,
disponibilizado pelo @hsmpt, o EMMplastro5.

Antes de ser utilizado necessrio editar o ficheiro EMMplastro.ini em funo das caractersticas
do sistema. Como interessa EMMs dirigidas ao grupo da mosca (EMM-S) necessrio fornecer
as respectivas chaves no ficheiro EMMplastro.ini.

Na seco [CAM] comeamos por colocar o nmero de cartes (N) cujas EMMs pretendemos abrir
seguido dos seus Cam_IDs (comeam por 23 na TVc@bo e por 1B na Digit@l+). Estes valores
devero ser precedidos pelas etiquetas ID_1=, ID_2=, ... ID_N=.

[CAM]
N=3
ID_1=23000000
ID_2=23111111
(...)

Seguem-se as chaves (RSA, IKEY e FIRM) para cada tipo de EMM-S e respectivo provedor,
devidamente agrupadas numa seco cuja designao a CAM_ID correspondente.

[23000000]
S_RSAM_hi=1234..........5678; chave RSA (96 bytes) para EMM-S (11 10) (prov 4101 ou 4901)
S_IKEY_hi=1234...5678; chave IDEA (16 bytes) para EMM-S (01 18) (prov 4101 ou 4901)
S_RSAM_lo=1234..........5678; chave RSA (96 bytes) para EMM-S (11 10) (prov 4001 ou 4801)
S_IKEY_lo=1234...5678; chave IDEA (16 bytes) para EMM-S (01 18) (prov 4001 ou 4801)
[23111111]
(...)

Na verso dreambox ainda necessrio especificar no EMMplastro.ini uma seco prpria onde
se indicam alguns dados necessrios ao estabelecimento da ligao telnet Dreambox, so eles:

[Dreambox]
host=192.168.1.10 ; endereo IP da Dreambox
port=23 ; porto Telnet (usualmente o 23)
user=root ; utilizador de acesso
pass=dreambox ; password de acesso
prompt=~ > ; prompt usado na sesso Telnet (depende das imagens!)

Nesta altura, tudo est ponto para comear o log. Para garantir que todas as EMM-S dirigidas ao
grupo da mosca so captadas, devemos garantir um ciclo completo, como descrito no grfico
seguinte.

5
http://www.nagratnt.net/forum/showthread.php?t=23756. Todas as informaes sobre a forma de utilizao do
software encontram-se no ficheiro EMMplastro.txt.
Iniciamos o soft EMMplastro e procedemos seguinte configurao. O intuito apenas
apanhar EMM-S dirigidas mosca.

De seguida activamos a caixa Active e comeamos a receber o log.


Quando o ciclo estiver garantido, desactivamos a caixa Active.

Clicamos numa das linhas com o boto direito do rato, selecionamos Copy All e colocamos num
ficheiro de texto previamente aberto. Ficamos assim, com as EMM-S recebidas e o correspondente
decrypt.

Pode-se tambm utilizar o software N2S3 V1.76 para fazer o decrypt das EMM-S que so
dirigidas nossa mosca.

6
http://www.nagratnt.net/forum/showthread.php?t=23784. Todas as informaes sobre a forma de utilizao do
software encontram-se no ficheiro leeme.txt.
Antes do decrypt, necessrio introduzir as chaves no ficheiro de configurao do software, o
n2s3.ini, necessrias ao decrypt das EMM-S, dirigidas mosca. Eis um exemplo do ficheiro
onde se deve colocar as chaves:

[COMMON]
NAME=Kaka TV
PROV1=4801
PROV2=4901
SERIAL1=(CamId)
SERIAL2=(CamId)

[PROV1]
EXP=03
IKEY01=(ikey EMM-S, 01 18)
IKEY03=(ikey firma EMM-G, 03 18)
MOD11=( Mdulo RSA EMM-S, 11 10)
CW=
DW=

[PROV2]
EXP=03
IKEY01=(ikey EMM-S, 01 18)
IKEY03=(ikey firma EMM-G, 03 18)
MOD11=( Mdulo RSA EMM-S, 11 10)
CW=
DW=

Neste momento esto reunidas todas as condies para o incio do decrypt das EMM-S.

Ao clicarmos no boto Open File deve-se escolher o caminho onde se encontra o log. A
seleco 2 serve para que o decrypt se faa apenas s EMM-S correspondentes ao Cam_ID da
mosca.
De seguida escolhemos onde ser guardado o ficheiro com o decrypt das EMM-S.

No final, existir um ficheiro com as EMM-S decryptadas. Ao abrir o ficheiro obtido, poderemos
constatar que as EMMs transportam o subcomando $A3.

Seleccionar as EMM-S necessrias a enviar mosca


As EMM-S responsveis pela actualizao da data do ird (DT$01) e dos tiers (DT$07) possuem
todas a mesma estrutura. Para evitar que a mosca tenha problemas, ou seja, padea de males
indesejados, deve-se seleccionar as EMM-S, estritamente necessrias. Para isso, necessrio
conhecer a estrutura do subcomando $A3.

Decrypted: XXXXXXXXXXXXXXXX 4X01 XXXXXXXX XXXXXXXX [A3] XXXXXX [20] 00


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[20] XXXXXXXXXXXX000000000000A8BEXXXXXXXX000000000000000000000000000000000000000000
XXXXXXXXXXXXXXXX -> Signature
4X01 -> Provider
XXXXXXXX -> Creation DateStamp
XXXXXXXX -> Expiry DateStamp
[A3] -> Subcomando $A3 (filtra famlia de moscas)
XXXXXX -> Cam_id (n de cam)
[20] -> Comprimento da tabela de bits
00 -> Apontador da tabela de bits
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-> Tabela de bits que define quais as moscas activas
[20] -> Subcomando $20 (actualiza datas de fecho)
XXXXXX -> Apontador que define qual o DT$ a actualizar
XXXXXX -> Rights
00000000000000
0000A8BE -> Data (1992-01-01 / 23:59:56)
XXXXXXXX -> Actualizao da data
000000000000000000000000000000000000000000

Com o subcomando $A3, enviado atravs das EMM-S, o provedor consegue actualizar as datas dos
DT$01 e DT$07 das moscas que quiser dentro de cada grupo de 256 moscas e totalmente
configurado consoante a vontade do provedor. Para uma maior facilidade de compreenso, vamos
utilizar dois exemplos de subcomandos $A3.

Decrypted: XXXXXXXXXXXXXXXX 4801 XXXXXXXX XXXXXXXX [A3] XXXXXX [20] 00


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[20] 082003000000000000000000A8BEXXXXXXXX000000000000000000000000000000000000000000

Decrypted: XXXXXXXXXXXXXXXX 4901 XXXXXXXX XXXXXXXX [A3] XXXXXX [20] 00


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[20] 030003000008000000000000A8BEXXXXXXXX000000000000000000000000000000000000000000

Vamos comear pelo XXXXXX -> Apontador que define qual o DT$, este conjunto de 6 bytes
define qual o DT$ a actualizar. Se o valor for 082003 define a actualizao no DT$01 se o valor for
030003 define a actualizao no DT$07. Outra forma fcil, ou seja emprica, de distinguir a EMM-
S para actualizao da data no DT$01 observar para qual o provedor vem dirigida a EMM-S. At
data, a EMM-S para actualizao da data no DT$01 vem dirigida para o provedor 4801 ou 4001,
enquanto a EMM-S para actualizao da data nos DT$07 vem dirigida para o provedor 4901 ou 4101.

O XXXXXX -> Rights define qual DT$7 a actualizar. Para o DT$01 o valor 000000, para os
DT$07 assume um valor caracterstico. Neste exemplo o valor 000008, dirige a actualizao para o
DT$07 responsvel pelo visionamento do canal SportTV1&2.

Vamos agora para a parte mais interessante, a tabela de bits. A definio e contedo da tabela de
bits definida pelo conjunto de bytes coloridos:

Decrypted: XXXXXXXXXXXXXXXX 4X01 XXXXXXXX XXXXXXXX [A3] XXXXXX [20] 00


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[20] XXXXXXXXXXXX000000000000A8BEXXXXXXXX000000000000000000000000000000000000000000
O sistema sabe quais so as moscas activas atravs dos 64 bytes coloridos e sublinhados que
formam uma tabela de bits, qual esto relacionados as 256 moscas de cada grupo.

Vejamos o seguinte exemplo:

Decrypted: XXXXXXXXXXXXXXXX 4X01 XXXXXXXX XXXXXXXX [A3] XXXXXX [20] 00


FFFFFFFF5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6FFFFFFFF [20]
XXXXXXXXXXXX000000000000A8BEXXXXXXXX000000000000000000000000000000000000000000

conjunto de 64 bytes :

FFFFFFFF5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6FFFFFFFF

Vamos agrupar pares de 2 bytes como demonstra a tabela seguinte e convertemos a binrio. Desta
forma, temos a identificao de todas as moscas do mesmo grupo.

(Hex) --> (bin) --> Estado do mosca (decimal)


FFFF --> 1111111111111111 --> activo o mosca 0 a 15
FFFF --> 1111111111111111 --> activo o mosca 16 a 31
5FFF --> 0101111111111111 --> activo o mosca 32 a 47 excepto mosca 32 e 34 que esto desactivados
FFFF --> 1111111111111111 --> activo o mosca 48 a 63
FFFF --> 1111111111111111 --> activo o mosca 64 a 79
FFFF --> 1111111111110111 --> activo o mosca 80 a 95.
FFFF --> 1111111111111111 --> activo o mosca 96 a 111
FFFF --> 1111111111111111 --> activo o mosca 112 a 127
FFFF --> 1111111111111111 --> activo o mosca 128 a 143
FFFF --> 1111111111111111 --> activo o mosca 143 a 159
FFFF --> 1111111111111111 --> activo o mosca 160 a 175
FFFF --> 1111111111111111 --> activo o mosca 175 a 191
FFFF --> 1111111111111111 --> activo o mosca 192 a 207
FFF6 --> 1111111111110110 --> activo o mosca 208 a 223 excepto mosca 220 e 223 que esto desactivados
FFFF --> 1111111111111111 --> activo o mosca 224 a 239
FFFF --> 1111111111111111 --> activo o mosca 240 a 255

Neste exemplo temos 4 moscas no recebero este comando. Para ficarmos a saber os seus
nmeros de cam (Cam_ID) temos de converter os valores decimal para hexadecimal.

d(32) -> h(20)


d(34) -> h(22)
d(220) -> h(DC)
d(223) -> h(DF)

Se o Cam_ID para o grupo de moscas for AABBCCXX, as moscas que no recebero esse
comando so: AABBCC20; AABBCC22; AABBCCDC, AABBCCDF.

Para ultrapassar a morosidade deste processo, o GEA desenvolveu um software denominado


GEAActiveCards7.

7
http://www.nagratnt.net/forum/showthread.php?t=24698.
Depois de executarem o software GEAActiveCards devem introduzir os 3 primeiros bytes do n
de cam da mosca, o conjunto de 64 bytes e depois clicar em Verificar Cartes. Para o exemplo
anterior obtero:

Assim sendo, um determinado DT$ s actualizar a sua data se o Cam_ID da mosca estiver
contemplada na tabela de bits. A nova data definida no subcomando $A3 em XXXXXXXX ->
Actualizao da data.

Para acabar de descascar o subcomando $A3, vamos aprender o que significa os bytes coloridos
no seguinte exemplo, que tornam este subcomando totalmente configurvel consoante a vontade do
provedor.

Decrypted: XXXXXXXXXXXXXXXX 4X01 XXXXXXXX XXXXXXXX [A3] XXXXXX [20] 00


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[20] XXXXXXXXXXXX000000000000A8BEXXXXXXXX000000000000000000000000000000000000000000

Como j foi referido anteriormente, [20] -> Comprimento da tabela de bits; 00 -> Apontador da
tabela de bits e [20] -> Subcomando $20.

Para facilitar a compreenso vamos considerar trs exemplos de subcomandos $A3:

Decrypted: XXXXXXXXXXXXXXXX 4901 XXXXXXXX XXXXXXXX [A3] XXXXXX [20] 00


0000000000000000000048000000000000000000000000000000000000000000 [20]
030003000008000000000000A8BEXXXXXXXX000000000000000000000000000000000000000000

Decrypted: XXXXXXXXXXXXXXXX 4901 XXXXXXXX XXXXXXXX [A3] XXXXXX [10] 0A


48000000000000000000000000000000 [20]
030003000008000000000000A8BEXXXXXXXX0000000000000000000000000000000000000000000000000000000
0000000000000000000

Decrypted: XXXXXXXXXXXXXXXX 4901 XXXXXXXX XXXXXXXX [A3] XXXXXX [01] 0A 48 [20]


030003000008000000000000A8BEXXXXXXXX0000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000
primeira vista podemos julgar que se trata de 3 subcomandos A$3 diferentes, mas no so, so
exactamente iguais mas apresentados de forma diferente. Ambos apenas actualizam a data do
DT$07 responsvel pelo visionamento da SportTV1&2 para as moscas com Cam_ID igual
AABBCC51 e AABBCC54, como demonstra o resultado obtido com o software
GEAActiveCards

Como j sabemos, a tabela de bits possui um tamanho de 32 bytes (h20).

No primeiro exemplo, o valor [20] indica que o comando transporta informao relativa a 32 bytes
(h20) a comear na posio 00 da tabela de bits, num total de 32 bytes (h20) [20].

No segundo exemplo, o valor [10] indica que o comando transporta informao relativa a 16 bytes
(h10) a comear na posio 0A (h10) da tabela de bits, num total de 32 bytes (h20) [20].

No terceiro exemplo, o valor [01] indica que o comando transporta informao relativa a 1 bytes
(h1) a comear na posio 0A (h10) da tabela de bits, num total de 32 bytes (h20) [20].

Desta forma, fica demonstrado a flexibilidade do sistema.

Enviar as EMM-S necessrias mosca


Com as EMM-S seleccionadas, podemos enviar os comandos estritamente necessrios
sobrevivncia da mosca.

Para isso, podem utilizar o excelente software, disponibilizado pelo @LPSoRcErEr, o Rom 110
Update Rev Nagra 2 Soft8, se optarem pelo envio via phoenix,

8
http://www.nagratnt.net/forum/showthread.php?t=23536. Todas as informaes sobre a forma de utilizao do
software encontram-se no ficheiro Readme.txt.
ou se tiverem o carto numa dreambox podem enviar os comandos directamente, utilizando o
excelente software, elaborado pelo GEA, o NENES9.

Uma pequena recomendao extra para quem utilizar o NENES, no ficheiro readme.txt que
acompanha o software e para que a mosca receba EMM-S dever ser colocado no ficheiro de
configurao do newcs, o newcs.xml a seguinte configurao:

<blocksa>no</blocksa>
<blockua>yes</blockua>
<blockga>no</blockga>

Para que a vossa mosca volte a voar, s falta enviarem a EMM-G, do mesmo modo que fizeram
anteriormente, responsvel pela actualizao das chaves ikey ECM 00 e 01.

9
http://www.nagratnt.net/forum/showthread.php?t=23776. Todas as informaes sobre a forma de utilizao do
software encontram-se no ficheiro readme.txt.
Power by GEA, Novembro 2006.