N. Jon Shah

72 papers A* 1Journal 66Unranked 5
YearRankTypeTitle / Venue / Authors
2025 J jnl
NeuroImage
Ezequiel Farrher, Kuan-Hung Cho, Chia-Wen Chiang, Ming-Jye Chen, Sheng-Min Huang, Li-Wei Kuo, Chang-Hoon Choi, N. Jon Shah
2025 A* conf
ICLR
Hanning Guo, Farah Abdellatif, Yu Fu, N. Jon Shah, Abigail Morrison, Jürgen Dammers
2024 J jnl
IEEE Access
Suk-Min Hong, Chang-Hoon Choi, N. Jon Shah, Jörg Felder
2023 J jnl
IEEE Trans. Medical Imaging
Suk-Min Hong, Chang-Hoon Choi, N. Jon Shah, Jörg Felder
2023 J jnl
IEEE Access
Chang-Hoon Choi, Ezequiel Farrher, Jörg Felder, Jing Wang, Antje Willuweit, N. Jon Shah
2022 J jnl
IEEE Trans. Medical Imaging
Chang-Hoon Choi, Suk-Min Hong, Jörg Felder, Lutz Tellmann, Jürgen Scheins, Elena Rota Kops, Christoph W. Lerche, N. Jon Shah
2022 J jnl
NeuroImage
N. Jon Shah, Zaheer Abbas, Dominik Ridder, Markus Zimmermann, Ana-Maria Oros-Peusquens
2022 J jnl
Brain Connect.
Tanja Veselinovic, Ravichandran Rajkumar, Laura Amort, Jessica Junger, N. Jon Shah, Bruno Fimm, Irene Neuner
2022 J jnl
IEEE Access
Chang-Hoon Choi, Suk-Min Hong, N. Jon Shah, Jörg Felder
2021 J jnl
IEEE Trans. Medical Imaging
Christoph W. Lerche, Timon Radomski, Philipp Lohmann, Liliana Caldeira, Cláudia Régio Brambilla, Lutz Tellmann, Jürgen Scheins, Elena Rota Kops, Norbert Galldiks, Karl-Josef Langen, Hans Herzog, N. Jon Shah
2021 J jnl
IEEE Trans. Medical Imaging
Avdo Celik, Chang-Hoon Choi, Lutz Tellmann, Claire Rick, N. Jon Shah, Jörg Felder
2021 J jnl
NeuroImage
Ezequiel Farrher, Chia-Wen Chiang, Kuan-Hung Cho, Farida Grinberg, Richard P. Buschbeck, Ming-Jye Chen, Kuo-Jen Wu, Yun Wang, Sheng-Min Huang, Zaheer Abbas, Chang-Hoon Choi, N. Jon Shah, Li-Wei Kuo
2020 J jnl
IEEE Trans. Medical Imaging
Boris Eberhardt, Benedikt A. Poser, N. Jon Shah, Jörg Felder
2020 J jnl
Int. J. Imaging Syst. Technol.
Kamlesh Pawar, Zhaolin Chen, Jingxin Zhang, N. Jon Shah, Gary F. Egan
2020 J jnl
NeuroImage
Jörg Mauler, Alexander Heinzel, Andreas Matusch, Hans Herzog, Irene Neuner, Jürgen Scheins, Christine Wyss, Jürgen Dammers, Markus Lang, Johannes Ermert, Bernd Neumaier, Karl-Josef Langen, N. Jon Shah
2020 J jnl
Softw. Syst. Model.
Tao Chen, Michael Schiek, Jürgen Dammers, N. Jon Shah, Stefan van Waasen
2019 J jnl
IEEE Access
Kamlesh Pawar, Zhaolin Chen, N. Jon Shah, Gary F. Egan
2019 conf
BrainLes@MICCAI (1)
Kamlesh Pawar, Zhaolin Chen, N. Jon Shah, Gary F. Egan
2019 J jnl
IEEE Trans. Medical Imaging
Markus Zimmermann, Ana-Maria Oros-Peusquens, Elene Iordanishvili, Seonyeong Shin, Seong Dae Yun, Zaheer Abbas, N. Jon Shah
2019 J jnl
Medical Image Anal.
Johannes Lindemeyer, Ana-Maria Oros-Peusquens, N. Jon Shah
2019 J jnl
NeuroImage
Elene Iordanishvili, Melissa Schall, Ricardo Loução, Markus Zimmermann, Ketevan Kotetishvili, N. Jon Shah, Ana-Maria Oros-Peusquens
2018 J jnl
IEEE Trans. Medical Imaging
Markus Zimmermann, Zaheer Abbas, Krzysztof Dzieciol, N. Jon Shah
2018 J jnl
IEEE Trans. Medical Imaging
Suk-Min Hong, Chang-Hoon Choi, Arthur W. Magill, N. Jon Shah, Jörg Felder
2018 J jnl
IEEE Trans. Medical Imaging
Yonghyun Ha, Chang-Hoon Choi, N. Jon Shah
2018 J jnl
CoRR
Kamlesh Pawar, Zhaolin Chen, N. Jon Shah, Gary F. Egan
2018 J jnl
IEEE Trans. Biomed. Circuits Syst.
Yun Kyoung Ko, Chang-Hoon Choi, N. Jon Shah, Jörg Felder
2017 J jnl
NeuroImage
Farida Grinberg, Ivan I. Maximov, Ezequiel Farrher, Irene Neuner, Laura Amort, Heike Thönnessen, Eileen Oberwelland, Kerstin Konrad, N. Jon Shah
2017 conf
ISBI
Francesco Sforazzini, Zhaolin Chen, Jakub Baran, Jason Bradley, Alexandra Carey, N. Jon Shah, Gary F. Egan
2017 conf
EMS
Tao Chen, Sergey Suslov, Michael Schiek, N. Jon Shah, Stefan van Waasen, Jürgen Dammers
2017 conf
BrainLes@MICCAI
Kamlesh Pawar, Zhaolin Chen, N. Jon Shah, Gary F. Egan
2015 J jnl
NeuroImage
Martina Reske, Jessica Rosenberg, Sabrina Plapp, Thilo Kellermann, N. Jon Shah
2014 J jnl
NeuroImage
Jessica Rosenberg, Ivan I. Maximov, Martina Reske, Farida Grinberg, N. Jon Shah
2014 J jnl
IEEE Trans. Biomed. Eng.
Lukas Breuer, Jürgen Dammers, Timothy P. L. Roberts, N. Jon Shah
2014 J jnl
J. Cogn. Neurosci.
Tracy Warbrick, Jorge Arrubla, Franks Boers, Irene Neuner, N. Jon Shah
2014 J jnl
NeuroImage
Sandro Romanzetti, Christian C. Mirkes, Daniel P. Fiege, Avdo Celik, Jörg Felder, N. Jon Shah
2014 J jnl
NeuroImage
Irene Neuner, Jorge Arrubla, Jörg Felder, N. Jon Shah
2013 J jnl
NeuroImage
Tracy Warbrick, Martina Reske, N. Jon Shah
2013 J jnl
NeuroImage
Irene Neuner, Tracy Warbrick, Jorge Arrubla, Jörg Felder, Avdo Celik, Martina Reske, Franks Boers, N. Jon Shah
2013 J jnl
NeuroImage
Seong Dae Yun, Martina Reske, Kaveh Vahedipour, Tracy Warbrick, N. Jon Shah
2012 J jnl
IEEE Trans. Medical Imaging
Christoph Weirich, Daniel Brenner, Jürgen Scheins, Étienne Besancon, Lutz Tellmann, Hans Herzog, N. Jon Shah
2012 J jnl
NeuroImage
Kathrin Reetz, Sandro Romanzetti, Imis Dogan, Christian Saß, Cornelius J. Werner, Johannes Schiefer, Jörg B. Schulz, N. Jon Shah
2012 J jnl
NeuroImage
Fabian Keil, Ana-Maria Oros-Peusquens, N. Jon Shah
2012 J jnl
J. Cogn. Neurosci.
Tracy Warbrick, Arian Mobascher, Jürgen Brinkmeyer, Francesco Musso, Tony Stöcker, N. Jon Shah, Gereon R. Fink, Georg Winterer
2012 J jnl
Medical Image Anal.
Ivan I. Maximov, Ezequiel Farrher, Farida Grinberg, N. Jon Shah
2012 J jnl
NeuroImage
Thomas Nickl-Jockschat, Tony Stöcker, Valentin Markov, Axel Krug, Ruihuang Huang, Frank Schneider, Ute Habel, Klaus Zerres, Markus M. Nöthen, Jens Treutlein, Marcella Rietschel, N. Jon Shah, Tilo Kircher
2011 J jnl
IEEE Trans. Medical Imaging
Jürgen Scheins, Hans Herzog, N. Jon Shah
2011 J jnl
NeuroImage
Farida Grinberg, Ezequiel Farrher, Joachim Kaffanke, Ana-Maria Oros-Peusquens, N. Jon Shah
2011 J jnl
Int. J. Imaging Syst. Technol.
Oleg Posnansky, Yuliya Kupriyanova, N. Jon Shah
2010 J jnl
NeuroImage
Natacha S. Santos, Bojana Kuzmanovic, Nicole David, Anna Rotarska-Jagiela, Simon B. Eickhoff, N. Jon Shah, Gereon R. Fink, Gary Bente, Kai Vogeley
2010 J jnl
NeuroImage
Sören Krach, Andreas Jansen, Axel Krug, Valentin Markov, Markus Thimm, Abigail J. Sheldrick, Thomas Eggermann, Klaus Zerres, Tony Stöcker, N. Jon Shah, Tilo Kircher
2010 J jnl
NeuroImage
Axel Krug, Vanessa Nieratschker, Valentin Markov, Sören Krach, Andreas Jansen, Klaus Zerres, Thomas Eggermann, Tony Stöcker, N. Jon Shah, Jens Treutlein, Thomas W. Mühleisen, Tilo Kircher
2010 J jnl
J. Cogn. Neurosci.
Leonhard Schilbach, Marcus Wilms, Simon B. Eickhoff, Sandro Romanzetti, Ralf Tepest, Gary Bente, N. Jon Shah, Gereon R. Fink, Kai Vogeley
2010 conf
Bildverarbeitung für die Medizin
Christoph Weirich, Jürgen Scheins, Michaela Gaens, Lutz Tellmann, Elena Rota Kops, Joachim Kaffanke, N. Jon Shah, Hans Herzog
2010 J jnl
NeuroImage
Hans Herzog, Uwe Pietrzyk, N. Jon Shah, Karl Ziemons
2010 J jnl
NeuroImage
Andreas Jansen, Sören Krach, Axel Krug, Valentin Markov, Markus Thimm, Frieder M. Paulus, Klaus Zerres, Tony Stöcker, N. Jon Shah, Markus M. Nöthen, Jens Treutlein, Marcella Rietschel, Tilo Kircher
2010 J jnl
NeuroImage
Axel Krug, Valentin Markov, Sören Krach, Andreas Jansen, Klaus Zerres, Thomas Eggermann, Tony Stöcker, N. Jon Shah, Markus M. Nöthen, Jens Treutlein, Marcella Rietschel, Tilo Kircher
2010 J jnl
NeuroImage
Irene Neuner, Yuliya Kupriyanova, Tony Stöcker, Ruiwang Huang, Oleg Posnansky, Frank Schneider, Marc Tittgemeyer, N. Jon Shah
2009 J jnl
NeuroImage
Andreas Jansen, Sören Krach, Axel Krug, Valentin Markov, Thomas Eggermann, Klaus Zerres, Tony Stöcker, N. Jon Shah, Markus M. Nöthen, Jens Treutlein, Marcella Rietschel, Tilo Kircher
2008 J jnl
NeuroImage
Heiko Neeb, V. Ermer, Tony Stöcker, N. Jon Shah
2008 J jnl
NeuroImage
Martin Schulte-Rüther, Hans J. Markowitsch, N. Jon Shah, Gereon R. Fink, Martina Piefke
2008 J jnl
NeuroImage
Axel Krug, Valentin Markov, Thomas Eggermann, Sören Krach, Klaus Zerres, Tony Stöcker, N. Jon Shah, Frank Schneider, Markus M. Nöthen, Jens Treutlein, Marcella Rietschel, Tilo Kircher
2008 J jnl
NeuroImage
Nina Seiferth, Katharina Pauly, Ute Habel, Thilo Kellermann, N. Jon Shah, Stephan Ruhrmann, Joachim Klosterkötter, Frank Schneider, Tilo Kircher
2008 J jnl
NeuroImage
N. Jon Shah, Heiko Neeb, Gerald Kircheis, P. Engels, Dieter Häussinger, Karl Zilles
2007 J jnl
ACM Trans. Math. Softw.
James Rioux, M. Halse, Eric E. Aubanel, Bruce J. Balcom, Joachim Kaffanke, Sandro Romanzetti, T. Dierkes, N. Jon Shah
2007 J jnl
NeuroImage
Rüdiger Ilg, Kai Vogeley, Thomas Goschke, Annette Bolte, N. Jon Shah, Ernst Pöppel, Gereon R. Fink
2007 J jnl
NeuroImage
Stefan Vogt, Giovanni Buccino, Afra M. Wohlschläger, Nicola Canessa, N. Jon Shah, Karl Zilles, Simon B. Eickhoff, Hans-Joachim Freund, Giacomo Rizzolatti, Gereon R. Fink
2007 J jnl
NeuroImage
Nicole David, Michael X. Cohen, Albert Newen, Bettina H. Bewernick, N. Jon Shah, Gereon R. Fink, Kai Vogeley
2006 J jnl
NeuroImage
Tony Stöcker, Thilo Kellermann, Frank Schneider, Ute Habel, Katrin Amunts, Peter Pieperhoff, Karl Zilles, N. Jon Shah
2006 J jnl
NeuroImage
Heiko Neeb, Karl Zilles, N. Jon Shah
2005 J jnl
NeuroImage
Ute Habel, Martina Klein, Thilo Kellermann, N. Jon Shah, Frank Schneider
2003 J jnl
NeuroImage
M. Cornelia Stoeckel, Bruno Weder, Ferdinand Binkofski, Giovanni Buccino, N. Jon Shah, Rüdiger J. Seitz
2000 J jnl
Neural Networks
John G. Taylor, Barry Horwitz, N. Jon Shah, Winfried A. Fellenz, Hans-W. Müller-Gärtner, Bernd J. Krause
README.md
← Index README.md markdown
# redb
RationalEdge Samples DB

A malware analysis framework that extracts features from binary files (PE, ELF, Mach-O, APK) and stores them in ClickHouse for analysis.

## Quick Start

```bash
# Setup
source venv/bin/activate
pip install -r requirements.txt

# Process local files
python start.py --path /path/to/samples --repo test --index_prefix redb
```

## Usage Modes

### Local Mode
Process files from local filesystem:

```bash
# Single file or directory
python start.py --path /path/to/binary --repo test --index_prefix redb

# From a text file with paths (one per line)
python start.py --path /path/to/filelist.txt --repo test --index_prefix redb
```

### S3 Mode
Process samples from S3 storage based on catalog queries:

```bash
# By repository
python start.py --s3 --repo bazaar --index_prefix redb

# By repository with notes filter
python start.py --s3 --repo vx-itw --s3-notes "ITW.0138" --index_prefix redb

# By filetype (magika) - all ELF samples across all repos
python start.py --s3 --magika elf --index_prefix redb

# By filetype with repository filter
python start.py --s3 --repo bazaar --magika elf --index_prefix redb
```

### Date-Based Mode
Process samples by first_seen date from catalog:

```bash
# Single date (all samples first seen on Jan 15, 2025)
python start.py --date 2025-01-15 --index_prefix redb

# Date with repository filter
python start.py --date 2025-01-15 --repo bazaar --index_prefix redb

# Date range (inclusive)
python start.py --range 2025-01-01 2025-01-31 --index_prefix redb

# Date range with repository and notes filters
python start.py --range 2025-01-01 2025-01-31 --repo malshare --s3-notes "batch1" --index_prefix redb

# Date range with filetype filter
python start.py --range 2025-01-01 2025-01-31 --magika pebin --index_prefix redb
```

### S3-Solo Mode
Process a single sample by S3 key:

```bash
python start.py --s3-solo "09/f7/09f7d02a...hash.zip" --index_prefix redb
```

## Analysis Options

### Feature Extraction (default)
Runs all extractors to extract features from binaries:

```bash
python start.py --s3 --repo bazaar --index_prefix redb
```

### Specific Modules
Run only specific extractors:

```bash
python start.py --path /path/to/binary --repo test --index_prefix redb \
    --modules "BasicPropertiesExtractor,PEFeaturesExtractor,HashExtractor"
```

Available modules:
- **General**: `BasicPropertiesExtractor`, `HashExtractor`, `DIEExtractor`, `CAPAExtractor`
- **PE**: `PEFeaturesExtractor`, `PEImportExtractor`, `PEResourceExtractor`, `PEOverlayExtractor`, `PESectionExtractor`, `PESignatureExtractor`, `PEDotNetExtractor`, `PEInconstistencyTestsExtractor`, `PEExtraFindings`
- **ELF**: `ELFFeaturesExtractor`, `ELFSegmentExtractor`, `ELFSectionExtractor`, `ELFDependencyExtractor`, `ELFSymbolExtractor`, `ELFImportExtractor`, `ELFExportExtractor`, `ELFRelocationExtractor`, `ELFNotesExtractor`
- **Mach-O**: `MachOFeaturesExtractor`, `MachOSegmentExtractor`, `MachOImportExtractor`, `MachOExportExtractor`, `MachODylibExtractor`, `MachOSignatureExtractor`, `MachOSimilarityHashExtractor`
- **APK**: `APKFeaturesExtractor`, `APKManifestExtractor`, `APKPermissionsExtractor`, `APKSignatureExtractor`, `APKDexExtractor`, `APKResourceExtractor`, `APKNativeLibExtractor`, `APKInconsistencyTestsExtractor`
- **JavaScript**: `JSFeaturesExtractor`, `JSSuspiciousAPIsExtractor`, `JSStringsExtractor`, `JSDeobfuscationExtractor`, `JSContentExtractor`

**Note:** Using `--modules` with specific extractors respects the normal deduplication check. Add `--force` to reprocess samples already in the database.

### Analyzed Samples Mode
Process samples that are already in the database (from `basic_properties`). Useful for decompiling or re-running specific modules on previously analyzed samples:

```bash
# Decompile all already-analyzed samples that haven't been disassembled yet
python start.py --analyzed --index_prefix redb --decompile

# Decompile only ELF samples that were already analyzed
python start.py --analyzed --magika elf --index_prefix redb --decompile

# Re-run a specific extractor on already-analyzed samples
python start.py --analyzed --index_prefix redb --modules "MachOFeaturesExtractor"

# Force decompile ALL analyzed samples (even already-disassembled ones)
python start.py --analyzed --index_prefix redb --decompile --force

# Re-run a specific decompiler module on only already-disassembled samples
python start.py --analyzed --index_prefix redb --decompile --rerun --decompile-modules cfg
```

When combined with `--decompile`, the `--analyzed` flag has three behaviors:

| Flags | Source | Description |
|-------|--------|-------------|
| `--analyzed --decompile` | `basic_properties` minus `disassembled` | New samples only (first-time decompilation) |
| `--analyzed --decompile --force` | All of `basic_properties` | Re-run everything from scratch (e.g., new binja version) |
| `--analyzed --decompile --rerun` | Only `disassembled` table | Re-run on already-disassembled samples only (e.g., updated CFG module) |

The `--rerun` flag is particularly useful with `--decompile-modules` to selectively re-run a single module without reprocessing the full pipeline.

### Force Reprocessing
By default, samples already in the database are skipped. Use `--force` to reprocess them:

```bash
# Force full reprocessing of all samples
python start.py --s3 --repo bazaar --index_prefix redb --force

# Re-run a specific extractor on already-processed samples
python start.py --s3 --repo bazaar --index_prefix redb --modules "MachOFeaturesExtractor" --force

# Force YARA rescan (e.g., after updating rules)
python start.py --s3 --magika elf --index_prefix redb --yara --force
```

`--force` works across all modes: feature extraction, decompilation, and YARA scanning. ReplacingMergeTree handles deduplication, so reprocessed data cleanly replaces existing rows.

### Decompilation Mode
Run Binary Ninja decompilation only:

```bash
python start.py --s3 --repo bazaar --index_prefix redb --decompile
```

#### Selective Decompiler Modules
Run only specific decompiler sub-modules instead of the full pipeline:

```bash
# Run only strings extraction (fastest - skips per-function analysis)
python start.py --s3 --repo bazaar --index_prefix redb --decompile --decompile-modules strings

# Run disassembly and CFG analysis only
python start.py --s3 --repo bazaar --index_prefix redb --decompile --decompile-modules disassembly,cfg

# Run multiple modules
python start.py --s3 --repo bazaar --index_prefix redb --decompile --decompile-modules decompilation,disassembly,llil
```

Available decompiler modules:
- **decompilation** — High-level IL (HLIL) decompiled output → `code_binja_decompiled_functions_*` tables
- **disassembly** — Low-level assembly representation → `code_binja_disassembled_functions_*` tables
- **cfg** — Control flow graph analysis → `code_binja_cfg_functions` table
- **llil** — Low-level intermediate language → `code_binja_llil_functions_*` tables
- **strings** — Binary string extraction → `code_binja_strings_raw` table

**IOC extraction** runs automatically when `decompilation` or `strings` is selected (it consumes their in-memory results). It is skipped for modules like `cfg` or `disassembly` that don't produce IOC-relevant data.

Default is `all` (runs every module). Requires `-d/--decompile` flag.

### YARA Scanning
Run YARA rules against samples:

```bash
# YARA scanning only (skips already-scanned samples by default)
python start.py --s3 --magika elf --index_prefix redb --yara

# Force rescan all samples (e.g., after updating YARA rules)
python start.py --s3 --magika elf --index_prefix redb --yara --force

# Feature extraction + YARA scanning combined
python start.py --s3 --repo bazaar --index_prefix redb --with-yara
```

By default, `--yara` skips samples that already have matches in the `yara_matches` table. Use `--force` to rescan everything (e.g., after updating YARA rules).

### Dry Run Mode
Print results instead of uploading to database:

```bash
python start.py --path /path/to/binary --repo test --index_prefix redb --dry-run
```

## Environment Variables

See `.env.example` for all configuration options:

| Variable | Description |
|----------|-------------|
| `CLICKHOUSE_HOST` | ClickHouse server host |
| `CLICKHOUSE_PORT` | ClickHouse server port (default: 8123) |
| `CLICKHOUSE_USER` | ClickHouse username |
| `CLICKHOUSE_PASSWORD` | ClickHouse password |
| `S3_ENDPOINT` | S3/MinIO endpoint |
| `S3_ACCESS_KEY` | S3 access key |
| `S3_SECRET_KEY` | S3 secret key |
| `S3_BUCKET` | S3 bucket name |
| `INDEX_PREFIX` | Table prefix for ClickHouse (default: redb) |
| `SUPPORTED_FORMATS` | File formats to query (default: `['pebin']`) |
| `BATCH_SIZE` | Files per batch (default: 1000) |
| `REDB_TIMEOUT` | Worker timeout in seconds (default: 600) |
| `DECOMPILE_WORKER_TIMEOUT` | Decompile timeout (default: 2700) |

## Filtering Options Summary

| Option | Description | Standalone | With --repo | With --date/--range |
|--------|-------------|------------|-------------|---------------------|
| `--repo` | Filter by repository | Required for --s3 (unless --magika) | - | Optional |
| `--s3-notes` | Filter by notes field | No | Yes | Yes |
| `--magika` | Filter by filetype | Yes (queries all repos) | Yes | Yes |
| `--date` | Filter by single date | Yes | Yes | - |
| `--range` | Filter by date range | Yes | Yes | - |
| `--analyzed` | Process already-analyzed samples | Yes | N/A | N/A |