Author Topic: Gbox & Cards  (Read 1621 times)

0 Members and 1 Guest are viewing this topic.

Offline antox

  • Ferengi
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 16798
Gbox & Cards
« on: January 28, 2010, 01:03:29 PM »

This is a translation of the original gboxfaq ifrom german to english.You have to put up with my misspellings and translation misstakes.
The gbox is:

A. Emulator: 1rd3t0,Seca,Viaccess,Nagravision,Conax. All with AU
B. Season Emulator in 1rd3t0 Cam, all systems.
C. Softcam : 1rd3t0,Seca,Viaccess,Nagravision,Conax,Cryptoworks ,NDS and all otherer systems. All with AU
D. off-air ECM&EMM Login.
E. Tool to send loged ECM's/EMM's to card via rs232 port.
F. Multipid Logger: Multiple ECM und EMM pids loging.
G. Card sharing Client&Server peer to peer, local and wan.
H. Standalone CWserver
I. GSMS Messageing system
These versions are aviable:

PPC -Linux api2+api3+ibmapi
Intel X86 Linux api3 (VDR)

Dos & Windows (Multidec, ProgDVB, MyTheatre, etc.)

The gbox works in direct and indirect mode.

In direct Mode, the pmt is written to /var/tmp/pmt.tmp
, all other pids and the cw_write is handeled by the gbox.

If no pmt.tmp is found, the gbox works in indirect
Mode, the PMT/CAT und die ECM/EMM pids are sent to the gbox via UDP
, and the gbox returns the CW's via UDP.

This Mode is api-less, and can be used with each application.

direct/indirect off-air cwserver

PPC -Linux api2 yes yes yes

Intel X86 Linux api3 api3 yes yes yes

dos&windows -yes yes yes



The 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)
etc.


CW_Write : 89 CW1 CW2
Example : 89 0102 03 0405 06 0708 10 2030 40 5060 70 80


Need_pids : 8A pid_number(1 byte) pid1(2 bytes) pid2(2 bytes) usw ...
Example : 8A 02 10 00 15 00


CAT : 86 01 .....


PMT : 87 02 .....


pidx : 88 pid(2 bytes) len(1 byte) data
Example : 88 15 01 48 81 70 ...


After every Nee_pids the Server must close all pids >= 8005, and after getting new list reopen all.


1rd3t0 AU

• Single Key update
• multiple Key update - 2 keys
• multiple Key update - 2 single key update in one Packet
• PMK update
a multiple Key update - 4 keys is not tested, but should work.
As many Prov/PMK's as disired can be added. With debug Level 2 all keys will be written,
old and new. In this way all Prov/PMK can be examined for validity.
If a Provider ID is given as 00 00 00. It is examined with each EMM,
implemented with valid signature and updated.


Seca AU

• multiple Key update - 3 keys
• AU via primary MK o6262r primary & secondary MK
If a key is known, but not the PPUA and/or the key Number, the PPUA will be treated as 00 00 00 00 .
In this case this key is examined for all EMM's , and then implemented with valid hash&signatur and then updated,
and thus will also the PPUA/KeyNr be determined.

How many 00 00 00 00 keys that can be handled, is determind by the EMM data,one is always possible.

As many PPUA/MK's per Provider as desired can be used. With debug Level 2 all keys will be written
, wether they are new or old. So all PPUA/MK can be examined for validity.

For Seca2 only the data from s2issuer.b and s2provid.b will be used for AU.



Via AU

• single Key update
• multiple key update 2 keys
• AU via SA (SRG, SloTV, ...)
• AU via UA (SVT, HRT, ... )
• AU via issuer
As many PPUA/MK's per Provider as desired can be used. With debug Level 2 all keys will be written
, wether they are new or old. So all PPUA/MK can be examined for validity.

If a Provider ID is given as 00 00 00. It is examined with each EMM,
implemented with valid signature and updated.

Nagra AU

implemented for ROM3, ROM7, ROM10 and ROM11 Cardtypes.


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


Here is really nothing to comment. all is plug and play. Simply put Autoupdate_mode=Auto.
All rom's, eeprom's, ram's, keys, etc. is integrated into the gbox. Since Version 1.28 all the Roms are external,
and named in this fasion rom02.b, rom02.eep.b und rom02.ram.b
They are however not needed anymore,as it for months has worked without Roms.
Furthermore there is a new key file named Nagra.txt in wich the Nagra EMM key is written. Wich is used for AU.


Conax AU

As many PPUA/MK's per Provider as desired can be used. With debug Level 2 all keys will be written
, wether they are new or old. So all PPUA/MK can be examined for validity.

The AU ist implemented for complete updates (exp+mod) as for partial once (only exp or only mod)



Gbox Multisystem Softcam

Gbox has a integrited Multisystem Softcam. To use it a chipcard reader must be connected to com1
or com2 (Modem slot in dbox2).
It can be a Smartmouse/Phoenix on com1 or com2. Or a sc8in1 for up to 8
cards on one comport. In this way its possible for up to 8 Chipcards to respond via com1 or com2.
All cards and systems can be combined. This coresponds 8 magiccams.
The com2 port on dbox2 is TTL Level, and here a sc8in1 can be connected, but not a Smartmouse.
For this a multicam is used.

In the future the following cam systems will be suported:

1rd3t0 allcam A0x/K0x/S0x/C/D/F/1.x/382/383/384/Z/nonZ/DS9/Xin1
Seca/Mediagard Original Seca1+Seca2, GW, Fun
Viaccess Original, GW, Fun
Nagravision Original, Fun
Cryptoworks Original
Conax Original
NDS Original

All Systems with full Autoupdate Support.

The following about NDS is not true for versions after 2.0.
To use a NDS card a reciever number must be used that is encrypted in the firmware.
This cannot be passed on in plain text, but must be present in gbox.


0919 and 0961(Sky UK,SKY It)has high Baudrates and works only on comport with phoenix on STBx45xx Boxes.
091f(Viasat) works in internal slot of der STBx45xx Boxes.

On Dbox2 they all work with internal Multicam, tested with SC8in1 and Friedels Multicam rev.1.2



Tested on dbox2(PPC), VDR(intel x86) und Win32(intel x86)
*6MHz test* ECM test EMM test

1rd3t0 1.x GW OK OK OK
1rd3t0 6in1 Fun OK OK OK
1rd3t0 DS9 Piccard2 OK OK -
1rd3t0 Fun C/D383Z OK OK OK
1rd3t0 Fun C/D/F384Z OK OK OK
1rd3t0 original C/D/F383Z OK OK OK
1rd3t0 original C/D/F384 OK OK OK
1rd3t0 original A01/K01/S01 OK OK OK
1rd3t0 original A02/K02/S02 OK OK OK
Irdeto2 original OK OK OK
Seca Fun OK OK OK
Seca GW OK OK OK
Seca original OK OK OK
Seca2 original OK OK OK
Viaccess Fun OK OK OK
Viaccess GW OK OK OK
Viaccess original OK OK OK
Viaccess2 original OK OK OK
Nagravision Fun OK OK OK
Nagravision original ROM2 OK OK OK
Nagravision original ROM3 OK OK OK
Nagravision original ROM7 OK OK OK
Nagravision original ROM10 OK OK OK
Nagravision original ROM11 -OK OK
Cryptoworks original V1 OK OK OK
Cryptoworks original V2 OK OK OK
Cryptoworks original V3 OK OK OK
Conaxis Fun-NagraInConax OK OK -
Conax original OK OK OK
NDS original OK OK OK

(*) On dbox2 3.579MHz und 6.000MHz Oszillators can be used on all systems. The Software
sences the Baudrate, Cardtype, and uses the right setting automatic. 6MHz is best
,because the cards will work 68% faster. All cards (including
Nagra ROM11) works stable with 6MHz.

On PC with VDR using sc8in1 several Quarz can be used in combination. It can be baught equiped with
2*6.000MHz, 2*3.686 and 4*3.579MHz

These system works with these Quarz.

1rd3t0 6.0000 MHz

Seca 3.5795 MHz

Viaccess 3.5795 MHz

Nagravision 3.6864 MHz

Cryptoworks 3.5795 MHz

Conax 3.5795 MHz

NDS 3.5795 MHz

Gbox has an itergrated software blocker, you can use it to block EMMs. Right configured it can block EMM Groups , EMM's for all cards, by SharedAddress or UniqueAddress.
We use the softcam.cfg file for this configuration.



Kill gbox

You can stop Gbox, by creating data in /var/tmp/gbox.kill, after wich the Gbox stops itself.

Sending EMM's manualy to Multicam

To send EMM to any card, you have to write data to /var/tmp/gboxemm.txt, in
Format:
nr>emm ...


nr is in Hex, for example card12 = 0C


counted in the following sequense:
slot1=1 in hex is 01
slot2=2 in hex is 02
com1-card1=3, in hex is 03
...
com1-card8=10, in hex is 0A
com2-card1=11, in hex is 0B
...
com2-card8=18, in hex is 12


Example (delete chid EMM for PW Card in com2 card01):
0B>01 01 00 00 00 6B D0 00 00 00 04 65 05 01 82 00 98 DE DF D3 7A 73 BB D2 B9 216D D3 0E EF A2 86
B8 AC DBA9 28 D5 F5 11 63 9A BD 8E DB FB 2F C9 8C 07 5393 38 79 0B 75 C4 4D7A EC 16 36 A7 E8
7F 21 3B 16 1EA8 50 21B1C1 70 6A05 6D B5 55 54 14 344C 7D 76A7 CB E8FA A248 E9 E397 F3 86
18 65 3B C4 E2 FB 60 5B 93 EC 36 AD 64 FB 50 3D




NET Mode

NET-mode is used for:

1. Development/Research(implementation)
The dbox2 sends each ECM over the network to the PC, wich executes the settings, sends the
CW's to the dbox2, wich it uses to decode.
* In subdir /net-mode/ ther is a small demo software, c source und executable (cygwin)
2. dbox2 linking (implemented)
Linking several dbox2 (Livingroom, Bedroom, Kitchen, ...) in a way so all boxes uses one card, bzw. das alle dboxen alle verfügbare Karten (Irdeto2, Seca2, ...) benutzen können.
3. CW&Card Sharing (in developement)
Like in 1, but using a pc as server, and sharing over internet.
For the NET mode UDP must be started L: { 01 } PC_IP

Server mode: Decode ECM

Decode an ECM with the emu, and answer with the CW's.


Instruction: 0x42 0x15 Client_IP Len CaID PID ECM_data ...
Replay(succes) 0x41 0x15 0x10 CW0 ... CW1 ...
Replay(failed) 0x41 0x15 0x00


Client mode: Init NET mode

NET mode Init, EMU is switched of, dbox2 goes to client, the
ECM's does to indicated IP (Server).


Instruction: 0x42 0x12 0x04 Server_IP
Replay(succes) 0x41 0x12 0x00


In order to stay in Net Mode after every reboot the following must be present in gbox_cfg:
G { 02 } // Pure NET Client





Multipid logger

In the zipfile is the MultiCaID/MultiPID Logger by Trilu. In order to use this you have to edit gbox_cfg
with L: { 01 } PC_IP , to start UDP Port .

The implemented UDP (port:8017) Instruction is:

Instruction: "B" 0x42
Replay: "A" 0x41
LogData: L CaID (2bytes) Pid(2bytes) Len(2bytes) ... Data n=Len

Structure

Instruction Type Length Data=Length
0x42 0x?? 0xlen Data ....

Get cat

Instruction: 0x42 0x01 0x00
Replay: 0x41 0x01 0xLN ......
LN Number of Bytes in CAT.

Get pmt

Instruction: 0x42 0x02 0x00
Replay: 0x41 0x02 0xLN ......
LN Number of Bytes in pmt.

Get selected pids for logging

Instruction: 0x42 0x03 0x00
Replay: 0x41 0x03 0xLN 0xA1 0xA2 0xB1 0xB2 ......


LN/2 Number of pids.
A1A2 first pid
B1B2 second pid
...
..
If no pids are selected: 0x41 0x03 0x00


Selected pids for logging

Instruction: 0x42 0x04 0xLN 0xA1 0xA2 0xB1 0xB2 ......
Replay: 0x41 0x04 0x00 (OK)


LN/2 Number of pids.
A1A2 first pid
B1B2 second pid
...
..




Get available pids for logging

Instruction: 0x42 0x05 0x00
Replay: 0x41 0x05 0xLN 0xA1 0xA2 0xA3 0xA4 0xA5 0xB1 0xB2 ...
LN/5 Number of pids.
A1A2 first CaID
A3A4 first pid
A5 Type EMM=0 ; ECM=1
..
If no pids present (FTA): 0x41 0x05 0x00

Start Logging

Instruction: 0x42 0xFE 0x00
Replay: 0x41 0xFE 0x00

Stop Logging

Instruction: 0x42 0xFF 0x00
Replay: 0x41 0xFF 0x00
Only the pids that are selected and maped can be loged, so cat and pmt are informative,
use 0x05 to read what there is.

Instructions are only sent by log_off !

After every Instruction there should be a replay. The Log_off Instruction must allways be sent twice in order to recive a Replay
, this could be a fault in the test software.

In the listing is the Logger by Trilu, it can log pids, or multiple pids (ecm and/or
emm) .



Card sharing

The cwsharing supports booth the lokal Net and the Internet. A peer-to peer net is created where all
dboxscan comunicate directly with each other.This is choosen on grounds of sequrety and speed.

When cwsharing it doesnt matter wich dbox2 has wich card(s), and who uses wich sender at a certain time.

The cwsharing isquite optimized, and pro Cards can be shared by moore then 100 users without problems.

All card typs are supported.

Some Characteristics:

1. The cardbox is allways priorety one,and no matter how many users are connected, it will never slow down zapping.
2. Every dbox2 comunicates only direct with the other boxes in cwshare.cfg.
3. after the IP in cwshare.cfg, is the following two codes
code1 -this IP can share my card data with x freinds.
code2 - this IP can share my virtual cards with x freinds.
When User A have a Cryptocard , and User B is his freind (and present in cwshare.cfg),
then User B can use the CW card. And if User C is a freind of User B , he can also use the card of
A, if this permitted code1>1. Now if User D is a freind of User C, he can also use
the card off A (if this permitted = code1>2) etc.

It is Importent: that every dbox2 ONLY comunicates with its freinds, the ecm's/cw's goes from dbox2 to dbox2
until the goal is achived.

4.All data are completely coded, it cant even be recognized in the header.
Install:

a. If you intend to shar in Internet you should get an account from dyndns.org,.Activate dyndns in the Router
, so it allways connects to dyndns when online.
b. Put gateway and nameserver in the network config of the dbox2.
c.The ports in cwshare must be opend and forwarded to the dbox2. This is called "port forwarding". Its not neccesery if you share in local network ! Only if you share over Internet!
d. In the local network, you must edit cwshare.cfg on all boxes, in order that they will allways find each other. It doesnt matter in wich order they are started the once online
will allways find the once getting online.
e. Always use MIX_MODE and (NON_AU or AUTO_AU) !!! When the AU is ON , there is to many EMM's sent to the card, wich slows down things. Auto AU turns the AU on when needed, and of again after fiest succesfull decode. Es wird jedoch empfohlen das CW sharing mit
If using NON_AU, the AU function will activate if for ex.you zap to a PW direkt chanel to see if a AU must be done.


Here is an example of 3 Boxes in local Net (in the house) with one on the internet as well.

# cwshare.cfg --- dbox1 --- Internet and local net
#
# My dbox2 (local IP =192.168.0.6)
# password

M: { mydbox2.homeip.net { AA242456 }}
#
# Internet Friends RX TX_Port password code
D: { friend1.homeip.net { 8200 8201 { B142AB11 { 5 5 }}}}
D: { friend2.homelinux.net { 8200 8201 { 81BFF901 { 5 5 }}}}
#
# other local boxes
D: { 192.168.0.51 { 8200 8202 { AB333441 { 5 5 }}}
D: { 192.168.0.52 { 8200 8203 { BA334B24 { 5 5 }}}
# cwshare.cfg --- dbox2 --- Lokales Netz
# password

M: { 192.168.0.51 { AB333441 }}
#
# other local boxes
D: { 192.168.0.6 { 8202 8200 { AA242456 { 5 5 }}}}
D: { 192.168.0.52 { 8202 8203 { BA334B24 { 5 5 }}}}
# cwshare.cfg --- dbox3 --- Lokales Netz
# password

M: { 192.168.0.52 { BA334B24 }}
#
# other local boxes
D: { 192.168.0.6 { 8203 8200 { AA242456 { 5 5 }}}}
D: { 192.168.0.51 { 8203 8202 { AB333441 {?5 5 }}}}
CWserver

If gbox isnt running on a reciever, and the /var/tmp/pmt.tmp not is found, it works as a
CW Server.You can use a Phoenix on com1, or a sc8in1 for up to 8 Cards on com1.

Off-Air Evaluation

To evaluate or to send logged ECM's and/or EMM's to a card, the gbox uses 2
arguments:


gbox file caid


Example: gbox seca-ecm.txt 0100
Example: gbox seca-ecm.bin 0100


In the gbox_cfg you can deside if the Emu should evaluate (Mode=emu) or if the
ECM's and/or EMM's should be sent to the card (Mode=Softcam)
The ecm's and emm's can be mixed in the text/bin file, if the log is put in gbox multipid mode,
the ecm's and emm's from diffrent systems be present in the log file.If there is a sc8in1 on com1
, the ecm's and emm's will be transmitted to the appropriate card.


At Nagra EMM evaluation, there must also be an ecm present in the log file,as this is used to examine the key.





GSMS

gsms (gbox shot messaging service) enables you to send messages to Nachrichten to one or several boxes in the net. i
To use copy a Data gsms.txt to /var/tmp , this will be read, the data sent and erased.
If the ip is set to 0.0.0.0 , the message will be sent to all the boxes present in cwshare.txt.
The automatic creation of gsms messeges on the TVscreen is only possible with Neutrino and
Enigma . Under VDR you must use a plugin or something else (wich will follow)

192.168.0.51 0 this is a normal test message/this is the second line//and this the fourth
someip.homelinux.net 0 this is also e normal message
192.168.0.52 1 this will display a popup that will require a/OK pressing, to disappeare
Its allso pssible to send gsms to boxids.
ABCD 1 this is a test

Install

he Data from /keys/ (1rd3t0, seca, via, ...) must be coppied to /var/keys/.

A folder /var/tmp must be present, in wich temp data will be written.

For different parameters please red the gbox_cfg and the softcam.cfg.

VDR:

The usual drivers are used, with patched root.

VDR with the patch /x86/linux/gbox_vdr.diff patch

Aufruf der gbox:
./vdr
./gboxx86

With several cars gbox must be startes equal times. For evry card present there must be a copy of
gbox (including keys und config files).

/var/keys/gbox0/gboxX86
/var/keys/gbox1/gboxX86
/var/keys/gbox2/gboxX86
etc ...


One gbox can administer one comport (with Multicam or sc8in1). If 2 or moore is present in the system,
all can be assigned to their own Multicam or sc8in1 , the Smartcards be used by all
dvb-s cards present.

Only one gbox can mange the cwshare. We call this the master gbox, the others are slave gboxes.

Im Master cwshare.cfg we put all other freinds, and the present dvb-s cards in the system. in this
all slave gboxes should have their own RX UDP port:



The Master (4 Card Example):

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

the slaves slaves:
M: { 192.168.0.10 { 12345670 }
D: { 192.168.0.10 { 8001 8000 { 12345678 { 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 not implemented.
From
/dev/dvb/adapter0/ca0
Iuse onlyr
ioctl(ca_handle,CA_SET_DESCR,&ca_descr);
If anyone is intrested , I can write a modul that opens a device /dev/dvb/adapter0/ca0
and implements softcwwrite.

dbox2

The gbox is a daemon,it will not be killed at switching. Once started,
chanel switching is done by by writing to the PMT in /var/tmp/pmt.tmp

Windows

In Windows gbox works in indirect Mode. As link betwen DVBcore usage and
gbox we use the plugin gboxsfriend.dll, that is compatible with dvbcore. At chanel switching this sends
the PMT&CAT to gbox, and later also ECM's and EMM's
For Multidec compatibilety usage the wrapper DVBcore.dll must be used, this is a
dvbcode co?patible Plugin with a Multidec Api that can be used.

DVBcore.dll is copied to the Multidec directory, and gboxsfriend.dll in the \Plugins map that should be
created in the Multidec directory.

Switching with Multidec/ProgDVB is slower, as the pids from Multidec/Progdvb first goes to wrapper
, then to gboxsfriend and then to gbox.To speed this up a new multidec
compatible gboxsfriend.dll must be written.

Season emulator

You can use gbox as a Season Emulator. This is achived by gbox_cfg W: { 01 xx }
, xx is the com port on wich the Season is connected. At this moment Emulation off all system only works in
1rd3t0 nonZ allcam.
The Server can be a PC (Windows/Linux) or a dbox (ppc). All cards that are connected to the system
(auch ein sc8in1) can be used by the Season Interface , including cwsharen etc ...

The Season emulator uses one gbox task, that means that every Season connected must have its own gbox started.
The internal gbox communication is the same as several dvb-s cards over UDP.



The configuration of gbox

Now that you know the basics of gbox we will have a look at the configuration.

Gbox_cfg

# Trace/Debug
# xx yz ; xx=00 no konsole output
# xx yz ; xx=01 konsole output
# xx yz ; y=0 debug output (don't use)
# xx yz ; y=1 no debug output
# xx yz ; z=0 ouput to konsole
# xx yz ; z=1 output to /var/tmp/debug.txt
# xx yz ; z=2 Output to UDP (to capture with gboxt)

Z: { 01 12 } 192.168.1.29 8024
With this parameter we cuxtomise the log output from gbox, wich can be used to trace(for example gboxt.exe)
The entered IP number must be the ip of the Computer with the trace program.
After the IP we put the port that is used to transmit the data
Default this is 8024 ,this can be changed if needed.

# Task type
# 00 ** normal mode gbox mode (no season, use Multicam instead)
# 01 ** Season Emulation in a 1rd3t0 allcam chid 0602 nonZ
# 10 ** Season Emulation in a 1rd3t0 allcam chid 1702 nonZ
# 11 ** Season Emulation in a 1rd3t0 allcam chid 1702 Z
# 12 ** Season Emulation in a 1rd3t0 allcam chid 1722 Z
# 13 ** Season Emulation in a 1rd3t0 allcam chid 1762 Z
# ** *1 Com port to use for season emulatiom (1 or 2)
# ** 0* Use CTS f_r RST detection
# ** 1* Use DCD f_r RST detection
# ** ** 9600 = Baudrate to be used (working only on dbox2)

W: { 00 00 } 9600
With this parameter gbox can controll a Season-Interface. Through the Season you can transmit cw´s to
to boxes lacking network connection. If using the Season with dbox2
gboxhas to be started twice.Once for the dbox2 and an additional time for the Season.
For this you need to make an additional directory.

For example /var/keys/season
in this directory we put the same data as in /var/keys, including gbox_cfg
and cwshare.cfg that must exists separeted from each other. Here is an example of how this can be done:
cd /var/keys/season
ln -s /var/keys/gbox gbox
ln -s /var/keys/1rd3t0 1rd3t0
ln -s /var/keys/seca seca
...
..


Furthermore is to be noted,that the second instance of gbox is only adressed by the dbox2 by an entry in cwshare.cfg.
This is the reasonfor the separate directorys. You have to note that two diffrent ports has to be used in these files.
Here is an example:

/var/key/cwshare.cfg
# My dbox2 password

M: { 192.168.0.51 { F37764E1 }}
# Friends password code

D: { 192.168.0.51 { 2499 2299 { 30030002 { 1 1 }}}}
# here all other boxes, local and internet
/var/key/season/cwshare.cfg
# My dbox2 password
M: { 192.168.0.51 { 30030002 }}
D: { 192.168.0.51 { 2299 2499 { F37764E1 { 0 0 }}}}
# gbox working mode
# 00 pure Emu
# 01 pure SoftCam (when card inside), Emu (when no card inside)
# 02 pure Net Client
# 03 Mixed mode !!!!! always use this !!!!!

G: { 03 }
Here we define wich mode that gbox will use,

# Display ECM messages on Konsole
# 00 don't show any ECM's
# 01 show only valid ECM's
# 02 show valid and bad ECM's with complete data display

C: { 01 }
Here you decide if the ECM´s should be loged

# Display EMM messages on Konsole
# *0 don't show any EMM's
# *1 show only valid EMM's
# *2 show valid and bad EMM's with complete data display
# 1* Log any tier change on PW-Nagra-17xx cards into /var/keys/pwupdate.log

M: { 00 }
Here you decide if the EMM´s should be loged . Here we also have the posebillety to decide if
using PW-Nagra cards a change in the "Tiers" should be loged, this will be saved in in /var/keys/pwupdate.log



# AutoUpdate
# 00 is ignored (default)
# 01 enable AU
# 02 Auto AU !!!!! always use this !!!!!


A: { 02 }
Here we decide if Autoupdate is enabled or not. Depending on these settings,
its decided if the EMM´s is sent to the card or not. 02 is the best setting for AU



wich is then activeted when yhe card stops decoding.If you are cardsharing you have to consider what is said in
the chapter about Card Sharing

# Key update
# 01 update only new keys, default setting
# 02 update all keys (used for valid PMK checking)

U: { 01 }
Here you decide if the AU key update should include all keys recived or only the new keys. If for example the expiration date should be changed.

# Hash pids
# 00 hash all pids, DO NOT USE THIS OPTION, IT IS ONLY FOR TESTING STUFF
# 01 hash only pids with implemented algos and available keys !!!!! always use this !!!!!

H: { 01 }
This is the default setting. Dont change this its for testing only.

# Key files folder
# 00 keyfiles in /var/keys
# 01 keyfiles in /var/tmp

T: { 01 }
Here you specify where the keyfiles are located. For dbox2/dreambox tmp should here be specyfied as the working folder. If not the key at
AU will be written to flash. Eine saubere The solution is that at start up the keyfiles
are coppied to tmp and at shutdown are compaird and changes saved to the originals.
In this way unecessary writing to flash is avoided.

# On Screen Display for the Multysystemcam on com1/com2
# 00 No OSD (default)
# 01 display Smartcard messages in Neutrino
# 02 display Smartcard messages in Neutrino new nhttpd format
# 03 display Smartcard messages in Enigma
# mypass (use user=root and pass=mypass for nhttpd)

O: { 02 } 192.168.1.202
Here you select OSD mode and specify the box IP of our box.
If the nhttpd Pass is protected in our image we must allso specify the root password here.

# Logger and NET-mode UDP port Init
# 00 do not init UDP port
# 01 Init UDP port for IP, port, UDP

L: { 00 } 192.168.1.29 8017
Her should the same settings that are explaind under NET Mode und Multipidlogger be aplied.



# demux, multicam/comport configuration

# *x ** ; x = device nummber to be used (0= default)

# D* ** ; force use of /proc/bus/gtx for cw write operations
(in the dbox2 the gbox writes directly the CW's, 00 is the
recommended mode ! No drivers are required) use D* ** ONLY if
you have Problems. 0* ** should be prefered !!!

# F* ** ; write CW's in both devices (used for PVR in STB04xxx devices)

# ** y* ; y=0001b (0x1*) use slot1 as Multicam (only on STB04xxx)

# ** y* ; y=0010b (0x2*) use slot2 as Multicam (only on STB04xxx)

# ** y* ; y=0011b (0x3*) use slot1 and slot2 as Multicams (only on STB04xxx)

# ** *z ; z=0001b (0x*1) use com1 as Multicam

# ** *z ; z=0010b (0x*2) use com2 as Multicam

# ** *z ; z=0011b (0x*3) use com1 and com2 as Multicams

# ** yz ; yz=00110011b (0x33) use slot1+slot2+com1+com2 as Multicams

# ** *z ; z=0100b (0x*4) invert CTS detection on com1

# ** *z ; z=1000b (0x*Cool invert CTS detection on com2

# example: yz = 0x0A = 00001010 (use com2 with inverted CTS detection line)

V: { 00 02 }
Here in the first byte you decide if the cw´s should be written. In second
byte is the Configuration/Activation of the Multicam for example. the internal Slots of the Dreambox.
The values are in hex wich makes it possible to make a combination of of functions.
For examle 02 = com2 as Multicam and 08 inverted CTS detection.
Wich is 02 + 08 = 0A

# ================================================== ===========================

# extra options to override default seting in case you expirience Problems,

# normaly these setings are not required.

#
The following functions are normaly not necessary and should only be used
to solve problems by bypassing the standard settings.Therefore they are marked with #.
They are only included here to make the explanation as accurate as possible.
Any one messing up here make a* smile *

# cpu, api, cw write method
#
# 00 auto
# 01 80X86
# 02 MPC823
# 03 IBM STB04xxx
# 00 auto
# 01 ibm
# 02 api2
# 03 api3
# 00 cw write style = use internal routine (only dbox2)
# 01 cw write style = CA_SET_DESCR type1 (dbox2, vdr)
# 02 cw write style = CA_SET_DESCR type2
# 03 cw write style = CA_SET_DESCR type3
# 04 cw write style = 16 byte /proc/bus/gtx
# 05 cw write style = 4096 byte /proc/bus/gtx, cw offset=0x04D0
# xx write cw in 1st device with index=xx
# yy write cw in 2nd device with index=yy
# 01 means with .index=0 (default)
# 02 means with .index=1
# 03 means with .index=0 and .index=1
# .. any bitwise combination ...
# FF means with all 8 indexes (0-7)

#J: { 01 00 00 01 01 }



The 1byte specifies the CPU settings.
The 2byte specifies the api settings.
The 3,4,5byte you can change the cw_write style.


# Files, folders, devices
# folder/device comment
#
#F: { 01 } /var/tmp/pmt.tmp // pmt file
#F: { 02 } /var/tmp/emm.info // key update log file
#F: { 03 } /var/tmp/ecm.info // ecm info file
#F: { 04 } /var/tmp/atack.txt // atack info file
#F: { 11 } /var/keys // folder for config files
#F: { 12 } /var/tmp // folder for temporary file
#F: { 13 } /var/tmp // folder for keyfiles
#F: { 21 } /dev/dvb/adapter0/ca0 // ca device
#F: { 22 } /dev/dvb/adapter0/dvr0 // dvr device
#F: { 23 } /dev/dvb/adapter0/demux0 // demux device
#F: { 31 } /dev/dvb/adapter0/ca1 // second ca device to write cw's (recording)
#F: { 41 } /dev/sci0 // STB04xxx slot1
#F: { 42 } /dev/sci1 // STB04xxx slot1
#F: { 43 } /dev/tts/0 // rs232 com1
#F: { 44 } /dev/tts/1 // rs232 com2


With these entries the listings that are needed by gbox can be adapt/changed.


# For overclocking freaks, Clocking internal STB04xxx slots with:


# 1=7.80MHz 2=6.30MHz 3=5.25MHz 4=4.50MHz 5=3.94MHz 6=3.50MHz 7=3.15MHz


# 1rd3t0 works fine on 7.8MHz, all other fine on 6.30MHz or 5.25MHz


# The Dream has not a clean clock signal, some cards that are sensitive will


# refuse to work even on 3.5MHz, thats why 3.15MHz is the default value there.


# On other STB04xxx recievers the same cards work with 6.30MHz


#


#F: { 51 } 02 // 1rd3t0 6.30MHz


#F: { 52 } 03 // seca 5.25MHz


#F: { 53 } 03 // viaccess 5.25MHz


#F: { 54 } 03 // nagra 5.25MHz


#F: { 55 } 03 // crypto 5.25MHz


#F: { 57 } 03 // conax 5.25MHz


#F: { 58 } 03 // nds 5.25MHz

With these entries the clock rates of the internal Slots of the Dreambox can be set/overclocked.





Softcam.cfg

# SoftCam EMM Log configuration
#
# Save EMM data
# 00 Don't save anything (default)
# 01 Save processed EMMs (/var/tmp/emmproc.bin)
# 02 Save rejected EMMs (/var/tmp/emmblock.bin)
# 03 Save both EMMs

L: { 00 }
Settings for if the EMM´s that goes to card and/or the card rejects should be written to file


# Check additional OSC Frequency !!! ONLY FOR DBOX2 !!!
# 00 No Check (default)
# 01 Check on, Value in KHz , example 8MHz=08000


F: { 00 } 00000
Examination of the cardFreq


# Check additional Baurate for ATR !!! ONLY FOR DBOX2 !!!
# 00 No Check (default)
# 01 Check on, Value in bit/s, example 81861


B: { 00 } 0000
Examination of the Baudrate of the card

# Enable TPScrypt Support
# *0 TPScrypt off
# *1 TPScrypt on (default)
# 1* don't use PTS on Viaccess cards
# 2* don't use PTS on Cryptoworks cards
# 3* don't use PTS on Viaccess and Cryptoworks cards

Y: { 01 }
Here cab support for TPScrypt cards be activated.

# Empty RS232 buffer before writing
# 00 No reset
# 01 Reset Buffer (default)

E: { 01 }
Empty RS232 buffer must when sharing be turned on




# SoftCam Blocker/Filter definition
#
# 00 = Allow EMM (default for all)
# 01 = Block EMM addressed to:
# all card
# | shared address/provider
# | | unique address/hex_serial
# ---------------------------------


I: { 0000 00 } 1rd3t0 All SA UA
V: { 00 00 00 } Via -SA UA
S: { 00 00 00 } Seca -SA UA
N: { 0000 00 } Nagra All SA UA
C: { 0000 00 } Crypto All SA UA
O: { 00 00 00 } Conax -SA UA
D: { 0000 00 } NDS All SA UA
Here you can activate the blocker. The 1byte stands for all, EMM´s that goes to all cards.
The 2byte stands for Shared addresses wich means Card Groups and the 3byte for unique
address for a specefic Card in our case the EMM´s that are sent to the card in our box.
For example our PW Card: The 1byte would block D0, 2Byte would block D2 and 3byte would block D3.

# Timeout Definitions
#

T: { 00 02 01 } ATR timeout (normal*X), instruction timeout (normal*X)
Settings for ATR timeout. Leave as is. If you have problems with Multicam not recognising the card. It could help to change these settings.For example:
T: { 00 06 01 } can often solve these problems. So if you got problems change the values.


# com1/com2 delays, all delays to be entered in decimal !
#
# Do NOT touch !!!!!!!!!!!!!!!!!!
# all timings should be 0, change only if you have problems.


T: { 01 00000 000 } 1rd3t0 : byte delay (1e-6 s), instruction delay (1e-3 s)
T: { 02 00000 000 } Seca
T: { 03 00000 000 } Viaccess
T: { 04 00000 000 } Nagra
T: { 05 00000 000 } CryptoWorks
T: { 06 00000 000 } Geldkarte
T: { 07 00000 000 } Conax
T: { 08 00000 000 } NDS
Settingd for the Comport . Leave as is



# Use Crypto card bug to decode any CW, no matter of chid
#
# Cxxx configuration (is aktiv for the provider only if a config line is present)
# (ECM sample to be used to get the cw's with Cxxx)


#
# Provider provider chid - that is present on the card for that provider
# || || || ||
# UPC-Astra

8:{ 8D} A4 4C00 00 2E 20 00 2B 83 018D 8C 0320 01 00 8E 02 00 00 C5 0100 DB 10 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 DF 08 00 00 00 00 00 00 00 00
# Digiturk
8: { C1 } A4 4C 00 00 31 28 00 2E 83 01 C1 8C 03 89 19 19 8E 02 00 00 8F01 A9 91 01 55 DB 10 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 DF 08 00 00 00 00 00 00 00 00
With these settings the bug in the Crtptocards be used.
# Use constant CW's for

# caid pid CW0 ... CW1 ...

0:{ 01 00 56 00 { 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EEFF }
Here you can enter Constante cw´s , wich the Box should use on selected chanels



cwshare.cfg

# Ignore user ID in case you wand to ignore some bad cards (max 255 Y: entrys/lines)

Y:{ 12 34 }

With these settings we can block ID´s with problem cards from connecting to the box. 255 can be blocked.

# allow maximum 06 share level for recieved card data

I: { 04 }
Here you decide max share level. In In this example we recive cards from max share level 4.
All other are ignored, if we should recive any.The number of cards recived will effect the stabilety of the box.
# 01 repeat EMM's
# 00 consider every EMM only once
# 01 restart pid on overflow
# 1* reset ENX on every channel change
# *1 check/reset ENX freezes on FTA
# *2 check/reset ENX freezes on PayTV
# *3 check/reset ENX freezes on FTA and PayTV
# 00 write nothing in atack.txt
# 01 write into atack.txt: password is wrong
# 02 write into atack.txt: ID unknown
# 04 write into atack.txt: IP is wrong
# 08 write into atack.txt: port is worng
# 10 write into atack.txt: share.stat
# 20 create online.log for online/offline logging
# 1F schreibt alles ohne comeOnline/Offline meldungen
# 3F Schreibt alles. (kombiniet Bits für andere Kombinationen)
# 4000 send ecm again after 4 Seconds if no reply.
# 6000 resync decode after 6 Seconds if net decode failed

N: { 00 01 03 1F 4000 6000 }
With the 1byte we decide how the EMMs should be treated . If the EMM´s should be used once only or be repeted.
The 2byte decides if the pid should be restarted after an overflow.
The 3byte is of intrest for dboxes with ENX problems, the gbox has the possebillety to recognise freezes
and do an automatic ENX-Reset.
The 4byte decids what is written in the attack text.
After the 4byte the time in ms for the resending of ECM in the net if there is no valid cw recived and
the second time value sets the time for resyncronisation if no valid cw is recived from the net when a
ECM is resent to the net and no valid cw is recived.

# Send ECM's at maximum 5 cards (please use this as default)

X: { 05 }.
Setting for number of cards CW request should be sent to. Please use this setting as standard.



# Send ECM's in any case to these card ID's, even they are more then X:
# some examples ...

G: { 17020000 1234 }
G: { 0B000000 ABCD }
G: { 05021510 AB34 }
G: { 0D03A000 A234 }
Here you can select special cards, for example a freind who uses ppw a lot.
The Caid followed by the BoxID,wich we can get from the share.info.


G: overules X: wich means that if you put moore Provider cards in G: then there are in X:
you will get moore then X without changing X. Wich will reduce the Network traffic and make things stabler.
# For W: please read the cwshare.txt, here only some examples
# use card 1 only for the following pids
#W: { 01 02 02 } 1022 100A 100B 102B 1009 101D 1029 1014 1011 101B
# don't use card 2 for the following pids
#W: { 02 03 03 } 1008 1016

# 0x=Slot Nummer (from 1 to Cool on the box W: is
# 0x=Level for owner
# 0=Card not used
# 1=Card is used for all pids
# 2=Card is only used for the following pids
# 0x=Level for Network
# 0=Card is not shared
# 1=Card is shared for all pids
# 2=Card is only shared for the following pids


W: { 0B 02 02 } 1008 100A 100B 102B 1009 101D 1029 1014
This is an important setting. Here we adjusted which packages the card can decode can and how
the card should be used internally and externally .
The 1byte decides in hex wich CardSlot( in the example Com2 - Card1 )should be used.

slot1=1 in hex is 01
slot2=2 in hex is 02
com1-card1=3, in hex is 03
...
com1-card8=10, in hex is 0A
com2-card1=11, in hex is 0B
...
com2-card8=18, in hex is 12

With the 2byte we decides the Level for the owner and the 3byte the level for the network.
After wich the Pids that can be used to decode by the card.

Lets take some time to configure W: , our card, our dbox, and our freinds in the net
will be gratefull that the traffic is reduced.
The sport chanels from PW is transmitted on the Direkt subchanels.So the Direkt pids should be included
in the W:if you have Sport in your subscribtion.If the subchanels are not shared the
EMMs for them will not be answerd by our card.
For people that buys a lot Direkt it could be of intrest to only put the pids of direkt in Wline.In this way the card is
released of answering EMMs from other pids and makes the sharing of Direkt work better.


Here is a list of Pids for PW. C after the pid means sat and D cable .


1FFF alle Pids dieser Karte 1008 Premiere Start 100A Premiere 1 100B Premiere 2
102B Premiere 3 1009 Premiere 4 101D Premiere 5 1029 Premiere 6
1014 Premire 7 1204 Prem Nostalgie C 1704 Prem Nostalgie D 102A 13th Street C
152A 13th Street D 100E Discovery Cannel C 150E Discovery Cannel D 1203 MGM C
1703 MGM D 1024 SciFi C 1524 SciFi D 1011 Sport 1 C
1511 Sport 1 D 101B Sport 2 C 151B Sport 2 D 1015 Beate Uhse TV
1017 Krimi C 1517 Krimi D 1010 Serie C 1510 Serie D
1035 Prem Austria 1206 Goldstar 1022 Disney Channel C 1522 Disney Channel D
1032 BigBrother C 101C FoxKids C 151C FoxKids D 1013 Junior C
1513 Junior D 1016 Heimatkanal 100F Classica 100C Animal Planet C
150C Animal Planet D 10A8 Hit 24 C 15A8 Hit 24 D


10D0 10D1 10D2 10D3 10D4 10F0 10F1 10F2 10F3 10F4 10F5 Premiere Direkt C (D?)
1201 1309 130A 130B Premiere Erotik C (D?)
1298 1299 129A Blue Movie C (D?)


# S: is the same as W:, just using the SID instead of the ECMPID
# 0x=Slot Nummer (from 1 to Cool same as with W:
# 0x=Level for your box
# 0=Karte not used
# 1=Use card for all pids
# 2=Use card only with following pids
# 0x=Level for Network
# 0=Card is not shared
# 1=Card can be used for all pids
# 2=Card can only be used for the following pids


S: { 0B 02 02 } 0008 000A 000B 002B 0009 001D 0029 0014
This is the same settings as in W: but we use SID instaead of PID.
Im sorry to say I dont know if W: and S: booth must be set or if one of them is enaugh.


# cwshare.cfg --- dbox1 --- Internet and Local Net #
# password

M: { mydbox2.homeip.net { AA242456 }}
This is our adress and password

# Internet Friends port range password cod

D: { friend1.homeip.net { 8010 8010 { B142AB11 { 5 5 }}}}
D: { friend2.homelinux.net { 8010 8010 { 81BFF901 { 5 5 }}}}
# other local boxes

D: { 192.168.0.51 { 8020 8020 { AB333441 { 5 5 }}}}
D: { 192.168.0.52 { 8020 8020 { BA334B24 { 5 5 }}}}
In D: you put the freinds you want to share with. First comes the IP or
Domain followed by the RX Port then the TX Port over wich the comunication will flow.
Then the password and the two share levels codes:

code1 - this IP can share my card data with x Freinds.
code2 - this IP can share my virtual card data with x Freinds.




ignore.list

#
# G: Card records will be ignored in the share.info and will reduce
# the total cards nummber. (maximum 128 G: records are allowed)
#
#
# ---------------------------------------------------------------------------#
!!! BLOCK VALID CARD RECORDS ONLY ON BOXES NOT USED FOR FORWARDING !!!
# To reduce more cards you can spezify here all Providers that you do
# not use, like conax if you don't have Thor, or providers from all other
# sattelites if you only have Astra&Horbird. If you still want reduce more
# you can for example specify 17220000 to ignore all PW Cable cards.
#
# But keep in mind that this will totaly discard these card records, and
# you will also not be able to forward them.
# ---------------------------------------------------------------------------


# Ignore Viaccess1 (suppoerted in emu) and not used Viaccess2 Providers

G: { 05007800 }
G: { 05007C00 }
G: { 05019420 }
G: { 05019430 }
G: { 05019440 }
G: { 05020A40 }
# Ignore seca1 and seca2 Providers that are suppoerted in emu

G: { 01000000 }
G: { 01000012 }
G: { 0100001C }
G: { 01000025 }
G: { 0100002A }
G: { 01000030 }
G: { 01000035 }
G: { 01000036 }
G: { 01000066 }
G: { 01000067 }
G: { 01000068 }
G: { 01000071 }
G: { 01000072 }
G: { 01000073 }
G: { 01000082 }
G: { 01000083 }
G: { 010001D5 }
G: { 01000300 }
# ignore unused cryptoworks provider

G: { 0D028800 }
G: { 0D02A000 }
G: { 0D02A400 }
G: { 0D02A800 }
G: { 0D06C400 }
# Ignore Nagra1 (suppoerted in emu)

G: { 18004001 }
G: { 18004801 }
G: { 18007001 }
G: { 18007101 }
Here can Caid´s of providers that should be ignored in share be listed ,
for example caids that uses emu instead, this is to reduce net traffic.
Consider that ignored Caids are not reshared and blocked from the net.



The Key Data

1rd3t0

The Plainmasterkey is written in this way.

M: { xx xx xx { aa aa aa aa aa aa aa aa }}
xx xx xx = ProvID
aa aa aa aa aa aa aa aa = Plainmasterkey

The Plainkey is written in this way.

I: { zz { aa aa aa aa aa aa aa aa }}
zz = Key Nr.
aa aa aa aa aa aa aa aa = Plainkey


Seca

The Masterkey is written in this way. For Seca2 you only need the data s2issuer.b and s2provid.b
to enable AU.

M: { xx xx yy yy yy yy zz { aa aa aa aa aa aa aa aa }}
xx xx = Provider
yy yy yy yy = PPUA unique address
yy yy yy 00 = PPUA shared address
zz = Masterkey Nr.
aa aa aa aa aa aa aa aa = Masterkey

The Plainkey is written in this way.

S: { xx xx zz { aa aa aa aa aa aa aa aa }}
xx xx = Provider
zz = Key Nr.
aa aa aa aa aa aa aa aa = Plainkey

Conax

The Masterkey is written in this way.
M: { 00 00 00 yy yy yy yy { zz { aa aa aa................ aa aa aa { bb bb bb......................bb bb bb }}}}
yy yy yy yy = UA oder SA
zz = Masterkey Nr
aa aa.......aa aa = Exp 64 bytes RSA key
bb bb.....bb bb = Mod 64 bytes RSA key

The Plainkey is written in this way.

C: { zz { aa aa aa................ aa aa aa { bb bb bb......................bb bb bb }}}
zz = Key Nr.
aa aa.......aa aa = Exp 64 bytes RSA key
bb bb.....bb bb = Mod 64 bytes RSA key



Via

The Masterkey is written in this way.

M: { xx xx xx yy yy yy yy yy zz { aa aa aa aa aa aa aa aa }}
xx xx xx = Provider
yy yy yy yy yy = PPUA unique address
00 yy yy yy 00 =PPUA Shared address
zz = Masterkey Nr.
aa aa aa aa aa aa aa aa = Masterkey

The Plainkey is written in this way.


V: { xx xx xx zz { aa aa aa aa aa aa aa aa }}
xx xx xx = Provider
zz =Key Nr.
aa aa aa aa aa aa aa aa = Plainkey

The 16Byte aes-Key is written in this way.

T: { xx xx xx { cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc }}
xx xx xx = Provider
cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc = 16Byte aes-Key

Nagra

As original Nagracards are marrid to the Reciver , gbox supports the entering of IRD and
Boxkey. In this way we can use original Nagra Cards in Multicam zu
The IRD and Boxkey is written in this way

B: { cc cc cc cc { bb bb bb bb bb bb bb bb }}
cc cc cc cc = IRD
bb bb bb bb bb bb bb bb = Boxkey

The Plainkey for Nagra cards is written in this way

N: { xx xx zz { aa aa aa aa aa aa aa aa }}
xx xx = SysID
zz = Key Nr.
aa aa aa aa aa aa aa aa = Plainkey

Nagra.txt

Here we bput the Nagra RSA Keys . A couple of examples:

[0001 -Dish Networks]
PK2=10E6782BE27A02E190D9CDDA1221C4
VK=56BF16B8448504CF
N2=331EF8FECE................................291BE 486A3C3

[2C01 - SABC]
N1=194A6BE322.................................646B 462F2AD3
E1=C3C0DC47A.................................42F22 ECAC68C
VK=176ED451C57F7B96
N2=DFAB71BE...................................66DF 57B522C5



In the development of this Software many has contributed.Some knowingly others not.
That people are listed here doesnt mean they have dirctly been involved in this project.