๐Ÿ˜Š๐Ÿ˜Šๅงddvrd(โ•ฏโœงโˆ‡โœง)โ•ฏ ๆ–ฐใ—ใ„ใƒ’ใƒƒใƒ—ใจใ‚ฆใ‚จใ‚นใƒˆใฎ่„‚่‚ชใ‚ซใƒใƒผ๐ŸŽถ ์‹ ํƒ€์ด์œ„์œ„์•ˆ ์Šคํƒ€์ผํ™”?? GreyFile

?? GreyFile โ€” Mystic File Browser

Current path: usr/bin/



?? Go up: /usr

?? Viewing: dbinfo

#!/usr/bin/perl

# Name:		dbinfo -- identify berkeley DB version used to create 
#			  a database file
#
# Author:	Paul Marquess  <Paul.Marquess@btinternet.com>
# Version: 	1.07 
# Date		2nd April 2011 
#
#     Copyright (c) 1998-2011 Paul Marquess. All rights reserved.
#     This program is free software; you can redistribute it and/or
#     modify it under the same terms as Perl itself.

# Todo: Print more stats on a db file, e.g. no of records
#       add log/txn/lock files

use strict ;

my %Data =
	(
	0x053162 =>	# DB_BTREEMAGIC
            {
			  Type 	   => "Btree",
			  Versions => # DB_BTREEVERSION
				{
				  1	=> [0, "Unknown (older than 1.71)"],
				  2	=> [0, "Unknown (older than 1.71)"],
				  3	=> [0, "1.71 -> 1.85, 1.86"],
				  4	=> [0, "Unknown"],
				  5	=> [0, "2.0.0 -> 2.3.0"],
				  6	=> [0, "2.3.1 -> 2.7.7"],
				  7	=> [0, "3.0.x"],
				  8	=> [0, "3.1.x -> 4.0.x"],
				  9	=> [1, "4.1.x or greater"],
				}
			},
	0x061561 => 	# DB_HASHMAGIC
            {
			  Type     => "Hash",
			  Versions => # DB_HASHVERSION
				{
				  1	=> [0, "Unknown (older than 1.71)"],
        			  2     => [0, "1.71 -> 1.85"],
        			  3     => [0, "1.86"],
        			  4     => [0, "2.0.0 -> 2.1.0"],
        			  5     => [0, "2.2.6 -> 2.7.7"],
        			  6     => [0, "3.0.x"],
				  7	=> [0, "3.1.x -> 4.0.x"],
				  8	=> [1, "4.1.x or greater"],
				  9	=> [1, "4.6.x or greater"],
				}
			},
	0x042253 => 	# DB_QAMMAGIC
            {
			  Type     => "Queue",
			  Versions => # DB_QAMVERSION
				{
				  1	=> [0, "3.0.x"],
				  2	=> [0, "3.1.x"],
				  3	=> [0, "3.2.x -> 4.0.x"],
				  4	=> [1, "4.1.x or greater"],
				}
			},
	0x074582 => 	# DB_HEAPMAGIC
            {
			  Type     => "Heap",
			  Versions => # DB_HEAPVERSION
				{
				  1	=> [1, "5.2.x"],
				}
			},
	) ;

die "Usage: dbinfo file\n" unless @ARGV == 1 ;

print "testing file $ARGV[0]...\n\n" ;
open (F, "<$ARGV[0]") or die "Cannot open file $ARGV[0]: $!\n" ;

my $buff ;
read F, $buff, 30 ;


my (@info) = unpack("NNNNNNC", $buff) ;
my (@info1) = unpack("VVVVVVC", $buff) ;
my ($magic, $version, $endian, $encrypt) ;

if ($Data{$info[0]}) # first try DB 1.x format, big endian
{
    $magic = $info[0] ;
    $version = $info[1] ;
    $endian  = "Big Endian" ;
    $encrypt = "Not Supported";
}
elsif ($Data{$info1[0]}) # first try DB 1.x format, little endian
{
    $magic = $info1[0] ;
    $version = $info1[1] ;
    $endian  = "Little Endian" ;
    $encrypt = "Not Supported";
}
elsif ($Data{$info[3]}) # next DB 2.x big endian
{
    $magic = $info[3] ;
    $version = $info[4] ;
    $endian  = "Big Endian" ;
}
elsif ($Data{$info1[3]}) # next DB 2.x little endian
{
    $magic = $info1[3] ;
    $version = $info1[4] ;
    $endian  = "Little Endian" ;
}
else
  { die "not a Berkeley DB database file.\n" }

my $type = $Data{$magic} ;
$magic = sprintf "%06X", $magic ;

my $ver_string = "Unknown" ;

if ( defined $type->{Versions}{$version} )
{
     $ver_string = $type->{Versions}{$version}[1];
     if ($type->{Versions}{$version}[0] )
       { $encrypt = $info[6] ? "Enabled" : "Disabled" }
     else
       { $encrypt = "Not Supported" }
}

print <<EOM ;
File Type:		Berkeley DB $type->{Type} file.
File Version ID:	$version
Built with Berkeley DB:	$ver_string
Byte Order:		$endian
Magic:			$magic
Encryption:             $encrypt
EOM

close F ;

exit ;


??

??

404 - Epoxy Empourium
Welcome to Epoxy Empourium
Product Suggestions

Oops! Page Not Found.

Sorry but we are unable to find the page that you are looking for.

Back to Home
Error image