home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
back2roots/padua
/
padua.7z
/
padua
/
ftp.vapor.com
/
microdot-1
/
md1_src_02.lzx
/
key.a
< prev
next >
Wrap
Text File
|
1989-08-24
|
2KB
|
135 lines
section "key",code
; a0 ^ ptr to key
; a6 = reginfo
key:
bra.s init
bra.s fakecode
addq.w #1,d1 ; 2
rts ; 2 = Zerospace fⁿr Checksum
fakespace:
add.w (a0),d0 ; 2
rts ; 2
move.l #$eeeeaaaa,d2 ; 6
move.l #$aaaaeeee,d1 ; 6
or.l d2,d0 ; 2
or.l d2,d1 ; 2
add.l d1,d0 ; 2
rts ; 2 == 24 Bytes
fakecode:
movem.l d2/d3/a2,-(sp)
lll:
eor.l d0,(a0)+
dbf d1,lll
move.l (a0),a2
movem.l (a1)+,d0/d1/d2/d3
movem.l d0/d1/d2/d3,-(a2)
movem.l (sp)+,d2/d3/a2
rts
cmpcrc:
move.l 4(sp),a0
eor.l #$dc00dcf2,(a0)
cmp.l #$9e6ee29f,d0
rts
init:
moveq #0,d1
pea cmpcrc(pc)
move.l (sp)+,4(a6)
; test key integrity
move.l -8(a0),d0 ; size
asr.l #2,d0
move.l #$00000020,(a6) ; Seriennummer
subq.w #3,d0
tl1:
add.l (a0)+,d1
dbf d0,tl1
move.l d1,12(a6)
; d1 ist zero, wenn keyfile ok
lea fakespace(pc),a0
move.l #$80008008,(a0)+
move.l #$40004004,(a0)+
tl2:
clr.l (a0)+
dbf d1,tl2
; init [REGISTRIERT]
lea txt(pc),a0
move.b #0,19(a0)
; move.b #'[',(a0)
; move.b #'R',1(a0)
; move.b #'E',2(a0)
; move.b #'G',3(a0)
; move.b #'I',4(a0)
; move.b #'S',5(a0)
; move.b #'T',6(a0)
; move.b #'E',7(a0)
; move.b #'R',8(a0)
; move.b #'E',9(a0)
; move.b #'D',10(a0)
; move.b #' ',11(a0)
; move.b #'0',12(a0)
; move.b #'0',13(a0)
; move.b #'F',14(a0)
; move.b #'A',15(a0)
; move.b #'0',16(a0)
; move.b #'0',17(a0)
; move.b #']',18(a0)
move.b #'I',4(a0)
move.b #'E',2(a0)
move.b #'G',3(a0)
move.b #'T',6(a0)
move.b #'S',5(a0)
move.b #'E',7(a0)
move.b #'E',9(a0)
move.b #' ',11(a0)
move.b #'R',1(a0)
move.b #'0',12(a0)
move.b #'D',10(a0)
move.b #'0',17(a0)
move.b #'2',16(a0)
move.b #'[',(a0)
move.b #'0',15(a0)
move.b #']',18(a0)
move.b #'0',13(a0)
move.l a0,8(a6)
move.b #'R',8(a0)
move.b #'0',14(a0)
rts
txt:
dc.w $ac1d
dc.w $ac1d
dc.w $ac1d
dc.w $ac1d
move.l d2,-(sp)
lea 256(a0),a1
move.l #$a09fc872,d0
moveq #63,d1
l1:
move.l (a0)+,d2
eor.l d0,d2
move.l d2,(a1)+
rol.l #2,d0
dbf d1,l1
move.l (sp)+,d2
rts
end