Skip to content

Commit

Permalink
Update curl config for simpler usage, better README.md, adress proble…
Browse files Browse the repository at this point in the history
…m in HugoPoi#4
  • Loading branch information
HugoPoi committed Jun 27, 2019
1 parent 6769663 commit f4695a2
Show file tree
Hide file tree
Showing 5 changed files with 4,490 additions and 449 deletions.
35 changes: 20 additions & 15 deletions README.md
@@ -1,34 +1,39 @@
#Reverse engineering Evolution SFR Sagem Box TV
# Reverse engineering Evolution SFR Sagem Box TV

## getConfig
`curl --config get_config.curl -o channels_list.xml`
## Get the setup config of the box

1. Identifiant de connexion à remplacer (La dernière fois que j'ai
testé avec de la merde et c'est passé)
stbid XXXXXXXXXX et SN YYYYYYYYYY sur l'étiquette arrière de votre box
1. Les identifiant `stbId` et `SN` sont sur l'étiquette arrière de votre box
`ctoken` et `cnonce` sont généré par la box mais je n'ai pas cherché comment.
Cependant j'ai pu constater que `stbId`, `SN`, `ctoken`, `cnonce` peuvent être
remplacer par des valeurs arbitraire. Donc les config curl fournit
fonctionne en l'état.

2. Effectuer une première requête qui renvoi le `nonce` dans les headers
HTTP
1. Get a nonce `curl -v --config get_nonce.curl`

3. Ensuite refaire la même requête avec le `nonce` injecté.
1. You will get a 401 with a `WWW-Authenticate` header containing a
nonce.

1. Replace in `get_config.curl` with the nonce provided

1. `curl -v --config get_config.curl`

## Script conversion playlist SFR

`xsltproc generate_playlist.xslt setupResponse.xml > playlist_tv_sfr.m3u`

## firmware_request

Contient le bootloader et le firmware récupéré grâce aux requêtes
sur les serveurs de SFR

Les requetes curl manque un token supplémentaire que je n'ai pu
identifier.

## Script conversion playlist SFR

`xsltproc generate_playlist.xslt channels_list.xml > playlist_tv_sfr.m3u`


## TODO list

* Décompacter le firmware, chiffré ?, le firmware est stocké sur de la
flash samsung quel format ?
* Trouver la clé / les clés de chiffrement AES?? des flux iptv, peut-être stocké dans l'image firmware ?
* Trouver la clé / les clés de chiffrement AES?? des flux iptv, a priori stocké dans le chipset de decodage video
* Trouver des gens qui connaissent le fonctionnement du chiffrement IPTV
* Plus d'update sur https://www.neufbox4.org/forum/viewtopic.php?pid=37650

Expand Down
10 changes: 5 additions & 5 deletions get_config.curl
@@ -1,10 +1,10 @@
url = "http://rpc.stb.sfr.fr/Setup/getConfig/"
user-agent = "libsetup/0.6.19 [SFR; SAGEM; 13.2.20]; c2203-4bel@sfr.fr"
header = "Content-Type: text/xml"
header = "Accept-Charset: iso-8859-1"
header = "Accept: text/xml"
#header = "Authorization: Token stbId=\"XXXXXXXXXXXX\", sn=\"YYYYYYYYYYYYYYYYYYY\""
header = "Token stbId=\"XXXXXXXXXXXX\", algoId=32, keyId=96, nonce=\"fad8dc481b6a4c5cedaa74da1a6fdb33\", created=\"55c0dfdb\", sn=\"YYYYYYYYYYYYYYYYYYY\""
header = "Accept-Charset: UTF-8"
header = "Accept: */*"
# Replace `nonce` and `created` here
header = "Authorization: Token stbId=\"XXXXXXXXXXXX\", algoId=32, keyId=96, nonce=\"____REPLACE_BY_NONCE____\", created=\"____REPLACE_BY_CREATED___\", sn=\"YYYYYYYYYYYYYYYYYYY\", cnonce=\"aaaaaaaaaaaaaaaa\", ctoken=\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", uri=\"/Setup/getConfig/\""
data = @request_config.xml
request = POST

output = setupResponse.xml
9 changes: 9 additions & 0 deletions get_nonce.curl
@@ -0,0 +1,9 @@
url = "http://rpc.stb.sfr.fr/Setup/getConfig/"
user-agent = "libsetup/0.6.19 [SFR; SAGEM; 13.2.20]; c2203-4bel@sfr.fr"
header = "Content-Type: text/xml"
header = "Accept-Charset: iso-8859-1"
header = "Accept: text/xml"
header = "Authorization: Token stbId=\"XXXXXXXXXXXX\", sn=\"YYYYYYYYYYYYYYYYYYY\""
data = @request_config.xml
request = POST

0 comments on commit f4695a2

Please sign in to comment.