Index du Forum
IDENTIFICATION SERVEUR : 10.14.20.57 - CLIENT : 3.236.222.124

 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 

Silent Service (Microprose, 1985)

 
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: 3077
Localisation: Le Chesnay, France

MessagePosté le: Mer 17 Oct 2007, 21:38    Sujet du message: Silent Service (Microprose, 1985) Répondre en citant

THE submarine simulation. A complex game by Microprose, specialists of air and sea simulations.

Deckard tells me my crack is not complete as the game may crash during a round. As I have not played the game intensively, that might come, who knows?


PROTECTION TYPE
It is a standard DOS3.3 16-sector diskette.


DISK COPY
- Launch Locksmith 6.3 fast disk backup
- Copy the disk
- or, alternatively, copy the disk with Advanced Demuffin (B942:1Cool


REMOVE THE PROTECTION
Launch your favorite disk editor
Remove the first protection routine
- T5/S9/3B: 4C 3D 02 => 4C 9D 02
Remove a copy of the protection routine !!!
- T4/S9/3B: 4C 3D 02 => 4C 9D 02

The next message contains the complete protection routine disassembly.


Your backup copy is now ready,

Toinet
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: 3077
Localisation: Le Chesnay, France

MessagePosté le: Mer 17 Oct 2007, 21:41    Sujet du message: Répondre en citant

That is the disassembly of file \\ which contains the protection. The code modifies itself.

The aim of the protection is to make an indirect jump to $0200 which goes to the next loading step or goes to the HARDWARE FAILURE message.

Code:

*
* MICROPROSE : SILENT SERVICE
*
* BOOT PROGRAM: \\
*

         ORG   $000200
         MX    %11
         LST   OFF

*
*
*

LB900    =     $B900

PWREDUP  EQU   $03F4
ROMIN2   EQU   $C081
LCBANK2  EQU   $C083

*
*
*

L0200    NOP              ; D0 eor EA = $3A
L0201    NOP              ; $DB or $02

         LDA   #$8E
         STA   $03D1
         LDA   #$03
         STA   $03D2
         LDA   #$82
         STA   $D6
         INC   PWREDUP
         LDA   LCBANK2
         LDA   $37
         CMP   #$BE
         BCS   L022A

         LDA   #>LB900
         STA   L0248+2
         STA   L0278+2
         STA   L0260+2
         STA   L0290+2

L022A    LDA   #$D0       ; D0 eor
         EOR   L0200      ; EA =
         STA   L0200      ; 3A

         LDX   #$60       ; turn drive on
         LDA   $C089,X
L0237    JMP   L023D      ; Why not jump to $029D ?
L023A    JMP   L02C2

*

L023D    LDA   $0478      ; track
         ASL
         STA   $0478
L0244    LDA   #$43
         LDX   #$60
L0248    JSR   $F9A0      ; B9A0

         LDA   $0478      ; track
         LSR
         STA   $0478
         ASL
         STA   $047E

         LDA   #$00       ; read
         STA   $2E
         LDA   $C08C,X
         LDA   $C08E,X
L0260    JSR   $F944      ; B944
         BCS   L02A5      ; read error !

*

         LDA   L0244+1
         LSR
         CMP   $2E
         BNE   L02B3
         LDA   $0478
         ASL
         STA   $0478
         LDA   #$44
         LDX   #$60
L0278    JSR   $F9A0      ; B9A0
         LDA   $0478
         LSR
         STA   $0478
         ASL
         STA   $047E
         LDA   #$00
         STA   $2E
         LDA   $C08C,X
         LDA   $C08E,X
L0290    JSR   $F944      ; B944
         BCS   L02A5      ; read error
         LDA   L0244+1
         LSR
         CMP   $2E
         BNE   L02B3

* Synchro is equal !

L029D    LDA   #$DB       ; $DB3A
         STA   L0201
         JMP   L02AA

*

L02A5    LDA   #>L0200    ; $023A -> HARDWARE FAILURE
         STA   L0201
L02AA    LDA   $C088,X
         LDA   ROMIN2
         JMP   L02BB

L02B3    LDA   #>L0200    ; $023A -> HARDWARE FAILURE
         STA   L0201
         JMP   L02AA

L02BB    LDY   #>L02CD
         LDA   #<L02CD
         JMP   (L0200)    ; Indirect jump

L02C2    LDY   #>L02DD    ; BOING
         LDA   #<L02DD
         JSR   $DB3A
L02C9    JMP   L02C9

         HEX   00
L02CD    ASC   84
         ASC   "BLOADG"8D
         ASC   84
         ASC   "BRUNA"8D00
L02DD    ASC   "HARDWARE FAILURE"00
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
.



Inscrit le: 29 Mar 2007
Messages: 350

MessagePosté le: Jeu 18 Oct 2007, 9:02    Sujet du message: Répondre en citant

toinet a écrit:
Deckard tells me my crack is not complete as the game may crash during a round.


Pas un crash mais il me semble qu'il te fait perdre volontairement.

Il faut se taper le pseudo langage pour retrouver l'endroit où il effectue en cours de jeu un controle sur les informations qu'il a collectées au boot.

C'est fait exprès: tu as l'impression que ça marche et ne sont pénalisés que ceux qui y jouent vraiment.

A ma connaissance (infos MCS et Mr.Z), ce jeu n'a jamais été déplombé correctement.

JM

ps: il y a aussi une version spécifique IIGS.


Dernière édition par . le Jeu 18 Oct 2007, 16:32; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
toinet
Site Admin


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

MessagePosté le: Jeu 18 Oct 2007, 15:02    Sujet du message: Répondre en citant

I have just re-read the Solo Flight thread where the protection routine is in the file named P.

There is one in Silent Service that is full of false opcodes and once decoded contains the same protection as Solo Flight...

Code:

JSR $9508
PHP
PLA
STA $F7
RTS


I will update the "backup" procedure tonight...

Antoine
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: 3077
Localisation: Le Chesnay, France

MessagePosté le: Jeu 18 Oct 2007, 15:59    Sujet du message: Répondre en citant

Gotcha! The P file does not contain any false opcodes but swapped bytes.

Let me be clearer! The following code:
Code:

JSR $9508
PHP
PLA
STA $F7
RTS

should be coded:
Code:

20 08 95 08 68 85 F7 60


But the P file contains:
Code:

08 20 08 95 85 68 60 F7


Then, if you really want to tell the P routine that you have an original disk, you should:
- clear the carry and
- return with A = 0

SECOND PROTECTION REMOVAL
Launch your favorite disk editor
- on T5/S7/C: 90 18 9A 0F => A9 18 60 00
We never know, we have a copy of the protection there:
- on T4/S7/C: 90 18 9A 0F => A9 18 60 00

I will validate that update tonight...

Toinet
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
.



Inscrit le: 29 Mar 2007
Messages: 350

MessagePosté le: Jeu 18 Oct 2007, 16:30    Sujet du message: Répondre en citant

Si tu veux faire une étude des protections Microprose, tu peux déja lire le fichier intéressant écrit par MCS sur Déplombage mode d'emploi 7:

http://boutillon.free.fr/Underground/Deplombage/Depme/Depme7/Depme7.html

Le crack est celui de CONFLICT IN VIETNAM mais il est aussi mentionné Silent Service.

L'inversion des octets n'est que la 2nde protection. Le plus dur est après...

Pseudo code: GSL SYSTEM-VS1.9 de chez GALFO SYSTEMS

A mon avis, il reste aussi des choses à faire sur le crack de Solo Flight...

JM
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
toinet
Site Admin


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

MessagePosté le: Jeu 18 Oct 2007, 19:40    Sujet du message: Répondre en citant

Super intéressant cet article sur le langage utilisé. Je pense qu'il reste aussi du boulot mais je suis très surpris qu'il n'y ait pas de référence aux deux pistes contingues qui contiennent les mêmes codes.

Ne serait-ce point la manière de vérifier l'original et la copie ? Je vais chercher...

antoine
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