home *** CD-ROM | disk | FTP | other *** search
/ Supremacy 1 / Supremacy-1.iso / UTILS / !SERIAL / CRACKPRO.ZIP / CRAKPRO2.S < prev    next >
Text File  |  1985-11-20  |  4KB  |  190 lines

  1. * ProPack 1.03 cracker
  2.     opt    o+,x+
  3.  
  4. start    pea    (end-start)+256.w
  5.     pea    start-256(pc)
  6.     pea    $4a0000        reserve memory
  7.     trap    #1
  8.     lea    12(sp),sp
  9.  
  10.     lea    stack(pc),sp
  11.  
  12.     clr.l    -(sp)
  13.     move.w    #$20,-(sp)        supervisor
  14.     trap    #1
  15.  
  16.     cmp.b    #2,$44c.w
  17.     beq.s    hi
  18.     move.w    #1,-(sp)
  19.     pea    -1.w
  20.     move.l    (sp),-(sp)
  21.     move.w    #5,-(sp)
  22.     trap    #14
  23.     lea    12(sp),sp
  24.     move.l    #$7770000,$ffff8240.w
  25.     clr.l    $ffff8244.w
  26. hi    lea    input(pc),a6
  27.     bsr    print
  28.     lea    filename(pc),a6
  29.     bsr    print
  30.     lea    cursor(pc),a6
  31.     bsr    print
  32.  
  33.     pea    inputline(pc)
  34.     move.w    #$a,-(sp)        input filename
  35.     trap    #1
  36.     addq.l    #6,sp
  37.  
  38.     cmp.b    #'?',inputline+2
  39.     bne.s    notq
  40.     move.b    #'A',inputline+2
  41.     lea    help(pc),a6
  42.     bsr.s    print
  43.     bsr.s    get_key
  44.     bra.s    hi
  45.  
  46. notq    movem.l    $8.w,d0-d7
  47.     movem.l    d0-d7,tex
  48.  
  49.     pea    envcom(pc)
  50.     move.l    (sp),-(sp)
  51.     pea    filename(pc)
  52.     pea    $4b0003        load and set up
  53.     trap    #1
  54.     lea    16(sp),sp
  55.     tst.l    d0
  56.     bmi.s    error
  57.  
  58.     move.l    d0,a0        basepage addr
  59.  
  60.     lea    256+34(a0),a0
  61.     move.w    #$a300,(a0)        run with interrupts!
  62.     lea    270(a0),a0
  63.     move.l    a0,compare+6
  64.  
  65.     move.l    $114.w,oldtimerC+2    save old timer C
  66.     move.l    #mytimerC,$114.w    patch my timer C
  67.  
  68.     clr.l    -(sp)
  69.     move.l    d0,-(sp)
  70.     clr.l    -(sp)
  71.     pea    $4b0004        run the shit...
  72.     trap    #1
  73.     lea    16(sp),sp
  74.     clr.w    -(sp)
  75.     trap    #1
  76.  
  77. error    lea    text(pc),a6
  78.     bsr.s    print
  79.     bsr.s    get_key
  80.     clr.w    -(sp)
  81.     trap    #1
  82.  
  83. print    pea    (a6)
  84.     move.w    #9,-(sp)
  85.     trap    #1
  86.     addq.l    #6,sp
  87.     rts
  88. get_key    move.w    #7,-(sp)
  89.     trap    #1
  90.     addq.l    #2,sp
  91.     rts
  92.  
  93.  
  94.  
  95. mytimerC    eor.w    #$77,$ffff8240    muck up colors
  96.  
  97.     movem.l    d0-d7/a0-a6,-(sp)
  98. compare    cmp.l    #$41e8001c,$00000000    decrypted yet?
  99.     bne    notyet        no
  100.     move.l    compare+6(pc),a0
  101.     move.w    #$4e4a,(a0)
  102.     move.l    #trap10,$a8.w
  103. notyet    movem.l    (sp)+,d0-d7/a0-a6
  104. oldtimerC    jmp    0        do old timer C
  105.  
  106. trap10    move.l    oldtimerc+2(pc),$114.w
  107.     movem.l    tex(pc),d0-d7
  108.     movem.l    d0-d7,$8.w
  109.     pea    (a0)
  110.     lea    choice(pc),a6
  111.     bsr.s    print
  112. not1    bsr.s    get_key
  113.     cmp.b    #'2',d0
  114.     beq.s    return
  115.     cmp.b    #'1',d0
  116.     bne.s    not1
  117.     move.w    #$2300,sr
  118.     lea    input2(pc),a6
  119.     bsr.s    print
  120.     lea    filename(pc),a6
  121.     bsr    print
  122.     lea    cursor(pc),a6
  123.     bsr    print
  124.     pea    inputline(pc)
  125.     move.w    #$a,-(sp)        input filename
  126.     trap    #1
  127.     addq.l    #6,sp
  128.     clr.w    -(sp)
  129.     pea    filename(pc)
  130.     move.w    #$3c,-(sp)
  131.     trap    #1
  132.     addq.l    #8,sp
  133.     move.w    d0,d7
  134.     move.l    (sp)+,a0
  135.     move.l    a0,a1
  136.     lea    32(a1),a2
  137.     add.l    2(a0),a2
  138.     add.l    6(a0),a2
  139.     add.l    14(a0),a2
  140. findend    tst.b    (a2)+
  141.     bne.s    findend
  142.     move.l    a2,d0
  143.     move.l    a0,d1
  144.     sub.l    d1,d0
  145.     pea    (a0)
  146.     move.l    d0,-(sp)
  147.     move.w    d7,-(sp)
  148.     move.w    #$40,-(sp)
  149.     trap    #1
  150.     lea    12(sp),sp
  151.     move.w    d7,-(sp)
  152.     move.w    #$3e,-(sp)
  153.     trap    #1
  154.     addq.l    #4,sp
  155.     clr.w    -(sp)
  156.     trap    #1
  157.  
  158. return    move.w    #$a300,sr
  159.     rts
  160.  
  161.     data
  162.     ds.l    400
  163. stack    ds.l    1
  164. envcom    dc.w    0        null environment/command
  165.  
  166. text    dc.b    27,"E",7,"File not found. Hit it...",0
  167. help    dc.b    27,"E",27,"f","Crakpro 1.03 will depack programs that have been packed with ProPack 1.03;",13,10
  168.     dc.b    "this is the packer that is used on the Falcon mission disk 2. ProPack will not",13,10
  169.     dc.b    "depack from within MonST, as it specifically checks for MonST's presence (try",13,10
  170.     dc.b    "it for a laugh - it just says FUCK YOU at PC when it crashes!). So run this",13,10
  171.     dc.b    "program and enter the name of the file you wish to depack. It will then be",13,10
  172.     dc.b    "depacked.",13,10
  173.     dc.b    "Then it will offer you the choice of either saving the depacked file or",13,10
  174.     dc.b    "dropping back to MonST (PC=start of depacked file) if you ran CrakPro from",13,10
  175.     dc.b    "within it.",13,10,10
  176.     dc.b    "All coding by The Alien... hit a key.",0
  177. choice    dc.b    27,"E",27,"f1...Save file",13,10,"2...Return to MonST (TRACE exception)",0
  178. input    dc.b    27,"E",27,"e","CrakPro 1.03 by The Alien, ",$bd," 1990.",13,10
  179.     dc.b    "Enter filename or ? for help.",13,10,10
  180.     dc.b    "Program to crack >",0
  181. input2    dc.b    27,"Y",35,32,"Save file as     >",0
  182. cursor    dc.b    27,"Y",35,50,27,"e",0
  183.  
  184. inputline    dc.b    128        max 128 chars
  185.     dc.b    8        8 given chars
  186. filename    dc.b    "A:\*.PRG"        default filename
  187.     bss
  188.     ds.b    120        128 chars buffer
  189. tex    ds.l    8
  190. end