Quatsch oder nicht, im CAM waren die Entitlements beide :00.01.1996~31.15.2107 bis ich auf FL TV geschaltet habe, am 19.07.2015, danach war der erste entitlement 19.07.2015~01.09.2015, der zweite Entitlement ist immer noch :00.01.1996~31.15.2107.
Quatsch oder nicht, im CAM waren die Entitlements beide :00.01.1996~31.15.2107 bis ich auf FL TV geschaltet habe, am 19.07.2015, danach war der erste entitlement 19.07.2015~01.09.2015, der zweite Entitlement ist immer noch :00.01.1996~31.15.2107.
Beim Maxcam wundert mich nichts mehr. Die Anzeige ist offensichtlich Käse.
Einfach nur schöner fernsehen. "Geht nicht" gibt's nicht.
Also, bei Abokarten werden die keys über die EMMs upgedatet, und bei den prepaids müssen die auch irgendwie upgedated werden, die haben nicht das ganze Jahr den gleichen key und über ECM (Event Control Message (EreignisKontrolNachricht)) können auch Kartensteuerungsbefehle gesendet werden, ein Ereignis ist nicht nur Control Word Anfragen, vielleicht läuft das so ähnlich wie bei einer asymetrischen Verschlüsselung mit Pubilc Key und Private Key und die Karte oder das CAM errechnet den aktuellen key, den es braucht um die Control Words zu berechnen.
Wenn du das verstehend gelesen hast, wartest du auf keine EMMs mehr:
Link nur für registrierte und freigeschaltete Mitglieder sichtbar.
Müssen sie nicht, wenn sich da nichts ändert. Beim ORF wurde über Jahre der gleiche Key benutzt.
Löse dich von deinem Wunschdenken. Der Realität ist das ziemlich egal. Das ist keine Werbeblödelveranstaltung, wo man das Publikum (die Realität) solange bearbeitet, bis sie es glauben und dann sich dann wie gewünscht verhalten.
Es gibt unzählige Spielarten, die Smartcards zu bedienen.
Einfach nur schöner fernsehen. "Geht nicht" gibt's nicht.
Hi,
@Link nur für registrierte und freigeschaltete Mitglieder sichtbar.
Jetzt lamentierst Du hier seit geschlagenen 8 Monaten herum und wiederholst alle paar Wochen deine albernen Theorien.
Aber höchstwahrscheinlich weißt Du gar nicht mehr was du letzten Monat geschrieben hast.
Meinst Du nicht, dass es nun mal Zeit wäre, deinen Ar... in Bewegung zu setzen und etwas Eigeninitiative zu zeigen?
Knall dir OSCAM auf deinen PC. @Link nur für registrierte und freigeschaltete Mitglieder sichtbar. hat bereits im Februar eine OSCAM für Windows hochgeladen und ich
hab dir den Link xxx.streamxxxxx.tv/wiki/OSCam/de/examples/OSCam_with_ACamd gegeben.
Oder kauf dir eine Raspi, an der dein Smargo wunderbar laufen würde, oder wenn du richtig loggen willst, kauf dir ein Season-Interface.
Jetzt lass mal Taten sprechen ..... (ich glaub ja nicht dass da was kommt )
Gruß Gizeh
Wenn man mich nicht zwingen würde, hätte ich das hier nie geschrieben ....
Das kannst mit ORF nicht vergleichen. Die wechseln sehr wohl den key, sonst würden ihn par Leute mit par Serverfarmen Bruteforcen. Außerdem wenn man längere Zeit nicht mehr auf dem Sender war, erscheint für ca 1 - 2 Sekunden verschlüsseltes Signal bis sich der key updatet.
- - - - - - - - - -
Raspi habe ich überlegt als die Schwierigkeit bei Litecoin minen leichter war, habe ich 2 Gridssed, aber jetzt.
Hi,
Mit dieser Aussage bist du nun bei mir endgültig disqualifiziert.Das kannst mit ORF nicht vergleichen. Die wechseln sehr wohl den key.....
Gruß Gizeh
Wenn man mich nicht zwingen würde, hätte ich das hier nie geschrieben ....
Solange er nur in diesem Thread seinen Fantasien freien lauf lässt, ist es doch ok...
Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher.(Albert Einstein)
So ich habe den Smargo eingesteckt, Hyperterminal gestartet, mit COM4 verbunden 9600 Baud, 8 Bits, 0 Stopbits, keine Flusskontrolle, wenn ich die Karte einstecke in den Smargo, erscheinen par Sonderzeichen. Sollte da Klartext kommen? Sind die Parameter so richtig? Und etwas an die Karte senden, sende ich als Text oder als Datei? Ich will die ATR als Text oder als Hex zur Karte schicken, irgendwie wird die zu resetten sein.
Meine Frage war: sind die Parameter für den virtuellen COM Port Richtig? Ich frage mich weil Sonderzeichen und kein klartext. Außerdem denke ich, dass ich was ich zur Karte schicken will als Intel Hex File als plain Text schreiben soll und dann an die Karte als Datei schicken soll, oder liege ich falsch? Naja, Microcontroller Programmierung ist das so, wenn man direct nach dem Datenblatt geht. Komm jetzt nicht nur geht nicht, ich habe auf Microcontrollern in Assembler programmiert, also DAU bin ich nicht.
Was schickt man dann an die Karte? Und welche sind die richtigen Parameter für den Hyperterminal? Will ein par von den Befehlen aus eurer Viaccess Dokumentation aus eurer Datenbank versuchen. Ich schaffe das irgendwann aber brauche ich die richtigen Parameter, weil wenn z.B. die Baudrate nicht stimmt kommt nicht nichts, aber nur Bullshit.
Moin!
Keine Ahnung.
Aber OScam ist ja open source:
Link nur für registrierte und freigeschaltete Mitglieder sichtbar.
static int32_t viaccess_card_init(struct s_reader *reader, ATR *newatr) { get_atr; def_resp; int32_t i; uchar buf[256]; uchar insac[] = { 0xca, 0xac, 0x00, 0x00, 0x00 }; // select data uchar insb8[] = { 0xca, 0xb8, 0x00, 0x00, 0x00 }; // read selected data uchar insa4[] = { 0xca, 0xa4, 0x00, 0x00, 0x00 }; // select issuer uchar insc0[] = { 0xca, 0xc0, 0x00, 0x00, 0x00 }; // read data item static const uchar insFAC[] = { 0x87, 0x02, 0x00, 0x00, 0x03 }; // init FAC static const uchar FacDat[] = { 0x00, 0x00, 0x28 }; static unsigned char ins8702_data[] = { 0x00, 0x00, 0x11}; static unsigned char ins8704[] = { 0x87, 0x04, 0x00, 0x00, 0x07 }; static unsigned char ins8706[] = { 0x87, 0x06, 0x00, 0x00, 0x04 }; if((atr[1] != 0x77) || ((atr[2] != 0x18) && (atr[2] != 0x11) && (atr[2] != 0x19)) || ((atr[9] != 0x68) && (atr[9] != 0x6C))) { return ERROR; } write_cmd(insFAC, FacDat); if(!(cta_res[cta_lr - 2] == 0x90 && cta_res[cta_lr - 1] == 0)) { return ERROR; } if(!cs_malloc(&reader->csystem_data, sizeof(struct viaccess_data))) { return ERROR; } struct viaccess_data *csystem_data = reader->csystem_data; write_cmd(insFAC, ins8702_data); if((cta_res[cta_lr - 2] == 0x90) && (cta_res[cta_lr - 1] == 0x00)) { write_cmd(ins8704, NULL); if((cta_res[cta_lr - 2] == 0x90) && (cta_res[cta_lr - 1] == 0x00)) { write_cmd(ins8706, NULL); if((cta_res[cta_lr - 2] == 0x90) && (cta_res[cta_lr - 1] == 0x00)) { csystem_data->last_geo.number_ecm = (cta_res[2] << 8) | (cta_res[3]); rdr_log(reader, "using ecm #%x for long viaccess ecm", csystem_data->last_geo.number_ecm); } } } // switch((atr[atrsize-4]<<8)|atr[atrsize-3]) // { // case 0x6268: ver="2.3"; break; // case 0x6668: ver="2.4(?)"; break; // case 0xa268: // default: ver="unknown"; break; // } reader->caid = 0x500; memset(reader->prid, 0xff, sizeof(reader->prid)); insac[2] = 0xa4; write_cmd(insac, NULL); // request unique id insb8[4] = 0x07; write_cmd(insb8, NULL); // read unique id memcpy(reader->hexserial, cta_res + 2, 5); // rdr_log(reader, "[viaccess-reader] type: Viaccess, ver: %s serial: %llu", ver, b2ll(5, cta_res+2)); rdr_log_sensitive(reader, "type: Viaccess (%sstandard atr), caid: %04X, serial: {%llu}", atr[9] == 0x68 ? "" : "non-", reader->caid, (unsigned long long) b2ll(5, cta_res + 2)); i = 0; insa4[2] = 0x00; write_cmd(insa4, NULL); // select issuer 0 buf[0] = 0; while((cta_res[cta_lr - 2] == 0x90) && (cta_res[cta_lr - 1] == 0)) { insc0[4] = 0x1a; write_cmd(insc0, NULL); // show provider properties cta_res[2] &= 0xF0; reader->prid[i][0] = 0; memcpy(&reader->prid[i][1], cta_res, 3); memcpy(&csystem_data->availkeys[i][0], cta_res + 10, 16); snprintf((char *)buf + strlen((char *)buf), sizeof(buf) - strlen((char *)buf), ",%06X", b2i(3, &reader->prid[i][1])); //rdr_log(reader, "[viaccess-reader] buf: %s", buf); insac[2] = 0xa5; write_cmd(insac, NULL); // request sa insb8[4] = 0x06; write_cmd(insb8, NULL); // read sa memcpy(&reader->sa[i][0], cta_res + 2, 4); /* insac[2]=0xa7; write_cmd(insac, NULL); // request name insb8[4]=0x02; write_cmd(insb8, NULL); // read name nano + len l=cta_res[1]; insb8[4]=l; write_cmd(insb8, NULL); // read name cta_res[l]=0; rdr_log(reader, "[viaccess-reader] name: %s", cta_res); */ insa4[2] = 0x02; write_cmd(insa4, NULL); // select next issuer i++; } reader->nprov = i; rdr_log(reader, "providers: %d (%s)", reader->nprov, buf + 1); get_maturity(reader); if(cfg.ulparent) { unlock_parental(reader); } rdr_log(reader, "ready for requests"); return OK; }
Link nur für registrierte und freigeschaltete Mitglieder sichtbar.
Hi,
der TE sollte diese C-Funktion ja ohne Probleme lesen können, schließlich hat er schon
Mikrocontroller in Assembler programmiert .
Aber mal im Ernst:
Geht es jetzt ums loggen oder um Befehle an die Karte zu senden?
Zum loggen habe ich bereits alles gesagt. Wer mit der Karte kommunizieren will,
sollte sich meiner Meinung nach einen PCSC-Reader zulegen. Dann braucht man sich
nicht mehr mit Comports, Baudraten, Conventions, usw. rumärgern.
Software dazu gibt es Gratis.
Alles andere ist mE nur Notbehelf.
Gruß Gizeh
Wenn man mich nicht zwingen würde, hätte ich das hier nie geschrieben ....
PCSC-Reader = Season Interface ???
Kann man solche festprogrammierte Karten überhaupt auslesen ?
Gruß
Geändert von Gerd Michele (31.07.2015 um 18:31 Uhr)
Lesezeichen