Skip to main content

Advanced Binary Analysis Tool

Project description

NusantaraScan

"An open-source binary analysis tool for modern security workflows."

Python License Platform PyPI version


๐Ÿ“Œ About The Project

NusantaraScan is an open-source binary analysis tool designed for modern malware analysis and reverse engineering workflows.

It supports:

  • Malware analysis
  • RAT (Remote Access Trojan) detection
  • Binary reverse engineering
  • Packer detection
  • Entropy visualization
  • Multi-platform executable analysis

Designed to be:

  • Powerful for professional analysts
  • Simple enough for beginners

โœจ Features (v0.2.0)

  • Static Analysis (PE, ELF, Mach-O)
  • RAT Detection (DarkComet, NanoCore, NjRAT, Gh0st, etc.)
  • String Extraction (URLs, IPs, API calls)
  • Entropy Analysis
  • Section Analysis
  • YARA Integration
  • Disassembly (x86/x64/ARM/ARM64)
  • Multi-format Export (JSON, HTML)
  • Packer Detection (UPX, ASPack, MPRESS)
  • Entropy Visualization
  • Multi-file Scanning
  • VirusTotal Integration

โš™๏ธ Installation

Clone Repository

git clone https://github.com/Lutfifakee-Project/NusantaraScan.git
cd NusantaraScan
pip install -r requirements.txt
python main.py --help

Install from PyPI

pip install nusantarascan

๐Ÿ›ก๏ธ RAT Detection Examples

python main.py suspicious_file.exe --yara nusantarascan/signatures/yara_rules/rat_rules

python main.py suspicious_file.exe --deep \
--yara nusantarascan/signatures/yara_rules/rat_rules

๐Ÿš€ Usage Examples

# Basic analysis
python main.py notepad.exe

# Detect packers
python main.py malware.exe --packer

# Entropy graph visualization
python main.py malware.exe --graph

# Full disassembly
python main.py malware.exe --full-disasm

# Scan all files recursively
python main.py ./malware_samples/ --recursive

# Check file on VirusTotal (requires API key)
python main.py malware.exe --vt --vt-api-key YOUR_API_KEY

# Combine multiple features
python main.py malware.exe --deep --packer --graph --vt

# Export report to HTML/JSON
python main.py file.exe --output report.html --format html

๐Ÿ“Š Example Output

    _   _                       _                  ____
   | \ | |_   _ ___  __ _ _ __ | |_ __ _ _ __ __ _/ ___|  ___ __ _ _ __
   |  \| | | | / __|/ _` | '_ \| __/ _` | '__/ _` \___ \ / __/ _` | '_ \
   | |\  | |_| \__ \ (_| | | | | || (_| | | | (_| |___) | (_| (_| | | | |
   |_| \_|\__,_|___/\__,_|_| |_|\__\__,_|_|  \__,_|____/ \___\__,_|_| |_| 0.2.0
                https://github.com/Lutfifakee-Project/

[+] Target   : malware_simulator.exe
[+] Size     : 8,456,064 bytes (8.06 MB)
[+] MD5      : 1a2b3c4d5e6f7g8h9i0j
[+] Entropy  : 6.8521

[*] Section Analysis:
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Name   โ”ƒ Virtual Address โ”ƒ Virtual Size โ”ƒ Raw Size โ”ƒ Entropy โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ .text  โ”‚ 0x1000          โ”‚ 0x2448f      โ”‚ 0x24600  โ”‚ 6.2747  โ”‚
โ”‚ .rdata โ”‚ 0x26000         โ”‚ 0x9288       โ”‚ 0x9400   โ”‚ 5.9296  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

[+] Imported Functions:
    KERNEL32.dll
      โ””โ”€ CreateRemoteThread
      โ””โ”€ VirtualAllocEx
      โ””โ”€ WriteProcessMemory
      โ””โ”€ RegSetValueExW

[+] String Analysis:
    [!] Suspicious strings detected:
      โ€ข DarkComet
      โ€ข CreateRemoteThread
      โ€ข VirtualAllocEx

[!] YARA Scan:
    [!] 2 YARA rule(s) matched:
      โ€ข DarkComet_RAT
      โ€ข Suspicious_RAT_APIs

[+] Scan completed!

๐Ÿ“ฆ Requirements

  • Python 3.8 or newer

Install Dependencies

pip install -r requirements.txt

Main Dependencies

  • pefile โ€” Windows PE analysis
  • pyelftools โ€” Linux ELF analysis
  • capstone โ€” Disassembly engine
  • yara-python โ€” YARA integration
  • rich โ€” CLI formatting
  • requests โ€” VirusTotal API integration

๐Ÿ“ Project Structure

NusantaraScan/
โ”œโ”€โ”€ main.py                  # Main entry point
โ”œโ”€โ”€ requirements.txt         # Python dependencies
โ”œโ”€โ”€ setup.py                 # Package installer
โ”œโ”€โ”€ README.md                # Documentation
โ””โ”€โ”€ nusantarascan/
    โ”œโ”€โ”€ cli.py               # CLI handler
    โ”œโ”€โ”€ analyzers/           # Binary analyzers (PE, ELF, Mach-O)
    โ”œโ”€โ”€ visualizers/         # Entropy graph visualization
    โ”œโ”€โ”€ integrations/        # VirusTotal integration
    โ”œโ”€โ”€ scanners/            # Multi-file scanner
    โ”œโ”€โ”€ utils/               # Utilities (hashing, entropy, etc.)
    โ”œโ”€โ”€ signatures/          # YARA scanner & rules
    โ”‚   โ””โ”€โ”€ yara_rules/
    โ”‚       โ””โ”€โ”€ rat_rules/   # RAT detection rules
    โ””โ”€โ”€ formatters/          # JSON/HTML exporters

๐Ÿงฉ Using Community YARA Rules

To significantly improve detection capabilities, you can integrate community-maintained YARA rules from the Yara-Rules/rules repository.

This repository contains thousands of signatures for:

  • Malware detection
  • Packer detection
  • Exploit kits
  • Malicious documents
  • Anti-debugging techniques
  • Threat actor indicators

๐Ÿ“ฅ Integrating Community Rules

Clone the Repository

git clone https://github.com/Yara-Rules/rules.git \
nusantarascan/signatures/yara_rules/community

Directory Structure

nusantarascan/signatures/yara_rules/
โ”œโ”€โ”€ rat_rules/          # Custom RAT rules
โ””โ”€โ”€ community/          # Community YARA rules
    โ”œโ”€โ”€ malware/
    โ”œโ”€โ”€ packers/
    โ”œโ”€โ”€ maldocs/
    โ””โ”€โ”€ ...

๐Ÿ” Using Community Rules

Scan with All Community Rules

python main.py suspicious_file.exe \
--yara nusantarascan/signatures/yara_rules/community

Scan with Malware Category Only

python main.py suspicious_file.exe \
--yara nusantarascan/signatures/yara_rules/community/malware

Combine Custom RAT Rules + Community Rules

python main.py suspicious_file.exe \
--yara nusantarascan/signatures/yara_rules/

โš ๏ธ Disclaimer

This project is intended for:

  • Security research
  • Malware analysis
  • Educational purposes
  • Authorized penetration testing

The developer is not responsible for:

  • Illegal activities
  • Unauthorized system access
  • Misuse of this software
  • Damage caused by improper usage

Use this tool responsibly and only in environments where you have explicit permission.


๐Ÿ“„ License

This project is licensed under the GNU General Public License v3.0 (GPLv3).

See the LICENSE file for more information.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nusantarascan-0.2.1.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nusantarascan-0.2.1-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file nusantarascan-0.2.1.tar.gz.

File metadata

  • Download URL: nusantarascan-0.2.1.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for nusantarascan-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8399b8056a80cbdbbcd87110973d2485268d6a7f1b3d9b326d202d215defde0e
MD5 8e61461de1d25ab02ffe17e21c539144
BLAKE2b-256 4a7e9699338a5afa34c0dd137bcc0ae7c5095c3a0340c6a9462af53c0e0f4603

See more details on using hashes here.

File details

Details for the file nusantarascan-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: nusantarascan-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for nusantarascan-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2de4497fbd6940146dfea7a5d60ddb93102bfd0ee13408daf893dc5258708b49
MD5 67343f46d46f85f4fbbf27326f44b2b1
BLAKE2b-256 c0d50f70e50f9b655437622e5d8aa5327f6018828c7b74b39271d733af397b25

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page