Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.65 - CLIENT : 54.198.243.51

 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 

Mini-Putt IIgs (Accolade, 1988)

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

MessagePosté le: Mer 02 Mar 2016, 16:55    Sujet du message: Mini-Putt IIgs (Accolade, 1988) Répondre en citant

#791 - The wackiest miniature golf game in the world! Straitjacket not included!

Protection type
On a standard 800k 3.5" disk, we have our standard Apple IIgs nibble length protection scheme. You know, the one we have described dozens of times, at least for the way to remove the protection, not for describing the protection by itself. Note to self: do!

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

Reverse tracing
When you launch the game, a message asking for the insertion of the signature disk (the key disk = the original disk) is displayed. That string is in segment 9 at $108.
That string is drawn in segment 1 at address $100 and...
...oops, we're done. It is the simpliest Accolade inclusion of their usual protection scheme. So, let's add some text...
- The protection is in segment $21 (the only one with no name)
- It is called for init in segment 1, offset $CD
- It is then called for taking the lengths at $14/362
The track lengths are stored in segment 3 but are not used by any other code, so we're good.

How to crack
Launch Block.Warden then
Code:

Prefix /Miniputt
Follow file MINIPUTT.SYS16
At offset $112: 22 -> AF
At offset $11B: 22 -> AF


The disk image is at http://www.brutaldeluxe.fr/crack/

Reboot and... enjoy,

LoGo
3/2016
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: 2936
Localisation: Le Chesnay, France

MessagePosté le: Mer 02 Mar 2016, 16:56    Sujet du message: Répondre en citant

And the code, from the strings to the main call

Code:

The protection strings
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
09/0108: 4D696E6950                 ASC   'MiniPutt Signature VerificatioI     
09/0128: 5075742061                 ASC   'Put a signature disk in any 3.I     
09/014E: 616E642070                 ASC   'and press a key.'00                 
09/015F: 2020285072                 ASC   '  (Press <Esc> to quit)'00           
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

The main protection check routine (segment SUBS4)
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
14/0362: E230                       SEP   #$30            ; Entry point         
14/0364: A220                       LDX   #$20                                 
14/0366: A001                       LDY   #$01                                 
14/0368: 22A80314                   JSL   $1403A8         ; read track         
14/036C: B018                       BCS   $0386                                 
14/036E: 8E95F3                     STX   $03F395         ; save length         
14/0371: 8C96F3                     STY   $03F396                               
14/0374: A221                       LDX   #$21                                 
14/0376: A001                       LDY   #$01                                 
14/0378: 22A80314                   JSL   $1403A8         ; read track         
14/037C: B008                       BCS   $0386                                 
14/037E: 8E97F3                     STX   $03F397         ; save length         
14/0381: 8C98F3                     STY   $03F398                               
14/0384: 8004                       BRA   $038A                                 
14/0386: C230                       REP   #$30                                 
14/0388: 38                         SEC                   ; read error         
14/0389: 6B                         RTL                                         
14/038A: C230                       REP   #$30            ; now compare         
14/038C: AD95F3                     LDA   $03F395                               
14/038F: C96C20                     CMP   #$206C                               
14/0392: 90F2                       BCC   $0386                                 
14/0394: C90321                     CMP   #$2103                               
14/0397: B0ED                       BCS   $0386           ; not in range 1     
14/0399: AD97F3                     LDA   $03F397                               
14/039C: C9B01D                     CMP   #$1DB0                               
14/039F: 90E5                       BCC   $0386                                 
14/03A1: C9791E                     CMP   #$1E79                               
14/03A4: B0E0                       BCS   $0386           ; not in range 2     
14/03A6: 18                         CLC                   ; we're good         
14/03A7: 6B                         RTL                                         
14/03A8: E230                       SEP   #$30            ; Call the read routi
14/03AA: 18                         CLC                                         
14/03AB: 8E89F3                     STX   $03F389                               
14/03AE: 8C8AF3                     STY   $03F38A                               
14/03B1: 5A                         PHY                                         
14/03B2: DA                         PHX                                         
14/03B3: F40300                     PEA   ^$03F38C                             
14/03B6: F48CF3                     PEA   $03F38C                               
14/03B9: 22C10021                   JSL   $2100C1         ; here               
14/03BD: 8D8BF3                     STA   $03F38B         ; save status         
14/03C0: 68                         PLA                                         
14/03C1: 68                         PLA                                         
14/03C2: 68                         PLA                                         
14/03C3: 68                         PLA                                         
14/03C4: 68                         PLA                                         
14/03C5: 68                         PLA                                         
14/03C6: AD8BF3                     LDA   $03F38B         ; return it           
14/03C9: 6B                         RTL                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

The main protection calls on the main segment
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
01/00C9: AD02D8                     LDA   $03D802         ; Get mem ID         
01/00CC: 48                         PHA                                         
01/00CD: 22000021                   JSL   $210000         ; Prepare protection 
01/00D1: 68                         PLA                                         
01/00D2: 22920014                   JSL   $140092         ; check carry         
01/00D6: 22620314                   JSL   $140362         ; Do the check       
01/00DA: B003                       BCS   $00DF           ; error               
01/00DC: 82BE00                     BRL   $019D           ; we're good         
01/00DF: F40100                     PEA   $0001           ; Ask the gentle     
01/00E2: A204A02200                 _SetForeColor         ; user to insert     
01/00E9: F40000                     PEA   $0000           ; the signature       
01/00EC: A204A22200                 _SetBackColor         ; disk...             
01/00F3: F42800                     PEA   $0028                                 
01/00F6: F41400                     PEA   $0014                                 
01/00F9: A2043A2200                 _MoveTo                                     
01/0100: F40900                     PEA   ^$090108                             
01/0103: F40801                     PEA   $090108                               
01/0106: A204A62200                 _DrawCString                               
01/010D: F41400                     PEA   $0014                                 
01/0110: F43200                     PEA   $0032                                 
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS


No Block.Warden view this time Wink
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