ParanoidLittleMan Posted January 29, 2021 Share Posted January 29, 2021 Did not see such protection, even if saw really plenty of them. Copy protection self is Rob Northen Copylock, early version. What is interesting is that disks are actually FAT12 with regular files, but all it is encrypted, so can not see anything of files when looking with some hex viewer for instance. Game code self using regular Trap #1 calls for file access, but there is shorter decrypt code, hooked to RWABS (trap #13 4), what restores normal floppy content. Of course, it will be good only when copy protection is passed, which is encrypted too. The decrypt code self: * Barbarian 2 Palace * RWABS for floppy decrypter code org $300 movem.l d0-4/a0/a6,-(a7) ; 000300: 48E7 F882 lea 34(a7),a6 ; 000304: 4DEF 0022 btst #$d,28(a7) ; 000308: 082F 000D 001C bne.s l312 ; 00030E: 6602 move usp,a6 ; 000310: 4E6E l312 cmpi.w #$4,(a6) ; 000312: 0C56 0004 bne.s l374 ; 000316: 665C btst #$0,3(a6) * odd address ?; 000318: 082E 0000 0003 beq.s l33E ; 00031E: 671E bsr.s l380 ; 000320: 615E l322 move.l $7c,d3 ; 000322: 2639 0000 007C add.w d2,d3 ; 000328: D642 moveq #127,d0 ; 00032A: 707F l32C bsr.s l38E ; 00032C: 6160 move.l (a0),d4 ; 00032E: 2810 sub.l d3,(a0)+ ; 000330: 9798 add.l d4,d3 ; 000332: D684 dbra d0,l32C ; 000334: 51C8 FFF6 addq.w #1,d2 ; 000338: 5242 subq.w #1,d1 ; 00033A: 5341 bne.s l322 ; 00033C: 66E4 l33E lea 14(a6),a0 ; 00033E: 41EE 000E moveq #6,d0 ; 000342: 7006 l344 move.w -(a0),-(a7) ; 000344: 3F20 dbra d0,l344 ; 000346: 51C8 FFFC trap #15 ; 00034A: 4E4F lea 14(a7),a7 ; 00034C: 4FEF 000E move.l d0,(a7) ; 000350: 2E80 bsr.s l380 ; 000352: 612C l354 move.l $7c,d3 ; 000354: 2639 0000 007C add.w d2,d3 ; 00035A: D642 moveq #127,d0 ; 00035C: 707F l35E bsr.s l38E ; 00035E: 612E add.l d3,(a0) ; 000360: D790 add.l (a0)+,d3 ; 000362: D698 dbra d0,-l35E ; 000364: 51C8 FFF8 addq.w #1,d2 ; 000368: 5242 subq.w #1,d1 ; 00036A: 5341 bne.s l354 ; 00036C: 66E6 movem.l (a7)+,d0-4/a0/a6 ; 00036E: 4CDF 411F rte ; 000372: 4E73 l374 movem.l (a7)+,d0-4/a0/a6 ; 000374: 4CDF 411F move.l $bc,-(a7) ; 000378: 2F39 0000 00BC rts * ret via trap #15 what goes via trap #13 vector l380 move.w 10(a6),d2 ; 000380: 342E 000A move.w 8(a6),d1 ; 000384: 322E 0008 movea.l 4(a6),a0 ; 000388: 206E 0004 rts ; 00038C: 4E75 l38E lsl.l #1,d3 ; 00038E: E38B btst #$1,d3 ; 000390: 0803 0001 beq.s l39E ; 000394: 6708 btst #$15,d3 ; 000396: 0803 0015 beq.s l3A4 ; 00039A: 6708 bra.s l3A6 ; 00039C: 6008 l39E btst #$15,d3 ; 00039E: 0803 0015 beq.s l3A6 ; 0003A2: 6702 l3A4 addq.l #1,d3 ; 0003A4: 5283 l3A6 rts ; 0003A6: 4E75 At address $7C decrypt key value is placed, and if it is set properly, + vectors for trap #13 and #15 too, files can be accessed and copied. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.