Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.1 - CLIENT : 54.234.255.29

 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 

Softporn adventure (On-Line Systems, 1981)

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

MessagePosté le: Jeu 14 Sep 2017, 10:01    Sujet du message: Softporn adventure (On-Line Systems, 1981) Répondre en citant

#951 - The first porn adventure game by Blue Sky Software, published by On-Line Systems and one of their first titles to use their usual nibble count protection.

Disk structure
This is a standard DOS 3.2 disk. 13-sectors along the entire disk. No extra track.

Protection type
This is a nibble count hidden in the HELLO file and encrypted in it!

How to copy
I've done a sector-to-sector copy but here I'll detail another method.
Code:

Boot a DOS 3.3 master disk
INIT HELLO,D2 a disk in drive 2
Boot my copy disk and launch Copy II Plus 5
Set drive 1 as DOS 3.2 and drive 2 as DOS 3.3
Copy all files from drive 1 (Softporn) and drive 2 (blank disk)

You now have all files on the destination disk but if you boot it, you'll see that you cannot run it. It is stalled at some point.

How to normalize
Boot my copy disk and launch Disk Fixer
Code:

Follow file HELLO on drive 2
At sector offset $A, byte offset $E: EA -> 60

You can complete the crack by removing line 347 (see below) of file _____ (yes, 5 underscore characters) or you can sector edit the file and tell at line 345 that the next entry is line 350. I let that exercise to the reader, see the sector data below!

The disk image is available at http://www.brutaldeluxe.fr/crack/

Reboot and... enjoy,
LoGo
9/2017
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: 2895
Localisation: Le Chesnay, France

MessagePosté le: Jeu 14 Sep 2017, 10:03    Sujet du message: Répondre en citant

Help for the BASIC change of line 347...

Code:

THE BASIC LISTING AND ITS LINE 347 THAT I'VE CHANGED BECAUSE MY HTML EDITOR REPLACES LOWER THAN AND UPPER THAN WITH HTML CODES :-(

 220  DIM VB$(20),NN$(20),IN$(80)                                               
 230  DIM NA$(200),NB$(200),NC$(200),ND$(200)                                   
 240  DIM NY$(20):NY$ = "NOT YET,BUT MAYBE LATER................"               
 250  DIM P1$(20),P2$(20),P3$(20),P4$(20)                                       
 260 P3$ = "LUBRICATED":P4$ = "RIBBED"                                         
 345  DIM T%(30)                                                               
 347  IF  PEEK (768) different from 255 THEN 0                                           
 350  FOR X = 1 TO 30:T%(X) = 0: NEXT                                           
 385  DIM V1%(32,15)                                                           
 390  FOR X = 1 TO 15                                                           
 391  FOR Y = 1 TO 32:V1%(Y,X) = 0                                             
 392  NEXT Y                                                                   
 393  NEXT X                                                                   
 402 V1%(1,1) = 3:V1%(1,2) = 8:V1%(1,3) = 57:V1%(1,4) = 13                     
 404 V1%(2,1) = 4:V1%(2,2) = 9:V1%(2,3) = 10:V1%(2,4) = 11:V1%(2,5) = 12       
 406 V1%(3,1) = 3:V1%(3,2) = 15:V1%(3,3) = 14:V1%(3,4) = 23                     
 408 V1%(4,1) = 1:V1%(4,2) = 48                                                 
 410 V1%(5,1) = 2:V1%(5,2) = 16:V1%(5,3) = 20                                   
 412 V1%(6,1) = 1:V1%(6,2) = 56                                                 
 414 V1%(7,1) = 1:V1%(7,2) = 61                                                 
 416 V1%(8,1) = 1:V1%(8,2) = 46                                                 
 418 V1%(9,1) = 2:V1%(9,2) = 17:V1%(9,3) = 60                                   
 420 V1%(10,1) = 1:V1%(10,2) = 18                                               
 422 V1%(11,1) = 1:V1%(11,2) = 48                                               

THE BYTE VIEW OF THE BASIC FILE

00/0BE0:24 28 32 30 29 2C 4E 4E 24 28 32 30 29 2C 49 4E-$(20),NN$(20),IN       
00/0BF0:24 28 38 30 29 00 1F 0C E6 00 86 4E 41 24 28 32-$(80)...f..NA$(2       
00/0C00:30 30 29 2C 4E 42 24 28 32 30 30 29 2C 4E 43 24-00),NB$(200),NC$       
00/0C10:28 32 30 30 29 2C 4E 44 24 28 32 30 30 29 00 5A-(200),ND$(200).Z       
00/0C20:0C F0 00 86 4E 59 24 28 32 30 29 3A 4E 59 24 D0-.p..NY$(20):NY$P       
00/0C30:22 4E 4F 54 20 59 45 54 2C 42 55 54 20 4D 41 59-"NOT YET,BUT MAY       
00/0C40:42 45 20 4C 41 54 45 52 2E 2E 2E 2E 2E 2E 2E 2E-BE LATER........       
00/0C50:2E 2E 2E 2E 2E 2E 2E 2E 22 00 7F 0C FA 00 86 50-........"...z..P       
00/0C60:31 24 28 32 30 29 2C 50 32 24 28 32 30 29 2C 50-1$(20),P2$(20),P       
00/0C70:33 24 28 32 30 29 2C 50 34 24 28 32 30 29 00 A1-3$(20),P4$(20).!       
00/0C80:0C 04 01 50 33 24 D0 22 4C 55 42 52 49 43 41 54-...P3$P"LUBRICAT       
00/0C90:45 44 22 3A 50 34 24 D0 22 52 49 42 42 45 44 22-ED":P4$P"RIBBED"       
00/0CA0:00 AD 0C 59 01 86 54 25 28 33 30 29 00 C0 0C 5B-.-.Y..T%(30).@.[       
00/0CB0:01 AD E2 28 37 36 38 29 D1 CF 32 35 35 C4 30 00-.-b(768)QO255D0.       
00/0CC0:D6 0C 5E 01 81 58 D0 31 C1 33 30 3A 54 25 28 58-V.^..XP1A30:T%(X       
00/0CD0:29 D0 30 3A 82 00 E6 0C 81 01 86 56 31 25 28 33-)P0:..f....V1%(3       
00/0CE0:32 2C 31 35 29 00 F2 0C 86 01 81 58 D0 31 C1 31-2,15).r....XP1A1       
00/0CF0:35 00 09 0D 87 01 81 59 D0 31 C1 33 32 3A 56 31-5......YP1A32:V1       

*15B=                                                                           
Decimal-> 347 {+347} if case you need the info
                                                                               
THE DISK FIXER VIEW OF THE SAME DATA

-------------- DISK EDIT ---------------
TRACK $0D/SECTOR $02/VOLUME $FE/BYTE $A2
----------------------------------------
$80: A1 0C 04 01 50 33 24 D0    !...P3$P
$88: 22 4C 55 42 52 49 43 41    "LUBRICA
$90: 54 45 44 22 3A 50 34 24    TED":P4$
$98: D0 22 52 49 42 42 45 44    P"RIBBED
$A0: 22 00-AD 0C-59 01 86 54    ".-.Y..T
$A8: 25 28 33 30 29 00 C0 0C    %(30).@.
$B0: 5B 01 AD E2 28 37 36 38    [.-"(768
$B8: 29 D1 CF 32 35 35 C4 30    )QO255D0
$C0: 00 D6 0C 5E 01 81 58 D0    .V.^..XP
$C8: 31 C1 33 30 3A 54 25 28    1A30:T%(
$D0: 58 29 D0 30 3A 82 00 E6    X)P0:..&
$D8: 0C 81 01 86 56 31 25 28    ....V1%(
$E0: 33 32 2C 31 35 29 00 F2    32,15).2
$E8: 0C 86 01 81 58 D0 31 C1    ....XP1A
$F0: 31 35 00 09 0D 87 01 81    15......
$F8: 59 D0 31 C1 33 32 3A 56    YP1A32:V
----------------------------------------
BUFFER 0/SLOT 6/DRIVE 2/MASK OFF/NORMAL
DOS3.3:_____                        /$04
----------------------------------------

-------------- DISK EDIT ---------------
TRACK $0D/SECTOR $02/VOLUME $FE/BYTE $A2
----------------------------------------
$80: A1 0C 04 01 50 33 24 D0    !...P3$P
$88: 22 4C 55 42 52 49 43 41    "LUBRICA
$90: 54 45 44 22 3A 50 34 24    TED":P4$
$98: D0 22 52 49 42 42 45 44    P"RIBBED
$A0: 22 00-C0 0C-59 01 86 54    ".@.Y..T
$A8: 25 28 33 30 29 00 C0 0C    %(30).@.
$B0: 5B 01 AD E2 28 37 36 38    [.-"(768
$B8: 29 D1 CF 32 35 35 C4 30    )QO255D0
$C0: 00 D6 0C 5E 01 81 58 D0    .V.^..XP
$C8: 31 C1 33 30 3A 54 25 28    1A30:T%(
$D0: 58 29 D0 30 3A 82 00 E6    X)P0:..&
$D8: 0C 81 01 86 56 31 25 28    ....V1%(
$E0: 33 32 2C 31 35 29 00 F2    32,15).2
$E8: 0C 86 01 81 58 D0 31 C1    ....XP1A
$F0: 31 35 00 09 0D 87 01 81    15......
$F8: 59 D0 31 C1 33 32 3A 56    YP1A32:V
----------------------------------------
BUFFER 0/SLOT 6/DRIVE 2/MASK OFF/NORMAL
DOS3.3:_____                        /$04
----------------------------------------
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: 2895
Localisation: Le Chesnay, France

MessagePosté le: Jeu 14 Sep 2017, 10:06    Sujet du message: Répondre en citant

And the protection check

Code:

----------- DISASSEMBLY MODE -----------
0001:A0 00          LDY   #$00         
0003:A9 55          LDA   #$55         
0005:59 10 12       EOR   $1210,Y       
0008:99 10 12       STA   $1210,Y       
000B:88             DEY                 
000C:D0 F5          BNE   $0003         
000E:EA             NOP                 
000F:EA             NOP                 
0010:EA             NOP                 
0011:FC             @@@                 
0012:54             @@@                 
0013:D8             CLD                 
0014:46 46          LSR   $46           
0016:FC             @@@                 
0017:55 1D          EOR   $1D,X         
0019:7D FB BC       ADC   $BCFB,X       
001C:E2             @@@                 
001D:F5 55          SBC   $55,X         
001F:D9 BE E2       LDA   $E2BE,Y       
0022:9D D9 A1       STA   $A1D9,X       
0025:E2             @@@                 
0026:FC             @@@                 
0027:57             @@@                 

00/1200: A0 00        LDY #00           ; decypher code
00/1202: A9 55        LDA #55           
00/1204: 59 10 12     EOR 1210,Y       
00/1207: 99 10 12     STA 1210,Y       
00/120A: 88           DEY               
00/120B: D0 F5        BNE 1202 ;-0B=   
00/120D: EA           NOP               
00/120E: EA           NOP               
00/120F: EA           NOP               
00/1210: A9 01        LDA #01           ; counter
00/1212: 8D 13 13     STA 1313         
00/1215: A9 00        LDA #00           
00/1217: 48           PHA               
00/1218: 28           PLP               
00/1219: AE E9 B7     LDX B7E9         
00/121C: A0 00        LDY #00           
00/121E: 8C EB B7     STY B7EB         
00/1221: C8           INY               
00/1222: 8C F4 B7     STY B7F4         
00/1225: A9 02        LDA #02           ; read T2/SC
00/1227: 8D EC B7     STA B7EC         
00/122A: A9 0C        LDA #0C           
00/122C: 8D ED B7     STA B7ED         
00/122F: A9 00        LDA #00           ; at $9100
00/1231: 8D F0 B7     STA B7F0         
00/1234: A9 91        LDA #91           
00/1236: 8D F1 B7     STA B7F1         
00/1239: A0 E8        LDY #E8           
00/123B: A9 B7        LDA #B7           
00/123D: 20 D9 03     JSR 03D9         
00/1240: A9 00        LDA #00           ; make some inits
00/1242: 8D 04 91     STA 9104          ; for our
00/1245: 8D 05 91     STA 9105          ; comparison length
00/1248: 8D 06 91     STA 9106         
00/124B: A9 00        LDA #00           
00/124D: 8D F4 B7     STA B7F4         
00/1250: A9 03        LDA #03           
00/1252: 8D EC B7     STA B7EC          ; move to T3
00/1255: A0 E8        LDY #E8           
00/1257: A9 B7        LDA #B7           
00/1259: 20 D9 03     JSR 03D9         
00/125C: AE E9 B7     LDX B7E9         
00/125F: BD 89 C0     LDA C089,X        ; turn drive on
00/1262: A9 20        LDA #20           
00/1264: A0 20        LDY #20           
00/1266: 20 A8 FC     JSR FCA8         
00/1269: 88           DEY               
00/126A: D0 FA        BNE 1266 ;-06=   
00/126C: BD 8E C0     LDA C08E,X        ; read mode
00/126F: BD 8C C0     LDA C08C,X       
00/1272: 10 FB        BPL 126F ;-05=   
00/1274: C9 D5        CMP #D5           ; want D5
00/1276: F0 0B        BEQ 1283 ;+0B=   
00/1278: 88           DEY               
00/1279: D0 F4        BNE 126F ;-0C=   
00/127B: CE 14 13     DEC 1314          ; counter--
00/127E: F0 30        BEQ 12B0 ;+30=   
00/1280: 4C 6F 12     JMP 126F          ; loop
00/1283: CE 13 13     DEC 1313          ; counter--
00/1286: D0 E7        BNE 126F ;-19=   
00/1288: A9 0A        LDA #0A           ; counter
00/128A: 8D 14 13     STA 1314         
00/128D: 48           PHA               ; wait
00/128E: 68           PLA               
00/128F: 48           PHA               
00/1290: 68           PLA               
00/1291: 48           PHA               
00/1292: 68           PLA               
00/1293: EA           NOP               
00/1294: CE 14 13     DEC 1314         
00/1297: D0 F4        BNE 128D ;-0C=   
00/1299: A0 00        LDY #00           ; read mode
00/129B: BD 8E C0     LDA C08E,X       
00/129E: BD 8C C0     LDA C08C,X       
00/12A1: 10 FB        BPL 129E ;-05=   
00/12A3: C9 D5        CMP #D5           ; again D5
00/12A5: F0 09        BEQ 12B0 ;+09=   
00/12A7: C8           INY               
00/12A8: D0 F4        BNE 129E ;-0C=   
00/12AA: EE 06 91     INC 9106          ; comp counter 3
00/12AD: 4C 9E 12     JMP 129E          ; loop
00/12B0: 8C 05 91     STY 9105          ; comp counter 2
00/12B3: A9 F7        LDA #F7           
00/12B5: 8D 04 91     STA 9104          ; comp counter 1

* Original values on TS2/SC are
* 9100: F7
* 9101: 20
* 9102: 16
* I've left the original T2/SC on the disk

00/12B8: A0 02        LDY #02           ; now compare
00/12BA: B9 04 91     LDA 9104,Y        ; lengths
00/12BD: D9 00 91     CMP 9100,Y       
00/12C0: D0 0F        BNE 12D1 ;+0F=   
00/12C2: 88           DEY               
00/12C3: 10 F5        BPL 12BA ;-0B=   
00/12C5: BD 88 C0     LDA C088,X        ; we are good
00/12C8: A9 60        LDA #60           ; exit
00/12CA: 8D 0D 12     STA 120D          ; put a RTS
00/12CD: 20 00 12     JSR 1200          ; hide code again
00/12D0: 35           AND ....          ; it becomes a RTS!

00/12D1: C0 01        CPY #01           ; be less strict
00/12D3: D0 16        BNE 12EB ;+16=    ; and offer other
00/12D5: 18           CLC               ; comparisons
00/12D6: AD 05 91     LDA 9105         
00/12D9: 69 02        ADC #02           
00/12DB: CD 01 91     CMP 9101         
00/12DE: B0 E2        BCS 12C2 ;-1E=   
00/12E0: 38           SEC               
00/12E1: AD 05 91     LDA 9105         
00/12E4: E9 02        SBC #02           
00/12E6: CD 01 91     CMP 9101         
00/12E9: 90 D7        BCC 12C2 ;-29=   

00/12EB: A0 16        LDY #16           ; here we crash
00/12ED: B9 FD 12     LDA 12FD,Y        ; we know we have
00/12F0: 99 03 00     STA 0003,Y        ; a copy!!!
00/12F3: 98           TYA               
00/12F4: D0 03        BNE 12F9 ;+03=   
00/12F6: 4C 03 00     JMP 0003         
00/12F9: 88           DEY               
00/12FA: 4C ED 12     JMP 12ED         
00/12FD: A0 00        LDY #00           
00/12FF: A9 50        LDA #50           
00/1301: 85 00        STA 00           
00/1303: A9 00        LDA #00           
00/1305: 85 01        STA 01           
00/1307: 91 00        STA (00),Y       
00/1309: E6 00        INC 00           
00/130B: D0 FA        BNE 1307 ;-06=   
00/130D: E6 01        INC 01           
00/130F: F0 F6        BEQ 1307 ;-0A=   
00/1311: D0 F4        BNE 1307 ;-0C=   
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