#!/usr/local/bin/perl
#############################################################################
#                                                                           #
# File:  shadmrg                                                            #
#                                                                           #
# Usage: called from crack (shadmrg)                                        #
#                                                                           #
# Version: 1.00                                                             #
#                                                                           #
# Description:                                                              #
#        Used to hack/patch crack to run on a trusted UNIX system. Replace  #
#        the existing {$crack_home}/Scripts/shadmrg with this file to       #
#        create a temporary password file, including passwords for crack    #
#        to work on.                                                        #
#                                                                           #
# Author: Michael A. Gumienny 08-Aug-1996                                   #
#                                                                           #
#############################################################################
$PasswordFile="/etc/passwd";
$TrustedDir="/tcb/files/auth";

# Ignore pw_id_map under system...
open(PASSWORDS, "<$PasswordFile");
while()
  {
  chop;
  ($User, $b, $c, $d, $e, $f, $g)=split(":", $_);
  ($FirstChar)=split("", $_);

  open(PASSWD, "<$TrustedDir/$FirstChar/$User") || die "Can't open $TrustedDir/$FirstChar/$User";
  while()
    {
    next unless ($_ =~ "u_pwd");
    ($x,$Pass)=split("=", $_);
    chop($Pass); chop($Pass); chop($Pass);
    #print $Pass;
    }
  close(PASSWD);
  printf("%s\n", join(":", $User, $Pass, $c, $d, $e, $f, $g));
  }
close(PASSWORDS);




    Source: geocities.com/fcheck2000