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

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

?? ewfacquire.c

?? sleuthit-2.09 一個磁盤的工具集
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* * ewfacquire * Reads data from a file and writes it in EWF format * * Copyright (c) 2006-2007, Joachim Metz <forensics@hoffmannbv.nl>, * Hoffmann Investigations. All rights reserved. * * Refer to AUTHORS for acknowledgements. * * 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. * - Neither the name of the creator, related organisations, nor the names of *   its contributors may be used to endorse or promote products derived from *   this software without specific prior written permission. * - All advertising materials mentioning features or use of this software *   must acknowledge the contribution by people stated in the acknowledgements. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER, COMPANY AND CONTRIBUTORS * "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 COPYRIGHT OWNER OR CONTRIBUTORS 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. */#include "../libewf/libewf_includes.h"#include <errno.h>#include <stdio.h>#ifdef HAVE_SYS_IOCTL_H#include <sys/ioctl.h>#endif#ifdef HAVE_UNISTD_H#include <unistd.h>#endif#ifdef HAVE_STDLIB_H#include <stdlib.h>#endif#ifdef HAVE_CYGWIN_FS_H#include <cygwin/fs.h>#endif#ifdef HAVE_LINUX_FS_H#include <linux/fs.h>#endif#ifdef HAVE_SYS_DISK_H#include <sys/disk.h>#endif#ifdef HAVE_SYS_DISKLABEL_H#include <sys/disklabel.h>#endif#include <libewf.h>#include "../libewf/libewf_char.h"#include "../libewf/libewf_common.h"#include "../libewf/libewf_notify.h"#include "../libewf/libewf_string.h"#include "ewfcommon.h"#include "ewfgetopt.h"#include "ewfglob.h"#include "ewfsignal.h"/* Prints the executable usage information */void usage( void ){	fprintf( stderr, "Usage: ewfacquire [ -d digest_type ] [ -hqsvV ] source\n\n" );	fprintf( stderr, "\tsource: the source file or device\n\n" );	fprintf( stderr, "\t-d:     calculate additional digest (hash) types besides md5, options: sha1\n" );	fprintf( stderr, "\t-h:     shows this help\n" );	fprintf( stderr, "\t-q:     quiet shows no status information\n" );	fprintf( stderr, "\t-s:     swap byte pairs of the media data (from AB to BA)\n" );	fprintf( stderr, "\t        (use this for big to little endian conversion and vice versa)\n" );	fprintf( stderr, "\t-v:     verbose output to stderr\n" );	fprintf( stderr, "\t-V:     print version\n" );}/* Prints an overview of the user provided input * and asks the user for confirmation * Return 1 if confirmed by user, 0 otherwise */int confirm_input( CHAR_T *filename, LIBEWF_CHAR *case_number, LIBEWF_CHAR *description, LIBEWF_CHAR *evidence_number, LIBEWF_CHAR *examiner_name, LIBEWF_CHAR *notes, uint8_t media_type, uint8_t volume_type, int8_t compression_level, uint8_t compress_empty_block, uint8_t libewf_format, uint64_t acquiry_offset, uint64_t acquiry_size, uint32_t segment_file_size, uint64_t sectors_per_chunk, uint32_t sector_error_granularity, uint8_t read_error_retry, uint8_t wipe_block_on_read_error ){	LIBEWF_CHAR *user_input  = NULL;	LIBEWF_CHAR *yes_no[ 2 ] = { _S_LIBEWF_CHAR( "yes" ),				     _S_LIBEWF_CHAR( "no" ) };	int input_confirmed      = -1;	fprintf( stdout, "The following acquiry parameters were provided:\n" );	ewfcommon_acquiry_paramters_fprint( stdout, filename, case_number, description, evidence_number, examiner_name, notes, media_type, volume_type, compression_level, compress_empty_block, libewf_format, acquiry_offset, acquiry_size, segment_file_size, sectors_per_chunk, sector_error_granularity, read_error_retry, wipe_block_on_read_error );	/* Ask for confirmation	 */	while( input_confirmed == -1 )	{		user_input = ewfcommon_get_user_input_fixed_value( stdout, _S_LIBEWF_CHAR( "Continue acquiry with these values" ), yes_no, 2, 0 );			if( libewf_string_compare( user_input, _S_LIBEWF_CHAR( "yes" ), 3 ) == 0 )		{			input_confirmed = 1;		}		else if( libewf_string_compare( user_input, _S_LIBEWF_CHAR( "no" ), 2 ) == 0 )		{			input_confirmed = 0;		}		else		{			fprintf( stdout, "Selected option not supported, please try again or terminate using Ctrl^C.\n" );		}		libewf_common_free( user_input );	}	fprintf( stdout, "\n" );	return( input_confirmed );}/* Determine the device size using a file descriptor */uint64_t determine_device_size( int file_descriptor ){#ifndef DIOCGMEDIASIZE#ifdef DIOCGDINFO	struct disklabel disk_label;#endif#endif	uint64_t input_size  = 0;#ifdef DKIOCGETBLOCKCOUNT	uint64_t block_count = 0;	uint32_t block_size  = 0;#endif	if( file_descriptor == -1 )	{		return( 0 );	}#ifdef BLKGETSIZE64	if( ioctl( file_descriptor, BLKGETSIZE64, &input_size ) == -1 )	{		return( 0 );	}#else#ifdef DIOCGMEDIASIZE	if( ioctl( file_descriptor, DIOCGMEDIASIZE, &input_size ) == -1 )	{		return( 0 );	}#else#ifdef DIOCGDINFO	if( ioctl( file_descriptor, DIOCGDINFO, &disk_label ) == -1 )	{		return( 0 );	}	input_size = disk_label.d_secperunit * disk_label.d_secsize;#else#ifdef DKIOCGETBLOCKCOUNT	if( ioctl( file_descriptor, DKIOCGETBLOCKSIZE, &block_size ) == -1 )	{		return( 0 );	}	if( ioctl( file_descriptor, DKIOCGETBLOCKCOUNT, &block_count ) == -1 )	{		return( 0 );	}#ifdef HAVE_DEBUG_OUTPUT	fprintf( stderr, "block size: %" PRIu32 " block count: %" PRIu64 " ", block_size, block_count );#endif	input_size = block_count * block_size;#else	input_size = 0;#endif /* DKIOCGETBLOCKCOUNT */#endif /* DIOCGDINFO */#endif /* DIOCGMEDIASIZE */#endif /* BLKGETSIZE64 */#ifdef HAVE_DEBUG_OUTPUT	fprintf( stderr, "device size: %" PRIu64 "\n", input_size );#endif	return( input_size );}/* The main program */#ifdef HAVE_WIDE_CHARACTER_SUPPORT_FUNCTIONSint wmain( int argc, wchar_t * const argv[] )#elseint main( int argc, char * const argv[] )#endif{	struct stat input_file_stat;#if defined(HAVE_UUID_UUID_H) && defined(HAVE_LIBUUID)	uint8_t guid[ 16 ];#endif	CHAR_T *filenames[ 1 ]                    = { NULL };	LIBEWF_HANDLE *handle                     = NULL;	LIBEWF_CHAR *calculated_md5_hash_string   = NULL;	LIBEWF_CHAR *calculated_sha1_hash_string  = NULL;	LIBEWF_CHAR *user_input                   = NULL;	LIBEWF_CHAR *case_number                  = NULL;	LIBEWF_CHAR *description                  = NULL;	LIBEWF_CHAR *evidence_number              = NULL;	LIBEWF_CHAR *examiner_name                = NULL;	LIBEWF_CHAR *notes                        = NULL;	LIBEWF_CHAR *acquiry_operating_system     = NULL;	LIBEWF_CHAR *acquiry_software_version     = NULL;	CHAR_T *filename                          = NULL;	CHAR_T *time_string                       = NULL;#if defined(HAVE_STRERROR_R) || defined(HAVE_STRERROR)	CHAR_T *error_string                      = NULL;#endif	void *callback                            = &ewfcommon_process_status_fprint;	INT_T option                              = 0;	size_t string_length                      = 0;	time_t timestamp_start                    = 0;	time_t timestamp_end                      = 0;	int64_t count                             = 0;	int64_t segment_file_size                 = 0;	uint64_t input_size                       = 0;	uint64_t acquiry_offset                   = 0;	uint64_t acquiry_size                     = 0;	uint64_t sectors_per_chunk                = 0;	uint32_t sector_error_granularity         = 0;	int8_t compression_level                  = LIBEWF_COMPRESSION_NONE;	int8_t result_md5_hash                    = 0;	int8_t result_sha1_hash                   = 0;	uint8_t media_type                        = LIBEWF_MEDIA_TYPE_FIXED;	uint8_t volume_type                       = LIBEWF_VOLUME_TYPE_LOGICAL;	uint8_t compress_empty_block              = 0;	uint8_t wipe_block_on_read_error          = 0;	uint8_t libewf_format                     = LIBEWF_FORMAT_UNKNOWN;	uint8_t read_error_retry                  = 2;	uint8_t swap_byte_pairs                   = 0;	uint8_t seek_on_error                     = 1;	uint8_t calculate_sha1                    = 0;	uint8_t verbose                           = 0;	int file_descriptor                       = 0;	LIBEWF_CHAR *compression_types[ 3 ]       = { _S_LIBEWF_CHAR( "none" ),						      _S_LIBEWF_CHAR( "fast" ),						      _S_LIBEWF_CHAR( "best" ) };	LIBEWF_CHAR *format_types[ 12 ]           = { _S_LIBEWF_CHAR( "ewf" ),						      _S_LIBEWF_CHAR( "smart" ),						      _S_LIBEWF_CHAR( "ftk" ),						      _S_LIBEWF_CHAR( "encase1" ),						      _S_LIBEWF_CHAR( "encase2" ),						      _S_LIBEWF_CHAR( "encase3" ),						      _S_LIBEWF_CHAR( "encase4" ),						      _S_LIBEWF_CHAR( "encase5" ),						      _S_LIBEWF_CHAR( "encase6" ),						      _S_LIBEWF_CHAR( "linen5" ),						      _S_LIBEWF_CHAR( "linen6" ),						      _S_LIBEWF_CHAR( "ewfx" ) };	LIBEWF_CHAR *media_types[ 2 ]             = { _S_LIBEWF_CHAR( "fixed" ),						      _S_LIBEWF_CHAR( "removable" ) };	LIBEWF_CHAR *volume_types[ 2 ]            = { _S_LIBEWF_CHAR( "logical" ),						      _S_LIBEWF_CHAR( "physical" ) };	LIBEWF_CHAR *sector_per_block_sizes[ 10 ] = { _S_LIBEWF_CHAR( "64" ),						      _S_LIBEWF_CHAR( "128" ),						      _S_LIBEWF_CHAR( "256" ),						      _S_LIBEWF_CHAR( "512" ),						      _S_LIBEWF_CHAR( "1024" ),						      _S_LIBEWF_CHAR( "2048" ),						      _S_LIBEWF_CHAR( "4096" ),						      _S_LIBEWF_CHAR( "8192" ),						      _S_LIBEWF_CHAR( "16384" ),						      _S_LIBEWF_CHAR( "32768" ) };	LIBEWF_CHAR *yes_no[ 2 ]                  = { _S_LIBEWF_CHAR( "yes" ),						      _S_LIBEWF_CHAR( "no" ) };	ewfsignal_initialize();	ewfcommon_version_fprint( stderr, _S_LIBEWF_CHAR( "ewfacquire" ) );	while( ( option = ewfgetopt( argc, argv, _S_CHAR_T( "d:hqsvV" ) ) ) != (INT_T) -1 )	{		switch( option )		{			case (INT_T) '?':			default:				fprintf( stderr, "Invalid argument: %" PRIs "\n", argv[ optind ] );				usage();				return( EXIT_FAILURE );			case (INT_T) 'd':				if( CHAR_T_COMPARE( optarg, _S_CHAR_T( "sha1" ), 4 ) == 0 )				{					calculate_sha1 = 1;				}				else				{					fprintf( stderr, "unsuported digest type.\n" );				}				break;			case (INT_T) 'h':				usage();				return( EXIT_SUCCESS );			case (INT_T) 'q':				callback = NULL;				break;			case (INT_T) 's':				swap_byte_pairs = 1;				break;			case (INT_T) 'v':				verbose = 1;				break;			case (INT_T) 'V':				ewfcommon_copyright_fprint( stderr );				return( EXIT_SUCCESS );		}	}	if( optind == argc )	{		fprintf( stderr, "Missing source file or device.\n" );		usage();		return( EXIT_FAILURE );	}	libewf_set_notify_values( stderr, verbose );	/* Check if to read from stdin	 */	if( CHAR_T_COMPARE( argv[ optind ], _S_CHAR_T( "-" ), 1 ) == 0 )	{		fprintf( stderr, "Reading from stdin not supported.\n" );		return( EXIT_FAILURE );	}	/* Open the input file or device size	 */	file_descriptor = libewf_common_open( argv[ optind ], LIBEWF_OPEN_READ );	if( file_descriptor == -1 )	{#if defined(HAVE_STRERROR_R) || defined(HAVE_STRERROR)		error_string = libewf_common_strerror( errno );		if( error_string != NULL )		{			fprintf( stderr, "Error opening file or device: %" PRIs " with failure: %" PRIs ".\n", argv[ optind ], error_string );			libewf_common_free( error_string );		}#else		fprintf( stderr, "Error opening file or device: %" PRIs ".\n", argv[ optind ] );#endif		return( EXIT_FAILURE );	}	/* Check the input file or device size	 */	input_size = 0;	if( fstat( file_descriptor, &input_file_stat ) != 0 )	{		fprintf( stderr, "Unable to get status information of file.\n" );		return( EXIT_FAILURE );	}#ifndef HAVE_WINDOWS_API	if( S_ISBLK( input_file_stat.st_mode ) || S_ISCHR( input_file_stat.st_mode ) )	{		input_size = determine_device_size( file_descriptor );	}	else#endif	{		input_size = input_file_stat.st_size;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区中文不卡| 91精品久久久久久久91蜜桃| 久久激情五月婷婷| 亚洲综合av网| 一区二区日韩电影| 亚洲一区二区精品视频| 亚洲一区二区三区中文字幕| 性做久久久久久久免费看| 亚洲国产精品嫩草影院| 丝袜a∨在线一区二区三区不卡| 亚洲一区二区视频| 日韩福利视频导航| 精品一区二区精品| 成人不卡免费av| 91丨porny丨首页| 欧美日韩成人一区| 精品国产伦理网| 亚洲成在人线在线播放| 亚洲va韩国va欧美va精品| 免费人成在线不卡| 国产成人精品午夜视频免费| 色综合天天综合网国产成人综合天| 色欧美乱欧美15图片| 欧美顶级少妇做爰| 久久精品亚洲一区二区三区浴池 | 一区二区三区波多野结衣在线观看| 亚洲靠逼com| 免费观看一级欧美片| 国产成人亚洲精品青草天美| 91丨porny丨蝌蚪视频| 欧美精品vⅰdeose4hd| 久久久美女毛片| 亚洲综合免费观看高清完整版在线 | 91麻豆精品久久久久蜜臀| 日韩欧美一级片| 亚洲欧洲99久久| 日韩影院免费视频| 成人av在线一区二区三区| 欧美天堂一区二区三区| 久久色在线视频| 亚洲国产精品久久一线不卡| 国产在线精品免费| 欧美日韩国产一区二区三区地区| 久久女同精品一区二区| 午夜不卡在线视频| 成人国产精品免费观看视频| 91精品国产美女浴室洗澡无遮挡| 中文字幕中文乱码欧美一区二区 | 久久 天天综合| 91搞黄在线观看| 国产精品无人区| 久久精品国产99久久6| 欧美日韩久久久久久| 国产精品久久久久久久久晋中| 久久99精品一区二区三区| 欧洲生活片亚洲生活在线观看| 国产欧美日韩麻豆91| 麻豆精品在线观看| 欧美日韩国产a| 樱花草国产18久久久久| 成人av网站在线观看| 精品国内片67194| 日韩精品五月天| 欧美日韩免费观看一区二区三区| 亚洲欧美区自拍先锋| 国产凹凸在线观看一区二区| 精品国产伦一区二区三区观看方式 | 亚洲777理论| 欧美性受xxxx黑人xyx性爽| 亚洲欧美综合在线精品| 成人avav影音| 中国色在线观看另类| 国产精品一级片在线观看| 欧美草草影院在线视频| 日韩av午夜在线观看| 欧美久久久影院| 日本成人在线视频网站| 日韩限制级电影在线观看| 亚洲成人激情自拍| 欧美区一区二区三区| 五月天激情综合网| 欧美日韩国产小视频| 天天综合色天天| 日韩午夜小视频| 国产一区二区不卡在线| 国产欧美日韩一区二区三区在线观看| 国产成人综合亚洲91猫咪| 国产亚洲精品久| 97se亚洲国产综合自在线| 1000部国产精品成人观看| 色综合久久久久| 亚洲狠狠爱一区二区三区| 日韩一区二区在线观看视频播放| 秋霞av亚洲一区二区三| 2021国产精品久久精品| 成人午夜免费视频| 亚洲综合偷拍欧美一区色| 91精品国产91久久久久久最新毛片 | 天堂蜜桃91精品| 亚洲精品在线观看网站| 不卡电影一区二区三区| 亚洲国产视频网站| 欧美变态tickling挠脚心| 成av人片一区二区| 亚洲成人www| 久久精品人人做人人爽人人| 97成人超碰视| 另类成人小视频在线| 国产精品国模大尺度视频| 欧美调教femdomvk| 岛国av在线一区| 午夜精品久久久久久久99樱桃| 久久久久亚洲蜜桃| 欧美性色黄大片| 国产二区国产一区在线观看| 一区二区三区精品视频| 欧美mv和日韩mv国产网站| 91丨九色丨蝌蚪富婆spa| 精品一区二区三区蜜桃| 亚洲精品五月天| 久久欧美中文字幕| 欧美精品在线观看一区二区| 国产成人av网站| 人妖欧美一区二区| 亚洲综合小说图片| 国产精品免费视频观看| 精品久久久久久久久久久院品网| 色偷偷久久人人79超碰人人澡| 国产一区啦啦啦在线观看| 亚洲成在人线在线播放| 亚洲欧美色一区| 国产清纯白嫩初高生在线观看91| 欧美精品久久一区| 色偷偷一区二区三区| 99视频在线精品| 国产成人精品一区二区三区四区| 麻豆精品一区二区综合av| 亚洲3atv精品一区二区三区| 一区二区三区四区蜜桃| 国产精品女主播在线观看| 欧美精品一区视频| 日韩精品在线网站| 日韩一级精品视频在线观看| 欧美群妇大交群中文字幕| 欧美色综合久久| 一本久久a久久精品亚洲| 成人h版在线观看| 高清国产一区二区三区| 国产成人在线视频网址| 国产一区二区三区蝌蚪| 久久 天天综合| 久久成人18免费观看| 人人爽香蕉精品| 美女免费视频一区| 免费成人你懂的| 久久国产成人午夜av影院| 精品一区二区综合| 国产主播一区二区| 国产·精品毛片| 99综合电影在线视频| 91看片淫黄大片一级在线观看| 99热99精品| 欧美探花视频资源| 欧美一区二区视频免费观看| 日韩午夜av一区| 久久嫩草精品久久久久| 国产精品午夜久久| 亚洲男人的天堂网| 亚洲成av人影院| 久久9热精品视频| 成人小视频免费观看| 色婷婷综合在线| 欧美一区二区三区精品| 久久女同互慰一区二区三区| 国产精品国产自产拍在线| 亚洲v日本v欧美v久久精品| 日韩精品免费专区| 国产成人综合在线观看| 色偷偷成人一区二区三区91| 51久久夜色精品国产麻豆| 国产亚洲一区二区三区在线观看| 国产精品全国免费观看高清| 一区二区三区在线观看欧美| 麻豆专区一区二区三区四区五区| 高潮精品一区videoshd| 欧美日韩国产高清一区| 久久久精品国产免大香伊| 亚洲欧美成人一区二区三区| 日韩精品高清不卡| 99国产欧美另类久久久精品| 欧美一区二区三区啪啪| 国产精品视频你懂的| 天天射综合影视| 成人精品小蝌蚪| 欧美一区二区三区婷婷月色 | 26uuu国产在线精品一区二区| 最新欧美精品一区二区三区| 蜜桃av噜噜一区二区三区小说| 成人免费的视频| 欧美大片拔萝卜|