Skip to content

About

Binary Ninja helper plugin for finding and annotating meaningful strings

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

BinjaString

BinjaString is a Binary Ninja helper plugin for finding strings that are more likely to matter during reverse engineering. It scores Binary Ninja's discovered strings, suppresses common string-analysis noise, and annotates high-confidence hits.

Features

BinjaString looks for:

  • URLs, domains, IP addresses, paths, UUIDs, and format strings
  • Language and runtime artifacts from Swift, Go, Java, Kotlin, Rust, Objective-C, .NET, and C++
  • Security and configuration keywords such as token, api_key, secret, jwt, and password
  • Native API hints such as LoadLibrary, objc_msgSend, VirtualAlloc, and related runtime calls
  • Structured JSON/XML-looking data and readable base64 payloads

Noise suppression penalizes very short strings, weird-character-heavy strings, high-entropy separator-free blobs, low-vowel random-looking text, and repeated characters.

Score

Scores are deliberately heuristic and intended to prioritize review, not prove meaning.

$$Score = base readability + semantic/runtime/security/config signals - noise penalties$$

The final score is clamped to 0..100; only findings at or above the reporting threshold are shown.

Installation

Install from the Binary Ninja Plugin Manager once the plugin is listed there. For manual installation, clone this repository into your Binary Ninja user plugin directory and restart Binary Ninja.

Common plugin directories:

  • macOS: ~/Library/Application Support/Binary Ninja/plugins/BinjaString
  • Linux: ~/.binaryninja/plugins/BinjaString
  • Windows: %APPDATA%\Binary Ninja\plugins\BinjaString

Usage

Open a binary and run:

Plugins -> BinjaString -> Scan Intelligent Strings

The plugin generates a report with scored strings and reasons, adds comments at interesting string addresses, and highlights instructions that reference high-confidence strings.

To remove comments and highlights created by the plugin:

Plugins -> BinjaString -> Clear Annotations

You can also open the command palette and search for BinjaString.

Development

The scoring logic is pure Python and can be tested without Binary Ninja.

python3 -m unittest discover -s tests

Lint the repository with Ruff:

ruff check .

License

BinjaString is released under the MIT license. See LICENSE.

About

Binary Ninja helper plugin for finding and annotating meaningful strings

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages