C64Power Forum
Ogólne => Forum Ogólnodyskusyjne => Wątek zaczęty przez: sky w 09 Listopada 2009, 08:14
-
Korzystając z chwili wolnego czasu postanowiłem edukacyjnie przetestować komendę <-@ (strzałka małpa) zaimplementowaną do BB v.3. Po pomyślnym zgraniu gry z pamięci na kasetę (Titanic Blinky - wersja \'z zestawu nr...\') okazało się iż próba wgrania kopi kończy się komunikatem LOAD ERROR, a wpisanie komendy RUN wyświetla nowe okno z napisem... ILLEGAL COPY
W zaistniałej sytuacji rodzi się pytanie: czy można w jakiś prosty sposób ominąć to zabezpieczenie wykorzystująć BB lub np. FIII ?
Ps.Myślę, że powyższy przykład jest świetnym przykładem tego, iż w polskim światku Commodore 64 pirat nie był Janosikem, który okradał bogatych (zachodnie firmy) i dawał ubogim, a jedynie zwykłym Złodziejem zarabiającym na nieświadomych/biednych czyli NAS.
-
Trochę się nie zgodzę - nikt nam nie bronił kupować oryginałów - zamawiać kardridgesy po 150 marek i oryginalne kasety - kogo było na to stać??
Zawsze mogliśmy tępić piratów i kupować oryginały
Ale to my byliśmy Janosikami dla pirata :P albo dla siebie...
-
Gry są zabezpieczone programem Micrus Copy. Jest na to specjalny POKE, jednak nie pamiętam już jaki :( Zgubiłem swój \'cudowny zeszyt\' z dawnych czasów, gdzie zapisywałem różne poki :)
Jeśli masz Black Boxa to po załadowaniu programu pokazują ci się: adres początkowy i końcowy programu. Adres początkowy to zawsze 2049. Wyjściem z sytuacji jest zgranie pamięci od wcześniejszego adresu. Skopiowana zostaje wtedy pamięć ekranu i bufor magnetofonu.
<-W,844,end_address,\'nazwa programu\',1,1
Gdzie end_address to adres końcowy programu. Podmieniony został adres początkowy na 844.
A ładuje się później rozkazem <-L\'\',1,1
(koniecznie w ten sposób)
-
Moim zdaniem:
- bez piratów w tamtych czasach, to byśmy nic nie mieli
- l.k. avalon, timsoft i mirage pojawiły się później
- to piraci \'zbudowali rynek\' w polsce,
a C&A go ukierunkowało w kierunku oryginałów - wtedy szansę miał Timsoft, L.K. Avalon i Mirage
-
Micrus Copy - w trzech słowach: PIRAT PIRATOW WILKIEM
@zyga dzięki za instrukcje - mam nadzieję, że zrobię wszystko jak należy
W kwesti piractwa pewnie się powtórzę, ale cóż:
koszty - na C64/inny komputer było stać, a na gry/soft już nie
rynek - nie zbudowali, a zdominowali na zasadach niuczciwej konkurencji (kradzione zawsze będzie tańsze bo przecież tak naprawdę nic nie kosztuje).
A tak wogóle to \'punkt widzenia zależy od punktu siedzenia\' vide p.A.Chmielarz
-
Chmielarz? Ten od \'Tajemnicy Statuetki\' rozumiem. A co on ma wspólnego z piractwem? Pomijam że straszny burak z niego był (sądząc po wywiadach).
-
Tak to ten. W czasach 8/16 bit mieszał w \'światku\' z niejakim Fuxem (poprawcie jesli przekręciłem ksywkę). Gość łamał, a potem powtórnie zabezpieczał soft, by jakiś cwany rodak nie robił mu konkurencji.
Z tym zabezpieczaniem to historia zatoczyła koło gdyż Gears of War przeniesiony na pc przez studio People Can Fly zdechł na początku 2009 r.(wygaśnięcie cyfrowych certyfikatów) i trzeba było wypuścić łatkę umożliwiającą uruchomienie ORYGINALNEJ gry.
Pytanie za 100 punktów; Kto jest prezesem People Can Fly ?
-
http://en.wikipedia.org/wiki/People_Can_Fly ? ;d
ladnie ladnie... uczciwie to sie czlowiek nigdy nie dorobi,a na pewno nie w tym kraju ;)
-
@zyga
Ponieważ po komendzie:
<-W,844,end_address,\'nazwa programu\',1,1
u mnie wyskakiwał ?syntax error więc wpisałem tylko:
<-W,844,end_address
i nagrałem program na kasetę.
Wyniki i spostrzeżenia:
-zapisany program nie ma nazwy
-ładowanie rozkazem <-L kończy się komunikatem ?load error,a próba uruchomienia ?syntax error in 8224
-ładowanie rozkazem <-L\'\',1,1 kończy się komunikatem ?load error oraz wyswietleniem <-W,844,end_address , poprawnej nazwy programu itp.,a wpisanie run powoduje start gry
-
@Sky.
Niechcący wprowadziłem Cię w błąd. Przy instrukcji <-W nie powinno być przecinka przed \'nazwa programu\', czyli:
<-W,startaddress,endaddress\'filename\', 1,1
-
Odnośnie piractwa:
Człowiek, u którego kupiłem C64 a potem ustawiałem się w kolejki z magnetofonem pod pachą by KUPIĆ GRY jest obecnie prezydentem trzeciego co do wielkości miasta w Lubuskiem - Nowa Sól. Takie były początki.... ;-)
-
Widzę że nikt nie zna assemblera.
Micrus copy miało 3 zabezpieczenia.
Opiszę całą procedurę na przykładzie BB3.
Ładujemy grę i po jej poprawnym wczytaniu naciskamy F1 (albo piszemy LIST). Mogą się pokazać 3 typy zabezpieczenia. Rozpoznajemy je w taki sposób.
Jak się pokaże
128 SYS2059
to wpisujemy
POKE 874,96
1990 SYS2073 MICRUS COPY
POKE896,96
a jak
1991 SYS2073 MICRUS COPY
POKE 902,96
Po tym wykonujemy
RUN
Może się pokazać
SYNTAX ERROR...
Nie przejmujemy się
Wciskamy F1
Jeśli się pokaże inna linia niż te w/w to już odblokowaliśmy grę. Jeśli nadal się pokaże np.
128 SYS 2059
to musimy wpisać
SYS 2059
Pokaże się
SYNATAX ERROR...
Teraz już można zapisać grę
<-S\'Nazwa\',1,1
Jak coś nadal jest niejasne to piszcie.
-
Pierwszy złamał te zabezpieczenie TSD i swoje Poke zaprezentował w #3 wydaniu papermaga Fuzz w listopadzie 1998 r.
dla linii:
1990 - poke897,96:run
1991 - poke902,96:run
128 sys 2059 - poke 872,60:run
Czasami bywają małe problemy przy odbezpieczaniu - Basic daje znać o sobie. Nawet czasami program potrafi wystartować. Wówczas polecam napisanie tej samej procedurki w assemblerze w realtimie na pamięci ekranu. Działa bez zarzutu (przykładowo dla linii 1991 lda #$60 sta $0386 jmp $0819).
Ja nie znając jeszcze tych poke`ów doszedłem, jak ominąć zabezpieczenie tylko dla linii 1990 oraz jak zgrywać program komendą <-W w black boxie :D
Artykuł na ten temat opublikowałem w Inversie#7/Oxygen64 w marcu 2000 roku a po latach text dostępny jest na mojej stronie:
http://www.riversedge.pl/micrus_copy