A versatile Go-based tool for decrypting and converting Ravro platform bug bounty reports to PDF.
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.
- Install prerequisites using the autoinstall scripts (see Installation section)
- Download the latest release for your platform from Releases
- For GUI users: Double-click
ravro_dcrpt_guiand use the visual interface - For CLI users: Run
./ravro_dcrpt -initto set up directories, then./ravro_dcrptfor interactive mode
- π 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
- π¨ 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
- π 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
We provide automated installation scripts that install all required dependencies for running the GUI application.
# 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.shSupported distributions:
- Ubuntu / Debian / Linux Mint / Pop!_OS
- Fedora / RHEL / CentOS / Rocky / AlmaLinux
- Arch Linux / Manjaro
- openSUSE / SLES
# 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.shNote: The script will automatically install Homebrew if not present.
# 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
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_guimacOS (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
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
.
βββ 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
Simply double-click ravro_dcrpt_gui to launch the graphical interface.
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:
- Click "π Initialize Directories" to create
encrypt/,decrypt/, andkey/folders (first time only) - 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
.pemor.txtkey file
- (Optional) Click "π Validate Key" to verify your key
- Click "π Start Processing" to decrypt and generate PDFs
- Check the log area for detailed progress and any errors
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
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
For comprehensive build instructions including cross-compilation and troubleshooting, see BUILD.md.
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
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.shSee CHANGELOG.md for detailed release notes and version history.
GNU General Public License, version 3
Ramin Farajpour Cami
- Email: ramin.blackhat@gmail.com
- Alternate Email: farajpour@ravro.ir
