Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.1 - CLIENT : 54.224.216.155

 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 

Tower of Myraglen v1 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: 2936
Localisation: Le Chesnay, France

MessagePosté le: Mer 16 Mar 2016, 10:36    Sujet du message: Tower of Myraglen v1 IIgs (PBI, 1987) Répondre en citant

#810 - The Tower of Myraglen combines great graphics and digitized sound in an exciting arcade adventure fantasy game. It will challenge even the best gamer.

Protection type
The title comes on two 3.5" disks. Disk #1 is the boot program and is protected. The second contains the program and is not protected.
When you boot your copy, the game displays "You Must BOOT From The Master!"

How to copy
Use ZZCopy or Photonix II to copy your disks. You'll get a I/O error with disk #1, none with #2. Then, store your original disks in a dry and safe place.

Reverse engineering
It is a S16 program, so we'll use The Flaming Bird Disassembler.
On segment 4 of TOWER.SYS16, we find the string aforementioned, it is at address $177.
That address is used by a routine at $01/34B. This one being called in a routine at $01/1BCB. This is the main protection routine: it calls $1B8D that calls the protection at $04/0000, checks the result of the protection (that must be different from 0), if it is 0 then the code calls the routine that displays the message. Finally, that routine is called at $01/022D by a simple JSL. No checks, nothing else in the code.

How to crack
Launch Block.Warden and...
Code:

Prefix /TBOOT
Follow file TOWER.SYS16
At offset $272: 22 -> AF


Note that the game is not HDD installable. Note also that an alternate crack can be done by changing some bytes in the MYRAGLEN.SYS16 program file on disk #2. If you want to learn, do it (tip: see segment 5 for the infinite loop thing "C9 01 00 F0")

The disk images are 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 16 Mar 2016, 10:36    Sujet du message: Répondre en citant

And some code:

Code:

The main call
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
01/020F: 18                         CLC                                         
01/0210: 69E400                     ADC   #$00E4                               
01/0213: 48                         PHA                                         
01/0214: A204A62200                 _DrawCString                               
01/021B: 8F020002                   STAL  $020002                               
01/021F: F44B00                     PEA   $004B                                 
01/0222: A204A42200                 _DrawChar                                   
01/0229: 8F020002                   STAL  $020002                               
01/022D: 22CB1B00                   JSL   $011BCB         ; Call protection!   
01/0231: 22F20800                   JSL   $0108F2                               
01/0235: 22C01600                   JSL   $0116C0                               
01/0239: 7B                         TDC                                         
01/023A: 18                         CLC                                         
01/023B: 69FB00                     ADC   #$00FB                               
01/023E: 1B                         TCS                                         
01/023F: 2B                         PLD                                         
01/0240: 6B                         RTL                                         
01/0241: 0B                         PHD                                         
01/0242: 3B                         TSC                                         
01/0243: 38                         SEC                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Code that calls the protection on segment 4
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
01/1B8D: 0B                         PHD                                         
01/1B8E: 3B                         TSC                                         
01/1B8F: 38                         SEC                                         
01/1B90: E9FB00                     SBC   #$00FB                               
01/1B93: 5B                         TCD                                         
01/1B94: 69F400                     ADC   #$00F4                               
01/1B97: 1B                         TCS                                         
01/1B98: 64F6                       STZ   $F6                                   
01/1B9A: 22000004                   JSL   $040000         ; Call protection     
01/1B9E: 85F6                       STA   $F6                                   
01/1BA0: A5F6                       LDA   $F6                                   
01/1BA2: A8                         TAY                                         
01/1BA3: 7B                         TDC                                         
01/1BA4: 18                         CLC                                         
01/1BA5: 69FB00                     ADC   #$00FB                               
01/1BA8: 1B                         TCS                                         
01/1BA9: 98                         TYA                                         
01/1BAA: 2B                         PLD                                         
01/1BAB: 6B                         RTL                                         

The infinite loop

01/1BAC: 0B                         PHD                                         
01/1BAD: 3B                         TSC                                         
01/1BAE: 38                         SEC                                         
01/1BAF: E9FB00                     SBC   #$00FB                               
01/1BB2: 5B                         TCD                                         
01/1BB3: 69F400                     ADC   #$00F4                               
01/1BB6: 1B                         TCS                                         
01/1BB7: A90100                     LDA   #$0001                               
01/1BBA: 85F6                       STA   $F6                                   
01/1BBC: A5F6                       LDA   $F6             ; Loop!               
01/1BBE: C90100                     CMP   #$0001                               
01/1BC1: F0F9                       BEQ   $1BBC                                 
01/1BC3: 7B                         TDC                                         
01/1BC4: 18                         CLC                                         
01/1BC5: 69FB00                     ADC   #$00FB                               
01/1BC8: 1B                         TCS                                         
01/1BC9: 2B                         PLD                                         
01/1BCA: 6B                         RTL                                         

The main call to the protection

01/1BCB: 0B                         PHD                                         
01/1BCC: 3B                         TSC                                         
01/1BCD: 38                         SEC                                         
01/1BCE: E9FB00                     SBC   #$00FB                               
01/1BD1: 5B                         TCD                                         
01/1BD2: 69F400                     ADC   #$00F4                               
01/1BD5: 1B                         TCS                                         
01/1BD6: 64F6                       STZ   $F6                                   
01/1BD8: 228D1B00                   JSL   $011B8D         ; Call protection     
01/1BDC: 85F6                       STA   $F6                                   
01/1BDE: A5F6                       LDA   $F6                                   
01/1BE0: C90000                     CMP   #$0000          ; I/O error?         
01/1BE3: D004                       BNE   $1BE9                                 
01/1BE5: 224B0300                   JSL   $01034B         ; We have a copy     
01/1BE9: 7B                         TDC                   ; Or we're good!     
01/1BEA: 18                         CLC                                         
01/1BEB: 69FB00                     ADC   #$00FB                               
01/1BEE: 1B                         TCS                                         
01/1BEF: 2B                         PLD                                         
01/1BF0: 6B                         RTL                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Display the MASTER message!
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
01/034B: 0B                         PHD                   ; Show message       
01/034C: 3B                         TSC                                         
01/034D: 38                         SEC                                         
01/034E: E9FB00                     SBC   #$00FB                               
01/0351: 5B                         TCD                                         
01/0352: 69F600                     ADC   #$00F6                               
01/0355: 1B                         TCS                                         
01/0356: F40000                     PEA   $0000                                 
01/0359: A204152200                 _ClearScreen                               
01/0360: 8F020002                   STAL  $020002                               
01/0364: F40700                     PEA   $0007                                 
01/0367: A204A02200                 _SetForeColor                               
01/036E: 8F020002                   STAL  $020002                               
01/0372: F40000                     PEA   $0000                                 
01/0375: A204A22200                 _SetBackColor                               
01/037C: 8F020002                   STAL  $020002                               
01/0380: F43200                     PEA   $0032                                 
01/0383: F46400                     PEA   $0064                                 
01/0386: A2043A2200                 _MoveTo                                     
01/038D: 8F020002                   STAL  $020002                               
01/0391: F47701                     PEA   ^$030177        ; Master please!     
01/0394: F47701                     PEA   $030177                               
01/0397: A204A62200                 _DrawCString                               
01/039E: 8F020002                   STAL  $020002                               
01/03A2: 22AC1B00                   JSL   $011BAC                               
01/03A6: 7B                         TDC                                         
01/03A7: 18                         CLC                                         
01/03A8: 69FB00                     ADC   #$00FB                               
01/03AB: 1B                         TCS                                         
01/03AC: 2B                         PLD                                         
01/03AD: 6B                         RTL                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Some strings
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
03/0101: 4D75737420                 ASC   'Must Be 512K (768K)'00               
03/0115: 256C6400                   ASC   '%ld'00                               
03/0119: 4D656D6F72                 ASC   'Memory:  '00                         
03/0123: 2020202020                 ASC   '                              I     
03/0142: 2020202020                 ASC   '                              I     
03/0161: 416E206572                 ASC   'An error has occured.'00             
03/0177: 596F75204D                 ASC   'You Must BOOT From The Master!I     
03/0196: 2F54424F4F                 ASC   '/TBOOT/TITLE.COMPANY'00             
03/01AB: 2F54424F4F                 ASC   '/TBOOT/THUNDER.SOUND'00             
03/01C0: 2F54424F4F                 ASC   '/TBOOT/TITLE.COMPANY'00             
03/01D5: 4D616A6F72                 ASC   'Major Memory Error!'00               
03/01E9: 2F54424F4F                 ASC   '/TBOOT/TITLE.SOUND'00               
03/01FC: 2F54424F4F                 ASC   '/TBOOT/TITLE.SOUND'00               
03/020F: 2F54424F4F                 ASC   '/TBOOT/TITLESCREEN1'00               
03/0223: 2F54424F4F                 ASC   '/TBOOT/TITLESCREEN2'00               
03/0237: 2F54424F4F                 ASC   '/TBOOT/TITLESCREEN3'00               
03/024B: 2F546F7765                 ASC   '/Tower.Game/Level.1'00               
03/025F: 726200                     ASC   'rb'00                               
03/0262: 496E736572                 ASC   'Insert '00                           
03/026A: 50524F4752                 ASC   'PROGRAM'00                           
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: 2936
Localisation: Le Chesnay, France

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

And the Block.Warden view:

Code:

Block: $040F (1039)     Volume name: TBOOT           Tuesday    16-Mar-16  9:59
Prefix: /TBOOT/                                                                 
Following: TOWER.SYS16, Type S16, Rel block 2, Byte $000272                     
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F            Edit mode
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    Z 000: 7B 18 69 E4 00 48 22 26 1C 00 A8 3B 18 69 0C 00   {.id.H"&..(;.i..   
  b Z 010: 1B 98 F4 07 00 A2 04 A0 22 00 00 E1 8F 02 00 02   ..t..". "..a....   
B y Z 020: F4 00 00 A2 04 A2 22 00 00 E1 8F 02 00 02 F4 05   t..".""..a....t.   
L   Z 030: 00 F4 14 00 A2 04 3A 22 00 00 E1 8F 02 00 02 F4   .t..".:"..a....t   
O G Z 040: 19 01 F4 19 01 A2 04 A6 22 00 00 E1 8F 02 00 02   ..t..".&"..a....   
C l Z 050: F4 00 00 7B 18 69 E4 00 48 A2 04 A6 22 00 00 E1   t..{.id.H".&"..a   
K e Z 060: 8F 02 00 02 F4 4B 00 A2 04 A4 22 00 00 E1 8F 02   ....tK.".$"..a..   
  n Z 070: 00 02>22<CB 1B 00 22 F2 08 00 22 C0 16 00 7B 18   .."K.."r.."@..{.   
W   Z 080: 69 FB 00 1B 2B 6B 0B 3B 38 E9 F7 00 5B 69 F2 00   i{..+k.;8iw.[ir.   
A B Z 090: 1B A0 04 00 B7 FD 09 00 80 A0 04 00 97 FD A0 02   . ..7}... ...} .   
R r Z 0A0: 00 B7 FD AA A7 FD A8 7B 18 69 F7 00 1B 98 2B 6B   .7}*'}({.iw...+k   
D e Z 0B0: 0B 3B 38 E9 F7 00 5B 69 EE 00 1B AE 2E 00 AD 2C   .;8iw.[in.....-,   
E d Z 0C0: 00 DA 48 A2 0E 11 22 00 00 E1 8F 02 00 02 AE 2E   .ZH".."..a......   
N o Z 0D0: 00 AD 2C 00 DA 48 A2 0E 13 22 00 00 E1 8F 02 00   .-,.ZH".."..a...   
  n Z 0E0: 02 AE 2E 00 AD 2C 00 DA 48 A2 04 1B 22 00 00 E1   ....-,.ZH".."..a   
    Z 0F0: 8F 02 00 02 F4 0F 00 F4 0F 00 A2 04 3A 22 00 00   ....t..t..".:"..   
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