Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.129 - CLIENT : 54.156.58.187

 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 

Life and death IIgs (The Software Toolworks, 1989)

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

MessagePosté le: Mer 15 Juin 2016, 14:13    Sujet du message: Life and death IIgs (The Software Toolworks, 1989) Répondre en citant

#878 - You are the surgeon! Do not buy or play this program if you are faint-of-heart! Life & Death is the world's first interactive medical movie... In the operating room, your skill with the scalpel while monitoring on-screen EKG, pulse, blood pressure and other vital signs will determine whether your patient goes to recevory... or the morgue!

Disk structure
The package contains two 3.5" disks. Two standard ProDOS ones, 800K, that can be copied. The game boots with disk 1 and contains a copy of GS/OS.

Protection type
This is an off-disk protection. You log in, you attend class, you examine your patient and if you want to operate your patient, you must call back one of the doctors. If the composed number does not match the doctor's one, then you cannot enter the OR. That is as simple as that!

Digging into the program
When in the phone number page, you have to compose a four digits number, that's how we started the crack: C9 04 00 (or CMP #$0004 in 16-bit). You will find a couple of them in the HOSPITAL file but, thanks to The Flaming Bird Disassembler, it was easy to navigate within the code. When we wanted to validate our researches, we launched the program, entered the monitor and put a BRK (value 00) at the right address.
For instance, as I wanted to ensure that the C9 04 00 at $24C5 was the right one, I put a 00 at $24C5. I played the program until I had to click on the telephone number and... crash.
So, we had the right comparison. By looking at the code, we had to jump to $266A and we put a BRK after each JSL. This is after the third call (call of $82ED at address $2688) that we knew that the telephone number comparison was done.
So, let's focus on $82ED. The code is easy to understand: 1/ does my number match the awaited one? 2/ If so, are we on the telephone page? Then, we display a (stupid/interesting) message to the player and tell the program to go to the next screen (ie. authorize the access to the OR) by putting a #4 at global address $1A7A (of segment 3)
What we will do to crack it is: 1/ always keep the telephone page, 2/ always tell the number is OK by changing the Branch Not Equal jump at $82FD.

How to crack
Launch Block.Warden and
Code:

Prefix /L.AND.D.DISK.1/L.AND.D
Follow file HOSPITAL
At offset $833E: 24 -> 00


Disk image 1 of the 2 disks is at http://www.brutaldeluxe.fr/crack/ - Grab the second from Alex Lee's website. I have troubles copying the second disk (ie. my second disk is bad)

Reboot and... enjoy,

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

MessagePosté le: Mer 15 Juin 2016, 14:13    Sujet du message: Répondre en citant

Some code

Code:

Arrays for the phone call (we don't use them here)
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
03/401A: 7400                       ASC   't'00                                 
03/401C: 7468652000                 ASC   'the '00                             
03/4021: 6869732000                 ASC   'his '00                             
03/4026: 6865722000                 ASC   'her '00                             
03/402B: 00                         ASC   00                                   
03/402C: 43616C6C20                 ASC   'Call Dr. %s %s %s%s on line %dI     
03/404B: 2020202020                 ASC   '      -Monica'00                     
03/4059: 00                         DB    $00                                   
03/405A: 00                         DB    $00                                   
03/405B: 00                         DB    $00                                   
03/405C: 00                         DB    $00                                   
03/405D: 00                         DB    $00                                   
03/405E: 00                         DB    $00                                   
03/405F: 00                         DB    $00                                   
03/4060: 00                         DB    $00                                   
03/4061: 00                         DB    $00                                   
03/4062: 00                         DB    $00                                   
03/4063: 00                         DB    $00                                   
03/4064: 00                         DB    $00                                   
03/4065: 00                         DB    $00                                   
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

This is where the off-disk protection is called
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
01/2496: F40000                     PEA   $0000                                 
01/2499: F42618                     PEA   ^$031826                             
01/249C: F42618                     PEA   $031826                               
01/249F: A2040E2200                 _SetColorTable                             
01/24A6: B003                       BCS   $24AB                                 
01/24A8: A90000                     LDA   #$0000                               
01/24AB: 8F020002                   STAL  $020002                               
01/24AF: AF7A1A03                   LDAL  $031A7A         
01/24B3: C90300                     CMP   #$0003         
01/24B6: D004                       BNE   $24BC           
01/24B8: 222A8100                   JSL   $01812A         
01/24BC: A5C4                       LDA   $C4             ; did we pass it?                     
01/24BE: F003                       BEQ   $24C3                                 
01/24C0: 82A701                     BRL   $266A                                 
01/24C3: A5C2                       LDA   $C2             ; how many keys pressed?                     
01/24C5: C90400                     CMP   #$0004          ; 4 digits pressed?
01/24C8: 9003                       BCC   $24CD                                 
01/24CA: 829D01                     BRL   $266A           ; OK, check our number
01/24CD: 48                         PHA                                         
01/24CE: F4FFFF                     PEA   $FFFF                                 
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

The telephone part
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
01/266A: A5C4                       LDA   $C4                                   
01/266C: D01F                       BNE   $268D                                 
01/266E: F41900                     PEA   $0019                                 
01/2671: 22797500                   JSL   $017579         ; Show screen         
01/2675: 7A                         PLY                                         
01/2676: F43C00                     PEA   $003C                                 
01/2679: F44600                     PEA   $0046                                 
01/267C: F40B00                     PEA   $000B                                 
01/267F: 22DD7500                   JSL   $0175DD         ; Play sound         
01/2683: 7A                         PLY                                         
01/2684: 7A                         PLY                                         
01/2685: 7A                         PLY                                         
01/2686: D4BE                       PEI   $BE                                   
01/2688: 22ED8200                   JSL   $0182ED         ; Check number       
01/268C: 7A                         PLY                                         
01/268D: DA                         PHX                                         
01/268E: 48                         PHA                                         
01/268F: AE5000                     LDX   $020050                               
01/2692: AD4E00                     LDA   $02004E                               
01/2695: DA                         PHX                                         
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

The Flaming Bird Disassembler    Written by Ferox - (c) 1994 Phoenix corporation
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
01/82ED: 0B                         PHD                   ; Entry point check   
01/82EE: 3B                         TSC                                         
01/82EF: 38                         SEC                                         
01/82F0: E9F900                     SBC   #$00F9                               
01/82F3: 5B                         TCD                                         
01/82F4: 69F000                     ADC   #$00F0                               
01/82F7: 1B                         TCS                                         
01/82F8: A5FF                       LDA   $FF             ; is my number       
01/82FA: CDBA00                     CMP   $0200BA         ; the right one?     
01/82FD: D024                       BNE   $8323           ; nope.               
01/82FF: AF7A1A03                   LDAL  $031A7A         ; yes, but             
01/8303: C90300                     CMP   #$0003          ; are we on the       
01/8306: D01B                       BNE   $8323           ; phone page?         
01/8308: F40000                     PEA   $0000           ; yes, go!           
01/830B: F40000                     PEA   $0000           ; show the message                     
01/830E: F4BA00                     PEA   $00BA                                 
01/8311: 22240A00                   JSL   $010A24                               
01/8315: 7A                         PLY                                         
01/8316: 7A                         PLY                                         
01/8317: 7A                         PLY                                         
01/8318: 85F2                       STA   $F2                                   
01/831A: A90400                     LDA   #$0004          ; next page now       
01/831D: 8F7A1A03                   STAL  $031A7A         ; we can operate!                     
01/8321: 802E                       BRA   $8351                                 
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: 2886
Localisation: Le Chesnay, France

MessagePosté le: Mer 15 Juin 2016, 14:14    Sujet du message: Répondre en citant

And the Block.Warden view

Code:

Block: $01F2 (498)      Volume name: L.AND.D.DISK.1  Tuesday    15-Jun-16  2:51
Prefix: /L.AND.D.DISK.1/L.AND.D/                                               
Following: HOSPITAL, Type S16, Rel block 66, Byte $00833E                       
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F            Edit mode
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    Z 100: B6 00 A8 3B 18 69 1A 00 1B 98 F4 0C 00 F4 72 3E   6.(;.i....t..tr>   
  b Z 110: F4 72 3E F4 00 00 7B 18 69 00 FF 48 22 7E 28 00   tr>t..{.i.H"~(.   
B y Z 120: 7A 7A 7A 7A 7A 3B 18 69 04 02 1B 2B 6B 0B 3B 38   zzzzz;.i...+k.;8   
L   Z 130: E9 F9 00 5B 69 F0 00 1B A5 FF CD BA 00 D0>24<AF   iy.[ip..%M:.P$/   
O G Z 140: 7A 1A 03 C9 03 00 D0 1B F4 00 00 F4 00 00 F4 BA   z..I..P.t..t..t:   
C l Z 150: 00 22 24 0A 00 7A 7A 7A 85 F2 A9 04 00 8F 7A 1A   ."$..zzz.r)...z.   
K e Z 160: 03 80 2E F4 00 00 F4 00 00 F4 B8 00 22 24 0A 00   ...t..t..t8."$..   
  n Z 170: 7A 7A 7A 85 F2 AF 7A 1A 03 C9 03 00 D0 13 AD BC   zzz.r/z..I..P.-<   
W   Z 180: 00 3A 8D BC 00 C9 00 00 D0 07 A9 01 00 8F 7A 1A   .:.<.I..P.)...z.   
A B Z 190: 03 F4 32 00 F4 51 00 D4 F2 22 53 2B 00 7A 7A 7A   .t2.tQ.Tr"S+.zzz   
R r Z 1A0: 22 22 55 00 3B 18 69 08 00 1B 2B 6B 0B 3B 38 E9   ""U.;.i...+k.;8i   
D e Z 1B0: FB 00 5B 69 F4 00 1B F4 75 40 F4 75 40 F4 85 40   {.[it..tu@tu@t.@   
E d Z 1C0: F4 85 40 F4 D2 1B F4 D2 1B F4 7D 40 F4 7D 40 22   t.@tR.tR.t}@t}@"   
N o Z 1D0: 50 05 00 A8 3B 18 69 10 00 1B 98 3B 18 69 06 00   P..(;.i....;.i..   
  n Z 1E0: 1B 2B 6B 0B 3B 38 E9 FB 00 5B 69 F4 00 1B AD C8   .+k.;8i{.[it..-H   
    Z 1F0: 00 F0 03 82 36 00 A9 01 00 8D C8 00 F4 7D 40 F4   .p..6.)...H.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