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

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

?? sorter.base

?? linux下開發的針對所有磁盤的數據恢復的源碼
?? BASE
?? 第 1 頁 / 共 4 頁
字號:
if ($DO_SHA1 == 1) {    find_sha1();}# Verify that the TSK binaries are therecheck_execs();# Process the rest of the arguments - image and optional meta addrmy $IMG       = "";    # global for image pathmy $first_img = "";my $META      = "";    # global for root directory to start with# Cycle through the rest of the argswhile (my $tmpimg = shift @ARGV) {    # If it isn't a file, then it is probably the last meta addr    unless ((-e "$tmpimg") || (-l "$tmpimg")) {        if ($tmpimg =~ /^\d+$/) {            if (scalar @ARGV != 0) {                print "Invalid image file (additional args after meta addr)\n";                usage();            }            $META = $tmpimg;            print "Using Directory $META\n" if ($VERBOSE);            last;        }        else {            print "Image file not found: $tmpimg\n";            exit(1);        }    }    # Append it to the list    $IMG .= " \"$tmpimg\"";    $first_img = $tmpimg      if ($first_img eq "");}# Update the output message$img_str .= "${BUL}$first_img${NL}";# Determine the short name$img_shrt = $first_img;$img_shrt = substr($first_img, rindex($first_img, '/') + 1)  if ($first_img =~ /\//);# Figure out the temp file name$TEMP_FILE = "${DIR}/.sorter-$img_shrt-$$-";# verify that the correct arguments were givencheck_args();# Set the $PLATFORM variable based on $FSTYPEset_platform();# Read the config fileif ($ALL_CONFIGS == 1) {    read_config("${SHARE_DIR}default.sort")      if (-e "$SHARE_DIR/default.sort");    read_config("${SHARE_DIR}${PLATFORM}.sort")      if (($PLATFORM ne "") && (-e "${SHARE_DIR}${PLATFORM}.sort"));    read_config("${SHARE_DIR}${PLATFORM}.lcl.sort")      if (($PLATFORM ne "") && (-e "${SHARE_DIR}${PLATFORM}.lcl.sort"));}read_config($CONFIG) if ($CONFIG ne "");# any config data?if ((scalar(keys %file_to_cat) == 0) && ($DO_INDEX == 1) && ($DO_EXT == 0)) {    print "Error: Empty config files\n";    exit(1);}if ((scalar(keys %file_to_ext) == 0) && ($DO_EXT == 1) && ($DO_INDEX == 0)) {    print "Error: No defined extensions\n";    exit(1);}# Open the file handlesopen_files() if ($LIST == 0);analyze_img();if ($LIST == 0) {    close_files();    print "\nAll files have been saved to: ${DIR}\n";}# close off the thumbnails if we used themprint_thumb_footer() if ($img_cnt != 0);print_summary();exit(0);########################################################################### subroutines##################################################################3#################################################################3# analyze_img## Analyze one image.  This function calls 'fls', parses the# output, and then calls analyze_file for each file## Argument is the meta address of directory (null to use root)#sub analyze_img {    #################################################################3    # Process the allocated files in the image    my $pr_str = "";    $pr_str = "of Directory $META"      unless ($META eq "");    print "\nAnalyzing $IMG\n" . "  Loading Allocated File Listing $pr_str\n"      if ($LIST == 0);    my @out     = `\"$SK_FLS\" $IMGTYPE -o $IMGOFF $FSTYPE -rpl $IMG $META`;    my $tmp_cnt = scalar @out;    $alloc_cnt += $tmp_cnt;    print "  Processing $tmp_cnt Allocated Files and Directories\n  "      if ($LIST == 0);    my $prev = 0;    my $cnt  = 0;    foreach (@out) {        my $del;        my $inode;        my $path;        my $size;        # Print the status        if ((++$cnt % 1000) == 0) {            my $cur = int(100 * ($cnt / $tmp_cnt));            if ($cur > $prev + 1) {                print "$cur%," if ($LIST == 0);                $prev = $cur;            }        }        # Extract the file name and inode, skip if it is a directory        # TYPE/TYPE * INUM (realloc): NAME        if (/^([\w\-])\/[\w\-]\s+(\*?)\s*([\d\-]+)[\(\)\w]*:\s+(.*)\s+$REG_DATE\s+$REG_DATE\s+$REG_DATE\s+$REG_DATE\s+(\d+)\s+\d+\s+\d+\s*$/          )        {            if (($1 ne "r") && ($1 ne "-")) {                $dirskip_cnt++;                next;            }            $inode = $3;            $path  = $4;            $size  = $5;            $del   = ($2 eq '*') ? $DEL_DEL : $DEL_ALLOC;        }        else {            print "Error Parsing Output: $_";            next;        }        # skip if file is too small        if (($MIN_SIZE > 0) && ($size < $MIN_SIZE)) {            $dirskip_cnt++;            next;        }        # NTFS can have an inode of 0, but the others cannot        my $inode_int = $inode;        $inode_int = $1 if ($inode_int =~ /^(\d+)-[\d\-]+$/);        if (($inode_int == 0) && ($FSTYPE ne "-f ntfs")) {            $dirskip_cnt++;            next;        }        analyze_file($path, $inode, $del);    }    print "100%\n" if ($LIST == 0);}#################################################################3# analyze_file## Process one file## Arguments are the name of the file, the inode number of the file,# and the deletion status ($DEL_*)sub analyze_file {    if (scalar(@_) != 3) {        print "Incorrect Number of Arguments for analyze_file\n";        return;    }    my $path  = shift;    my $inode = shift;    my $del   = shift;    my $sha1 = "";    my $md5  = "";    my $file;    my $recflag = "";    $recflag = " -R " if ($del != $DEL_ALLOC);    ###############################################################    # Setup & Data Collection    # The FAT full path has the short name in parenths, so    # take them off first    if (($path =~ /\)$/) && ($FSTYPE =~ /fat/)) {        $path = substr($path, 0, rindex($path, '(') - 1);    }    # This was mainly because of the ils output which is <sdas-dead-X>    my $path_encode = $path;    if ($HTML == 1) {        $path_encode =~ s/</&lt;/gs;        $path_encode =~ s/>/&gt;/gs;    }    # Get the hash values and file type    # Are we listing (i.e. can't write files) or we aren't going to save    # the file and do not need the MD5?    if (($LIST) || (($SAVE == 0) && ($DO_MD5 == 0) && ($DO_SHA1 == 0))) {        $file =`\"$SK_ICAT\" $IMGTYPE -o $IMGOFF $FSTYPE $recflag $IMG \"$inode\" | \"$SK_FILE\" -b -z -`;        chomp $file;        if ($DO_SHA1 == 1) {            $sha1 =`\"$SK_ICAT\" $IMGTYPE -o $IMGOFF $FSTYPE $recflag $IMG \"$inode\" | \"$SK_SHA1\"`;            chomp $sha1;        }        if ($DO_MD5 == 1) {            $sha1 =`\"$SK_ICAT\" $IMGTYPE -o $IMGOFF $FSTYPE $recflag $IMG \"$inode\" | \"$SK_MD5\"`;            chomp $md5;        }    }    # Save to temp file    else {`\"$SK_ICAT\" $IMGTYPE -o $IMGOFF $FSTYPE $recflag $IMG \"$inode\" > \"${TEMP_FILE}$inode\"`;        $file = `\"$SK_FILE\" -b -z \"${TEMP_FILE}$inode\"`;        chomp $file;        if ($DO_SHA1 == 1) {            $sha1 = `\"$SK_SHA1\" \"${TEMP_FILE}$inode\"`;            if ($sha1 =~ /^([A-Fa-f0-9]+)\s+.*$/) {                $sha1 = $1;            }            elsif ($sha1 =~ /=\s+([A-Fa-f0-9]+)$/) {                $sha1 = $1;            }        }        if ($DO_MD5 == 1) {            $md5 = `\"$SK_MD5\" \"${TEMP_FILE}$inode\"`;            if ($md5 =~ /^([A-Fa-f0-9]+)\s+.*$/) {                $md5 = $1;            }            elsif ($md5 =~ /=\s+([A-Fa-f0-9]+)$/) {                $md5 = $1;            }        }        unlink("${TEMP_FILE}$inode") if ($SAVE == 0);    }    # Remove non-printable values from the 'file' output    $file =~ s/[\x00-\x19\x7F-\xFF]//g;    # "empty" is a null size file    if ($file eq 'empty') {        unlink("${TEMP_FILE}$inode") if ($SAVE == 1);        $dirskip_cnt++;        return;    }    ###############################################################    # Lookup in hash databases    #    # We will first examine any hashes of known files to alert on.    # Next, we wil look if this is a file that is known and that we can    # ignore (NSRL and the -x flag).  If one of these files is found, we do    # no immediately exit the function.  We also check the extension and    # make sure that it is appropriate.    my $exclude = "";    my $alert   = 0;    # First the alert data base    if ("$ALERT_DB" ne "") {        print "Looking up in Alert Hash Database\n" if ($VERBOSE);        my $out = `\"$SK_HFIND\" -q \"$ALERT_DB\" \"$md5\"`;        if ($out =~ /^1\s+$/) {            $alert = 1;        }        elsif ($out !~ /^0\s+$/) {            print "Error running 'hfind': $out\n";            exit(1);        }    }    # Ones we can ignore    if (($alert == 0) && ("$EXCLUDE_DB" ne "")) {        print "Looking up in Exclude Hash Database\n" if ($VERBOSE);        my $out = `\"$SK_HFIND\" -q \"$EXCLUDE_DB\" \"$md5\"`;        if ($out =~ /^1\s+$/) {            # Print to the appropriate files            if ($LIST == 0) {                print EXCLUDE "${MNT}$path_encode${NL}";                print EXCLUDE "${TAB}Image: $first_img  Inode: $inode${NL}";                print EXCLUDE "${TAB}$file${NL}";                print EXCLUDE "${TAB}MD5: $md5${NL}";                print EXCLUDE "${TAB}Exclude Database${NL}${NL}";            }            $exclude = "Exclude Hash Database";            $excl_cnt++;        }        elsif ($out !~ /^0\s+$/) {            print "Error running 'hfind': $out\n";            exit(1);        }    }    # NSRL    if (($alert == 0) && ("$NSRL" ne "") && ($exclude eq "")) {        print "Looking up in NSRL Hash Database\n" if ($VERBOSE);        my $out = `\"$SK_HFIND\" -q \"$NSRL\" \"$md5\"`;        if ($out =~ /^1\s+$/) {            # Print to the appropriate files            if ($LIST == 0) {                print EXCLUDE "${MNT}$path_encode${NL}";                print EXCLUDE "${TAB}Image: $first_img  Inode: $inode${NL}";                print EXCLUDE "${TAB}$file${NL}";                print EXCLUDE "${TAB}MD5: $md5${NL}";                print EXCLUDE "${TAB}NSRL Database${NL}${NL}";            }            $exclude = "NSRL";            $excl_cnt++;        }        elsif ($out !~ /^0\s+$/) {            print "Error running 'hfind': $out\n";            exit(1);        }    }    ###############################################################    #    # Extension versus File Type    #    ###############################################################    my $mismatch = 0;    my $ext      = "";    # Is there an extension on this file?    my $ext_off = rindex($path, ".");    # Some sanity checks to verify that the '.' is after the '/' and    # add one so that we don't process /.asd as an extension    if (($ext_off != -1) && ($ext_off > (rindex($path, "/") + 1))) {        $ext = substr($path, $ext_off + 1);        $ext =~ tr/[A-Z]/[a-z]/;    }    $path .= " (deleted)" if ($del == $DEL_DEL);    if ($VERBOSE) {        print "File ${MNT}$path (ext: $ext)\n";        print "File Output: $file\n";    }    # Check the extension if it exists    # Ignore data as it is unknown stuff    if (($DO_EXT == 1) && ($ext ne "") && ($file ne 'data')) {        my $found = 0;        # cycle through the known file keywords that have a known ext        for (my $ext_i = $#ext_order; $ext_i >= 0; $ext_i--) {            my $ext_kw = $ext_order[$ext_i];            print "Trying Extension Keyword: $ext_kw\n" if ($VERBOSE);            # is this the 'file' category?            if ($file =~ /$ext_kw/i) {                print "Found Extension Keyword\n" if ($VERBOSE);                # we found at least one set of extensions that matches                # this file type, so set the mismatch to 1 and if we                # find this extension we will set it to 0, otherwise                # it will be considered a mismatch                $mismatch = 1;                $ext =~ tr/[A-Z]/[a-z/;                # cycle through each possible extension for this type                foreach my $cat_ext (@{$file_to_ext{$ext_kw}}) {                    print "Comparing ext with $cat_ext\n" if ($VERBOSE);                    if ($cat_ext eq $ext) {                        print "Found ext\n" if ($VERBOSE);                        $mismatch = 0;                        $found    = 1;                        last;                    }                }            }            # If we have found the extension, then get out of the loop            last if ($found == 1);        }    }    # The special mismatch file for those that we should be ignoring    # but they may be worthwhile looking at now    if (($mismatch == 1) && ($exclude ne "")) {        $exclmis_cnt++;        if ($LIST == 0) {            print EXCLUDEMIS "${MNT}$path_encode${NL}";            print EXCLUDEMIS "${TAB}$file$  (Ext: $ext)${NL}";            print EXCLUDEMIS "${TAB}Image: $first_img  Inode: $inode${NL}";            print EXCLUDEMIS "${TAB}SHA-1: $sha1${NL}" if ($DO_SHA1 == 1);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本韩国一区二区三区视频 | 91麻豆精品国产91久久久资源速度 | 538在线一区二区精品国产| 日韩免费视频一区| 一区二区三区免费观看| 国产乱一区二区| 欧美日韩黄色影视| 亚洲欧洲日韩女同| 国内精品自线一区二区三区视频| 成年人午夜久久久| 久久综合九色综合97婷婷女人| 亚洲精品五月天| 成人中文字幕在线| 精品国产一区二区三区忘忧草| 亚洲精品日韩综合观看成人91| 国产成人免费av在线| 中文字幕在线视频一区| 秋霞成人午夜伦在线观看| 一本久久a久久精品亚洲| 久久影院视频免费| 久久精品噜噜噜成人88aⅴ | 中文字幕在线观看一区二区| 极品美女销魂一区二区三区免费| 欧美日韩不卡在线| 亚洲国产精品久久艾草纯爱| 日本久久电影网| 亚洲欧洲色图综合| 99久久精品国产网站| 中文字幕免费观看一区| 久久成人久久鬼色| 91精品久久久久久久99蜜桃| 亚洲777理论| 欧美日韩国产高清一区二区| 亚洲成人激情自拍| 在线综合视频播放| 麻豆一区二区在线| 久久久久久免费网| 成人丝袜高跟foot| 亚洲国产成人自拍| 成人av网址在线| 亚洲日本va在线观看| k8久久久一区二区三区| 亚洲欧洲制服丝袜| 色狠狠一区二区| 午夜精品一区二区三区免费视频| 国产精品天干天干在观线| 国产91精品一区二区麻豆亚洲| 久久精品一区四区| 91免费看视频| 亚洲国产精品一区二区久久 | 成人免费三级在线| 亚洲视频图片小说| 欧美电影影音先锋| 久久精品国产999大香线蕉| 久久综合色婷婷| 不卡的av在线| 五月婷婷久久综合| 久久久久97国产精华液好用吗| 成人午夜视频在线| 一区二区三区在线视频观看58| 欧美日韩高清不卡| 国产成人av资源| 亚洲综合色区另类av| 欧美精品粉嫩高潮一区二区| 九九在线精品视频| 日韩码欧中文字| 日韩欧美在线观看一区二区三区| 精品亚洲免费视频| 综合激情成人伊人| 日韩一二三四区| 99re热这里只有精品视频| 婷婷综合在线观看| 国产精品视频你懂的| 欧美性色黄大片| 国产超碰在线一区| 午夜激情综合网| 中文字幕第一区综合| 欧美高清视频在线高清观看mv色露露十八 | 久久久99精品久久| 欧美另类videos死尸| 国产精品亚洲视频| 日本欧美肥老太交大片| 中文字幕一区二区三区在线观看 | 豆国产96在线|亚洲| 亚洲成人中文在线| 国产精品国模大尺度视频| 欧美一级夜夜爽| 欧美亚洲一区三区| 成人永久免费视频| 国产呦精品一区二区三区网站| 中文字幕中文乱码欧美一区二区| 精品国产乱码久久久久久夜甘婷婷| 99免费精品视频| 国内外成人在线| 日本欧美久久久久免费播放网| 亚洲欧美一区二区三区孕妇| 中文字幕不卡的av| 久久美女艺术照精彩视频福利播放| 欧美亚洲高清一区二区三区不卡| 国产福利一区二区三区视频在线| 蜜臀av一区二区在线观看| 亚洲男人的天堂在线aⅴ视频| 日韩精品专区在线影院观看 | 亚洲综合小说图片| 亚洲色图一区二区三区| 国产亚洲人成网站| 日韩欧美精品在线| 在线不卡a资源高清| 欧美曰成人黄网| 日本韩国欧美在线| 91色.com| 在线观看日韩电影| 欧美中文字幕不卡| 国产视频一区在线播放| 91精品国产91久久久久久一区二区 | 国产精品一区二区三区四区| 久久国产乱子精品免费女| 蜜臀久久久99精品久久久久久| 亚洲一区在线观看免费观看电影高清| 亚洲柠檬福利资源导航| 国产精品无人区| 国产三级一区二区| 中文字幕+乱码+中文字幕一区| 国产亲近乱来精品视频 | 日韩三级伦理片妻子的秘密按摩| 欧美理论电影在线| 5月丁香婷婷综合| 日韩欧美亚洲一区二区| 欧美xxxxx牲另类人与| 久久天堂av综合合色蜜桃网| 久久久影院官网| 中文字幕一区二区不卡| 日韩一区中文字幕| 亚洲va韩国va欧美va| 三级久久三级久久| 国内不卡的二区三区中文字幕| 国产综合久久久久久久久久久久| 国产精品538一区二区在线| 不卡视频在线看| 欧美三区在线视频| 久久先锋影音av鲁色资源网| 国产精品丝袜在线| 亚洲一卡二卡三卡四卡五卡| 日本亚洲欧美天堂免费| 国产成人亚洲综合a∨猫咪| 99视频精品在线| 69堂精品视频| 国产精品人妖ts系列视频| 一区二区三区四区亚洲| 奇米精品一区二区三区在线观看| 国产一区二区三区蝌蚪| 色婷婷亚洲综合| 精品处破学生在线二十三| 亚洲视频中文字幕| 麻豆精品在线看| 99久久精品免费看国产| 91精品国产综合久久久久久久久久 | 中文字幕字幕中文在线中不卡视频| 亚洲国产成人va在线观看天堂| 久久精品国产第一区二区三区| 不卡的看片网站| 日韩三级av在线播放| 1000精品久久久久久久久| 肉色丝袜一区二区| 99久久夜色精品国产网站| 91精品国产综合久久久久久| 国产精品免费看片| 久久99国内精品| 在线欧美一区二区| 国产亚洲一区字幕| 日韩不卡一区二区| 91久久精品网| 国产精品热久久久久夜色精品三区| 午夜不卡av免费| aa级大片欧美| 精品福利一区二区三区免费视频| 亚洲免费色视频| 国产一二三精品| 日韩一区二区三区免费观看| 亚洲精品ww久久久久久p站| 国产乱码一区二区三区| 日韩一卡二卡三卡四卡| 亚洲午夜一区二区| 9色porny自拍视频一区二区| 欧美精品一区二区久久久| 亚洲第一二三四区| 日本高清无吗v一区| 国产女主播视频一区二区| 激情欧美日韩一区二区| 欧美一区二区在线免费观看| 樱桃视频在线观看一区| 99久久精品免费看| 中文字幕一区二区三区av| 国产精品一区二区果冻传媒| 欧美一区二区福利在线| 亚洲地区一二三色| 欧美视频完全免费看| 亚洲一区在线播放| 欧美中文字幕一区二区三区| 一区二区三区四区视频精品免费|