Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.129 - CLIENT : 54.196.5.6

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Full Metal Planete IIgs (Infogrames, 1993)

 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2945
Localisation: Le Chesnay, France

MessagePosté le: Lun 28 Mar 2016, 23:07    Sujet du message: Full Metal Planete IIgs (Infogrames, 1993) Répondre en citant

#819 - By BrainStorm Software. Full Metal Planet. 8h54. You must prove that you are the best pilot working for the Cobra Steel Company... Your mission: land your space-ship, collect as much ore as possible, destroy or capture the precious material from other companies and then take off before being swamped by the fore-warned high-tide...

Protection type
I could not believe what Olivier Z. told me: "when I translate the resources, the game goes into the demo mode". Huh? Why would one consider that game as a French title only? Setting zoning on a software just like with DVDs? Weird but he was right! The game checks two menu strings, two with accents. If they are translated, then the game is always run in the demo mode!

How to copy
Use ZZCopy or Photonix II to copy your original disk. Then, store it in a dry and safe place.

How did they do that?
This is a huge desktop program with resources. All data is in resources. Everything is in French. To be honest, I do not recall how I located the translation check routine, I guess I worked by determining the demo flag on one side and traced the game on the other side. All I can say is that it took ages to find out!

How to crack
For once, as the game has resources, we cannot follow the program with Block.Warden. BW is a ProDOS 8 program and P8 does not support resource files. So, I switched to Spy.Edit, a really powerful block editor that has a HEX/String search option. So...
Code:

Launch Spy.Edit
<C>hange to slot 5, drive 1
<L>ocate Hex string "22 18 28 02" and replace with "AF 18 28 02"
Write the block back onto disk


The disk image is not available Wink

Reboot and... enjoy,

LoGo
3/2016


Derničre édition par toinet le Lun 28 Mar 2016, 23:09; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2945
Localisation: Le Chesnay, France

MessagePosté le: Lun 28 Mar 2016, 23:07    Sujet du message: Répondre en citant

Some code

Code:

Excerpt from the Globals segment
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
L040008  ENT
         DB    $8E   ; This is a 'é' - See MAIN.S at L022818

Segment Full / Calling the check
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
07/0158: 0B                         PHD                                         
07/0159: 3B                         TSC                                         
07/015A: 38                         SEC                                         
07/015B: E9FB00                     SBC   #$00FB                               
07/015E: 5B                         TCD                                         
07/015F: 69F200                     ADC   #$00F2                               
07/0162: 1B                         TCS                                         
07/0163: 22182802                   JSL   $022818         ; Check protection...
07/0167: F40000                     PEA   $0000                                 
07/016A: ADF401                     LDA   $0401F4                               
07/016D: 48                         PHA                                         
07/016E: 22A20706                   JSL   $0607A2                               
07/0172: 7A                         PLY                                         
07/0173: 7A                         PLY                                         
07/0174: AE7D00                     LDX   $04007D                               
07/0177: AD7B00                     LDA   $04007B                               
07/017A: DA                         PHX                                         
07/017B: 48                         PHA                                         
07/017C: A20E132200                 _ShowWindow                                 
07/0183: B003                       BCS   $0188                                 
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2945
Localisation: Le Chesnay, France

MessagePosté le: Lun 28 Mar 2016, 23:07    Sujet du message: Répondre en citant

The translation check

Code:

*
* Protection against translators ;-)
*

L022818  ENT
         PHD
         TSC
         SEC
         SBC   #$00FB
         TCD
         ADC   #$00EA
         TCS
         PHX
         PHA
         PEA   $0006
         _GetMenuTitle   ; FR: Réseau
         BCS   L022834
         LDA   #$0000
L022834  STAL  L04025C
         PLA
         PLX
         STX   $F2
         STA   $F0
         PHX
         PHA
         PEA   $8006
         PEI   $F2
         PEI   $F0
         _LoadResource   ; Load the pString ID 6 (Réseau)
         BCS   L022853
         LDA   #$0000
L022853  STAL  L04025C
         PLA
         PLX
         STX   $EE
         STA   $EC
         LDY   #$0002
         LDA   [$EC],Y
         TAX
         LDA   [$EC]
         STA   $F6
         STX   $F8
         LDX   $F8
         LDA   #$0001   ; string offset +1 (skip length)
         CLC
         ADC   $F6
         BCC   L022874
         INX
L022874  STA   $F6
         STX   $F8
         LDY   #$0001   ; get 2nd char (the é)
         LDA   [$F6],Y
         AND   #$00FF
         PHA
         LDA   L040008
         AND   #$00FF
         PLX
         STX   $F6
         CMP   $F6
         BEQ   L022893   ; same char?
         LDA   #$0000   ; we don't
         BRA   L022896
L022893  LDA   #$0001   ; we have a 'é'
L022896  STA   $F4

         LDA   $F4   ; we exit if we already fail
         BEQ   L022911
   
         PHX      ; Now, we double-check the non translation
         PHA
         PEA   $0112   ; Stratégie
         _GetMItem
         BCS   L0228AD
         LDA   #$0000
L0228AD  STAL  L04025C
         PLA
         PLX
         STX   $F2
         STA   $F0
         PHX
         PHA
         PEA   $8006   ; Load the same resource
         PEI   $F2
         PEI   $F0
         _LoadResource
         BCS   L0228CC
         LDA   #$0000
L0228CC  STAL  L04025C
         PLA
         PLX
         STX   $EE
         STA   $EC
         LDY   #$0002
         LDA   [$EC],Y
         TAX
         LDA   [$EC]
         STA   $F6
         STX   $F8
         LDX   $F8
         LDA   #$0001
         CLC
         ADC   $F6
         BCC   L0228ED
         INX
L0228ED  STA   $F6
         STX   $F8
         LDY   #$0005   ; do we have a 'é'
         LDA   [$F6],Y
         AND   #$00FF
         PHA
         LDA   L040008
         AND   #$00FF
         PLX
         STX   $F6
         CMP   $F6
         BEQ   L02290C
         LDA   #$0000   ; we don't have a 'é'
         BRA   L02290F
L02290C  LDA   #$0001   ; we have a 'é'
L02290F  STA   $F4

L022911  LDA   $F4
         BNE   L02292A
         LDA   L04000B   ; are we already in demo mode?
         BNE   L02292A   ; yes, we don't care
         LDA   #$0001   ; no, force demo mode
         STA   L04000B
         LDA   #$0001
         STA   L040077   ; and fuck the translators
         JSL   L070BA4   ; and init the game
L02292A  TSC
         CLC
         ADC   #$0010
         TCS
         PLD
         RTL
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2945
Localisation: Le Chesnay, France

MessagePosté le: Lun 28 Mar 2016, 23:08    Sujet du message: Répondre en citant

The Spy.Edit view:

Code:

 Block : $01EB    (491)           ____________________             __________   
 Byt00 : $003D600                 _".(.              Z      .      _Spy EditZ   
                                  LLLLLLLLLLLLLLLLLLLL             LLLLLLLLLL   
   A   C8 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F       H123456789ABCDEF   
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
 100:  00 80 10 A4 A5 F2 C9 00 00 D0 05 A9 00 00 80 03       ...$%rI..P.)....   
 110:  AD 79 00 A8 3B 18 69 0A 00 1B 98 2B 6B 0B 3B 38       -y.(;.i....+k.;8   
 120:  E9 FB 00 5B 69 F2 00 1B>22<18 28 02 F4 00 00 AD       i{.[ir..".(.t..-   
 130:  F4 01 48 22 A2 07 06 7A 7A AE 7D 00 AD 7B 00 DA       t.H""..zz.}.-{.Z   
 140:  48 A2 0E 13 22 00 00 E1 B0 03 A9 00 00 8F 5C 02       H".."..a0.)...\.   
 150:  04 DA 48 A2 0E 15 22 00 00 E1 B0 03 A9 00 00 8F       .ZH".."..a0.)...   
 160:  5C 02 04 AE 7D 00 AD 7B 00 22 B5 6A 02 F0 26 AE       \...}.-{."5j.p&.   
 170:  7D 00 AD 7B 00 DA 48 A2 0E 11 22 00 00 E1 B0 03       }.-{.ZH".."..a0.   
 180:  A9 00 00 8F 5C 02 04 AE 7D 00 AD 7B 00 DA 48 22       )...\...}.-{.ZH"   
 190:  C3 11 02 7A 7A A9 0A 00 48 AD F4 01 38 22 1B 64       C..zz)..H-t.8".d   
 1A0:  02 7A 18 69 30 00 E2 20 8F 10 2B 03 C2 20 A9 0A       .z.i0.b ..+.B ).   
 1B0:  00 48 AD F4 01 38 22 1B 64 02 68 18 69 30 00 E2       .H-t.8".d.h.i0.b   
 1C0:  20 8F 11 2B 03 C2 20 F4 01 00 F4 0B 2B F4 0B 2B        ..+.B t..t.+t.+   
 1D0:  22 70 3B 0A 7A 7A 7A F4 3C 00 22 CF 13 05 7A 22       "p;.zzzt<."O..z"   
 1E0:  C8 00 00 AD F4 01 C9 19 00 F0 08 AD F4 01 C9 15       H..-t.I..p.-t.I.   
 1F0:  00 D0 05 A9 01 00 80 03 A9 00 00 85 F4 AE 69 00       .P.)....)...t.i.   
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
 Volume Name  : /FMP.GS           Side:  2  Track: $14       Mode   : COMMAND   
 Total blocks : $0640             Speed: 2  Sector:$08       Format : SCREEN   
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com