Script to Crack .sth file to see .kdb password

Forgot .kdb file password ?

or

Want to access a old .kdb file which created by some unknown person ?


There are 3 ways, I mostly use 2nd method "one line perl script"


Perl script to crack .sth file:
--------------------------------

save the below script in a file name "unstash.pl"

use strict;

die "Usage: $0 <stash file>\n" if $#ARGV != 0;

my $file=$ARGV[0];
open(F,$file) || die "Can't open $file: $!";

my $stash;
read F,$stash,1024;

my @unstash=map { $_^0xf5 } unpack("C*",$stash);

foreach my $c (@unstash) {
    last if $c eq 0;
    printf "%c",$c;
}
printf "\n";


Syntax: perl unstash.pl key.sth



One line perl script to crack .sth:
----------------------------------------

perl -C0 -n0xF5 -e 'print $_^"\xF5"x length."\n";exit' < key.sth


Java Version to crack .sth :
----------------------------------

save the below script as "unstash.jar"

#!/usr/bin/perl -w
# unstash.pl - "decrypt" IBM HTTP server stash files. No, really. They *are* this pathetic.
# sploit (BoByRiTe) 1999, Major Malfunction, code by Ben Laurie, cos I dudn't dud perly thing.
use strict;
die "Usage: $0 \n" if $#ARGV != 0;
my $file=$ARGV[0];open(F,$file) || die "Can't open $file: $!";
my $stash;
read F,$stash,1024;
my @unstash=map { $_^0xf5 } unpack("C*",$stash);
foreach my $c (@unstash) {
  last if $c eq 0;
  printf "%c",$c;
}
printf "\n";


syntax:  java -jar unstash.jar <stashfile>.sth

Comments