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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ewf.c

?? linux下開發(fā)的針對所有磁盤的數(shù)據(jù)恢復(fù)的源碼
?? C
字號:
/* * Joachim Metz <forensics@hoffmannbv.nl>, Hoffmann Investigations * Copyright (c) 2006 Joachim Metz.  All rights reserved  * * ewf * * This software is distributed under the Common Public License 1.0 *//** \file ewf.c * Internal code for TSK to interface with libewf. */#include "tsk_img_i.h"#if HAVE_LIBEWF#include "ewf.h"static ssize_tewf_image_read(TSK_IMG_INFO * img_info, TSK_OFF_T offset, char *buf,    size_t len){    ssize_t cnt;    IMG_EWF_INFO *ewf_info = (IMG_EWF_INFO *) img_info;    if (tsk_verbose)        tsk_fprintf(stderr,            "ewf_read: byte offset: %" PRIuOFF " len: %" PRIuSIZE "\n",            offset, len);    if (offset > img_info->size) {        tsk_error_reset();        tsk_errno = TSK_ERR_IMG_READ_OFF;        snprintf(tsk_errstr, TSK_ERRSTR_L,            "split_read - %" PRIuOFF, offset);        return -1;    }    cnt = libewf_read_random(ewf_info->handle, buf, len, offset);    if (cnt < 0) {        tsk_error_reset();        // @@@ Add more specific error message        tsk_error_reset();        tsk_errno = TSK_ERR_IMG_READ;        snprintf(tsk_errstr, TSK_ERRSTR_L,            "ewf_read - offset: %" PRIuOFF " - len: %" PRIuSIZE " - %s",            offset, len, strerror(errno));        return -1;    }    return cnt;}static voidewf_image_imgstat(TSK_IMG_INFO * img_info, FILE * hFile){    IMG_EWF_INFO *ewf_info = (IMG_EWF_INFO *) img_info;    tsk_fprintf(hFile, "IMAGE FILE INFORMATION\n");    tsk_fprintf(hFile, "--------------------------------------------\n");    tsk_fprintf(hFile, "Image Type:\t\tewf\n");    tsk_fprintf(hFile, "\nSize of data in bytes:\t%" PRIuOFF "\n",        img_info->size);    if (ewf_info->md5hash_isset == 1) {        tsk_fprintf(hFile, "MD5 hash of data:\t%s\n", ewf_info->md5hash);    }    return;}static voidewf_image_close(TSK_IMG_INFO * img_info){    IMG_EWF_INFO *ewf_info = (IMG_EWF_INFO *) img_info;    libewf_close(ewf_info->handle);    free(img_info);}/* Tests if the image file header against the * header (magic) signature specified. * Returns a 0 on no match and a 1 on a match, and -1 on error. */#if 0static intimg_file_header_signature_ncmp(const char *filename,    const char *file_header_signature, int size_of_signature){    int match;    ssize_t read_count = 0;    char header[512];    int fd;    if ((filename == NULL) || (file_header_signature == NULL)) {        return (0);    }    if (size_of_signature <= 0) {        return (0);    }    if ((fd = open(filename, O_RDONLY | O_BINARY)) < 0) {        tsk_error_reset();        tsk_errno = TSK_ERR_IMG_OPEN;        snprintf(tsk_errstr, TSK_ERRSTR_L, "ewf magic testing: %s",            filename);        return -1;    }    read_count = read(fd, header, 512);    if (read_count != 512) {        tsk_error_reset();        tsk_errno = TSK_ERR_IMG_READ;        snprintf(tsk_errstr, TSK_ERRSTR_L, "ewf magic testing: %s",            filename);        return -1;    }    close(fd);    match = strncmp(file_header_signature, header, size_of_signature) == 0;    return (match);}#endifTSK_IMG_INFO *ewf_open(int num_img, const TSK_TCHAR ** images){    IMG_EWF_INFO *ewf_info;    TSK_IMG_INFO *img_info;#if !defined( LIBEWF_STRING_DIGEST_HASH_LENGTH_MD5 )    uint8_t md5_hash[16];#endif    if ((ewf_info =            (IMG_EWF_INFO *) tsk_malloc(sizeof(IMG_EWF_INFO))) == NULL) {        return NULL;    }    img_info = (TSK_IMG_INFO *) ewf_info;    /* check the magic before we call the library open */    //if (img_file_header_signature_ncmp(images[0],    //        "\x45\x56\x46\x09\x0d\x0a\xff\x00", 8) != 1) {    if (libewf_check_file_signature(images[0]) == 0) {        tsk_error_reset();        tsk_errno = TSK_ERR_IMG_MAGIC;        snprintf(tsk_errstr, TSK_ERRSTR_L, "ewf_open: Not an EWF file");        free(ewf_info);        if (tsk_verbose)            tsk_fprintf(stderr, "Not an EWF file\n");        return NULL;    }#if defined (TSK_WIN32)    ewf_info->handle =        libewf_open((wchar_t * const *) images, num_img, LIBEWF_OPEN_READ);#else    ewf_info->handle =        libewf_open((char *const *) images, num_img, LIBEWF_OPEN_READ);#endif    if (ewf_info->handle == NULL) {        tsk_error_reset();        tsk_errno = TSK_ERR_IMG_OPEN;        snprintf(tsk_errstr, TSK_ERRSTR_L,            "ewf_open file: %" PRIttocTSK ": Error opening", images[0]);        free(ewf_info);        if (tsk_verbose) {            tsk_fprintf(stderr, "Error opening EWF file\n");        }        return NULL;    }    // 2007 version#if defined( LIBEWF_STRING_DIGEST_HASH_LENGTH_MD5 )    img_info->size = libewf_get_media_size(ewf_info->handle);    ewf_info->md5hash_isset = libewf_get_stored_md5_hash(ewf_info->handle,        ewf_info->md5hash, LIBEWF_STRING_DIGEST_HASH_LENGTH_MD5);// libewf-20080322 version#else    if (libewf_get_media_size(ewf_info->handle,            (size64_t *) & (img_info->size))        != 1) {        tsk_error_reset();        tsk_errno = TSK_ERR_IMG_OPEN;        snprintf(tsk_errstr, TSK_ERRSTR_L,            "ewf_open file: %" PRIttocTSK ": Error getting size of image",            images[0]);        free(ewf_info);        if (tsk_verbose) {            tsk_fprintf(stderr, "Error getting size of EWF file\n");        }        return NULL;    }    if (libewf_get_md5_hash(ewf_info->handle, md5_hash, 16) == 1) {        int md5_string_iterator = 0;        int md5_hash_iterator;        for (md5_hash_iterator = 0; md5_hash_iterator < 16;            md5_hash_iterator++) {            int digit = md5_hash[md5_hash_iterator] / 16;            if (digit <= 9)                ewf_info->md5hash[md5_string_iterator++] = (char)                    ('0' + digit);            else                ewf_info->md5hash[md5_string_iterator++] = (char) ('a' +                    (digit - 10));            digit = md5_hash[md5_hash_iterator] % 16;            if (digit <= 9)                ewf_info->md5hash[md5_string_iterator++] =                    (char) ('0' + digit);            else                ewf_info->md5hash[md5_string_iterator++] = (char) ('a' +                    (digit - 10));        }        ewf_info->md5hash_isset = 1;    }#endif    img_info->itype = TSK_IMG_TYPE_EWF_EWF;    img_info->read = ewf_image_read;    img_info->close = ewf_image_close;    img_info->imgstat = ewf_image_imgstat;    return img_info;}#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品高清不卡| 在线观看亚洲一区| 色综合色综合色综合| 精品久久久久久久久久久院品网| 国产精品乱人伦中文| 激情欧美日韩一区二区| 欧美色视频在线观看| 国产精品久久久久久户外露出| 久久精品国产成人一区二区三区| 在线中文字幕一区二区| 国产精品美女久久久久久久| 麻豆一区二区三| 777亚洲妇女| 亚洲精品日韩专区silk| 国产成人免费视频| 欧美大胆一级视频| 日韩精品一级二级| 欧美午夜不卡在线观看免费| |精品福利一区二区三区| 久久精品二区亚洲w码| 91精品国产综合久久精品图片| 亚洲欧美成人一区二区三区| 精品污污网站免费看| 国产精品久久久久一区二区三区共| 国产乱码一区二区三区| 精品福利在线导航| 麻豆91精品91久久久的内涵| 91精品国产综合久久精品性色| 视频一区国产视频| 这里只有精品视频在线观看| 丝瓜av网站精品一区二区| 欧美性xxxxx极品少妇| 亚洲免费观看视频| 在线这里只有精品| 亚洲午夜三级在线| 欧美日韩精品电影| 爽好多水快深点欧美视频| 欧美日韩不卡视频| 天天综合日日夜夜精品| 欧美一区二区三区四区久久| 日本强好片久久久久久aaa| 日韩一区二区不卡| 久草精品在线观看| 中文一区在线播放| 97se亚洲国产综合自在线| 亚洲色图视频网| 色哦色哦哦色天天综合| 午夜欧美大尺度福利影院在线看| 欧美日韩精品一区二区三区蜜桃| 亚洲一卡二卡三卡四卡| 欧美系列亚洲系列| 日本系列欧美系列| 欧美va天堂va视频va在线| 国产在线不卡一卡二卡三卡四卡| 日本一区二区不卡视频| 91免费在线播放| 日韩av在线发布| 久久久久亚洲蜜桃| 日本道色综合久久| 视频一区欧美日韩| 国产日韩av一区| 欧美亚洲禁片免费| 精品系列免费在线观看| 亚洲欧美一区二区在线观看| 欧美日韩午夜影院| 懂色av噜噜一区二区三区av| 亚洲与欧洲av电影| 国产亚洲一区二区三区四区| 91豆麻精品91久久久久久| 日韩国产在线一| 国产欧美日韩久久| 欧美日韩免费电影| 国产精品一二三| 国产精品亚洲第一| 亚洲午夜久久久久中文字幕久| 日韩精品最新网址| 色偷偷一区二区三区| 久久精品999| 亚洲午夜久久久久| 亚洲国产高清aⅴ视频| 欧美二区乱c少妇| 成人免费观看男女羞羞视频| 日韩高清国产一区在线| 亚洲精品视频在线观看免费| 亚洲精品一区在线观看| 欧美中文字幕一区二区三区亚洲| 精品一区二区三区视频在线观看 | 亚洲伦理在线精品| 欧美va日韩va| 欧美老人xxxx18| av在线播放成人| 国产精品亚洲а∨天堂免在线| 亚洲一区二区不卡免费| 国产精品盗摄一区二区三区| 日韩一区二区精品| 欧美日韩一区三区| 色成人在线视频| 成人禁用看黄a在线| 麻豆成人av在线| 天堂蜜桃91精品| 亚洲精品免费播放| 亚洲欧洲日韩在线| 久久日韩粉嫩一区二区三区| 日韩视频一区二区在线观看| 欧美日韩国产免费一区二区| 91麻豆高清视频| 欧美日韩高清一区二区| 91成人在线精品| 色94色欧美sute亚洲13| 95精品视频在线| www.av亚洲| 91麻豆swag| 91麻豆高清视频| 欧美丝袜第三区| 欧美日本一道本在线视频| 色婷婷国产精品综合在线观看| 99九九99九九九视频精品| 99精品一区二区三区| 91丨九色丨黑人外教| 99久久久国产精品| 99国产精品一区| 色偷偷久久一区二区三区| 色偷偷88欧美精品久久久 | 国产一区二区三区免费播放| 毛片av一区二区| 美女精品一区二区| 久久99国内精品| 国产一区二区三区免费在线观看| 激情综合网天天干| 夫妻av一区二区| 91蜜桃在线免费视频| 一本色道久久加勒比精品| 91久久香蕉国产日韩欧美9色| 国产女人aaa级久久久级 | 久久婷婷综合激情| 久久午夜羞羞影院免费观看| 日本一区二区三区久久久久久久久不| 国产精品天美传媒| 自拍偷拍亚洲激情| 亚洲国产另类av| 精品一区二区三区在线观看国产| 国产成人免费av在线| 91黄色免费版| 欧美一区二区三区男人的天堂| 久久天天做天天爱综合色| 亚洲欧美一区二区视频| 免费久久精品视频| 成人免费高清在线| 欧美视频精品在线观看| 久久综合中文字幕| 亚洲精品va在线观看| 蜜臀av性久久久久av蜜臀妖精| 国产精品2024| 欧美日韩高清一区二区不卡| 久久综合久久99| 一区二区三区欧美在线观看| 美女精品一区二区| 日本黄色一区二区| www亚洲一区| 亚洲综合精品久久| 国产精品1024久久| 91精品黄色片免费大全| 中文字幕在线不卡视频| 日韩国产欧美三级| 色欧美日韩亚洲| 国产欧美一区二区三区鸳鸯浴 | 欧美一级艳片视频免费观看| 国产精品视频在线看| 亚洲国产视频a| 在线视频国内自拍亚洲视频| 欧美一区二区三区小说| 亚洲欧美日韩小说| 美腿丝袜亚洲三区| 欧美日韩不卡在线| 亚洲愉拍自拍另类高清精品| 不卡一卡二卡三乱码免费网站| 日韩视频免费观看高清完整版 | 天堂va蜜桃一区二区三区| 91免费在线播放| 中文字幕在线免费不卡| 国产高清精品网站| 欧美刺激午夜性久久久久久久 | 亚洲综合另类小说| 91女人视频在线观看| 日本一区免费视频| 国产一区不卡精品| 欧美成人国产一区二区| 日日摸夜夜添夜夜添亚洲女人| 欧美中文字幕一区二区三区亚洲| 亚洲欧洲www| 99久久精品99国产精品| 日本一二三四高清不卡| 春色校园综合激情亚洲| 国产精品天干天干在观线| 国产不卡免费视频| 国产欧美一二三区| 欧美精品久久一区| 亚洲18女电影在线观看| 欧美精品自拍偷拍动漫精品| 午夜私人影院久久久久|