Jump to content

Virus


jade09091990
 Share

Recommended Posts

Boot Sector Viruses need to be coded in Low Level programing like Moonlit said...AKA it needs to be coded in Assembly and ASM is not easy to learn unless you know a decent about of programming in languages like C/C++/FORTAN ect ect

The following code is just a "Hello World" I found thats BootSector if you compile it on to a floppy with NASM

; Redistribution and use in source and binary forms, with or without modification, are
; permitted provided that the following conditions are met:
;
; Redistributions of source code must retain the above copyright notice, this list of
; conditions and the following disclaimer.
;
; Redistributions in binary form must reproduce the above copyright notice, this list of
; conditions and the following disclaimer in the documentation and/or other materials
; provided with the distribution.
;
; The name of the author may not be used to endorse or promote products derived from this
; software without specific prior written permission.
;
; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;
; Version: 1.1.1 Beta

bits 16
org 0h

    mov ax, 0x7C0
    mov ds, ax

    call booting
    xor dx,dx
    call working
    call idleloop

nl:
    mov si, newline
    call message
    ret
    
booting:
    mov si, boot
    call message
    call nl
    ret
    
working:
    call nl
    call nl
    mov si, device
    call message
    call waitenter;
    inc dx
    cmp dx, 3
    je keyboard
    jmp working

keyboard:
    call nl
    call nl
    mov si, kbd
    call message
    call nl
    mov si, cont
    call message
    ret

waitenter:
    call nl
    mov si, cont
    call message
    xor ax,ax; Sets AH=0 and AL=0
    int 16h; Wait for keypress
    cmp al, 'T'
    jz taz
    cmp al, 't'
    jz taz
    cmp al, 13
    jnz waitenter
    ret

taz:
    call nl
    call nl
    mov si, tazq
    call message
    jmp waitenter

idleloop:
    hlt
    jmp idleloop

message:
    lodsb
    or al, al
    jz done
    mov ah, 0Eh
    mov bx, 7
    int 10h
    jmp message
    
done:
    ret

boot: db 'Loading UniOS 1.1 Beta...' , 0
newline: db 10, 13, 0
device: db 'Device not responding to SCSI command.' , 0 
cont: db 'Hit ENTER to continue...', 0
kbd: db 'Keyboard not responding to SCSI command.' , 0
tazq: db 'Yes, TazQ is an Internet crack monkey on wheels.' , 0

    times 510-($-$$) db 0
    dw 0xAA55

As you can see...it's not all that easy

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...