BULK_EXTRACTOR(1)
πΈ NAME πΈ (this is BULK_EXTRACTOR(1), from the General Commands Manual)
okay so bestie, this is bulk_extractor β it scans a disk image for regular expressions and other content. Iconic little forensic goblin behavior, honestly π
β¨
β¨ SYNOPSIS β¨
bulk_extractor -o output_dir [options] [ image | -R dir ]
π DESCRIPTION π
bulk_extractor scans a disk image (or literally any other file) for a whole bunch of pre-defined regular expressions and other kinds of content. Those found items are called features. When it finds a feature, bulk_extractor writes the output to an output file. Each line of the output file contains a byte offset at which the feature was found, a tab, and the actual feature. So features cannot contain the end-of-line character β no line breaks allowed, periodt π
bulk_extractor has native support for EnCase (.E01) and AFFLIB (.aff) files, if it compiled and linked on a system containing those libraries. Alternatively, the -R option can be used to recursively scan and process a directory of individual files β and heads up: disk images in such a directory will be treated as files, not as disk images. Not me warning you about the vibe shift π
bulk_extractor is multi-threaded. By specifying the -j option, multiple copies of the program can be run. Each thread writes its results into its own feature file. The files are then combined by the primary thread when all of the secondary threads complete. teamwork makes the dream work, fr fr π«Ά
bulk_extractor is a two-phase program. In phase 1 the features are extracted. In phase 2 a histogram is created of relevant features. two phases, one slay β¨
bulk_extractor will also create a wordlist of all the words that are found in the disk image. This can be used as a dictionary for cracking encryption. lowkey iconic and a little scary π
okay, the options are as follows, bestie:
-o outdirβ specifies the output directory, which will be created bybulk_extractorif necessary. If the output directory contains data from a partialbulk_extractorrun,bulk_extractorwill attempt to resume where the previous run left off. resuming? we love a comeback era π-b bannerfile.txtβ reads the contents ofbannerfile.txtand stamps it at the beginning of each output file. This might be useful if you have some kind of privacy banner that needs to be stamped at the top of all your files. cute little header moment π-r alert_list.txtβ specifies an alert list (or red list), which is a list of terms that, if found, will be specifically flagged in a special alert file that begins with the lettersALERT. The alert list may contain individual terms, which must be found in their entirety and are case-sensitive, or wildcards with standard Unix globbing (e.g.*@company.com). Globbed terms are case-insensitive. red list energy π₯-w stop_list.txtβ specifies a stop list (or white list), which is a list of terms that, if found, will be placed in a special stopped file (rather than in the main file). The whitelist may also contain globbed terms. into the stopped file you go π«‘-s frac[:passes]β specify random sampling parameters. sampling arc, unlocked π-p path/formatβ open a disk image and print the information found at path. The format specification may berfor raw output andhfor hex output. Specify-p -for interactive mode. Specify-p -httpfor HTTP mode. choose your fighter: raw, hex, interactive, HTTP π-F <rfile>β specifies a file of regular expressions to be used as search terms. regex buffet, no cap π-f <regex>β specifies a regular expression to be used as a search term. one regex, one mission β-q nnβ quiet mode. Only prints everynnstatus reports. Specify-1for no status. shhh era π-Wn1:n2β thescan_wordlistscanner should only extract words that are betweenn1andn2characters in length. word length filter, periodt π
π§ TUNING π§
these commands are useful for tuning operation:
-C NNβ specifies the size of the context window. context window glow-up β¨-S fr:<name>:window=NNβ specifies context window for recorder<name>toNN.-S fr:<name>:window_before=NNβ specifies context window after toNNfor recorder<name>. (that is what the page says, bestie π)-S fr:<name>:window_after=NNβ specifies context window before toNNfor recorder<name>. (again, exactly as written π)-G NNβ specify the page size. pages are having a moment π-g NNβ specifies the size of the margin in bytes. margin rights π-j NNβ usenthreads for analysis. Normally you do not need to specify this, as the default is the number of processors on the current computer. multitasking queen π-m NNβ havebulk_extractorwait at mostNNminutes for scanners to finish after all data have been read. patience, but make it timed β³
π DEBUGGING π
the following commands are useful for debugging:
-Vβ print the version number. version check, slay π₯-R outdirβ restarts the program from where it left off for a particular directory. restart era π-B nnβ set the dedup Bloom filter tonnbits. This is used by thescan_wordlistscanner. bloom filter business πΈ-M nnβ specifies a maximum recursion depth ofnn. don't go too deep, bestie π-z pagenumβ start on page number pagenum. page jump π-Y <o1>[-<o2>]β start at input offseto1optionally ending at offseto2. offset range, cute π-dNβ enable debugging levelN. debug goblin mode π§
ποΈ SCANNER CONTROL ποΈ
finally, you can control scanners with these options:
-P <dir>β specifies a directory in which to find plugins. plugin hunting π΅οΈββοΈ-E scannerβ turns off all scanners, then enables thescannerscanner. hard reset, but make it scanner-specific π₯-e scannerβ enables a scanner. turn it on β¨-x scannerβ disables a scanner. turn it off π ββοΈ
π HISTORY π
bulk_extractor is based on a feature extractor and named entity recognizer developed for SBook in 1991. The feature extractor was repurposed for disk images in 2003. The stand-alone bulk_extractor program was rewritten in 2005 and publicly released in 2007. The multi-threaded bulk_extractor was released in May 2010. lore drop, honestly πβ¨
π AUTHOR π
Simson Garfinkel <simsong@acm.org>
cute little sign-off, bestie: the footer says source/version line User Manuals, date OCT 2013, and manual BULK_EXTRACTOR(1) β bye bestie, go extract some features π«Άπβ¨
π¦ where this page comes from
- nixos 26.05: bulk_extractor 2.1.1
- opensuse-leap 16.0: bulk_extractor 2.0.0-bp160.1.14 Β· GPL-3.0-or-later
- opensuse-leap 16.0: bulk_extractor 2.0.0-bp160.1.14 Β· GPL-3.0-or-later
- opensuse-leap 16.0: bulk_extractor 2.0.0-bp160.1.14 Β· GPL-3.0-or-later
- opensuse-leap 16.0: bulk_extractor 2.0.0-bp160.1.14 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms