Index du Forum
IDENTIFICATION SERVEUR : 51.83.10.223 - CLIENT : 3.214.224.224

 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 

Sea strike IIgs (PBI, 1987)

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

MessagePosté le: Dim 24 Avr 2016, 10:49    Sujet du message: Sea strike IIgs (PBI, 1987) Répondre en citant

#830 - Varoom!! An F-14 Tomcat buzzes by your attack helicopter, you take evasive actions firing everything you've got at it... Fun for ages 5 years old to adult.

Protection type
This is a bad block protection scheme. Checked several times during the game. The game will display "You Must BOOT From The Master!" if a copy is found.

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

Tracing
As usual, we'll use The Flaming Bird Disassembler. We find the protection text string in file SEASTRIKE.GAME in the arrays segment at $03/D6A. We then search where it is used then find the place where the volume name is used (segment 4 at $2CF). It returns with value #$0B with an original or #$00 with a copy. It is called by segment 6 at $224. Going backwards shows a call to it by segment 6 at $E75. The value of #$0000 is checked, if it is found then the text is displayed by the routine at $06/978 and loops, otherwise we exit from the routine.
As I wrote, there are several calls to the protection located at $06/E75. One is in segment 7 at $1502.
What we will do is to put a RTL at the entry of the routine at $06/E75 and that will do the trick. The returned value is not checked: we either return or not, so we'll return in any case.

How to crack
Launch Block.Warden and
Code:

Prefix /SEASTRIKE
Follow file SEASTRIKE.GAME
At offset $CB28: 08 -> 6B


Reboot and... enjoy,

LoGo
4/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: 3043
Localisation: Le Chesnay, France

MessagePosté le: Dim 24 Avr 2016, 10:49    Sujet du message: Répondre en citant

Some code

Code:

The alert string
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
03/0D61: 0B                         DB    $0B                                   
03/0D62: C0                         DB    $C0                                   
03/0D63: 0C                         DB    $0C                                   
03/0D64: D0                         DB    $D0                                   
03/0D65: 0D                         DB    $0D                                   
03/0D66: E0                         DB    $E0                                   
03/0D67: 0E                         DB    $0E                                   
03/0D68: F0                         DB    $F0                                   
03/0D69: 0F                         DB    $0F                                   
03/0D6A: 596F75204D                 ASC   'You Must BOOT From The Master!I     
03/0D89: 00                         DB    $00                                   
03/0D8A: 00                         DB    $00                                   
03/0D8B: 77                         DB    $77                                   
03/0D8C: 07                         DB    $07                                   
03/0D8D: 41                         DB    $41                                   
03/0D8E: 08                         DB    $08                                   
03/0D8F: 2C                         DB    $2C                                   
03/0D90: 07                         DB    $07                                   
03/0D91: 2F                         DB    $2F                                   
03/0D92: 02                         DB    $02                                   
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

The entry point of the protection (read a bad block)
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
04/02CF: 18                         CLC                   ; Entry point         
04/02D0: FB                         XCE                                         
04/02D1: C230                       REP   #$30                                 
04/02D3: A2E602                     LDX   #$02E6                               
04/02D6: A00400                     LDY   #^$02E6                               
04/02D9: 22F10200                   JSL   $0402F1                               
04/02DD: C90B00                     CMP   #$000B                               
04/02E0: F003                       BEQ   $02E5                                 
04/02E2: A90000                     LDA   #$0000                               
04/02E5: 6B                         RTL                                         
04/02E6: 0A2F534541                 STR   '/SEASTRIKE'                         
04/02F1: 18                         CLC                                         
04/02F2: FB                         XCE                                         
04/02F3: C230                       REP   #$30                                 
04/02F5: 0B                         PHD                                         
04/02F6: 8B                         PHB                                         
04/02F7: DA                         PHX                                         
04/02F8: 5A                         PHY                                         
04/02F9: 22040400                   JSL   $040404                               
04/02FD: B014                       BCS   $0313                                 
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

The call of the protection
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
06/0224: 0B                         PHD                                         
06/0225: 3B                         TSC                                         
06/0226: 38                         SEC                                         
06/0227: E9FB00                     SBC   #$00FB                               
06/022A: 5B                         TCD                                         
06/022B: 69F400                     ADC   #$00F4                               
06/022E: 1B                         TCS                                         
06/022F: 64F6                       STZ   $F6                                   
06/0231: 22CF0204                   JSL   $0402CF         ; Call protection     
06/0235: 85F6                       STA   $F6             ; return value       
06/0237: A5F6                       LDA   $F6                                   
06/0239: A8                         TAY                                         
06/023A: 7B                         TDC                                         
06/023B: 18                         CLC                                         
06/023C: 69FB00                     ADC   #$00FB                               
06/023F: 1B                         TCS                                         
06/0240: 98                         TYA                                         
06/0241: 2B                         PLD                                         
06/0242: 6B                         RTL                                         
06/0243: 0B                         PHD                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

The comment says it all!
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
06/0E75: 0B                         PHD                   ; The parent caller   
06/0E76: 3B                         TSC                                         
06/0E77: 38                         SEC                                         
06/0E78: E9FB00                     SBC   #$00FB                               
06/0E7B: 5B                         TCD                                         
06/0E7C: 69F400                     ADC   #$00F4                               
06/0E7F: 1B                         TCS                                         
06/0E80: 64F6                       STZ   $F6                                   
06/0E82: 22240200                   JSL   $060224                               
06/0E86: 85F6                       STA   $F6                                   
06/0E88: A5F6                       LDA   $F6                                   
06/0E8A: C90000                     CMP   #$0000                               
06/0E8D: D00D                       BNE   $0E9C                                 
06/0E8F: A5F6                       LDA   $F6                                   
06/0E91: C90000                     CMP   #$0000                               
06/0E94: D006                       BNE   $0E9C                                 
06/0E96: 22780900                   JSL   $060978                               
06/0E9A: 80F3                       BRA   $0E8F                                 
06/0E9C: 7B                         TDC                                         
06/0E9D: 18                         CLC                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

An example (segment 7)
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
07/1502: 0B                         PHD                                         
07/1503: 3B                         TSC                                         
07/1504: 38                         SEC                                         
07/1505: E9FB00                     SBC   #$00FB                               
07/1508: 5B                         TCD                                         
07/1509: 69F000                     ADC   #$00F0                               
07/150C: 1B                         TCS                                         
07/150D: 64F2                       STZ   $F2                                   
07/150F: 22750E06                   JSL   $060E75         ; One of the calls           
07/1513: 64F6                       STZ   $F6                                   
07/1515: A5F2                       LDA   $F2                                   
07/1517: F003                       BEQ   $151C                                 
07/1519: 823802                     BRL   $1754                                 
07/151C: A5F6                       LDA   $F6                                   
07/151E: 38                         SEC                                         
07/151F: E90A00                     SBC   #$000A                               
07/1522: 7003                       BVS   $1527                                 
07/1524: 490080                     EOR   #$8000                               
07/1527: 1003                       BPL   $152C                                 
07/1529: 822802                     BRL   $1754                                 
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: 3043
Localisation: Le Chesnay, France

MessagePosté le: Dim 24 Avr 2016, 10:50    Sujet du message: Répondre en citant

The Block.Warden view

Code:

Block: $05B4 (1460)     Volume name: SEASTRIKE       Sunday     11-Apr-16  5:54
Prefix: /SEASTRIKE/                                                             
Following: SEASTRIKE.GAME, Type S16, Rel block 102, Byte $00CB28               
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F            Edit mode
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    Z 100: EA 7B 18 69 FB 00 1B 2B 6B 0B 3B 38 E9 FB 00 5B   j{.i{..+k.;8i{.[   
  b Z 110: 69 F4 00 1B A9 01 00 85 F6 A5 F6 C9 01 00 F0 F9   it..)...v%vI..py   
B y Z 120: 7B 18 69 FB 00 1B 2B 6B>0B<3B 38 E9 FB 00 5B 69   {.i{..+k.;8i{.[i   
L   Z 130: F4 00 1B 64 F6 22 24 02 00 85 F6 A5 F6 C9 00 00   t..dv"$...v%vI..   
O G Z 140: D0 0D A5 F6 C9 00 00 D0 06 22 78 09 00 80 F3 7B   P.%vI..P."x...s{   
C l Z 150: 18 69 FB 00 1B 2B 6B F7 25 00 00 00 01 81 06 47   .i{..+kw%......G   
K e Z 160: 5E 6A 73 7C 85 8E 00 E4 00 43 01 2A 89 01 39 74   ^js|...d.C.*..9t   
  n Z 170: 01 08 25 01 06 65 01 9B FA 01 6D E9 84 02 12 83   ..%..e..z.mi....   
W   Z 180: 97 F7 B5 00 00 00 02 02 0F 1E 25 06 37 3E AA B5   .w5.......%.7>*5   
A B Z 190: BF C9 F3 13 14 32 5B 61 71 77 7D 86 8C 9A A0 A6   ?Is..2[aqw}... &   
R r Z 1A0: AF B5 C3 C9 D7 DD F9 FF 14 05 0E 14 27 32 3B 4F   /5CIW]y....'2;O   
D e Z 1B0: 58 7D A1 A7 B7 BD C3 CC D2 E0 E6 EC F5 FB 10 09   X}!'7=CLR`flu{..   
E d Z 1C0: 0F 1D 23 3F 45 4B 54 5A 6D 78 81 95 9E C3 E0 E7   ..#?EKTZmx...C`g   
N o Z 1D0: 04 A7 AE E0 E7 F4 14 01 1B 33 40 47 7D 83 93 99   .'.`gt...3@G}...   
  n Z 1E0: 9F A8 AE BC C2 C8 D1 D7 E5 EB F9 FF 0F 1B 21 27   .(.<BHQWeky..!'   
    Z 1F0: 30 36 49 54 5D 78 7E 8B 91 B4 C0 C9 EE 17 12 18   06IT]x~..4@In...   
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