Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RF Password Recovery Tool

Tool per il recupero della password di file video .rf cifrati prodotti dai DVR Raysharp.

Contesto

I DVR Raysharp utilizzano il software di gestione VMS Pro per l'esportazione dei video. Quando un utente esporta un video dal sistema e imposta una password, il file .rf viene automaticamente cifrato con:

  • Algoritmo: AES-256-CBC
  • Derivazione chiave: PBKDF2-HMAC-SHA256 (9999 iterazioni)
  • Player: VideoPlayer (fornito da Raysharp)

Le 9999 iterazioni PBKDF2 sono obbligatorie per ogni tentativo di decifrazione e rappresentano il collo di bottiglia delle performance.

Questo tool permette di recuperare la password dimenticata sfruttando direttamente la libreria RSPlay.dll del produttore.

Caratteristiche

  • Modalità CLI per automazione e scripting
  • Modalità GUI con finestre di selezione file
  • Attacco a 3 fasi: wordlist → PIN 4 cifre → PIN 6 cifre
  • Shellcode custom per chiamate thiscall alla DLL
  • Velocità ottimizzata (~1.2 tentativi/secondo, limitata da PBKDF2)

Download e Compilazione

Requisiti

  • Windows 10/11 (32/64 bit)
  • Go 1.26 o superiore

⚠️ Windows Only

Questo tool funziona esclusivamente su Windows perché dipende da RSPlay.dll, una libreria nativa Windows fornita con il software VideoPlayer di Raysharp. Non esistono versioni Linux/macOS di questa dipendenza.

Download Binario

# Scarica il binario pre-compilato
bin/windows/rfcrack.exe

Compilazione da Sorgente

# Imposta architettura x86 (obbligatorio per compatibilità DLL)
set GOARCH=386
set CGO_ENABLED=0

# Compila
go build -o rfcrack.exe rfcrack.go

ℹ️ Nota: La compilazione deve essere x86 (32-bit) perché RSPlay.dll è una DLL a 32 bit.

Utilizzo

Modalità CLI

# Uso base
rfcrack.exe video.rf passwords.txt

# Con wordlist DVR comuni
rfcrack.exe video.rf dvr_passwords.txt

# Help
rfcrack.exe --help

Modalità GUI

# Avvia interfaccia grafica
rfcrack.exe

La GUI aprirà due finestre di dialogo per selezionare:

  1. File video .rf cifrato
  2. File wordlist password

Formato Wordlist

Il file delle password deve contenere una password per riga:

admin
123456
password
0000
example123

Strategia di Attacco

Il tool esegue automaticamente 3 fasi di attacco:

  1. Fase 1 - Wordlist: Prova tutte le password dal file fornito
  2. Fase 2 - PIN 4 cifre: 00009999 (10.000 combinazioni)
  3. Fase 3 - PIN 6 cifre: 000000999999 (1.000.000 combinazioni)

Performance tipiche

  • Wordlist: ~1.2 tentativi/secondo (0.8s per tentativo)
  • PIN 4 cifre: ~2.2 ore (10.000 tentativi × 0.8s)
  • PIN 6 cifre: ~9.3 giorni (1.000.000 tentativi × 0.8s)

ℹ️ Nota importante: Ogni tentativo richiede 9999 iterazioni PBKDF2 per la derivazione della chiave AES. Questo è un limite tecnico imposto dall'algoritmo di cifratura di Raysharp e non dipende dall'ottimizzazione del codice Go.

Come Funziona

1. Caricamento DLL

Il tool carica RSPlay.dll dalla stessa directory dell'eseguibile:

./RSPlay.dll  (inclusa nel progetto)

Non è più richiesta l'installazione di VideoPlayer.

2. Shellcode Thiscall Bridge

La funzione OpenPlayFile della DLL usa la calling convention thiscall (C++). Il tool include shellcode x86 per convertire da stdcall a thiscall:

push ebp
mov  ebp, esp
mov  ecx, [ebp+8]      ; this = handle
mov  eax, [ecx]         ; eax = vtable  
push [ebp+0x10]         ; push password
push [ebp+0x0C]         ; push filename
call [eax+0x68]         ; call vtable[26] = OpenPlayFile
pop  ebp
ret  0x0C               ; stdcall cleanup

3. Oracle Attack

Il tool usa la DLL come "oracolo":

  • Return 0: Password corretta ✅
  • Return -7: Password errata ❌

Non reimplementa la crittografia, sfrotta direttamente la logica del produttore.

File di Esempio

È incluso dvr_passwords.txt con le 50 password più comuni usate nei sistemi DVR:

  • Password di default factory
  • Combinazioni numeriche (0000, 1234, etc.)
  • Password basate su anni (2024, 2025, 2026)
  • Termini comuni (admin, password, etc.)

Troubleshooting

Errore: "Impossibile caricare RSPlay.dll"

Causa: RSPlay.dll non è presente nella stessa directory di rfcrack.exe. Soluzione: Assicurati che RSPlay.dll sia nella stessa cartella dell'eseguibile.

Errore: "VirtualAlloc fallito"

Causa: Permessi insufficienti. Soluzione: Eseguire come amministratore.

Performance lente

Causa: Antivirus blocca l'accesso alla DLL. Soluzione: Aggiungere eccezione per rfcrack.exe.

Limitazioni

  • Funziona solo su Windows (richiede DLL Windows)
  • Non estrae la chiave AES (solo recupero password)
  • Non converte i video (solo password recovery)

Sicurezza e Disclaimer

Questo tool è destinato a:

  • Recuperare password dimenticate di propri file
  • Test di sicurezza su propri sistemi DVR
  • Ricerca forense con autorizzazione

Non utilizzarlo su file di terzi senza autorizzazione esplicita.

Licenza

MIT License - vedere file LICENSE per dettagli.

Technical Details

  • Linguaggio: Go (x86)
  • Dipendenze: Solo librerie standard Windows
  • Shellcode: 23 byte per bridge thiscall
  • Memoria: VirtualAlloc con PAGE_EXECUTE_READWRITE
  • Thread: runtime.LockOSThread() per compatibilità DLL

About

Tool Windows per cracking password di file video DVR Swann / Raysharp (.rf) con attacco brute-force su RSPlay.dll

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages