Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.129 - CLIENT : 54.80.83.123

 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 

Hold-Up (Infogrames, 1985)
Aller à la page Précédente  1, 2, 3  Suivante
 
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: 2945
Localisation: Le Chesnay, France

MessagePosté le: Dim 16 Nov 2008, 22:13    Sujet du message: Répondre en citant

Ah, j'ai oublié également qu'il faut que la disquette soit protégée en écriture... cela va de soi bien entendu, pfou...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
vladitx



Inscrit le: 19 Déc 2007
Messages: 22

MessagePosté le: Mar 18 Nov 2008, 23:07    Sujet du message: Répondre en citant

toinet a écrit:
And who is "JPL" ??????????????????


Laughing Cool

And what is he doing right now ...
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
.



Inscrit le: 29 Mar 2007
Messages: 350

MessagePosté le: Ven 21 Nov 2008, 13:10    Sujet du message: Répondre en citant

toinet a écrit:

Déjà que la disquette doit être incopiable avec son spiralling, Emile cherche à décourager le type qui veut suivre le programme (boot-tracing) à ses différentes étapes de chargement, je ne suis pas loin de craquer (avec 'qu')


Si tu préfères, j'en ai un autre: Blast Away / Blast'Em
Il est écrit en basic et si ça se trouve il y a peut-être une protection contre le ctrl-C! Laughing Laughing

Quelques clichés de cette curiosité (qui n'a d'ailleurs pas l'air de porter de Cracked by) Wink









JM
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2945
Localisation: Le Chesnay, France

MessagePosté le: Mer 26 Nov 2008, 20:34    Sujet du message: Répondre en citant

AAAAAArrrrrrrrgggggghhhhhhhhhh,

je ne veux plus entendre parler de Mimile, au secours !!!!!!!!!!!!!

JMP $FAA6

el toto
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: 2945
Localisation: Le Chesnay, France

MessagePosté le: Sam 04 Juil 2009, 23:34    Sujet du message: Répondre en citant

Hello everybody,

je suis de retour après des mois professionnels. J'ai un truc sur IIgs à faire puis je me replonge sur le Mimile's nightmare en août.

Jean-Pierre,
si tu sais comment contacter Emile, dis-lui que son soft est ch.. à déprotéger...

Bonnes vacances à tous,

Antoine (qui part dans quatre jours)
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
JPL
Site Admin


Inscrit le: 12 Mar 2007
Messages: 165
Localisation: Issy les Moulineaux / PARIS

MessagePosté le: Lun 03 Aoû 2009, 13:23    Sujet du message: Répondre en citant

Oui... mais il le sait déjà Laughing Je lui fais passer le message Cool

Ceci dit tu étais prévenu Cool

Le mimile il a suivi le principe du plombeur chevronné ! ... rendre vraiment très chiant la déprotection de façon à le conduire à l'abandon en s'intéressant à d'autres jeux et par conséquent en laisser en vente le magnifique HoldUp Wink

Je suis de retour de vacances aujourd'hui ! Pour la première fois depuis de nombreuses années : moins fatigué qu'en partant !

A bientôt lors de ton retour.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2945
Localisation: Le Chesnay, France

MessagePosté le: Sam 08 Aoû 2009, 20:13    Sujet du message: Répondre en citant

JPL a écrit:
Oui... mais il le sait déjà Laughing Je lui fais passer le message Cool

Ceci dit tu étais prévenu Cool

Le mimile il a suivi le principe du plombeur chevronné ! ... rendre vraiment très chiant la déprotection de façon à le conduire à l'abandon en s'intéressant à d'autres jeux et par conséquent en laisser en vente le magnifique HoldUp Wink

Je suis de retour de vacances aujourd'hui ! Pour la première fois depuis de nombreuses années : moins fatigué qu'en partant !

A bientôt lors de ton retour.


Il a presque réussi mais je suis tenace et également rentré de vacances. Déjeunons ensemble la semaine du 10, ok ?

toto

ps. notre ami commun a quitté ma société, tu dois le savoir également, arf !
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: 2945
Localisation: Le Chesnay, France

MessagePosté le: Sam 08 Aoû 2009, 21:00    Sujet du message: Répondre en citant

Previously on Hold-Up (summary of the previous episodes)

- some bytes used in ZP
- nibble count bytes at $0110.0111 are 9B 18
- read routine from $0400 to $07FF
- program loaded from $6000 to $BFFF

We have just jumped at $6000, let's go on with the show...

antoine
8/2009
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: 2945
Localisation: Le Chesnay, France

MessagePosté le: Sam 08 Aoû 2009, 21:25    Sujet du message: Répondre en citant

Another update... La mémoire me fait défaut, j'avais avancé le 16 novembre 2008 à 15h8 Wink

- I did a comment on the $6000..$62FF area which I have to post it here. "HOLD-UP EST UN JEU D'AVENTURES ECRIT..."
- The code at $6000 has the spiralling code in it (JSR $616B)
- That code loads the following area: $0400..$3FFF
- It jumps to $6237, performs a RAM check ($0113), stops the disk, plays the music (call at $BD00 with music address at $7000), checks RAM again and saves data at $4203, $4202, $4203 and jumps (indirectly) at $0400

Pfou... I need to disassemble the $0400..$3FFF part (I hope the $2000..$3FFF is a picture)

antoine
8/2009
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: 2945
Localisation: Le Chesnay, France

MessagePosté le: Dim 09 Aoû 2009, 9:57    Sujet du message: Répondre en citant

Side 1 is now complete Wink
memory area : Merlin source code or binary
- $0400..$3FFF: HU.1400.X
- $4000..$7FFF: HU.4000.X
- $8000..$BFFF: HU.6000.O

The routine that reads side B is located at $1C71. The tables are the following ones:
- $581B-$581C: track/sector of data/image
- $588F: nb of sectors to read
The current scene is stored in zp $16 and a call to $BD0C is performed.

$BD0C reads data as you know what? The EOR #$12 I see probably means that side B is a 18-sec diskette...

Pfou...

antoine
8/2009
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: 2945
Localisation: Le Chesnay, France

MessagePosté le: Jeu 08 Avr 2010, 21:55    Sujet du message: Répondre en citant

Promis, je m'y replonge demain !

Je regardais mon répertoire FINAL préféré tout à l'heure et, en fait, j'ai toute la face 1 et le code de lecture de la face 2.

Donc, l'idée m'a été soufflée par je ne sais plus qui, ah si, un collègue américain pour un autre crack : fais une version ProDOS. Et pourquoi pas ?

Ainsi, d'ici à la fin du mois, je récupère la face 2, scène par scène et j'essaierai de comprendre comment le soft a été cracké à l'origine et a pu tenir sur une face 16 secteurs alors que l'ensemble d'une disquette 18 secteurs a été utilisée et que chaque scène semble être compressée.

Bon, c'est vraiment... disons... long Smile

antoine
4/2010 (enfin)
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: 2945
Localisation: Le Chesnay, France

MessagePosté le: Ven 22 Juil 2011, 13:31    Sujet du message: Répondre en citant

Je m'interrogeais à l'époque sur : comment le déplombeur Chip Select était-il arrivé à faire tenir les 18 secteurs de la face 2 sur une seule face 16 secteurs ?

Je l'ai rencontré en novembre 2010 et lui ai posé la question. La réponse était simple : j'ai compressé les images.

Ben, voilà ! Il faut déjà passer trois plombes à suivre le chargement des données pas toujours passionnantes (image, image, code, image, etc.) mais en plus, il faut se farcir une face 2 en 18 secteurs.

Mimile, tu es le roi ! Mais, promis, je ne m'avoue pas vaincu !

Antoine
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
blk



Inscrit le: 05 Sep 2007
Messages: 114
Localisation: Zimbabwé

MessagePosté le: Ven 22 Juil 2011, 19:28    Sujet du message: Répondre en citant

oh, je sens que je vais bientôt lire intégralement ce fil...
Very Happy
(ps : hin hin hin ! j'ai évité le mot "thread"... la classe Smile )
_________________
hin hin ^^
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2945
Localisation: Le Chesnay, France

MessagePosté le: Dim 21 Oct 2012, 22:16    Sujet du message: Répondre en citant

That is not the end!

I've built a program to get the complete data of the second side of the program. I realized I've never done it...

The program read routine is at $1C71
The move arm routine is at $1F58
The tables are at $581B
The RWTS routine is at $BD0C

Let's mix all of the above and get the data... The idea is to call each scene and save it as a ProDOS file, thanks to a BASIC program.

FOR I=1 to $39
CALL read_scene(I)
SAVE scene
NEXT I

Easy, ugh?

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

MessagePosté le: Lun 22 Oct 2012, 20:56    Sujet du message: Répondre en citant

This is the BASIC program that is used to save the different scenes loaded by the binary program below:

Code:
 10 D$ =  CHR$ (4)
 20  PRINT D$"BLOAD HU.SIDE2"
 30  CALL 4099
 40  FOR I = 1 TO 57
 50  POKE 254,I
 60  PRINT "LOADING SCENE=";I
 70  CALL 4096
 80 LE =  PEEK (252) * 256
 90  PRINT "LENGTH OF SCENE ";I;" IS ";LE;" BYTES"
 100  PRINT D$"BSAVE HU.SCENE";I;",A$4000,L";LE
 110  NEXT I
 120  END


And the binary program:

Code:
*
* Hold-Up
* (c) 1985, Infogrames
*
* (k) 2008, LoGo
*

         org   $1000
         mx    %11
         lst   off

*-----------

L0200    =     $2000
LBUFFER  =     $4000

curLENGTH =    $fc
curSLOT  =     $fd
curSCENE =     $fe
curTRACK =     $ff

WAIT     EQU   $FCA8

*-----------------------------

         JMP   readscene
         JMP   initall

*-----------------------------

readscene =    *
         LDX   curSLOT
         LDA   $C089,X
         LDA   $C08A,X
         LDA   $C08E,X

         lda   #0
         jsr   WAIT

L1C84    LDY   curSCENE
         LDA   L588F,Y
         STA   $9B
         sta   curLENGTH
         TYA
         ASL
         TAY
         LDA   L581B,Y
         STA   $A1
         LDA   L581B+1,Y
         STA   $A0
         LDA   #<LBUFFER
         STA   $99
         LDA   #>LBUFFER
         STA   $9A
         JSR   readts
         BCS   L1CAD
         LDX   curSLOT
         LDA   $C088,X
         clc
L1CAC    RTS

L1CAD    DEC   $9D
         BEQ   L1CBC
         CLC
         LDA   $A1
         ADC   #$01
         JSR   movearm
         JMP   L1C84
L1CBC    sec
         rts

         ds    \

*-----------

LBD0F    SEC
         RTS

readts   =     *
LBD11    LDA   $9A        ; RAM
         STA   LBDC7+2
LBD16    LDA   $A1        ; Track
         JSR   movearm
         LDY   #$00       ; counters
         STY   $9E
         STY   $9F
         LDA   #$40
LBD23    STA   L0200,Y
         INY
         BNE   LBD23
LBD29    LDX   curSLOT
LBD2B    LDA   $C08C,X
         BPL   LBD2B
LBD30    STA   $A2
         DEC   $9E
         BNE   LBD3A
         DEC   $9F
         BEQ   LBD0F
LBD3A    LDA   $C08C,X
         BPL   LBD3A
         CMP   #$AA
         BNE   LBD30
LBD43    LDA   $C08C,X
         BPL   LBD43
         CMP   $A2
         BNE   LBD30
         LDX   #$3F
LBD4E    LDY   $C0EC
         BPL   LBD4E
         TXA
         STA   L0200,Y
         DEX
         BPL   LBD4E
         LDX   curSLOT
LBD5C    LDA   $C08C,X
         BPL   LBD5C
         CMP   #$94
         BNE   LBD86
         LDY   $A2
         LDA   #$3F
         CMP   L0200,Y
         BNE   LBD88
LBD6E    LDY   $C0EC
         BPL   LBD6E
         DEC   $9E
         BNE   LBD7B
         DEC   $9F
         BEQ   LBD86
LBD7B    LDA   L0200,Y
         EOR   $A0
         BEQ   LBD8B
         BCC   LBD86
         BCS   LBD6E
LBD86    SEC
         RTS
LBD88    JMP   LBD29

LBD8B    LDY   $C0EC
         BPL   LBD8B
         TYA
         EOR   #$D5
         BNE   LBD7B
LBD95    LDA   $C0EC
         BPL   LBD95
         EOR   #$D4
         BNE   LBD86
         LDA   LBDC7+2
         STA   LBDD7+2
         STA   LBDE7+2
         LDX   #$FE
LBDA9    LDY   $C0EC
         BPL   LBDA9
         LDA   L0200,Y
         ASL
         ASL
         STA   $A2
         AND   #$30
         STA   $A3
         LDA   $A2
LBDBB    LDY   $C0EC
         BPL   LBDBB
         ASL
         ASL
         ASL
         ASL
         ORA   L0200,Y
LBDC7    STA   $AB00,X
         INX
LBDCB    LDY   $C0EC
         BPL   LBDCB
         LDA   $A3
         ASL
         ASL
         ORA   L0200,Y
LBDD7    STA   $AB00,X
         INX
LBDDB    LDY   $C0EC
         BPL   LBDDB
         LDA   $A2
         AND   #$C0
         ORA   L0200,Y
LBDE7    STA   $AB00,X
         INX
         BNE   LBDA9
         SEC
LBDEE    LDA   $C0EC
         BPL   LBDEE
         EOR   #$94
         BNE   LBE15
         DEC   $9B
         BEQ   LBE14
         INC   $A0        ; next S
         INC   LBDC7+2
         LDA   $A0
         EOR   #$12
         BEQ   LBE09
         JMP   LBD6E

LBE09    STA   $A0
         EOR   #$05
         STA   $9D
         INC   $A1        ; next T
         JMP   LBD16

LBE14    CLC
LBE15    RTS

         ds    \

*-----------
* INIT SLOT
*-----------

initall  =     *

         lda   #1
         sta   curSCENE

         lda   #0
         sta   curTRACK

         lda   #$60
         sta   curSLOT    ; current slot*16

         ORA   #$8C
         STA   LBDEE+1
         STA   LBD95+1
         STA   LBD4E+1
         STA   LBD6E+1
         STA   LBD8B+1
         STA   LBDA9+1
         STA   LBDBB+1
         STA   LBDCB+1
         STA   LBDDB+1
         RTS

         ds    \

*----------

movearm  =     *
L1F58    ASL              ; CALLED BY $4202 !!
         STA   $92
         CMP   curTRACK
         BEQ   L1FAE
         LDA   #$00
         STA   $94
L1F63    LDA   curTRACK
         STA   $93
         SEC
         SBC   $92
         BEQ   L1F9D
         BCS   L1F74
         EOR   #$FF
         INC   curTRACK
         BCC   L1F78
L1F74    ADC   #$FE
         DEC   curTRACK
L1F78    CMP   $94
         BCC   L1F7E
         LDA   $94
L1F7E    CMP   #$0C
         BCS   L1F83
         TAY
L1F83    SEC
         JSR   L1FA1
         LDA   L1FC0,Y
         JSR   L1FAF
         LDA   $93
         CLC
         JSR   L1FA3
         LDA   L1FCC,Y
         JSR   L1FAF
         INC   $94
         BNE   L1F63
L1F9D    JSR   L1FAF
         CLC
L1FA1    LDA   curTRACK
L1FA3    AND   #$03
         ROL
         ORA   curSLOT
         TAX
         LDA   $C080,X
         LDX   curSLOT
L1FAE    RTS

L1FAF    LDX   #$11
L1FB1    DEX
         BNE   L1FB1
         INC   $9E
         BNE   L1FBA
         INC   $9F
L1FBA    SEC
         SBC   #$01
         BNE   L1FAF
         RTS

L1FC0    HEX   01302824201E1D1C1C1C1C1C
L1FCC    HEX   702C26221F1E1D1C1C1C1C1C

         ds    \

*----------------------------

L581B    HEX   0000       ; 0
         HEX   0000       ; 1
         HEX   0008       ; 2
         HEX   0101       ; 3
         HEX   010E       ; 4
         HEX   0207       ; 5
         HEX   0301       ; 6
         HEX   030B       ; 7
         HEX   0406       ; 8
         HEX   0500       ; 9
         HEX   050B       ; A
         HEX   0605       ; B
         HEX   060F       ; C
         HEX   070B       ; D
         HEX   0806       ; E
         HEX   0901       ; F
         HEX   090B       ; 0 1
         HEX   0A04       ; 1
         HEX   0A11       ; 2
         HEX   0B0A       ; 3
         HEX   0C01       ; 4
         HEX   0C0C       ; 5
         HEX   0D03       ; 6
         HEX   0D0B       ; 7
         HEX   0E02       ; 8
         HEX   0E0D       ; 9
         HEX   0F04       ; A
         HEX   1003       ; B
         HEX   100D       ; C
         HEX   1105       ; D
         HEX   110E       ; E
         HEX   1206       ; F
         HEX   120E       ; 0 2
         HEX   1306       ; 1
         HEX   130F       ; 2
         HEX   1407       ; 3
         HEX   1411       ; 4
         HEX   150B       ; 5
         HEX   1602       ; 6
         HEX   1607       ; 7
         HEX   160F       ; 8
         HEX   1705       ; 9
         HEX   170F       ; A
         HEX   1806       ; B
         HEX   180F       ; C
         HEX   1906       ; D
         HEX   190F       ; E
         HEX   1A04       ; F
         HEX   1A0C       ; 0 3
         HEX   1B04       ; 1
         HEX   1B0E       ; 2
         HEX   1B10       ; 3
         HEX   1D09       ; 4
         HEX   1E00       ; 5
         HEX   1F09       ; 6
         HEX   200E       ; 7
         HEX   2109       ; 8
         HEX   2205       ; 9 3

L588F    DB    $CE        ; 0
         DB    $08        ; 1
         DB    $0B        ; 2
         DB    $0D        ; 3
         DB    $0B        ; 4
         DB    $0C        ; 5
         DB    $0A        ; 6
         DB    $0D        ; 7
         DB    $0C        ; 8
         DB    $0B        ; 9
         DB    $0C        ; A
         DB    $0A        ; B
         DB    $0E        ; C
         DB    $0D        ; D
         DB    $0D        ; E
         DB    $0A        ; F
         DB    $0B        ; 0 1
         DB    $0D        ; 1
         DB    $0B        ; 2
         DB    $09        ; 3
         DB    $0B        ; 4
         DB    $09        ; 5
         DB    $08        ; 6
         DB    $09        ; 7
         DB    $0B        ; 8
         DB    $09        ; 9
         DB    $11        ; A
         DB    $0A        ; B
         DB    $0A        ; C
         DB    $09        ; D
         DB    $0A        ; E
         DB    $08        ; F
         DB    $0A        ; 0 2
         DB    $09        ; 1
         DB    $0A        ; 2
         DB    $0A        ; 3
         DB    $0C        ; 4
         DB    $09        ; 5
         DB    $05        ; 6
         DB    $08        ; 7
         DB    $08        ; 8
         DB    $0A        ; 9
         DB    $09        ; A
         DB    $09        ; B
         DB    $09        ; C
         DB    $09        ; D
         DB    $07        ; E
         DB    $08        ; F
         DB    $0A        ; 0 3
         DB    $0A        ; 1
         DB    $02        ; 2
         DB    $04        ; 3
         DB    $09        ; 4
         DB    $09        ; 5
         DB    $09        ; 6
         DB    $10        ; 7
         DB    $0A        ; 8
         DB    $11        ; 9 3

         ds    \


What I can say is that I now have the complete B-side of the program. Yeah!

What are the next steps?
- Find a good packer or...
- Make the program work under ProDOS and divide the B-side scenes on both side A and side B

Antoine
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
Aller à la page Précédente  1, 2, 3  Suivante
Page 2 sur 3

 
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