StringsSharp
1.0.0
Извлеките строки из файлов. Пакет Nuget доступен. Образцы включены файлы.
Небольшая утилита, которая извлекает строки из PE и других файлов. Полезно для вредоносного анализа.
Вы можете настроить яблонный код, диапазон символов, минимальную и максимальную длину строк извлечения. См. Пример ниже.
Огромные файлы обрабатываются, разделяя их на куски фиксированного размера. Каждый последующий кусок перекрывает предыдущий, т.е. струны, расположенные на границе кусочек, не будут потеряны
Он имеет возможность фильтровать результаты. Он основан на файле конфигурации, содержащего регулярные выражения.
// Desired file
string filename = "<filename>" ;
// Unicode. Char range: [u0020-u007E]. Min string length: 4. Max string length: 16
using ( StringsSharp . StringsSharp ss = new StringsSharp . StringsSharp ( 1200 , "[ u0020 - u007E ]" , 4 , 16 ) )
{
// Default chunk size is used
foreach ( MatchCollection matches in ss . Scan ( filename ) )
{
// Process matches here
}
}
// ASCII. Char range: [x20-x7E]. Min and string length are set to default
using ( StringsSharp . StringsSharp ss = new StringsSharp . StringsSharp ( 1251 , "[ x20 - x7E ]" ) )
{
using ( StringsSharp . StringFilter sf = new StringFilter ( configurationFile ) )
{
// Chunk size is set to 256
foreach ( MatchCollection matches in ss . Scan ( filename , 256 ) )
{
foreach ( Match match in matches )
{
// Result filtration in action
if ( sf . Scan ( match . Value ) )
{
// Process string here
}
foreach ( string regexpTag in sf . Scan ( match . Value ) )
{
// Process tags here
}
}
}
}
} Построить в VS 2017
Особая благодарность Эриксиммерману.