Skip to content

ravro-ir/ravro_dcrpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

295 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Ravro Decryption Tool

A versatile Go-based tool for decrypting and converting Ravro platform bug bounty reports to PDF.

πŸš€ Introduction

ravro_dcrpt is a cross-platform utility designed to decrypt and process reports submitted by hunters on the Ravro platform, embodying the "write once, run anywhere" philosophy of Go.

⚑ Quick Start

  1. Install prerequisites using the autoinstall scripts (see Installation section)
  2. Download the latest release for your platform from Releases
  3. For GUI users: Double-click ravro_dcrpt_gui and use the visual interface
  4. For CLI users: Run ./ravro_dcrpt -init to set up directories, then ./ravro_dcrpt for interactive mode

✨ Features

Core Features

  • πŸ” PKCS7 Decryption using OpenSSL (CGO-based for native performance)
  • πŸ“„ PDF Generation with wkhtmltopdf (beautiful, styled reports)
  • πŸ—οΈ Multi-key support for different organizations
  • πŸ”„ Batch processing - multiple reports in one go
  • πŸ“¦ ZIP extraction - automatic handling of compressed reports
  • πŸ–₯️ Cross-platform - Windows, Linux, macOS

User Interface

  • 🎨 GUI Application - User-friendly Fyne-based interface
    • Large file browser dialogs (1000Γ—700) for easy navigation
    • Real-time processing logs and status
    • Directory initialization wizard
    • Key validation before processing
  • πŸ’» CLI Application - Perfect for automation and scripting
    • Interactive and command-line modes
    • JSON export support
    • Colored output and progress indicators

PDF Features

  • πŸ“… Persian Date Conversion - Automatic Gregorian to Shamsi (Jalali) conversion
  • πŸ’° Formatted Amounts - Thousand separators for rewards (e.g., 10,500,000 Ψ±ΫŒΨ§Ω„)
  • πŸ“Ž Attachment Tables - Beautiful tables showing attachment files with types
  • 🎨 Modern Design - Clean, professional styling with Vazirmatn font
  • 🌐 RTL Support - Full right-to-left layout for Persian content
  • βš–οΈ Conditional Sections - Judge information shown only when available

πŸ› οΈ Installation

Quick Installation (Recommended)

We provide automated installation scripts that install all required dependencies for running the GUI application.

Linux

# Download and run the installation script
curl -O https://raw.githubusercontent.com/ravro-ir/ravro_dcrpt/main/install-linux.sh
chmod +x install-linux.sh
./install-linux.sh

Supported distributions:

  • Ubuntu / Debian / Linux Mint / Pop!_OS
  • Fedora / RHEL / CentOS / Rocky / AlmaLinux
  • Arch Linux / Manjaro
  • openSUSE / SLES

macOS

# Download and run the installation script
curl -O https://raw.githubusercontent.com/ravro-ir/ravro_dcrpt/main/install-macos.sh
chmod +x install-macos.sh
./install-macos.sh

Note: The script will automatically install Homebrew if not present.

Windows

# Download and run the installation script
# Run PowerShell as Administrator, then:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ravro-ir/ravro_dcrpt/main/install-windows.ps1" -OutFile "install-windows.ps1" -UseBasicParsing
powershell -ExecutionPolicy Bypass -File "install-windows.ps1"

Note: Must be run as Administrator. The script will:

  • Install Chocolatey (if not present)
  • Try to install OpenSSL from multiple sources (versions 3.4.0, 3.3.2, 3.3.1, 3.3.0, 3.2.0, 3.1.0)
  • Fallback to Chocolatey if direct download fails
  • Install wkhtmltopdf for PDF generation
  • Automatically configure system PATH

Download Application

After installing prerequisites, download the latest release for your platform:

Linux (x86_64):

wget https://github.com/ravro-ir/ravro_dcrpt/releases/latest/download/ravro_dcrpt-linux-amd64.tar.gz
tar -xzf ravro_dcrpt-linux-amd64.tar.gz
chmod +x ravro_dcrpt_gui
./ravro_dcrpt_gui

macOS (Intel):

wget https://github.com/ravro-ir/ravro_dcrpt/releases/latest/download/ravro_dcrpt-darwin-amd64.tar.gz
tar -xzf ravro_dcrpt-darwin-amd64.tar.gz
open "Ravro Decryption Tool.app"

macOS (Apple Silicon):

wget https://github.com/ravro-ir/ravro_dcrpt/releases/latest/download/ravro_dcrpt-darwin-arm64.tar.gz
tar -xzf ravro_dcrpt-darwin-arm64.tar.gz
open "Ravro Decryption Tool.app"

Windows:

# Download from GitHub Releases
# Extract the zip file, then run:
.\ravro_dcrpt_gui.exe

πŸ“– For detailed installation instructions, troubleshooting, and manual installation, see INSTALL.md

πŸ“‚ Project Structure

Clean Architecture Layout

ravro_dcrpt/
β”œβ”€β”€ cmd/                          # Application entry points
β”‚   β”œβ”€β”€ cli/main.go              # CLI application
β”‚   └── gui/main.go              # GUI application
β”œβ”€β”€ internal/                     # Internal packages
β”‚   β”œβ”€β”€ adapters/                # Interface implementations
β”‚   β”‚   β”œβ”€β”€ crypto/              # PKCS7 decryption (OpenSSL CGO)
β”‚   β”‚   β”œβ”€β”€ pdfgen/              # PDF generation (wkhtmltopdf)
β”‚   β”‚   └── storage/             # File system operations
β”‚   β”œβ”€β”€ core/                    # Business logic
β”‚   β”‚   β”œβ”€β”€ decrypt/             # Decryption service
β”‚   β”‚   └── report/              # Report processing service
β”‚   └── ports/                   # Interface definitions
β”œβ”€β”€ pkg/                         # Public packages
β”‚   └── models/                  # Data models
β”œβ”€β”€ .github/workflows/           # CI/CD pipelines
β”œβ”€β”€ BUILD.md                     # Comprehensive build guide
└── README.md                    # This file

Working Directory Structure

.
β”œβ”€β”€ decrypt/                     # Output directory
β”‚   └── ir2025-02-27-0055/
β”‚       β”œβ”€β”€ company__id__hunter.pdf    # Generated PDF report
β”‚       β”œβ”€β”€ report/              # Decrypted report data
β”‚       └── amendment-1/         # Decrypted attachments
β”œβ”€β”€ encrypt/                     # Input directory
β”‚   β”œβ”€β”€ ir2025-02-27-0055.zip    # Compressed report
β”‚   └── ir2025-02-27-0055/       # Or extracted report folder
β”‚       β”œβ”€β”€ report/
β”‚       β”‚   └── data.ravro       # Encrypted report
β”‚       β”œβ”€β”€ judgment-1/
β”‚       β”‚   └── data.ravro       # Encrypted judgment
β”‚       └── amendment-1/
β”‚           └── screenshot.ravro # Encrypted attachment
└── key/                         # Private keys directory
    └── COMPANY-PRIVATEKEY.txt   # Private key file

πŸ’» Usage

GUI Application (Recommended for Desktop Users)

Simply double-click ravro_dcrpt_gui to launch the graphical interface.

GUI Screenshot

Features:

  • πŸ“ Large file browsers (1000Γ—700) - Browse and select directories/files easily
  • πŸ”‘ Key validation - Validate private key before processing
  • πŸ“Š Live logs - Real-time processing status and progress
  • βœ… Directory initialization - One-click setup of required folders
  • 🎯 Visual feedback - Clear status messages and error handling

Steps:

  1. Click "πŸ“ Initialize Directories" to create encrypt/, decrypt/, and key/ folders (first time only)
  2. Click "Browse" next to each field to select:
    • Input Directory: Your encrypted reports folder or specific report
    • Output Directory: Where PDFs will be saved
    • Private Key: Your .pem or .txt key file
  3. (Optional) Click "πŸ” Validate Key" to verify your key
  4. Click "πŸš€ Start Processing" to decrypt and generate PDFs
  5. Check the log area for detailed progress and any errors

πŸ“„ Generated PDF Features

The generated PDF reports include:

βœ… Report Information:

  • Report ID and submission date (Persian calendar)
  • Hunter username and target company
  • Activity date range (Persian dates)
  • Current status and target details
  • IP addresses and URLs

βœ… CVSS Scoring:

  • Hunter's CVSS vector and score
  • Judge's CVSS evaluation (if available)
  • Severity ratings with color coding

βœ… Vulnerability Details:

  • Scenario description (with Markdown support)
  • Proof of Concept with full details
  • Technical description

βœ… Attachments:

  • Organized in a table format
  • File numbering, names, and types
  • Automatic file type detection (Image/PDF/File)

βœ… Judge Information (when available):

  • Reward amount with thousand separators (e.g., 10,500,000 Ψ±ΫŒΨ§Ω„)
  • Judge's comments and recommendations
  • Vulnerability definition and fix suggestions
  • Review date (Persian calendar)

βœ… Styling:

  • Clean, professional design
  • Persian (Farsi) Vazirmatn font
  • Right-to-left (RTL) layout
  • Color-coded severity badges
  • Responsive table layouts

πŸ› οΈ Technologies & Dependencies

This project is built with:

Core:

  • Go 1.21+ - Primary programming language
  • CGO - C bindings for native library integration

Cryptography:

  • OpenSSL - PKCS7 encryption/decryption via CGO
  • go.mozilla.org/pkcs7 - Pure Go PKCS7 support (fallback)

PDF Generation:

  • wkhtmltopdf - HTML to PDF conversion with WebKit rendering
  • html/template - Go's built-in template engine

GUI Framework:

  • Fyne v2 - Cross-platform GUI toolkit (Pure Go)

CLI Framework:

  • Cobra - Command-line interface framework

Utilities:

  • go-persian-calendar - Gregorian to Shamsi (Jalali) date conversion
  • archive/zip - ZIP file extraction

Fonts:

  • Vazirmatn - Modern Persian font from Google Fonts

πŸ”¨ Building from Source

For comprehensive build instructions including cross-compilation and troubleshooting, see BUILD.md.

Quick Build

Linux/macOS:

git clone https://github.com/ravro-ir/ravro_dcrpt.git
cd ravro_dcrpt
make build

πŸ“˜ See BUILD.md for:

  • Prerequisites and dependencies
  • Platform-specific instructions
  • Cross-compilation guide
  • Troubleshooting common issues

🍎 macOS Special Notes

Due to recent changes in Homebrew, wkhtmltopdf has been deprecated. Use our special installation script:

# Install wkhtmltopdf for macOS
./install_wkhtmltopdf_macos.sh

# Then build the project
./build_macos.sh

πŸ“‹ Changelog

See CHANGELOG.md for detailed release notes and version history.

πŸ“„ License

GNU General Public License, version 3

πŸ‘₯ Author

Ramin Farajpour Cami

About

Ravro decryption secret report files ravro

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors