Jak to zrobić.doc

(2677 KB) Pobierz
Jak to zrobić

Jak to zrobić ?

 

Opis powstał po kilkudniowej, paru godzinnej walce z kartą swoją a potem kolegi, którą notabene najpierw dezaktywowałem, ale potem wszystko poszło OK.

 

PAMIĘTAJ !!!

 

Najpierw wszystko dokładnie przeczytaj, a potem działaj !!!

 

I co najważniejsze, wszystko robisz na swoją odpowiedzialność !! To jest tekst typowo edukacyjny, bo i tak najlepiej jest płacić jakiś abonament !!

 

 

 

Na początek co jest potrzebne:

 

-          karta c**, w wersji 7.0 (czarny spód, serial od 05, inne serial od 06 to prawdopodbnie wersja 7.1 lub inaczej 7.0b – wg. Mnie mają ją wszyscy dawni abo Wizji)

-          programator Phenix (to dla przypomnienia)

-          program UCDS2 v.301 ( taką wersję używam i z tego co wiem jest to najlepsza wersja)

-          InsGen v.1.0.11 (do przygotowania instr. Zmieniających parametry PBM, PPUA, etc.)

-          MarkTimer 18xxx ( ja mam taką wersję – do wysyłania ins do karty) – nie jest konieczny

-          Instrukcja uniwersalna

 

 

A więc zaczynamy.

 

Najpierw w katalogu gdzie mamy UCDS podmieniamy orginalny plik chaintable.bin, polską wersją Tablicy Masującej (plik musi mieć nazwę chaintable.bin)

 

Uruchamiamy UCDS (ja mam wersję v.301 full 12.02.04 spakowaną zip-em, którą wypakowuję do wcześniej utworzonego katalogu).

 

Z lewej mamy menu podręczne, klikamy (zawsze z lewej – dwa razy) Configurazzione, potem Settagi,  otworzy się okienko ustawień – wybieramy COM-a, rodzaj kwarcu w Phenixie (z reguły 3,57), timeout ustawiamy na 1500, delay 100, database 1003, max Bx powiedzmy na 20, naciskamy Memorizza, OK. i mamy skonfigurowany program.

 

 

Teraz jedna uwaga: aby wszystko szło dobrze i bez boleśnie na początku należy wygenerować krótkie instrukcje – CORTE. Ilość tych instrukcji powinna wynosić około 1000 – 1500. Wiem że to trwa, ale potem jest łatwiej w dalszych operacjach, a według mnie nawet 2000 to jest niewiele.

 

Aby utworzyć inst CORTE, najpierw łączymy się z kartą naciskając w górnym menu CARTA  -> CONNETTI, program zapyta czy utworzyć bazę danych dla tego seriala, odpowiadamy Si (Tak),odczyta kartę co zobaczymy w głównym oknie programu.

 

 

Jeżeli występują jakieś problemy (komunikaty o braku plików .dll) to musimy te pliki dograć do katalogu windows\system.

 

Następnie wybieramy z górnego menu ECM/EMM/Ins36 -> Inserisci -> Ins36xbug

 

i wklejamy w rameczkę universala jak na rysunku:

 

Wygląda ona tak: C136019E1470031122334455667788829AACEFAD5BB79F1F

Jest to instrukcja CORTE zrobiona z universala.

Akceptujemy naciskając: Inserisci di Archivo -> OK.

 

Następnie wybieramy ECM/EMM/Ins36 -> Visualizza -> Corte36. Otworzy się okno w którym na pierszej pozycji powinien być nasz universal. Z lewej strony zaznaczamy tę instrukcję i wychodzimy z tego okna.

 

 

Następnie klikamy z lewej na RICERA CORTE i w głównym oknie mamy:

 

 

 

Rozwijamy listę P3, wybieramy 7x, a  następnie naciskamy RICERCA, program zacznie wyliczać instrukcje CORTE, o czym będzie nas informował w okienkach:

-          ins trovate (instr poszukiwana – 7x )

-          alti P3 validi (inst z innym P3)

 

 

 

tu jest znaleziona inna niż szukamy ( P3=5x), a niżej taka jakiej szukamy:

 

A teraz idziemy spać, na piwo albo patrzymy w ekran aż inst CORTE 7X będzie ze 300 – 400, może być więcej ( w każdej chwili możemy skończyć generowanie inst przyciskiem Uscita)

 

Jeżeli tworzyliśmy inst CORTE w Hack v7, to możemy je zaimportować:

 

 

przyciskiem IMPORTA Dati, sciągniemy sobie wszystkie inst z programu Hack v7.

 

Jeżeli mamy już obszerną bazę inst CORTE, to sprawdzimy jakie mamy Eventy PPV , oraz jaki jest stan „żetonów” na naszej kartce:

 

Z lewego menu wybieramy Utility -> Eventi PPV i widzimy czy mamy coś, czy nie:

 

a następnie Gettoni -> Vissualizza i widzimy jaki jest stan „żetonów”:

 

W tym przypadku (co wyżej), Eventy PPV=0, liczba żetonów jest mniejsza od 7FFF, a data daleko do przodu. Taki widok powinniśmy mieć na końcu naszej męki.

Ale zakładam, że tak nie jest, więc są jakieś rekordy, bądź liczba żetonów jest większa od 7FFF, albo data mniejsza od dzisiejszej.

 

Teraz proszę przygotować trochę czasu, papier i coś do pisania (nie żartuję)

 

Jeżeli ustawienia w „Gettoni” masz prawidłowe przejdż do pkt.3

 

 

 

PKT.1

 

Kasowanie kredytów (na podst. Opisu POP-ROCK i moich działań)

 

Żeby skasować kredyty musimy mieć co najmniej 7 rekordów Bx, które przy ustawieniu d3=3, powinny wygłądać tak:

00 EV (42) FF CV 00 00 (FF) FF 00 00 - B1

00 EV EV FF CV 00 00 FF FF 00 00 - B1
00 EV EV FF CV 00 00 FF FF 00 00 - B1
00 EV EV FF (Ax) 00 00 FF FF 00 00 - B1
00 EV EV (FF) CV 00 00 FF FF 00 00 - B1
00 EV EV FF CV 00 00 FF FF 00 00 - B1
00 EV EV FF CV 00 00 FF FF 00 00 - B1

 

EV- dowolne dwa bajty,

Ax – A(hex) z dowolnym bajtem,

Reszta na czerwono i w nawiasach musi być na takich miejscach jak w opisie (to bardzo ważne!!).

 

Dlaczego przy ustawieniach d3=3 ?

 

Ponieważ wtedy rekordy są ustawiane w zależności od wartości ev1 w  kolejności od 00 do FF

 

Pierwszy tworzymy rekord Bx - 00 EV (42) FF CV 00 00 (FF) FF 00 00 - B1, a więc w tym rekordzie mamy:

-          ev1= xx (dowolny bajt, proponuję gdzieś ze srodka np. 7x, ect.)

-          ev2= 42  (o, to ważne!!)

-          cnt= xx  (dowolne)

 

Naciskamy Crea BX, i mamy takie okno:

 

zaznaczamy okienko ev2, i z rozwijanej listy wybieramy 42. Gdy wybierzemy naciskamy Crea Bx, powinno się pojawić okno (o ile wcześniej dopisywaliśmy rekordy):

 

Mamy ev2=42, więc naciskamy na ID=1 w okolicy kwadracika, i czekamy aż utworzy się rekord. Jeżeli mieliśmy za mało instrukcji, program sam zacznie wyliczać instrukcje i dopisze jakiś losowy rekord, aby potem dojść do tego co potrzebujemy (czyli ev=42). W jednym i drugim przypadku powinniśmy po jakimś czasie otrzymać takie coś:

 

jak widać mamy pod 00 14- jeden losowy rekord, a z rozwiniętej listy wybieramy sobie odpowiedni rekord z ev2=42 (podświetlony) i naciskamy Crea BX w okienku, a potem jeszcze raz rozwinąć listę i poszukać czy jest gdzieś linijka z cnt=Ax (wątpię, ale kto wie?). Jeżeli znajdziemy taką inst. (z cnt=Ax), to popatrzmy jakie ma ev1. To jest ważne także potem, bo od wartości ev1 zależy gdzie dany rekord jest położony ( w przypadku wyżej rekord z cnt=Ax, powinien mieć ev1 większe niż B8 (najlepiej jakieś Cx lub Dx, ponieważ między tym z ev2=42, a tym z cnt=Ax , muszą być jeszcze dwa rekordy). Jeżeli nie ma rekordu z cnt=Ax, to możemy z kolei dopisać od razu rekord następujący po rekordzie z ev2=42. Trzeba tylko pamiętać o wartościach ev1, aby następny rekord był poniżej rekordu z ev2=42. Pokazuje to rysunek:

 

jak widać w tym przypadku dopisałem tylko jeden rekord z ev2=42, ponieważ program wcześniej dopisał losowo rekord, który po dopisaniu ev2=42, jest pod nim.

Teraz spróbujemy dopisać rekord z cnt=Ax. Postępujemy podobnie jak przy pierwszym rekordzie, z tym że zaznaczamy w Crea Bx okienko cnt i z rozwijanej listy wybieramy jakąś wartość Ax (np. A0, A1, .... AF) i patrzymy czy mamy do takiej wartości jakąś instr, która utworzy rekord pamiętając o zasadzie że ev1 tego tworzonego rekordu musi być większe niż  wcześniej utworzonych rekordów ( w moim przypadku ev1>B8), ale także trzeba pamiętać, że po rekordzie z cnt=Ax, muszą być jeszcze dwa rekordy. Tak więc do tego wszystkiego warto na kartce zapisywać ev1 każdego rekordu, aby potem nie obudzić się z ręką w nocniku (sorry za słowa, ale ja raz tak miałem).

 

jak widać dopisał nam się losowy rekord (nie wiem dlaczego tak jest?), ale on może zostać, natomiast my wybieramy rekord z cnt=Ax (pamiętając o ev1), naciskamy Crea Bx, potem możemy wybrać z listy rekordy z ev1 większym niż ostatnio wybrany (nie widać go jeszcze w okienku wyżej – kartka i piszemy lub naciskamy okienko View Bx), oczywiście jeżeli są. Jeżeli są takie to dopisujemy jeszcze dwa (wybieramy -> Crea Bx, wybieramy ->Crea Bx), po czym naciskamy Termina. Jeżeli nie ma to od razu naciskamy Termina i mamy:

 

W tej sytacji musimy dopisać jeszcze dwa rekordy, które będą poniżej ostatniego, a więc ev1>F4. Naciskamy Crea Bx i zaznaczamy okienko ev1, a z listy wybieramy np. FF i naciskamy Crea Bx (to jest opis w tej danej sytuacji, u Ciebie może być inaczej !!).

 

wybieramy jedną z inst i czekamy co będzie dalej:

 

zrobiło się ciekawie, ale nie przejmujemy się. Najpierw losowo dopisał się rekord z ev1=DD (1), który wszedł między wcześniej utworzone rekordy, w związku z czym odległość między rekordem z ev2=42, a rekordem z cnt=Ax wzrosła do 3, a tak nie może być! Więc z listy w okienku Crea Bx wybrałem do zapisania rekord z cnt=Ax, i co ważne z ev1 o wartości między B8 a DD, aby zmieścić się z rekordami. Na kartce zapisałem jego ev1 (D8)  Po jego zapisie między ev2=42 a cnt=Ax, był tylko jeden rekord, więc z listy wybrałem rekord z ev1 między B8 a D8 (pomogła kartka !) i zapisałem go, po czym opuściłem okienko tworzenia Bx (Termina) i otrzymałem wyniki jak wyżej. Widać w tym przypadku, że tworzenie rekordów jest nie takie trudne jak się wydaje, trzeba tylko wszystko robić powoli i spokojnie.

 

Mając już gotowe rekordy wg wzoru z początku tego punktu możemy przystąpić do parsingu.

Parsing robimy na rekord z ev2=42, więc na kartce zapisujemy numer tego rekordu (przyda się), oraz ev1 tego rekordu.

Naciskamy Parsing w lewym menu i gdy pojawi się okienko z inst naciskamy na górze okna na D2 (instr ustawią się w po kolei w zależności od wartości D2), i wybieramy inst w której D2 jest blisko wartości ev1, ale jest mniejsze od ev1:

 

w tym przypadku jest to inst z ev1=A6 , ponieważ A6<B7(ev1 z rekordu z ev2=42), a następna inst zawiera D2 większe od B7. Wybieramy tą inst (klikamy na kwadracik obok numeru instr) i mamy widok:

 

Do parsingu będą użyte rekordy zaznaczone. My potrzebujemy do parsingu rekordów o długości 68, a mamy zaznaczone 7 rekordów o długości 67, czyli jest wszystko OK.

 

Naciskamy więc Esegui i widzimy:

 

 

tu gdzie pokazałem wpisujemy wartość 3F i naciskamy Emula (nic więcej nie ruszamy). Powinniśmy otrzymać coś takiego:

 

widzimy w okienku po prawej jakie nana będzie zawierać wygenerowany EMM, jest tam nano 42 z wartością kasującą kredyty, oraz inne nana które nie zrobią żadnych zmian na karcie (3F, FF, A1, FF) i sygnatura. Dodatkowo program informuje nas (Parsing CORRETTO), że struktura instrukcji jest prawidłowa.

 

Teraz zostaje nam nacisnąć ESEGUI i czekać na efekty:

 

 

a więc skończył się parsing. Teraz zobaczymy efekty: Gettoni -> Visualizza:

 

eureka!! Mamy wykasowane żetony. Czas przejść do punktu 2.

 

 

PTK.2

 

Teraz zaczniemy ustawiać odpowiednie wartości żetonów:

Mamy mieć żetony w okolicach 7F FF, ale nie możemy tej wartości przekroczyć.

Zaczynamy jak w poprzednim punkcie:

 

Crea Bx -> zaznaczamy ev1=7x (71,75,7E, ect.), i naciskamy Crea Bx (może wyświetlić się okienko z instrukcjami, gdzie z lewej będziemy mieli uporządkowane ev1=7x takie jak wcześniej zaznaczyliśmy. Wtedy możemy od razu wybrać tę instrukcję. Jeżeli tego okienka nie ma to program sam zacznie wyliczać instr. I szukać odpowiedniej. Po zakończeniu szukania wyświetli się okienko:

 

Kliknięciem wybieramy do zapisu rekord z ev1=7x (tutaj 77), po czym naciskamy Crea Bx i następnie klikamy na View Bx. Otworzy się okienko z rekordami gdzie widzimy nasz dopisany rekord:

 

Naciskamy Chiudi i Termina w nast. Okienku i jesteśmy w głównym oknie programu.:

 

Dla przypomnienia przed parsingiem:

 

1.      numer porządkowy rekordu (ważne przy parsingu i potem przy spotowaniu )

2.      ev1

Widzimy że rekord który utworzyliśmy dla ustawienia żetonów ma numer porządkowy 3, oraz ev1=77. Do parsingu potrzebne jest, aby poniżej tego rekordu były jeszcze dwa rekordy, w których ev1, ev2, cnt nie mają znaczenia. W naszym przypadku takie rekordy występują, a więc xzaczynamy parsing.

 

Naciskamy parsing, otworzy się okienko z wyborem instr. Naciskamy u góry na D2, aby ustawić sobie instr. Według tego parametru i szukamy takiej instrukcji, aby D2 było mniejsze od ev1=77, ale większe od ev1 rekordu poprzedzającego rekord z ev1=77 ( w naszym przypadku musi być mniejsze od 77, ale większe od 1A, patrz na rysunek wyżej). Wybieramy taką instrukcję z lewj strony klikając na kwadracik:

 

 

Pojawi się okienko z proponowaną długością instrukcji z nanami. Odznaczamy od końca kwadraciki,

 

aż dojdziemy do LEN=37,

 

po czym naciskamy Esegui i mamy okienko parsingu, w którym w polu YY wpisujemy 42, naciskamy Emula i widzimy w prawym okienku nana które mają być w tworzonej instrukcji

 

widzimy, że program twierdzi iż parsing jest ok. (Parsing CORRETTO), więc naciskamy Esegui i czekamy na zakończenie parsingu,

 

Naciskamy ok., po czym w głównym oknie Gettoni -> Visualizza i mamy:

 

czyli zetony w tym przypadku są ok. (77 9E) , a i data może być.

Teraz to o co wszyscy pytają : Kasowanie Bx

Przedtem jednak wyłączymy program, i włączymy ponownie aby przy następnym szukaniu rekordu BX nie pokazał nam się komunikat:

 

PKT.3

 

Aby skasować rekordy musimy mieć odpowiedni układ rekordów (zgodnie z Pop-rock):

 

00 EV EV FF (40) 00 00 FF FF 00 00 – B1

00 EV EV (FF) CV 00 00 FF FF 00 00 - B1

00 EV EV FF CV 00 00 FF FF 00 00 - B1

00 EV EV FF CV 00 00 FF FF 00 00 - B1

 

Najważniejsze teraz to mieć (utworzyć ) rekord z cnt=40.

 

Naciskamy Eventi PPV i sprawdzamy czy na pozycji cnt nie mamy już przypadkiem takiej wartości:

 

W moim przypadku jej nie ma , więc trzeba utworzyć rekord z cnt=40.

Naciskamy Crea Bx, po czym zaznaczamy cnt i z listy wybieramy 40 i naciskamy Crea Bx. Tak jak wcześniej pisałem może pojawić się okno:

 

w którym już jest instrukcja wpisująca rekord z cnt=40. Zatem od razu możemy wybrać taką instrukcję. Ważne jest aby ev1 wybieranej instrukcji leżał gdzieś pośrodku zakresu 00 – FF, bo pamiętać trzeba że za rekordem z cnt=40 mają być jeszcze trzy inne rekordy (a rekordy ustawiane są ze względu na wartość ev1). W moim przypadku wybiorę instr (kliknę w lewy kwadracik) z cnt=40 (oczywiste) i ev1=D9 (E8 jest bliżej końca zakresu). Jeżeli nie ma takiego okienka to postępujemy jak  w pkt.1 i pkt.2 (czyli zdajemy się na losową instrukcję). Po zakończeniu liczenia mamy okienko z wyborem rekordu:

 

Widzimy że jest rekord który wcześniej wybraliśmy. Klikamy na niego i naciskamy Crea Bx . Przed wyjściem możemy sprawdzić ten rekord naciskając View Bx:

 

Widzimy, że w tym przykładzie poniżej rekordu z cnt=40 są trzy inne rekordy potrzebne potem do parsingu, a więc nie trzeba już dopisywać innych. Jeżeli nie ma poniżej trzech innych rekordów to będzie trzeba je dopisać tak jak inne pamiętając o tym że przy wyborze rekordu kierujemy się ev1 i wartość ev1 musi być większa od wartości ev1 rekordu z cnt=40. Po naciśnięciu Chiudi, rozwijamy listę z wyborem rekordu do zapisania i klikamy na odpowiedni (pamiętamy o zasadzie ev1) i dajemy Crea Bx.

 

Wychodzimy: Chiudi -> Termina, i jesteśmy w oknie głównym rekordów:

 

Teraz musimy zrobić spoting rekordu z cnt=40 tak, aby miał postać:

00 EV EV FF 40 00 00 FF FF 5x xx

 

Aby poszło nam to sprawnie i bez kłopotów musimy na kartce papieru zapisać pewnw parametry (ktoś może się z tego śmiać, ale ja wolę mieć wszystko czarno na białym i nie mieć potem problemów),a więc zapisujemy:

 

Numer porządkowy rekordu z cnt=40 (w nawiasie będzie mój przykład – 12)

Ev1 rekordu z cnt=40 (D9)

 

Teraz naciskamy PPV Spot i mamy okienko z wyborem instrukcji. Na górze naciskamy na D4, to nam ustawi instr wg D4, zjeżdżamy w dół, tak aby mieć D4=5x i wybieramy taką instrukcję aby D4=5x i D2 było mniejsze od naszego ev1 rekordu z cnt=40 (D9)

 

Klikamy z lewej na taką instr i mamy okienko pokazujące które rekordy mogą być spotowane tą instrukcją:

 

Nasza instrukcja do spotingu to (12), więc spokojnie możemy odznaczyć instr będące za nią. Instrukcja , która jest przed naszą instrukcją jest bez znaczenia i ją też możemy ( w tym przypadku – musimy) zostawić:

 

naciskamy Eseegui i czekamy na rezultaty:

 

A więc mamy zrobiony spoting na rekord z cnt=40. Naciskamy Ok., a następnie Eventi PPV:

 

Mając odpowiedni układ rekordów możemy przejść do parsingu:

 

Naciskamy Parsing, otworzy się okienko w którym u góry naciskamy D2 i wybieramy instr z D2 mniejszym od ev1 rekordu z cnt=40 (D9), ale większym od ev1 rekordu poprzedzającego (D8). Widzimy że jest to przypadek kiedy musimy wziąć pod uwagę także ev2 rekordów dlatego pisałem o kartce. Ev2 odpowiada wartości D3 w instrukcjach przeznaczonych do parsingu, a więc musimy wybrać taką instr aby D2 zawierało się w granicach ev1 rekordu z cnt=40 i ev1 rekordu poprzedzającego rekord z cnt=40, a D3 tej instrukcji było pomiędzy ev2 rekordu poprzedzającego rekord z cnt=40, a ev2 rekordu z cnt=40 ( w moim przypadku :

d8 < D2 < d9 i

Jeżeli D2=d8 , to D3 > D0 , a

Jeżeli D2=d9 , to D3 < 21.)

 

Ten akurat przykład jest dość skomplikowany, ale zrozumienie zasady jest najważniejsze.

Gdy znajdziemy taką instrukcję to z lewej klikamy na niej:

 

otworzy się okienko z długością nano do parsingu:

 

widzimy, że dobrze wybraliśmy instr, bo parsin przeprowadzony zostanie na rekord o liczbie porządkowej (12), to jest na rekord w którym cnt=40. Odznaczamy od końca kwadraciki tak ,aby LEN=43 i naciskamy Esegui:

...

Zgłoś jeśli naruszono regulamin