Subject: | Default state of Binmode is NOT binary pass thru |
Dist: Strawberry v5.12.0.1
Platform: Win 7 Ultimate 64 bit and XP Pro 64 bit
Put the attached files into a folder named C:\Perl_Binmode_BUG_Docs
When executed the script will calculate the MD5 hash value of the
included two TEXT files. These two TEXT files are different in that one
has 0D/0A end-of-line values throughout the file, while the other ONLY
has OA values.
The problem I've discovered is that PERL calculates the EXACT SAME hash
value for both files!!!
It appears that BINMODE in its default state is filtering OD hex values
out of the data stream such that they are NEVER passed on to the MD5
digest function.
Please advise...
Subject: | Perl_Binmode_BUG_Example.pl |
use bytes;
my $Count = 0;
my $PathPlusFilenameFound = '';
my $FileNameFound = '';
my $PathToFilenameFound = '';
my $HashValueCalculated = 0;
my $md5;
my $Record;
my $PassCount = 0;
my $ASCII_Value;
use File::Find;
use Digest::MD5;
use File::Basename;
open (DUMP, '>C:/Perl_BUG_Docs/Dump-File.txt');
@ARGV = qw(C:/Perl_BUG_Docs/) unless @ARGV;
sub GetAllNames {
$Count++;
$PathPlusFilenameFound = $File::Find::name, -d && "/", "\n";
print "1-Starting hash of $PathPlusFilenameFound\n";
if ($Count > 1) {
$FileNameFound = basename($PathPlusFilenameFound);
$PathToFileNameFound = dirname($PathPlusFilenameFound);
print "2-Changing DIR to $PathToFileNameFound\n";
chdir ($PathToFileNameFound);
open(SourceFile, "<$FileNameFound") or die "Can't open SourceFile: $!";
print "Just opened: $FileNameFound\n";
$PassCount = 0;
$Record = '';
binmode(Source_File);
$md5 = Digest::MD5->new;
while (read(SourceFile, $Record, 1)) {
$LenGot = length($Record);
$md5->add($Record);
$ASCII_Value = ord($Record);
$PassCount++;
print DUMP "$FileNameFound Count: $PassCount Length: $LenGot Data: $Record $ASCII_Value\n";
}
$HashValueCalculated = $md5->hexdigest;
close(SourceFile) or die "Can't close SourceFile: $!";
print "RESULTS: $PassCount $HashValueCalculated $FileNameFound\n\n";
}
}
find (\&GetAllNames, @ARGV);
print "Total Count is $Count\n";
close (DUMP);
Subject: | Example_Text_With-0Ds-0As.txt |
Outside In® Viewer Technology © 1991, 2007, 2008, 2009 Oracle.
v8.3.2 for Windows 2000, XP, 2003 Server, Vista, 2008 Server
Updated Oct 1, 2009
This viewer component works with X-Ways Forensics/WinHex 12.1 and later,
if operated with a forensic license issued for v12.05 and later.
1) If you already have a file named msvcr80.dll in your Windows system
under C:\Windows\WinSxS\x86_Microsoft.VC80.CRT_*, you can omit this
step. Otherwise first please install the appropriate Microsoft Visual C++
2005 SP1 Redistributable Package for your Windows environment.
http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en
2) Extract all the viewer component files to a folder of your choice
and point X-Ways Forensics to this folder in the Options | Viewer
Programs dialog window, by clicking the "..." button in the "Use
separate viewer component" section. By default, X-Ways Forensics
expects the viewer component files in a subfolder \viewer of its own
installation path.
3) Enable [x] Use separate viewer component.
The viewer component will now be used for the preview mode and for
the full window view (when double-clicking files in the directory
browser). It also enables finding in text PDF documents and more.
--
Zuletzt aktualisiert am 1. Okt. 2009.
Diese Viewer-Komponente funktioniert mit X-Ways Forensics/WinHex 12.1
und neuer, wenn betrieben mit einer forensischen Lizenz, die auf v12.05
oder neuer ausgestellt ist.
1) Wenn Sie bereits eine Datei namens msvcr80.dll in Ihrem Windows-System
unter C:\Windows\WinSxS\x86_Microsoft.VC80.CRT_* haben, können Sie diesen
Schritt überspringen. Andernfalls installieren Sie bitte erst das korrekte
Microsoft Visual C++ 2005 SP1 Redistributable Package für Ihr Windows.
http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=de
2) Extrahieren Sie alle Dateien der Viewer-Komponente in einen Ordner
Ihrer Wahl und verweisen Sie X-Ways Forensics auf diesen Ordner im
Dialogfenster Optionen | Viewer-Programme, indem Sie auf den Schalter
"..." hinter "Separate Viewer-Komponente verwenden" klicken. Standardmäßig
erwartet X-Ways Forensics die Viewer-Komponente im Ordner \viewer unterhalb
des Installationspfads.
3) Schalten Sie [x] "Separate Viewer-Komponente verwenden" ein.
Die Viewer-Komponente wird fortan für den Vorschau-Modus und die
volle Fensteransicht (nach Doppelklick auf Dateien im Verzeichnis-Browser)
verwendet. Sie erlaubt auch das Finden von Text in PDF-Dokumenten u. a.
Subject: | Example_Text_Without-0Ds.txt |
Outside In® Viewer Technology © 1991, 2007, 2008, 2009 Oracle.
v8.3.2 for Windows 2000, XP, 2003 Server, Vista, 2008 Server
Updated Oct 1, 2009
This viewer component works with X-Ways Forensics/WinHex 12.1 and later,
if operated with a forensic license issued for v12.05 and later.
1) If you already have a file named msvcr80.dll in your Windows system
under C:\Windows\WinSxS\x86_Microsoft.VC80.CRT_*, you can omit this
step. Otherwise first please install the appropriate Microsoft Visual C++
2005 SP1 Redistributable Package for your Windows environment.
http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en
2) Extract all the viewer component files to a folder of your choice
and point X-Ways Forensics to this folder in the Options | Viewer
Programs dialog window, by clicking the "..." button in the "Use
separate viewer component" section. By default, X-Ways Forensics
expects the viewer component files in a subfolder \viewer of its own
installation path.
3) Enable [x] Use separate viewer component.
The viewer component will now be used for the preview mode and for
the full window view (when double-clicking files in the directory
browser). It also enables finding in text PDF documents and more.
--
Zuletzt aktualisiert am 1. Okt. 2009.
Diese Viewer-Komponente funktioniert mit X-Ways Forensics/WinHex 12.1
und neuer, wenn betrieben mit einer forensischen Lizenz, die auf v12.05
oder neuer ausgestellt ist.
1) Wenn Sie bereits eine Datei namens msvcr80.dll in Ihrem Windows-System
unter C:\Windows\WinSxS\x86_Microsoft.VC80.CRT_* haben, können Sie diesen
Schritt überspringen. Andernfalls installieren Sie bitte erst das korrekte
Microsoft Visual C++ 2005 SP1 Redistributable Package für Ihr Windows.
http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=de
2) Extrahieren Sie alle Dateien der Viewer-Komponente in einen Ordner
Ihrer Wahl und verweisen Sie X-Ways Forensics auf diesen Ordner im
Dialogfenster Optionen | Viewer-Programme, indem Sie auf den Schalter
"..." hinter "Separate Viewer-Komponente verwenden" klicken. Standardmäßig
erwartet X-Ways Forensics die Viewer-Komponente im Ordner \viewer unterhalb
des Installationspfads.
3) Schalten Sie [x] "Separate Viewer-Komponente verwenden" ein.
Die Viewer-Komponente wird fortan für den Vorschau-Modus und die
volle Fensteransicht (nach Doppelklick auf Dateien im Verzeichnis-Browser)
verwendet. Sie erlaubt auch das Finden von Text in PDF-Dokumenten u. a.