Escolar Documentos
Profissional Documentos
Cultura Documentos
com
gbox - Version 1.00pre11
----------------------------------------------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This is an internal beta version, not for public release. It is incomplete,
contains bugs and should not be used by any 'Joe Public' user. If anyone
receives this from someone else and wants to test it, you can do so. I would
only ask that you do not start a discussion and do not distribute this to any
upload servers, nor post any images. If you are not in a position to create your
own image, then you'll only have problems with this software.
Thanks!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
In direct mode, the pmt is written on the trigger of the /var/tmp/pmt.tmp, the
gbox controls all other pids and the cw_write
If no pmt.tmp is found, the gbox will work in indirect mode in which the PMT/CAT
and the ECM/EMM pids are sent to the gbox via UDP, and it sends back the CWs via
UDP.
UDP Instructions:
UDP port 8003: gbox_out (CW_write, Need_pids)
UDP port 8004: gbox_in (PMT, CAT)
UDP port 8005: gbox_in (pid1 von der Need_pids liste)
UDP port 8006: gbox_in (pid2 von der Need_pids liste)
UDP port 8007: gbox_in (pid3 von der Need_pids liste)
usw.
CAT : 86 01 .....
PMT : 87 02 .....
Bei jedem Nee_pids muss der server alle pids >= 8005 schlieáen, und
nach der erhaltenen Liste alle neu ”ffnen.
Irdeto AU
==============================
+ Single Key update
+ multiple Key update - 2 keys
+ multiple Key update - 2 single key update in ein Packet
+ PMK update
A multiple key update - 4 keys I'm not sure about but it should work.
There could be many Prov/PMKs introduced. With debug level 2 all keys are
written, irrespective of whether these are old or new. Therefore all Prov/PMKs
are checked for validity.
Seca AU
============================
+ multiple Key update - 3 keys
+ AU over primary MK or primary & secondary MK
In the case of a known key, but not the PPUA and/or key number, the PPUA is
given as 00 00 00. In this case the key is checked for all EMMs and when the
correct hash and signature match the update is run, and thus the PPUA/Key nr is
distributed.
Many PPUA/MKs per provider can be used. With debug level 2, all keys are written
irrespective of whether they are new or old. So all the PPUA/MKs can be tested
for validity.
Via AU
====================
+ single Key update
+ multiple key update 2 keys
+ AU ber SA (SRG, SloTV, ...)
+ AU ber UA (SVT, HRT, ... )
+ AU ber issuer
There could be many Prov/PMKs introduced. With debug level 2 all keys are
written, irrespective of whether these are old or new. Therefore all Prov/PMKs
are checked for validity.
Nagra AU
========
Implementation of ROM3, ROM7, ROM10 and ROM11 Card types.
0001 - Dish Networks
0801 - Bell Express VU
2C01 - SABC
4001 - Via Digital
4601 - Euskatel
4801 - TV Cabo
4A01 - MMBN (Asia)
4E01 - Dream TV (Philipines)
5401 - NTL Cable
5A01 - TeleWest Cable
5C01 - C&W/NTL Cable
7001 - Polsat
7401 - Star Digital
9401 - Hong Kong Cable
There's not much to say here - it's completely plug and play. Just leave it in
Autoupdate_mode=Auto. All ROMs, EEPROMs, RAMs, keys etc. are integrated into the
gbox.
Conax AU
========
There could be many Prov/PMKs introduced. With debug level 2 all keys are
written, irrespective of whether these are old or new. Therefore all Prov/PMKs
are checked for validity.
See above
The COM port on the dbox2 is TTL level, to which a sc8in1 can be directly
attached, although not a Smartmouse. To connect a Multicam to COM2 of the dbox2,
please read the file multicam.txt.
(*)With the dbox2 3.579MHz and 6MHz oscillators can be used for all systems.
The software sets the baud rate, the card type and automatically sets all the
parameters. A 6MHz type is recommended, since the card works 68% faster with it
and changes channels more quickly etc. Almost all cards (except Nagra ROM11) run
absolutely reliably.
On a PC with VDR it is recommended to use several quartz (crystals?) together
according to your needs. The delivery specification includes 2 * 6MHz, 2*3.686
and 4*3.579.
NET Mode
========
NET-mode is intended for:
1. Development/testing (implemented)
The dbox 2 sends each ECM over the network to the PC which then performs the
decryption and sends the CWs to the dbox2, which can be used for decoding.
In the sub-folder /net-mode you will find a small software demo, C source and
executable (cygwin)
In order to switch back to Net mode, the following entry in gbox_cfg must exist:
G { 02 } // Pure NET Client
Multipid logger
===============
Multipid logger
In the zip you will find the MultiCaID/MultiPID logger from trilu. To use this,
the following field in the gbox_cfg must be set, L: { 01 } PC_IP in order to
initialise the UDP port.
Structure
===========================================
Instruction Type L„nge Daten=L„nge
0x42 0x?? 0xlen Daten ....
Get cat
=======
Instruction: 0x42 0x01 0x00
Answer: 0x41 0x01 0xLN ......
LN number of Bytes in CAT.
Get pmt
=======
Instruction: 0x42 0x02 0x00
Answer: 0x41 0x02 0xLN ......
LN number of Bytes in PMT.
Start Logging
=============
Instruction: 0x42 0xFE 0x00
Answer: 0x41 0xFE 0x00
Stop Logging
============
Instruction: 0x42 0xFF 0x00
Answer: 0x41 0xFF 0x00
PIDs can only be logged that have been read and mapped, thus the cat and pmt are
informative, using the 0x05 to see what is there (?)
After each command a reply should arrive. For the log off command you need to
always send two log offs in order to receive an answer - this may be to do with
my test software.
In the folder you will find the logger from trilu and this can log single or
multiple pids (ecm and/or emm).
Card sharing
------------
Cwsharing supports local networks and the internet. A peer to peer network is
built, in which all dboxes communicate with one another directly. This is
designed for performance and security reasons.
With cwsharing it does not matter which dbox2 has what card, and who is using
which sender.
The cwsharing is reasonably optimised, and it should not be a problem to have
more than 100 users for each card.
All cards are supported with sharing.
A few settings:
1. The owner has absolute priority, no matter how many users are attached to
his card and he should not need to use the 'zapping' feature.
2. Each dbox2 only communicates directly with the dbox2s listed in the
cwshare.cfg
If the user A has the cryptocard and the user B is his friend (with an entry in
the cwshare.cfg), then user B can also use user A's cryptocard. If user C is a
friend of user B, he can also use user A's card, as long as he has allowed it
(code 1>1). If user D is a friend of user C, he can also use user A's card (if
he has allowed it = code 1>2) and so on.
Important: every dbox2 only communicates with those nominated as friends, with
the ECMs and CWs going from dbox2 to dbox2 until the limit is reached.
4. All files are completely encrypted so even headers are not recognisable
Install:
a. If you want to go into the internet, you should have a look at dyndns.org
and set up an account. Activate dyndns in your router, so that it registers with
dyndns.org whenever you go online.
b. Make sure you give the Gateway and Nameserver in the network configuration
of the dbox.
c. On the router the referenced ports to the dbox2 need to be opened so that it
can transmit the incoming data. This is called 'port forwarding' and is not
necessary for local networks, only for the internet!
d. On the local network all boxes must have entries in each cwshare.cfg to
ensure these are always found. Thus any machine can be first to boot and the
next one will always find those that are already on line.
----------------------------------------------------------------------
An example for three boxes in a LAN with one on the internet
CWserver
========
If the gbox is not running as a receiver and the /var/tmp/pmt.tmp is not found,
it will run as a CW server. A Phoenix will be used on Com1, or a sc8in1 for up
to 8 cards on com1.
Off-air Decryption
==================
To decrypt the logged ECMs and/or EMMs or to send them to a card, the gbox is
called with 2 arguments:
In the gbox.cfg you can determine whether a decryption should be done via the
emulator (Mode =emu) or the ECMs and EMMs should be sent to the card
(Mode=Softcam).
The ECMs and EMMs can be combined into a text or binary file and in case the log
in the gbox is set to multipid mode, the ECM from various systems can be seen in
the log file. If a sc8in1 is attached to COM1, the ECMs and EMMs are forwarded
to the relevant cards.
With Nagra decryption, there has to be an ECM in the log file as this is used to
check the keys.
GSMS
====
GSMS allows messages to be sent to either a single gbox or all on the network.
Only one file, gsms.txt, is copied to /var/tmp and this is then read in, the
data sent on and the file deleted.
If the IP address 0.0.0.0 is given, the message is sent to all dboxes in the
cwshare.txt file.
The automatic display of GSMS messages on the screen is only available with
Neutrino or Enigma. With VDR you need a plugin or something else (to follow).
Install
=======
The files from /keys/ (irdeto, seca, via, ...) must be copied to /var/keys
VDR:
----
With multiple cards the gbox will need to be started several times. A separate
copy of gbox (including keys and config files) should be started for each card.
/var/keys/gbox0/gboxX86
/var/keys/gbox1/gboxX86
/var/keys/gbox2/gboxX86
etc ...
A gbox can control a COM port (with Multicam or sc8in1). If there are two or
more cards in a system, all of them can gain access to their own multicam or
sc8in1 and then the smartcards can be used by all dvb-s cards.
.
Only one gbox can manage the cwshare. We'll call this the master gbox and the
other one a slave.
In the master cwshare.cfg are entries for all other friends and the rest of the
dvb-s cards in the system. With this configuration all slave gboxes should have
their own RX UDP port
M: { 192.168.0.10 { 12345678 }
D: { 192.168.0.10 { 8000 8001 { 12345670 { 5 5 }}}}
D: { 192.168.0.10 { 8000 8002 { 12345671 { 5 5 }}}}
D: { 192.168.0.10 { 8000 8003 { 12345672 { 5 5 }}}}
M: { 192.168.0.10 { 12345671 }
D: { 192.168.0.10 { 8002 8000 { 12345678 { 5 5 }}}}
M: { 192.168.0.10 { 12345672 }
D: { 192.168.0.10 { 8003 8000 { 12345678 { 5 5 }}}}
The softcsa is also not implemented. I do not have a SkyStar and therefore can't
implement or test this.
From /dev/dvb/adapter0/ca0
I only use
Ioctl (ca_handle,CA_SET_DESCR,&ca_descr);
If anyone is interested, could they write a module that opens a device
/dev/dvb/adapter0/ca0 and implements the softcwwrite.
dbox2
-----
Gbox is a daemon that should not be killed by channel changing. It is started
once, and then the channel change is triggered by the writing of the PMT to
/var/tmp/pmt.tmp.
Windows
-------
The dbox works on Windows only in indirect mode. As an interface (wrapper?)
between DVBcore applications and the gbox the plugin gboxsfriend.dll is used
which is compatible with DVBcore. This sends the PMT&CAT to the gbox on channgel
changes and later the ECMs and EMMs too.
For Multidec compatible applications you will still need to use the wrapper
DVBcore.dll - this allows a dvbcode compatible plugin to be used with a Multidec
API application.
---------------------------------------------------------------------
In der entwicklung dieser Software haben viele Personen teilgenommen.
Manche in guter Absicht, manche unwissentlich, mit Ihrer Arbeit und
Forschung. Das jemand hier aufgef hrt ist, bedeutet nicht das er
irgendetwas mit der gbox direkt zu tun hat.
Ebenfalls bedanke ich mich bei allen betatestern die mir durch ihre
bugreports sehr geholfen haben haben.