Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Sky CI+ Modul für Neugierige

Miese.Ratte

Stamm User
Registriert
20. Juli 2015
Beiträge
1.009
Lösungen
1
Reaktionspunkte
2.239
Punkte
393
in den Threads

ci+ Modul
und
CI+ Modul decrypt 2 anlauf

gab es Bemühungen einem himmlischem CI+ Modul auf den Zahn zu fühlen.

Beide Threads sind inzwischen geschlossen. Vermutlich hat das auch etwas mit dem untersuchten Dump zu tun. Er wurde jeweils von @adas und @Cyberscitymaste zur Verfügung gestellt. Die Exemplare waren identisch (gleicher MD5-Hash).

Der Dump wurde scheinbar in einem unbeaufsichtigten Kinderzimmer angefertigt. Die Datenleitungen sind wild durcheinander gewürfelt worden. Wie man sowas hinbekommt ohne es zu bemerken bleibt mir ein Rätsel.

Eltern, achtet besser auf eure Kinder! ;)

Der Dump sieht so aus:
Code:
$ hd yks.bin | head
00000000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00004000  02 04 02 00 00 00 00 00  6d 5a 67 5e 04 46 57 be  |........mZg^.FW.|
00004010  17 0b cc 30 c3 5b ca 93  85 c9 09 44 00 00 00 00  |...0.[.....D....|
00004020  8b dc 85 30 5c a9 86 3e  48 2e 46 2b c9 44 d9 87  |...0\..>H.F+.D..|
00004030  2c f8 0c 4c 27 7e 4c 69  ce 2c e8 3c 5b 34 16 16  |,..L'~Li.,.<[4..|
00004040  04 0f da 61 48 62 97 db  78 0a 58 06 9c 42 60 69  |...aHb..x.X..B`i|
00004050  5c cf ee 67 ca eb 8a d4  78 2e 53 00 45 9a 20 9c  |\..g....x.S.E. .|
00004060  43 fc 17 19 45 2d 79 66  7e 6f 10 b5 44 d9 1b 54  |C...E-yf~o..D..T|
00004070  92 9d f5 83 7d 77 fc 34  6d fd 22 7d 68 d3 7f 99  |....}w.4m."}h...|

Soweit so gut.

Woran erkennt man Würste, ohne zu viel Zeit zu verschwenden? Man schaut nach Strings.
Code:
$ strings -9 yks.bin 
%` Y?F Y<
_d]M_d-%-
_d]M_d-%-
_d]M_d-%-
]L]M_d-%-
"]L]M_d-%-
]L]M_d-%-
N _MM$]lM,
M!_f^!z`'
a B4pjZ4`
%`      5j      >"
h(K=` R4j
I<` R0" [=
@fBNBABM@DBDBo
s>nSQStD%
CBKwShS}*'2
-B@B`@H0 
Ba@IBc@K@k
@@O@LBL@nBn@EBE@o
@dBl@eBe@MBO@NBFBm@GBG@g!D#D!d
PcPcRgRg=
OOOOBGBG~
B5uG\)1Y|(
_d]M_d-%-
_d]M_d-%-
_d]M_d-%-
]L]M_d-%-
"]L]M_d-%-
]L]M_d-%-
N _MM$]lM,
M!_f^!z`'
O!_     Ni^C>
M*]eLail'

Das ist offensichtlich Wurst und Käse.

Nun wird das Durcheinander entwirrt (Script ist im Anhang):
Code:
$ python3 rewire.py yks.bin yks_rewired.bin

Die Geschwindigkeit des Scripts gewinnt keinen Preis. Für den gewünschten Zweck ist es aber gut genug. Das Ergebnis zählt.
Code:
$ hd yks_rewired.bin | head
00000000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00004000  01 01 01 00 00 00 00 00  cc 7c 8d 7d 08 49 af 57  |.........|.}.I.W|
00004010  1d 46 c2 d0 9d 9c f9 90  34 cc 40 0d 00 00 00 00  |.F......4.@.....|
00004020  e5 8d 82 c4 76 52 8f c1  4e 11 1f 50 40 9d 78 97  |....vR..N..P@.x.|
00004030  e6 68 44 49 8f 6d 56 58  47 d1 c6 b1 c3 17 89 43  |.hDI.mVXG......C|
00004040  1c 41 53 9a 4a 18 bd ce  4c 32 48 13 48 ca 16 38  |.AS.J...L2H.H..8|
00004050  7c 5b 5b f9 7f 98 e1 89  4e 33 01 16 ac 54 a4 21  ||[[.....N3...T.!|
00004060  a7 1d 95 46 16 55 4a 3f  5f 7b b2 03 b4 58 c1 0f  |...F.UJ?_{...X..|
00004070  b5 83 38 f6 da 7f c2 f3  f6 7d 97 29 f8 38 f5 76  |..8......}.).8.v|

Der Lackmustest:
Code:
$ strings -9 yks_rewired.bin | head
Nov 12 2009
DMX_RegisterChanWithUniqueFilter() - Allocate filter error, not much filter.
DMX_RegisterChanWithUniqueFilter() - chan open error, invalid chan.
DMX_ChanCallbackDII() - Data CRC_MPEG32 error!
[LOADER] DII received, current time %lu
DMX_ChanCallbackDII() - Allocate memory error
DMX_ChanCallbackDDM() - start to filter moudle %d, current time %lu
[LOADER] throw over DDM %d , DDB count %d
DMX_ChanCallbackDDM() - table id error!
DMX_ChanCallbackDDM() - message id error!

Wer sagt's denn!

Was ist drin? Nichts außer allgemeiner ARM32 Code mit dem üblichen Drum und Dran. Dort gibt’s nicht mal BoxIDs. Somit kann man sich die Suche nach den üblichen Verdächtigen schenken. Wer es nicht glaubt, darf natürlich trotzdem suchen.

Den originalen Dump bekam ich nicht zur allgemeinen Weiterverteilung. Deshalb muss ich den schuldig bleiben. Die Quellen stehen oben. Das Python-Script zum entwirren hängt hier dran.

Wer gerne in Maschinencode von NDS-Routinen gräbt, weiß jetzt wie er da ran kommt.

Diesen Beitrag habe ich vor allem für die geschrieben, die ihre Zeit nicht gerne mit kaputtem Zeug verschwenden wie es in den inzwischen geschlossenen Threads seinen Lauf nahm.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Die "kinderstube" kann noch besser, ein zum vergleich :happy: ,wenn du schon so fleißig bist.

Cau Adas
 
ich wuste das das kam es bringt euch nix die arbeit könnt ihr euch sparen den ihr seht nix weil 1 ihr keine Karten Lest 2 es Fehlen euch die Ram Register und 3 es wird euch auch nicht die Sachen angezeigt die in die CPU Speicher gelegt werden alles schon gemacht selbst beim Start mit Quemu es bringt nix solange man keine Karte einliest und kein Zertifikat über PCMCIA bekommt

es gibt nur 1 Weg den Uart unter der CPU mit passenden Sockel abgreifen und wärend das Modum im Gerät ist mit zu loggen sonst geht nix
 
Hi
es gibts eigentlich einige programme wie NTSite NDS2_3 zum loggen und mit einen blocker im original Receiver oder Modul könnte man auslesen was zur Karte und zurück gesendet wird, hat es jemand schon mit so etwas probiert?
manchmal liegt die lösung ja näher als man denkt.
 
Zuletzt bearbeitet:
Die "kinderstube" kann noch besser, ein zum vergleich
Einer zum Vergleich ist immer gut.

Auch wenn es nicht so klar heraus kam: Danke für den Dump! Auch an @Cyberscitymaste.

Falls ihr die Eltern kennt. Erinnert sie an ihre Erziehungspflichten. :)

@name007 im Beitrag #2:
Wenn ich das head hinter dem strings-Befehl weggelassen hätte, wäre der Beitrag geplatzt (4228 Zeilen).
 
Zuletzt bearbeitet:
Jetzt geht das wieder Los Loggen kanste die Kommunikation aber es bringt dir auch nix den die kommunication zwischen karte und Modul ist nicht Playn das was playn ist ist nur innerhalb des Lauffähigen Moduls es geht nur über den Uart der CPU oder halt wen du das Passende SDK hättest wir reden hier nur vom Modul nicht Receiver der IST dicht da kommste nicht ran. CPU MODUL ist der einzige WEG.
 
Hi
aber wenn niemand sagt wie man diese mysteriösen schlüssel bekommt ( wenn jemand Sie hat ) denke ich das es doch auch möglich sein kann das man den weg über Receiver gefunden hat, ich kann da zwar nicht viel mitreden weil mir einfach die erfahrung und das Werkzeug fehlt aber manchmal ist die lösung ganz woanders als man denkt, ich weiss von einigen leuten ( wovon einige hier im Forum sind ) die sich mit den Ital. Receivern befasst haben, ob es am ende auch geklappt hat kann ich nicht sagen da ich persöhnlich nicht in dieser liga mitspiele.
 
Eigentlich ist der 1660 nicht für CI+ gedacht, eher der SM1670. Läuft unter der Firma China Micro Technology . Das
SM1670 hat dann 16 MBytes Nor Flash. Wer ein sheet will, suchen... Hab keins.
 
Zurück
Oben