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 

Beyond Castle Wolfenstein (MUSE, 1984)

 
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: Mer 27 Avr 2016, 16:44    Sujet du message: Beyond Castle Wolfenstein (MUSE, 1984) Répondre en citant

#839 - Like August 1939, a month before the official beginning of World War II. You know that game, plenty of people have enjoyed it. So let's crack it.

Disk structure
We have a single-sided floppy disk with $23 tracks. Tracks 0 to 2 are readable (except 2 sectors on track 0) and tracks 3 to $22 are unreadable.
There is no extra track.
An analysis with the nibble editor of Copy II plus shows the following markers:
- T0-2 D5AA96 DEAA / D5AAAD DEAA
- T3-22: D5DA96 DEDA / D5DAAD DEDA
The AA is changed to DA.
The volume number is 1.
This is a modified DOS 3.3 floppy disk.

How to copy
We'll use our beloved cracking machine, the Apple IIgs. We launch the game and let it boot. At the main screen, we enter the monitor and grab the RWTS:
Code:

10/B600<00/B600.BFFFM
00/

We reboot with our copy disk and launch Advanced Demuffin 1.4, we press P to bypass boot.
Now:
1. Copy tracks 0 to 2 with the standard RWTS, you'll get two errors on track 0
2. Enter the monitor and
Code:

00/B600<10/B600.BFFFM
Press Control-Y

3. Copy tracks 3 to $22

Let's normalize the disk
Launch DiskFixer from my copy disk, insert your copy of Beyond Castle Wolfenstein and perform the following changes:
[code]
Optional:
- T0/S0/55: 02 -> 0E, to correct the interleaving table
- Read T0/SE, Write to T0/S8
Mandatory:
- T0/S7/95: E7 BC -> 5A BE, to avoid using the change of markers if track is >=3
- T2/S4/3: 90 -> 4A, to correct the DOS 3.3 INIT routine and bypass the same T3++ change of markers

Some info
There are two routines that are used by their modified DOS 3.3 to set the right markers based on the track number.
The main one at $BCE7 will call a routine at $B6B6 and $B6CE that will change all AA with DA or DA with AA depending on the track number. One nibble from the translation table will also be patched (see $B6CA). The purpose of the routine at $B6CE is to decypher the routine at $BCE7, write DOS on tracks 0-2 (you remember, the one patched in T2/S4) and recode the $BCE7 routine.

If one edits T1A/S1, you'll see a list of equates of the source code and one, for address $BCE9 is called... PROTECT Wink

An alt. crack
The PROTECT flag is used to change the markers or not depending on the track number. If we change its reference, we can also play. I have not tested the INIT routine here.
Launch DiskFixer and
[code]
T0/S0/D2: 04 -> BE, protected track +1 now becomes $BE
T0/S6/E9: 03 -> BD, protected track is now $BD instead of 3
T16/S8/BD: 8D -> AD, keep $BCE9 as it is in the INIT binary file
[/code]

A second alt. crack (hum)
Just do like other pirates from the '80s have done: replace the DOS 3.3...

The disk images are available at http://www.brutaldeluxe.fr/crack/

Reboot and... enjoy,

LoGo
4/2016


Dernière édition par toinet le Mer 27 Avr 2016, 16:48; é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: 3043
Localisation: Le Chesnay, France

MessagePosté le: Mer 27 Avr 2016, 16:48    Sujet du message: Répondre en citant

And some code

Code:

B6B6:8D 58 B8       STA   $B858         Patch the markers
B6B9:8D A3 B8       STA   $B8A3         
B6BC:8D F1 B8       STA   $B8F1         
B6BF:8D 3F B9       STA   $B93F         
B6C2:8D 5F B9       STA   $B95F         
B6C5:8D 7F BC       STA   $BC7F         
B6C8:49 70          EOR   #$70         
B6CA:8D 4C BA       STA   $BA4C         And the nibble trans table
B6CD:60             RTS                 
B6CE:AD E9 BC       LDA   $BCE9         which track?
B6D1:C9 04          CMP   #$04          <4, we skip
B6D3:90 75          BCC   $B74A         
B6D5:20 DB B6       JSR   $B6DB         decode
B6D8:20 4A B7       JSR   $B74A         init
B6DB:AD 95 BD       LDA   $BD95         recode
B6DE:49 1C          EOR   #$1C          patch init routine
B6E0:8D 95 BD       STA   $BD95         
B6E3:8D D7 BE       STA   $BED7         
B6E6:AD 03 AF       LDA   $AF03         patch the DOS 3.3 init code
B6E9:49 DA          EOR   #$DA         
B6EB:8D 03 AF       STA   $AF03         
B6EE:A0 12          LDY   #$12          de/cypher
B6F0:B9 E7 BC       LDA   $BCE7,Y       
B6F3:59 0B B0       EOR   $B00B,Y       
B6F6:99 E7 BC       STA   $BCE7,Y       
B6F9:88             DEY                 
B6FA:D0 F4          BNE   $B6F0         
B6FC:60             RTS                 

The main routine

BCE7:48             PHA                 save A
BCE8:C9 03          CMP   #$03          which track?
BCEA:B0 04          BCS   $BCF0         OK, patch markers
BCEC:A9 AA          LDA   #$AA          use the std AA
BCEE:D0 02          BNE   $BCF2         
BCF0:A9 DA          LDA   #$DA          or the new DA
BCF2:20 B6 B6       JSR   $B6B6         set all markers
BCF5:A9 0E          LDA   #$0E          patch interleaving
BCF7:8D 55 B6       STA   $B655         table (normally not used)
BCFA:68             PLA                 restore A
BCFB:4C 5A BE       JMP   $BE5A         return to normal code


FYI, the volume number is not part of the equation, the code in the RWTS is NOPed not to generate an error if the requested volume is not the volume read from the floppy disk. See T0/S2, you'll get two NOPs
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