Home News Reversing Playstation 4 Camera da Bigboss

Reversing Playstation 4 Camera da Bigboss

361
1

Il noto developer e Hacker Bigboss ci parla del proprio studio sulla Playstation 4 Camera condividendo con l’intera comunità tutte le proprie conoscenze in materia.

banshee

Uno studio portato avanti sin dal suo rilascio nel 2013 e con il reverse engineering dello stesso, l’apertura della Camera è servito nella ricerca di informazioni sui vari chipset.

ps4cam

La Playstation 4 Camera fa uso di un proprio connettore proprietario chiamato AUX che altri non è che un cavo USB 3.0, Bigboss ha dunque sostituito il connettore riuscendo a collegare la Camera al PC.

USBPS4

Successivamente attraverso un’applicazione di tipo Sniffer come per esempio USBlyzer (utilizzato per analizzare il traffico dati da un apparecchio USB) e un dispositivo BeagleBoard (micro-computer a bassa potenza) si è riusciti ad estrapolare tutte le informazioni necessarie per realizzare i driver.

Descrizione chip

  • OV580 Si tratta di un ASIC della Omnivision una tipica soluzione Bridge (a ponte) personalizzata per gestire tutti gli altri chip. Non ci sono ulteriori informazioni o schede. Altre aziende che lo utilizzano sono Mantis Vision e LeapMotion.
  • OV9713 Due sensori CMOS ben documentate con piena scheda disponibile in google.
  • AK5703 Un convertitore analogico digitale collegato con un array microfono. La scheda che si può trovare in rete è stata molto utile per ottenere correttamente l’audio dalla PlayStation 4 Camera.
  • 4g51A Un chip EEPROM contenente la configurazione iniziale della PlayStation 4 Camera.

Quando si va a collegare la Camera all’ingresso USB 3.0, il dispositivo entrerà in una sorta di modalità di avvio in attesa per il caricamento del firmware. Analizzando i dati ottenuti attraverso l’applicazione USBlyzer l’hacker è riuscito ad estrapolare tale firmware arrivando così a scoprire le diverse modalità di streaming.

Modalità 0 fps 60 (default), 30, 15, 8 video di sinistra e il video a destra fotogrammi 1280×800.
Modalità 1 fps a 120 (default), 60, 30, 15, 8 video di sinistra e il video a destra cornici 640×400.
Modalità 2 fps 240 (default), 120, 60, 30 video di sinistra e il video a destra cornici 320×192.

OV580 sta fornendo in ogni modalità.

  • mode 0 3448x2x808 bytes inquadra ogni riga con:
    • header 32 bytes
    • audio 64 bytes
    • video left 1280×2 bytes
    • video right 1280×2 bytes
    • video interleave 840×2 bytes
  • mode 1 1748x2x408 bytes inquadra ogni riga con:
    • header 32 bytes
    • audio 64 bytes
    • video left 640×2 bytes
    • video right 640×2 bytes
    • video interleave 420×2 bytes
  • mode 2 898x2x200 bytes inquadrare ogni riga con:
    • header 32 bytes
    • audio 64 bytes
    • video left 320×2 bytes
    • video right 320×2 bytes
    • video interleave 210×2 bytes

Parte degli header vengono mostrati nella schermata successiva:

header

Parte dell’audio viene mostrato nella schermata successiva.

audio

Il file Audio ha 4 canali, Bigboss ha fatto uso dello strumento Audicity per il caricamento di un file audio catturato della durata di 10 secondi e riproducendolo con successo nei 4 canali audio, di seguito una schermata dello strumento audicity:

audacity

Il video a sinistra e destra possono essere convertiti in RGB con la conversione CV_YUV2RGB_YUY2:

  • cv :: Mat YUV (size_y, size_x, CV_8UC2, in);
  • cv :: Mat rgb (size_y, size_x, CV_8UC3, out);
  • cv :: cvtColor (YUV, rgb, CV_YUV2RGB_YUY2);

Video interleave è anche lo stesso formato video ma sta facendo un mix dei due sensori.

Un esempio applicativo realizzato usando dei driver di base per la PS4EYECam mostra una modalità a 640×400 da due telecamere PlayStation allo stesso tempo:

EyeLab

Tutta le funzioni di basso livello sono state implementate e sono disponibili nella repository di Bigboss. EyeLab è un POC di un’applicazione multi fotocamera che utilizza il driver PS4EYECam ma non si trova nella repository.

PlayStation 4 Camera ora ha una piena documentazione e può essere supportato su tutte le altre piattaforme.

Collegamento: Repository Bigboss

1 commento

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.