Skip to content

Commit

Permalink
v1.1, adds a checkox for header title inclusion or exclusion and some…
Browse files Browse the repository at this point in the history
… other minor adjustments
  • Loading branch information
tedsmith committed Jul 23, 2019
1 parent 8517e49 commit 8d66bf6
Show file tree
Hide file tree
Showing 7 changed files with 310 additions and 177 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
v1.1 July 2019

Added a checkbox to enable the user to decide if he wants the hash title embedded in line 1, or not. Enabled by default
Interface refresh rate changed to make the refresh rate less often (was 8K rows, now 200K rows), but the processing faster.
Ensured a default radio selection is on by default (currently SHA-1). Saves the user one less mouse click.

v1.0

Initial release, Jan 2017
156 changes: 80 additions & 76 deletions NSRLStripper.lpi
Original file line number Diff line number Diff line change
@@ -1,76 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="NSRLStripper"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<UseVersionInfo Value="True"/>
<MajorVersionNr Value="1"/>
<StringTable CompanyName="Ted Smith (c) 2017" LegalCopyright="(c) Ted Smith https://github.com/tedsmith/NSRL-Stripper" ProductVersion="NSRL Stripper"/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<DestinationDirectory Value="C:/temp2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lpr|lfm|lrs|lpk|xml|sh)"/>
<UseExcludeFileFilter Value="True"/>
<ExcludeFileFilter Value="*.(bak|lpi|ppu|ppl|a|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="1">
<Item1>
<PackageName Value="LCL"/>
</Item1>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="NSRLStripper.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unsrlstripper.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="uNSRLStripper"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="NSRLStripper"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf2Set"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
</CompilerOptions>
</CONFIG>
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="NSRLStripper"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="1">
<Item1>
<PackageName Value="LCL"/>
</Item1>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="NSRLStripper.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unsrlstripper.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="uNSRLStripper"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="NSRLStripper"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Debugging>
<GenerateDebugInfo Value="False"/>
<DebugInfoType Value="dsDwarf2Set"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>
152 changes: 152 additions & 0 deletions NSRLStripper.lps
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectSession>
<Version Value="10"/>
<BuildModes Active="Default"/>
<Units Count="2">
<Unit0>
<Filename Value="NSRLStripper.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="1"/>
<CursorPos Y="20"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unsrlstripper.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="uNSRLStripper"/>
<IsVisibleTab Value="True"/>
<CursorPos X="16" Y="271"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="102" Column="6" TopLine="76"/>
</Position1>
<Position2>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="230" Column="10" TopLine="189"/>
</Position2>
<Position3>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="198" TopLine="161"/>
</Position3>
<Position4>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="199" TopLine="162"/>
</Position4>
<Position5>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="205" Column="69" TopLine="163"/>
</Position5>
<Position6>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="60" Column="32" TopLine="38"/>
</Position6>
<Position7>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="207" Column="35" TopLine="188"/>
</Position7>
<Position8>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="97" Column="26" TopLine="56"/>
</Position8>
<Position9>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="18" Column="17"/>
</Position9>
<Position10>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="62" Column="37" TopLine="49"/>
</Position10>
<Position11>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="63" Column="37" TopLine="50"/>
</Position11>
<Position12>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="62" Column="37" TopLine="49"/>
</Position12>
<Position13>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="63" Column="37" TopLine="50"/>
</Position13>
<Position14>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="62" Column="37" TopLine="49"/>
</Position14>
<Position15>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="63" Column="37" TopLine="50"/>
</Position15>
<Position16>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="62" Column="37" TopLine="49"/>
</Position16>
<Position17>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="63" Column="37" TopLine="50"/>
</Position17>
<Position18>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="62" Column="37" TopLine="49"/>
</Position18>
<Position19>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="63" Column="37" TopLine="50"/>
</Position19>
<Position20>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="62" Column="37" TopLine="49"/>
</Position20>
<Position21>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="277" Column="25" TopLine="252"/>
</Position21>
<Position22>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="21" Column="16"/>
</Position22>
<Position23>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="64" Column="14" TopLine="33"/>
</Position23>
<Position24>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="138" Column="82" TopLine="109"/>
</Position24>
<Position25>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="139" Column="82" TopLine="110"/>
</Position25>
<Position26>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="259" Column="70" TopLine="236"/>
</Position26>
<Position27>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="261" Column="13" TopLine="236"/>
</Position27>
<Position28>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="99" Column="20" TopLine="55"/>
</Position28>
<Position29>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="98" Column="20" TopLine="54"/>
</Position29>
<Position30>
<Filename Value="unsrlstripper.pas"/>
<Caret Line="69" Column="24" TopLine="55"/>
</Position30>
</JumpHistory>
</ProjectSession>
</CONFIG>
Binary file added NSRLStripper.res
Binary file not shown.
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# NSRL-Stripper
A simple utility for stripping out either the SHA-1, MD5 or CRC values alone from the NSRL hash database

# Background
Saves a new output file that contains only the column of hashes you require, suitably formatted for immediate injestion into digital forensic or other data analysis tools. Note that this utility is NOT needed for X-Ways Forensics because it is already intelligent enough to work out from your initialised hash database what values to import. i.e. if you initiliased as SHA-1, it will injest only the SHA-1 values. In other words, XWF does for you, automatically, what this tool does manually. But you may not be fortunate enough to own a license of XWF and the NSRL hash databases are so large that even tools like Excel, LibreOffice Calc and Notepad++ will fail to open all the millions of lines making it challenging for you to extract just the SHA-1, or MD5 or CRC values into a single column. Or you may just need to use something else as well as X-Ways Forensics, in which case a tool like this may be of use to you. Or it may not. Single executable - just double click to launch. No DLL, no installation needed, no Java Run Time Environment to be installed, no Python Interpreters needed.
A simple utility for stripping out just the SHA-1 hashes, or just the MD5 hashes or just the CRC hashes alone from the NSRLFile.txt NSRL hash database.
It generates a now text file containing the hashes of your choice only, suitable for injestion into tools like X-Ways Forensics and others (XWF actually usually intelligently works it out, but just in case, you can use this).

![Alt text](NSRL_Stripper.png?raw=true "NSRL Stripper")
Loading

0 comments on commit 8d66bf6

Please sign in to comment.