Extraire les chaînes des fichiers. Le package NuGet est disponible. Les échantillons sont des fichiers inclus.
Petite utilité qui extrait des chaînes de PE et d'autres fichiers. Utile pour les logiciels malveillants.
Vous pouvez configurer des codes de page, une plage de caractères, une longueur de chaînes d'extraction minimale et maximale. Voir l'exemple ci-dessous.
D'énormes fichiers sont traités en les divisant en morceaux de taille fixe. Chaque morceau suivant chevauche un précédent, c'est-à-dire que les chaînes situées à la frontière des morceaux ne seront pas perdues
Il a la capacité de filtrer les résultats. Il est basé sur le fichier de configuration, contenant des expressions régulières.
// 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
}
}
}
}
} Construire vs 2017
Un merci spécial à Ericzimmerman.