Witam. Przeszukalem grupe, siec, google przez kilka godzin i nic. Chcialem rozwiac kilka watpliwosci dot. dokladnie kart SLE4442. Udaje mi sie pieknie przeczytac ATR Header i kolejne po nim bajty (ICM,ICT,AID). Nie moge niestety niczego zapisac, a nie chce probowac w ciemno, bo zablokuje karte ..i do smieci.
1) Karta ma 3 rodzaje pamieci: Main Protection SecurityCzytam pamiec Security i mam tam 0x07,0x00,0x00,0x00. To 0x07 to licznik ilosci pozostalych prob wpisania kodu "PIN". Jak osiagnie 0x00, to znaczy, ze bledna weryfikacja miala miejsce 7 razy i karta nadaje sie do smietnika. Kolejne 3 bajty, to Reference Data - czyli moj PIN. Wszedzie w sieci ludzie pisza, ze jesli kupuje karte i niczego nie wiem o PIN-ie, to ma on wartosc 0xFF. Czy to prawda skoro odczytuje same zera ? Niezaleznie od tego jakie maja wartosci te bajty PIN-u, zawsze odczytam zera ? (bo co za sens pokazywac PIN).
2) Na rysunku w PDF-ie Protection Memory zawiera sie w Main Memory w zakresie adresow 00 do 31, ale jest to oddzielny bloczek. Ta pamiec przechowuje tylko 31 komorek jednobitowych. Ustawiony bit swiadczy o tym, ze przypisany mu bajt w pamieci Main jest chroniony. Czyli uzycie rozkazu Write Protection Memory i podanie np. adresu 0x00 spowoduje ustawienie bitu w pamieci Protection Memory i tyle. Pamiec Main nie ulegnie zmianie. Dobrze to rozumiem ? Nie moge niczego zapisac do Main, wiec chyba calosc jest chroniona..a nie tylko ta spod adresow 0..31. No i tego nie rozumiem. Ustawiam bity w pamieci Protection i wtedy pamiec Main jest chroniona w zakresie adresu 0..31. Mimo wszystko i tak nie moge zapisac niczego do Main. Czy to dziala tak, ze dopoki nie zrobie weryfikacji PIN-u, to do ZADNEJ pamieci niczego nie zapisze ? Po weryfikacji zapisze co i gdzie chce, ale jak ustawie bity w Protection, to juz nigdy nie bede mogl zmienic zawartosci pamieci Main z zakresu 0..31 ? To chyba jedyne logiczne wytlumaczenie.3) Zapis do pamieci jest mozliwy dopiero po poprawnej weryfikacji PIN-u (PSC). Bez niej mozna tylko kasowac licznik (bity bedace "1", mozna zmienic na "0" - co moze tylko spowodowac zablokowanie karty). Po poprawnej weryfikacji moge sobie ten PIN 0xFF zmienic na jakis swoj PIN rozkazem Update Security Memory (adres 1,2,3) ?
4) Nie udaje mi sie zapis do pamieci. Pamiec Main jest, jak sadze, w calosci chroniona przed zapisem. Opisana jest w PDF-ie procedura weryfikacji i nie rozumiem co oznacza (przy rozkazie Update Security Memory) Write free bit in Error Counter : Input data "0000 0ddd" binary. Co to jest ten "free bit" ? Jak to ma wygladac ? "ddd" to zawartosc licznika bledow, ale co mam wpisac w miejsce tych bitow ? Pozniej jest 3 x rozkaz Compere Verification Data [Input data] i rozumiem, ze to input data to moj PIN domyslny 0xFF ?Nie znalazlem nigdzie kawalka programu z zastosowaniem tych algorytmow. Doslownie zero.
Pozdrawiam, Mariusz