home *** CD-ROM | disk | FTP | other *** search
/ BBS 1 / BBS#1.iso / game-crk / fincrack.ha / FINCRK2.ASM < prev   
Assembly Source File  |  1994-05-29  |  7KB  |  261 lines

  1. Title         Hackers_Design_Password_Cracker    ; Version 1.1
  2.               PAGE 59,132
  3.               .8086
  4.               JUMPS
  5.               LOCALS
  6. CODES         SEGMENT
  7.               ASSUME CS:CODES
  8.               ORG 100h
  9.               
  10. Start:        jmp begin
  11.                             
  12. Msg1          db 0Dh,0Ah
  13.               db '┌───────────────────────────────'
  14.               db '─────────────────────────────────┐',0Dh,0Ah
  15.               db '│ Åα«úαá¼¼á-󺽫¼Θ¿¬ ñ½∩ »á¬ÑΓá '
  16.               db '"ö¿¡á¡ßδ íѺ »α«í½Ñ¼ 2.+"        │',0Dh,0Ah
  17.               db '│ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀'
  18.               db '▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ │',0Dh,0Ah
  19.               db '│ ôß½«ó¡δ⌐ ¡«¼Ñα ¬«¼»∞εΓÑαá: '
  20. Num           db '                                    │',0Dh,0Ah
  21.               db '├────────────────────────────'
  22.               db '────────────────────────────────────┤',0Dh,0Ah
  23.               db '│ è½ετ                     : '
  24. Key           db '                                    │',0Dh,0Ah
  25.               db '└────────────────────────────'
  26.               db '────────────────────────────────────┘',0Dh,0Ah
  27.               db 0Dh,0Ah,'$'
  28.                             
  29. BIOSax        dw 0                               ; AX
  30. BIOSdx        dw 0                               ; DX
  31.               
  32. FAX           dw 0                               ; AX
  33. FDX           dw 0                               ; DX
  34.  
  35. BIOS_CODE:    push bp                            ; Make BIOS Code
  36.               mov     bp,sp
  37.               sub     sp,2
  38.               mov     word ptr [bp-2],1234h
  39.               mov     ax,[bp-2]
  40.               add     ax,0DDCCh
  41.               push    ax
  42.               mov     ax,[bp-2]
  43.               add     ax,0EDC8h
  44.               mov     di,ax
  45.               pop     es
  46.               mov     ax,es:[di]
  47.               xor     dx,dx
  48.               mov     cx,ax
  49.               mov     bx,dx
  50.               mov     ax,[bp-2]
  51.               add     ax,0DDCCh
  52.               push    ax
  53.               mov     ax,[bp-2]
  54.               add     ax,0EDC1h
  55.               mov     di,ax
  56.               pop     es
  57.               mov     ax,es:[di]
  58.               mov     dx,es:[di+2]
  59.               add     ax,cx
  60.               adc     dx,bx
  61.               mov     cx,ax
  62.               mov     bx,dx
  63.               mov     ax,[bp-2]
  64.               add     ax,0DDCCh
  65.               push    ax
  66.               mov     ax,[bp-2]
  67.               add     ax,0EDCAh
  68.               mov     di,ax
  69.               pop     es
  70.               mov     ax,es:[di]
  71.               xor     dx,dx                   ; zero register
  72.               add     ax,cx
  73.               adc     dx,bx
  74.               mov     BIOSax,ax
  75.               mov     BIOSdx,dx
  76.               mov     sp,bp
  77.               pop     bp
  78.               ret
  79.  
  80. Function:    push     bp
  81.         mov     bp,sp
  82.                 cli
  83.                 
  84.         xor    ax,ax
  85.         xor    bx,bx
  86.         xor    cx,cx
  87.         xor    dx,dx
  88.         xor    si,si
  89.         xor    di,di
  90.         
  91.         mov    ax,BIOSax
  92.         mov    dx,BIOSdx
  93.         mov    [bp-6],ax
  94.         mov    [bp-4],dx
  95.         mov    al,[bp-5]
  96.         mov    [bp-0Ah],al
  97.         mov    al,[bp-4]
  98.         xor    ah,ah
  99.         mov    dx,17h
  100.         mul    dx
  101.         mov    dx,ax
  102.         mov    al,[bp-0Ah]
  103.         xor    ah,ah
  104.         add    ax,dx
  105.         mov    [bp-0Ah],al
  106.         mov    al,[bp-3]
  107.         xor    ah,ah
  108.         mov    dx,17h
  109.         mul    dx
  110.         mov    dx,ax
  111.         mov    al,[bp-0Ah]
  112.         xor    ah,ah
  113.         sub    ax,dx
  114.         mov    [bp-0Ah],al
  115.         mov    al,[bp-6]
  116.         xor    ah,ah
  117.         shl    ax,1
  118.         mov    [bp-9],al
  119.         mov    al,[bp-4]
  120.         xor    ah,ah
  121.         mov    dx,12h
  122.         mul    dx
  123.         mov    dx,ax
  124.         mov    al,[bp-9]
  125.         xor    ah,ah
  126.         sub    ax,dx
  127.         mov    [bp-9],al
  128.         mov    al,[bp-3]
  129.         xor    ah,ah
  130.         mov    dx,7
  131.         mul    dx
  132.         mov    dx,ax
  133.         mov    al,[bp-9]
  134.         xor    ah,ah
  135.         add    ax,dx
  136.         mov    [bp-9],al
  137.         mov    al,[bp-6]
  138.         xor    ah,ah
  139.         shl    ax,1
  140.         shl    ax,1
  141.         mov    [bp-8],al
  142.         mov    al,[bp-5]
  143.         xor    ah,ah
  144.         mov    dx,33h
  145.         mul    dx
  146.         mov    dx,ax
  147.         mov    al,[bp-8]
  148.         xor    ah,ah
  149.         add    ax,dx
  150.         mov    [bp-8],al
  151.         mov    al,[bp-3]
  152.         xor    ah,ah
  153.         mov    dx,ax
  154.         mov    al,[bp-8]
  155.         xor    ah,ah
  156.         sub    ax,dx
  157.         mov    [bp-8],al
  158.         mov    al,[bp-4]
  159.         xor    ah,ah
  160.         mov    bx,ax
  161.         mov    al,[bp-5]
  162.         xor    ah,ah
  163.         mov    si,ax
  164.         shl    ax,1
  165.         shl    ax,1
  166.         add    ax,si
  167.         mov    cx,ax
  168.         mov    al,[bp-6]
  169.         xor    ah,ah
  170.         mov    dx,22h
  171.         mul    dx
  172.         add    ax,cx
  173.         add    ax,bx
  174.         and    ax,7Fh
  175.         mov    [bp-7],al
  176.         
  177.         mov     dx,[bp-8]
  178.         mov    ax,[bp-0Ah]
  179.         
  180.         mov     FAX,ax
  181.         mov     FDX,dx
  182.         
  183.         pop    bp
  184.         sti
  185.         ret
  186.  
  187. pwr10tab:     dd   1000000000                    ; Powers of 10 table
  188.               dd   100000000
  189.               dd   10000000
  190.               dd   1000000
  191.               dd   100000
  192.               dd   10000
  193.               dd   1000
  194.               dd   100
  195.               dd   10
  196.               dd   1
  197.               
  198. INT2STR:      push    di                         ; Convert Integer to String
  199.               cld                                ; In:  DX:AX = Value
  200.               mov     bx,ax                      ;      ES:DI = String Pointer
  201.               or      dx,dx                      ; Out: CX    = String Length
  202.               jge     @@1                        ;      ES:DI = String Pointer
  203.               not     bx
  204.               not     dx
  205.               add     bx,1
  206.               adc     dx,0
  207.               mov     al,'-'
  208.               stosb
  209. @@1:          mov     si,offset pwr10tab
  210.               mov     cl,9
  211. @@2:          cmp     dx,cs:[si+2]
  212.               jb      @@3
  213.               ja      @@4
  214.               cmp     bx,cs:[si  ]
  215.               jae     @@4
  216. @@3:          add     si,4
  217.               dec     cl
  218.               jne     @@2
  219. @@4:          inc     cl
  220. @@5:          mov     al,'0'-1
  221. @@6:          inc     al
  222.               sub     bx,cs:[si  ]
  223.               sbb     dx,cs:[si+2]
  224.               jnc     @@6
  225.               add     bx,cs:[si  ]
  226.               adc     dx,cs:[si+2]
  227.               add     si,4
  228.               stosb
  229.               dec     cl
  230.               jne     @@5
  231.               mov     cx,di
  232.               pop     di
  233.               sub     cx,di
  234.               ret
  235.  
  236. Begin:        call BIOS_CODE
  237.               call Function
  238.               
  239.               push cs
  240.               pop es
  241.               mov ax,BIOSax                      ; Make Computer Number
  242.               mov dx,BIOSdx          
  243.               lea di,Num
  244.               call Int2Str
  245.               
  246.               mov ax,word ptr [FAX]              ; Make Key
  247.               mov dx,word ptr [FDX]
  248.               lea di,Key
  249.               call Int2Str
  250.                             
  251.               lea dx,msg1                        ; Display Message
  252.               mov ah,9h
  253.               int 21h
  254.               
  255. exit:         mov ax,4C00h                       ; Terminate Program
  256.               int 21h
  257.               
  258. CODES         ENDS
  259.               END Start
  260.  
  261.