Index du Forum
IDENTIFICATION SERVEUR : 51.83.10.13 - CLIENT : 100.24.122.228

 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 

Math facts tracker (Mastery development, 1990)

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

MessagePosté le: Lun 25 Mai 2015, 9:18    Sujet du message: Math facts tracker (Mastery development, 1990) Répondre en citant

This is the demo disk of an eduware to teach the four basic math operations to students: addition, subtraction, multiplication and division.

DISK FORMAT
A first look at the disk structure with Locksmith fast disk backup shows that tracks 0-2 are readable, the remaining ones being unreadable (ie. protected).

We'll then view the nibble structure with Copy II plus. As usual, some items must be checked:
- track $23: none, it is a 35-track diskette,
- the markers on the first three tracks are the standard ones,
- the markers on the rest of the floppy have been modified: the header ones are D5AAAD DEAA, and the data markers are D5AA96 DEAA. The header and data markers have been changed.

COPY THE DISK
Launch Advanced Demuffin, press P to pass boot, then:
- copy the first three tracks T0-T2
- enter the monitor, exchange the markers:
Code:

B8FD:96
B96A:AD

- press control-Y
- now copy tracks T3 to T22 (in hex)

Reboot and... cry... The program does not load... There must be some code to set the new markers based on the head position ("if I'm on the first three tracks, I set the standard markers, otherwise I must the protected ones").

REMOVE THE PROTECTION
Launch Disk Fixer v4 and perform the following changes:
- enter the Options screen, set the DOS TYPE as ProDOS
- T0/S1/63: E6 -> 00 (for markers)
- T1F/S2/F1: AD -> 96 (for markers)
- TB/D/36: 11 -> 00 (for demo expiration)
- TB/D/38: 0F -> 00 (for demo expiration)

Reboot and... enjoy,

LoGo
5/2015
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: 3019
Localisation: Le Chesnay, France

MessagePosté le: Lun 25 Mai 2015, 10:11    Sujet du message: Répondre en citant

This is the extract of the code of boot1 that sets the markers depending on the block number. If it is <$18 then we use the standard markers, the protected ones otherwise.

Code:

L094A    STA   $0A0B      ; save markers
         STX   $0A12
         JMP   ($0048)    ; and read data

         NOP
         NOP
L0955    JMP   L0955

L0958    LDA   $46        ; which block to R/W?
         CMP   #$18       ; is it block $18?
         BCC   L0964
         LDX   #$96       ; higher, new markers
         LDA   #$AD
         BNE   L094A
L0964    LDX   #$AD       ; lower, std markers
         LDA   #$96
         BNE   L094A


What you can see is that the pseudo-ProDOS system file must reside in the first 256 blocks, otherwise, the read will fail. There is no check for the high-byte value of the block number.
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: 3019
Localisation: Le Chesnay, France

MessagePosté le: Lun 25 Mai 2015, 10:13    Sujet du message: Répondre en citant

This is the extract from the pseudo-ProDOS system file which sets the markers depending on the block number. What is great here is that it handles the high-byte value of the block number.

Code:

         LDA   $42        ; which command is it?
         CMP   #$04
         BCS   L81DA
         LDA   $46        ; which block to R/W?
         CMP   #$18       ; is it block $18?
         LDX   $47        ; block high value?
         STX   $D856
         BEQ   L81EE
         DEX
         BNE   L81DA
         BCC   L81F0
L81DA    SEC
         RTS

L81DC    LDY   #$96       ; std markers
L81DE    PHA              ; set markers
         TYA
         STA   $D8C0
         EOR   #$3B       ; 96 eor 3B = AD!!
         STA   $D950
         STA   $DA31
         PLA
         CLC
         RTS
L81EE    BCC   L81DC

L81F0    LDY   #$AD       ; new markers
         BNE   L81DE


The routine at $81DC is smart!
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: 3019
Localisation: Le Chesnay, France

MessagePosté le: Lun 25 Mai 2015, 10:16    Sujet du message: Répondre en citant

And now, if you play the demo, you will see that after a certain period of time, you will be asked to purchase the program.

Moreover, if you use it more than 150 times, the program will display a message to teachers, asking you to print the students' data. If you have no printer, then you are stuck. If you delete the students' data and try to use that as a workaround, you will remain at the same level: there is a bug!! You cannot print out something that does not exist.

So, let's remove the check in the ABOUT program.

Code:

         LDY   $1DAE      ; Check the time usage
         LDX   $1DAF
         CPX   $1D97
         BNE   L8217
         CPY   $1D96
L8217    BEQ   L821B
         BCS   L8220
L821B    JSR   $90A1
         SEC              ; We've used it for too long!
         RTS

L8220    JSR   $D851      ; Check the number of tries
         LDY   #$02
         LDX   #$00
         JSR   $D863
         JSR   $D84E
         CPX   $1D97      ; And we've also used it
         BNE   L8235      ; too many times
         CPY   $1D96
L8235    BEQ   L8248      ; If we jump from here
         BCC   L8248      ; Then, we've overused it
L8239    LDA   $02FD
         BNE   L8246
         JSR   $900F
         LDA   #$FF
         STA   $02FD
L8246    CLC
         RTS

L8248    LDY   $1DA2      ; Too much use!!
         LDX   $1DA3      ; If you wanna play again
         JSR   $D851      ; Purchase my program
         LDY   $1DA4
         LDX   $1DA5
         JSR   $D85A
         JSR   $D84E
         CPX   #$00
         BNE   L8263
         CPY   #$04
L8263    BCS   L8239
         CPY   #$02
         BPL   L8271
         LDA   #$01
         STA   $1DA2
         STA   $1DA4
L8271    JSR   $D866
         JSR   $D821
         LDA   #$01
         JSR   $D80F
         LDA   #$08
         JSR   $D80C
         LDY   #$2C
         LDX   #$00
         JSR   $D809
         LDA   #$C8
         JSR   $D896
         LDA   #$00
         JSR   $D803
         JSR   $D824
         ASC   "A MESSAGE FOR THE TEACHER\"00
         LDA   #$04
         JSR   $D893
         LDA   #$00
         JSR   $D80F
         JSR   $D824
         ASC   "This disk has been used over 150 times\"
         ASC   "by your students.  An enormo"


To bypass the check (but leave the time one), we'll change the BCC & BEQ jump addresses at $8235.

That is an interesting check... That *was* Wink
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: 3019
Localisation: Le Chesnay, France

MessagePosté le: Lun 25 Mai 2015, 10:16    Sujet du message: Répondre en citant

As usual, the file can be downloaded from http://www.brutaldeluxe.fr/crack/

LoGo
5/2015
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