亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ddcopy16.cpp

?? ddcopy的硬盤拷貝源碼程序
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/***********************************
	DDcopy V1.6
	by Li Zhi (ddcopy@263.net)
	2003-7-4
	TC++ 3.0

  * V1.6d by lizhi 2004-11-6
    1.修改映像文件壓縮錯誤
  
  * V1.6c by lizhi 2004-10-30
    1.修改映像文件拷貝功能中的錯誤
    2.增加指定拷貝扇區范圍功能

***********************************/

/*
Table 00650
===========
Format of hard disk master boot sector:
Offset	Size	Description	
 00h 446 BYTEs	Master bootstrap loader code
1BEh 16 BYTEs	partition record for partition 1 (see #00651)
1CEh 16 BYTEs	partition record for partition 2
1DEh 16 BYTEs	partition record for partition 3
1EEh 16 BYTEs	partition record for partition 4
1FEh	WORD	signature, AA55h indicates valid boot block


Table 00651
===========
Format of partition record:
Offset	Size	Description	
 00h	BYTE	boot indicator (80h = active partition)
 01h	BYTE	partition start head
 02h	BYTE	partition start sector (bits 0-5)
 03h	BYTE	partition start track (bits 8,9 in bits 6,7 of sector)
 04h	BYTE	operating system indicator (see #00652)
 05h	BYTE	partition end head
 06h	BYTE	partition end sector (bits 0-5)
 07h	BYTE	partition end track (bits 8,9 in bits 6,7 of sector)
 08h	DWORD	sectors preceding partition
 0Ch	DWORD	length of partition in sectors


Table 00652
===========
Values for operating system indicator:
 00h	empty partition-table entry
 01h	DOS 12-bit FAT
 02h	XENIX root file system
 03h	XENIX /usr file system (obsolete)
 04h	DOS 16-bit FAT (up to 32M)
 05h	DOS 3.3+ extended partition
 06h	DOS 3.31+ Large File System (16-bit FAT, over 32M)
 07h	QNX
 07h	OS/2 HPFS
 07h	Windows NT NTFS
 07h	Advanced Unix
 07h	see partition boot record; could be any of the above or others
 08h	OS/2 (v1.0-1.3 only)
 08h	AIX bootable partition, SplitDrive
 08h	Commodore DOS
 08h	DELL partition spanning multiple drives
 09h	AIX data partition

 09h	Coherent filesystem
 0Ah	OS/2 Boot Manager
 0Ah	OPUS
 0Ah	Coherent swap partition
 0Bh	Windows95 with 32-bit FAT
 0Ch	Windows95 with 32-bit FAT (using LBA-mode INT 13 extensions)
 0Eh	logical-block-addressable VFAT (same as 06h but using LBA-mode INT 13)
 0Fh	logical-block-addressable VFAT (same as 05h but using LBA-mode INT 13)
 10h	OPUS
 11h	OS/2 Boot Manager hidden 12-bit FAT partition
 12h	Compaq Diagnostics partition
 14h	(resulted from using Novell DOS 7.0 FDISK to delete Linux Native part)
 14h	OS/2 Boot Manager hidden sub-32M 16-bit FAT partition
 16h	OS/2 Boot Manager hidden over-32M 16-bit FAT partition
 17h	OS/2 Boot Manager hidden HPFS partition

 17h	hidden NTFS partition
 18h	AST special Windows swap file ("Zero-Volt Suspend" partition)
 19h	Willowtech Photon coS
 1Bh	hidden Windows95 FAT32 partition
 1Ch	hidden Windows95 FAT32 partition (using LBA-mode INT 13 extensions)
 1Eh	hidden LBA VFAT partition
 20h	Willowsoft Overture File System (OFS1)
 21h	officially listed as reserved
 21h	FSo2
 23h	officially listed as reserved
 24h	NEC MS-DOS 3.x
 26h	officially listed as reserved
 31h	officially listed as reserved
 33h	officially listed as reserved
 34h	officially listed as reserved
 36h	officially listed as reserved
 38h	Theos
 3Ch	PowerQuest PartitionMagic recovery partition
 40h	VENIX 80286
 41h	Personal RISC Boot
 41h	PowerPC boot partition
 42h	SFS (Secure File System) by Peter Gutmann

 45h	EUMEL/Elan
 46h	EUMEL/Elan
 47h	EUMEL/Elan
 48h	EUMEL/Elan
 4Fh	Oberon boot/data partition
 50h	OnTrack Disk Manager, read-only partition
 51h	OnTrack Disk Manager, read/write partition
 51h	NOVELL
 52h	CP/M
 52h	Microport System V/386
 53h	OnTrack Disk Manager, write-only partition???
 54h	OnTrack Disk Manager (DDO)
 55h	EZ-Drive (see also INT 13/AH=FFh"EZ-Drive")
 56h	GoldenBow VFeature
 5Ch	Priam EDISK
 61h	SpeedStor
 63h	Unix SysV/386, 386/ix
 63h	Mach, MtXinu BSD 4.3 on Mach
 63h	GNU HURD
 64h	Novell NetWare 286
 64h	SpeedStore

 65h	Novell NetWare (3.11)
 67h	Novell
 68h	Novell
 69h	Novell
 70h	DiskSecure Multi-Boot
 71h	officially listed as reserved
 73h	officially listed as reserved
 74h	officially listed as reserved
 75h	PC/IX
 76h	officially listed as reserved
 7Eh	F.I.X.
 80h	Minix v1.1 - 1.4a
 81h	Minix v1.4b+
 81h	Linux
 81h	Mitac Advanced Disk Manager
 82h	Linux Swap partition
 82h	Prime
 82h	Solaris (Unix)
 83h	Linux native file system (ext2fs/xiafs)
 84h	OS/2-renumbered type 04h partition (related to hiding DOS C: drive)
 85h	Linux EXT
 86h	FAT16 volume/stripe set (Windows NT)
 87h	HPFS Fault-Tolerant mirrored partition
 87h	NTFS volume/stripe set

 93h	Amoeba file system
 94h	Amoeba bad block table
 98h	Datalight ROM-DOS SuperBoot
 99h	Mylex EISA SCSI
 A0h	Phoenix NoteBIOS Power Management "Save-to-Disk" partition
 A1h	officially listed as reserved
 A3h	officially listed as reserved
 A4h	officially listed as reserved
 A5h	FreeBSD, BSD/386
 A6h	OpenBSD
 A9h	NetBSD (http://www.netbsd.org/)
 B1h	officially listed as reserved
 B3h	officially listed as reserved
 B4h	officially listed as reserved
 B6h	officially listed as reserved
 B6h	Windows NT mirror set (master), FAT16 file system
 B7h	BSDI file system (secondarily swap)
 B7h	Windows NT mirror set (master), NTFS file system
 B8h	BSDI swap partition (secondarily file system)
 BEh	Solaris boot partition
 C0h	DR DOS/DR-DOS/Novell DOS secured partition

 C0h	CTOS
 C1h	DR DOS 6.0 LOGIN.EXE-secured 12-bit FAT partition
 C4h	DR DOS 6.0 LOGIN.EXE-secured 16-bit FAT partition
 C6h	DR DOS 6.0 LOGIN.EXE-secured Huge partition
 C6h	corrupted FAT16 volume/stripe set (Windows NT)
 C6h	Windows NT mirror set (slave), FAT16 file system
 C7h	Syrinx Boot
 C7h	corrupted NTFS volume/stripe set
 C7h	Windows NT mirror set (slave), NTFS file system
 CBh	Reserved for DR DOS/DR-DOS/OpenDOS secured FAT32
 CCh	Reserved for DR DOS/DR-DOS secured FAT32 (LBA)
 CEh	Reserved for DR DOS/DR-DOS secured FAT16 (LBA)
 D0h	Multiuser DOS secured FAT12

 D1h	Old Multiuser DOS secured FAT12
 D4h	Old Multiuser DOS secured FAT16 (<= 32M)
 D5h	Old Multiuser DOS secured extended partition
 D6h	Old Multiuser DOS secured FAT16 (> 32M)
 D8h	CP/M-86
 DBh	CP/M, Concurrent CP/M, Concurrent DOS
 DBh	CTOS (Convergent Technologies OS)
 E1h	SpeedStor 12-bit FAT extended partition
 E2h	DOS read-only (Florian Painke's XFDISK 1.0.4)
 E3h	DOS read-only
 E3h	Storage Dimensions
 E4h	SpeedStor 16-bit FAT extended partition
 E5h	officially listed as reserved
 E6h	officially listed as reserved
 EBh	BeOS BFS (BFS1)
 F1h	Storage Dimensions
 F2h	DOS 3.3+ secondary partition
 F3h	officially listed as reserved
 F4h	SpeedStor

 F4h	Storage Dimensions
 F5h	Prologue
 F6h	officially listed as reserved
 FEh	LANstep
 FEh	IBM PS/2 IML (Initial Microcode Load) partition
 FFh	Xenix bad block table

 Note:	for partition type 07h, one should inspect the partition boot record
	  for the actual file system type


Table 00273
===========
Format of IBM/MS INT 13 Extensions drive parameters:
Offset	Size	Description	
 00h	WORD 	(call) size of buffer
			    (001Ah for v1.x, 001Eh for v2.x, 42h for v3.0)
			(ret) size of returned data
 02h	WORD 	information flags (see #00274)
 04h	DWORD	number of physical cylinders on drive
 08h	DWORD	number of physical heads on drive
 0Ch	DWORD	number of physical sectors per track
 10h	QWORD	total number of sectors on drive
 18h	WORD 	bytes per sector
---v2.0+ ---
 1Ah	DWORD	-> EDD configuration parameters (see #00278)
		FFFFh:FFFFh if not available
---v3.0 ---
 1Eh	WORD 	signature BEDDh to indicate presence of Device Path info

 20h	BYTE 	length of Device Path information, including signature and this
			  byte (24h for v3.0)
 21h  3 BYTEs	reserved (0)
 24h  4 BYTEs	ASCIZ name of host bus ("ISA" or "PCI")
 28h  8 BYTEs	ASCIZ name of interface type
		"ATA"
		"ATAPI"
		"SCSI"
		"USB"
		"1394" IEEE 1394 (FireWire)
		"FIBRE" Fibre Channel
 30h  8 BYTEs	Interface Path (see #00275)
 38h  8 BYTEs	Device Path (see #00276)
 40h 	BYTE	reserved (0)
 41h 	BYTE	checksum of bytes 1Eh-40h (two's complement of sum, which makes
		  the 8-bit sum of bytes 1Eh-41h equal 00h)

 Note:	if the size is less than 30 on call, the final DWORD will not be
    returned by a v2.x implementation; similarly for the Device Path info

 (Table 00234)
 Values for disk operation status:
 00h	successful completion
 01h	invalid function in AH or invalid parameter
 02h	address mark not found
 03h	disk write-protected
 04h	sector not found/read error
 05h	reset failed (hard disk)
 05h	data did not verify correctly (TI Professional PC)
 06h	disk changed (floppy)
 07h	drive parameter activity failed (hard disk)
 08h	DMA overrun
 09h	data boundary error (attempted DMA across 64K boundary or >80h sectors)
 0Ah	bad sector detected (hard disk)
 0Bh	bad track detected (hard disk)
 0Ch	unsupported track or invalid media
 0Dh	invalid number of sectors on format (PS/2 hard disk)
 0Eh	control data address mark detected (hard disk)
 0Fh	DMA arbitration level out of range (hard disk)
 10h	uncorrectable CRC or ECC error on read
 11h	data ECC corrected (hard disk)
 20h	controller failure
 31h	no media in drive (IBM/MS INT 13 extensions)
 32h	incorrect drive type stored in CMOS (Compaq)
 40h	seek failed
 80h	timeout (not ready)
 AAh	drive not ready (hard disk)
 B0h	volume not locked in drive (INT 13 extensions)
 B1h	volume locked in drive (INT 13 extensions)
 B2h	volume not removable (INT 13 extensions)
 B3h	volume in use (INT 13 extensions)
 B4h	lock count exceeded (INT 13 extensions)
 B5h	valid eject request failed (INT 13 extensions)
 B6h	volume present but read protected (INT 13 extensions)
 BBh	undefined error (hard disk)
 CCh	write fault (hard disk)
 E0h	status register error (hard disk)
 FFh	sense operation failed (hard disk)
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <dos.h>
#include <time.h>
#include "lzss.h"

#define  PR_LOGO 	1
#define  PR_CMDLINE 	2
#define  PR_OPTIONS	4
#define  PR_EXAMPLE 	8
#define  PR_INFO 	16

#define  MAXDISKS	32
#define  CMDBUFF	250
#define  BLOCKS		64

short disks [MAXDISKS] = {0};			// 硬盤號, 1=>80h, 2=>81h, ...
short parts [MAXDISKS] = {0};			// 硬盤分區號, 1=>第一分區, 2=>第二分區, ...
unsigned long starts [MAXDISKS] = {0};	// 源起始拷貝扇區號及目標起始拷貝扇區
unsigned long sectors [MAXDISKS] = {0};	// 源數據塊數及目標數據塊

char * imgfiles [MAXDISKS] = {NULL};	// 映像文件名
FILE * FILES [MAXDISKS] = {NULL};		// 映像文件指針
char nextvolume[MAXDISKS] = {0};

class LZSS lzss;
char title [16] = "DDcopy";
char ver [8] = "V1.6d";					// 版本號(中間不能有空格)
short Blocks = BLOCKS;
short ErrorNum = 0;

short (* read_sour) (unsigned char *);

struct conf {
	short defaultmode;
	short showinfo;
	short printhelp;
	short diskmode;
	short confirm;
	short compress;
	short imgsize;
	unsigned long  copysectors;
} conf = {
	0,	// default copy mode
	0,	// show disk info
	0,	// printhelp
	2,	// diskmode	(1:disk mode, 0:partition mode, 2:no use)
	1,	// confirm
	0,	// compress img file
	0,	// img file size (MB)
	0,	// copy sectors from begin
};

struct _diskinfo {
	unsigned short size_of_buffer;
	unsigned short information_flags;
	unsigned long number_of_physical_cylinders_on_drive;
	unsigned long number_of_physical_heads_on_drive;
	unsigned long number_of_physical_sectors_per_track;
	unsigned long total_number_of_sectors_low;
	unsigned long total_number_of_sectors_high;
	unsigned short bytes_per_sector;
};


void print_program_help (int print_type)
{
	if (print_type & PR_LOGO){
		printf ("\n%s %s						http://ddcopy.126.com\n", title, ver);
	}

	if (print_type & PR_CMDLINE){
		printf ("    \nddcopy [-d s=m d=d1,dn]|[-p s=m:i d=d1:j,dn:k] [-v n] [-e n] [-s] [-c] [-f] [-y] [-h]\n\n");
	}

	if (print_type & PR_OPTIONS){
		printf ("Options:\n");
		printf ("    -d  : Disk copy mode			-y  : No confirm messages\n");
		printf ("    -p  : Partition copy mode	    		-s  : Show disks information\n");
		printf ("    -v  : Multi-volume imagefile size (MB)	-f  : Default copy mode\n");
		printf ("    -e  : Copy n sectors\n");
		printf ("    -c  : Compress mode. (Slowly)		-h  : Print help message\n\n");
	}

	if (print_type & PR_EXAMPLE){
		printf ("Examples:\n");
		printf ("    ddcopy -f -y			: Copy disk 1 to disk 2,3, ...\n");
		printf ("    ddcopy -d s=1 d=2,3,4\t\t: Copy disk 1 to disk 2,3 and 4\n");
		printf ("    ddcopy -d s=1 d=2,c:\\d1.img\t	: Copy disk 1 to disk 2 and imgfile \n");
		printf ("    ddcopy -d s=c:\\d1.img d=1,3\t	: Copy imgfile to disk 1 and 3\n");
		printf ("    ddcopy -p s=1:1 d=2:2,2:3\t	: Copy the first partition on disk 1 to\n\t\t\t\t\t  the secend partition on disk 2 and\n\t\t\t\t\t  the third partition on disk 2\n");
		printf ("    ddcopy -p s=1:1 d=2:2,c:\\p1.img	: Copy the first partition on disk 1 to\n\t\t\t\t\t  the secend partition on disk 2 and\n\t\t\t\t\t  the imgfile\n");
		printf ("    ddcopy -p s=c:\\p1.img d=2:2,3:3	: Copy the imgfile to\n\t\t\t\t\t  the secend partition on disk 2 and\n\t\t\t\t\t  the third partition on disk 3\n");
	}

	if (print_type & PR_INFO){
		printf ("\nBy Li Zhi (Oct,2004)\n");
		printf ("E-mail:ddcopy@263.net\n");
		printf ("http://ddcopy.126.com\n");
	}
}


// 顯示確認信息
short show_confirm_msg (char * text)
{
	short c;

	if (conf.confirm){
		// 顯示確認信息
		printf ("%s", text);
		do {
			c = getch () | 0x20;
		} while (c != 'y' && c != 'n' && c!='a');

		printf ("%c\n", c);
		
		if (c == 'y'){
			// 返回"是"
			return (1);
		}
		if (c == 'a'){
			// 返回"全是"
			conf.confirm = 0;
			return (1);
		}
		// 返回"不"
		return (0);
	}
	else {	// conf.confirm == 0
		// 不顯示確認信息,并返回"是"
		return (1);
	}
}

void print_memory (void * buffer, unsigned short len)
{
	unsigned short i;

	printf ("\n");
	for (i=0; i<len; i++){
		printf ("  %02X ", ((unsigned char *) buffer)[i]);
	}
	printf ("\n");
}

/**
 * 硬盤操作:"讀"操作(0x42),"寫"操作(0x43),\n  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频网站| 亚洲欧美激情插| 亚洲精品综合在线| 久草精品在线观看| 欧洲精品视频在线观看| 国产色综合久久| 久久99国产精品免费网站| 在线看国产一区| 亚洲欧洲一区二区三区| 另类欧美日韩国产在线| 欧美色网站导航| 1区2区3区精品视频| 成人免费视频一区| 国产日韩精品一区二区三区| 青娱乐精品视频| 91麻豆精品国产91久久久资源速度| 亚洲综合一区在线| 99久久综合精品| 国产精品网友自拍| 国产精品一区免费在线观看| 日韩精品一区国产麻豆| 午夜免费久久看| 51久久夜色精品国产麻豆| 亚洲一区二区五区| 色婷婷精品久久二区二区蜜臂av| 国产精品网站在线| 成人av免费在线播放| 中文字幕不卡的av| 成人黄色网址在线观看| 欧美激情一区二区三区| 成人18视频在线播放| 中文字幕av资源一区| 国产99久久久精品| 国产精品福利一区| 一本一道综合狠狠老| 一区二区三区视频在线看| 91麻豆高清视频| 亚洲国产精品久久人人爱| 欧美天堂一区二区三区| 亚洲va在线va天堂| 日韩一区二区三| 九九九久久久精品| 国产视频一区二区在线观看| 不卡的av电影| 亚洲制服丝袜在线| 欧美一区二区三区在线观看视频| 免费久久99精品国产| 国产色产综合色产在线视频| 成人国产精品视频| 有码一区二区三区| 日韩欧美一卡二卡| 国产成人免费视频精品含羞草妖精| 国产免费观看久久| 色94色欧美sute亚洲13| 日韩经典一区二区| 久久久久久久久久久99999| 成人免费看的视频| 亚洲黄色尤物视频| 亚洲乱码国产乱码精品精可以看 | 国产一区二区成人久久免费影院| 欧美精品一区二区三区久久久| 国产福利91精品| 亚洲成人免费电影| 久久午夜色播影院免费高清| 91亚洲精品乱码久久久久久蜜桃| 亚洲国产日韩精品| 国产亚洲综合在线| 欧美日韩电影一区| 成年人网站91| 日韩电影免费在线| 国产精品久久久久影院色老大 | 成人高清av在线| 亚洲国产wwwccc36天堂| 国产偷国产偷精品高清尤物| 在线观看欧美精品| 国产99久久久国产精品潘金网站| 亚洲chinese男男1069| 久久精品无码一区二区三区| 欧美精品久久久久久久久老牛影院| 国产乱码精品一区二区三区忘忧草 | 国产一区亚洲一区| 石原莉奈在线亚洲三区| 最新欧美精品一区二区三区| 精品久久久久99| 欧美日韩一区二区三区不卡| av激情亚洲男人天堂| 另类调教123区| 日韩精品五月天| 亚洲品质自拍视频网站| 国产亚洲欧美一级| 精品国产免费久久| 91精品婷婷国产综合久久竹菊| 成人黄色小视频在线观看| 精品中文字幕一区二区| 亚洲二区视频在线| 亚洲一区免费视频| 一区av在线播放| 综合激情成人伊人| 国产精品你懂的在线欣赏| 欧美成人精精品一区二区频| 欧美精品xxxxbbbb| 这里只有精品免费| 欧美精品一级二级| 欧美伦理电影网| 欧美亚洲丝袜传媒另类| 色天使色偷偷av一区二区| 99re视频精品| 成人免费毛片嘿嘿连载视频| 成人一级视频在线观看| 国产99久久久精品| 成人动漫在线一区| 成人久久视频在线观看| 高清不卡在线观看| eeuss鲁片一区二区三区在线看| 成人综合婷婷国产精品久久| 粉嫩av一区二区三区| 成人精品国产免费网站| 粉嫩欧美一区二区三区高清影视| 国产黄色精品网站| 粉嫩欧美一区二区三区高清影视 | 中文字幕一区二区三区av| 日本一区二区三区四区在线视频| 国产日产精品1区| 欧美国产精品一区| 亚洲女爱视频在线| 午夜欧美一区二区三区在线播放| 偷拍一区二区三区| 日韩高清欧美激情| 国产精品一区在线观看乱码 | 欧美久久婷婷综合色| 777午夜精品免费视频| 日韩精品一区二区三区在线| 三级不卡在线观看| 久久精品99国产国产精| 国产馆精品极品| 91免费在线看| 欧美一级欧美三级在线观看| 26uuu精品一区二区| 国产精品久久久久久久久快鸭| 亚洲少妇中出一区| 日本中文字幕不卡| 成人毛片在线观看| 欧美片网站yy| 国产嫩草影院久久久久| 亚洲午夜久久久久久久久电影网| 免费看欧美女人艹b| youjizz久久| 欧美一二三在线| 中文字幕一区二区三区精华液| 亚洲成a人v欧美综合天堂下载| 狠狠色丁香久久婷婷综合丁香| 成人av中文字幕| 日韩美女视频一区二区在线观看| 欧美韩国日本综合| 日韩成人午夜电影| 99re8在线精品视频免费播放| 制服丝袜成人动漫| 日韩一区在线免费观看| 青青青伊人色综合久久| 91啪亚洲精品| 久久亚洲影视婷婷| 亚洲国产日韩一区二区| 波多野结衣欧美| 欧美成人a∨高清免费观看| 一区二区三区在线观看视频| 国产大陆亚洲精品国产| 欧美丰满嫩嫩电影| 亚洲欧美另类在线| 国产精品一二一区| 日韩色在线观看| 亚洲地区一二三色| 91蜜桃婷婷狠狠久久综合9色| 26uuu国产电影一区二区| 亚洲网友自拍偷拍| 色综合久久久久综合| 国产精品三级视频| 国产一区二区三区久久久 | 开心九九激情九九欧美日韩精美视频电影| 国产成人高清在线| 久久综合一区二区| 美女www一区二区| 欧美一区二区视频网站| 视频在线观看国产精品| 欧美最新大片在线看| 一区二区三区在线观看网站| 99在线精品一区二区三区| 国产夜色精品一区二区av| 久久电影网站中文字幕| 欧美一区二区三区免费观看视频| 亚洲一区二区成人在线观看| 一本色道a无线码一区v| 亚洲婷婷综合色高清在线| 欧美一卡在线观看| 日本亚洲天堂网| 日韩一卡二卡三卡国产欧美| 免费久久99精品国产| 欧美xxxx在线观看| 国产一区二区在线观看视频| 精品久久久久久久久久久院品网| 狠狠色2019综合网|