Schritt 5: Wie wir es getan haben: Hacking Audio
Immer video war nicht allzu schwer. Hoffentlich würde Audio rechts so einfach sein? Nach ein paar Stunden der Google-Suche sah es aus wie niemand sonst jemals gelungen, erfolgreich herausziehen und den Audio-Stream von einer IP-Kamera zu entschlüsseln. Wir waren auf unseren eigenen.
Gehen wir zurück zu unserem audiostream.cgi
Url, die wir über Wireshark gefunden, wir nahmen ein paar Bytes von Audio mit Ubuntu:
wget http://192.168.1.252:81/audiostream.cgi?user=admi...
Schlagen Sie dann Strg + C den Stream abzuschneiden. Rohen audio in der hand, marschierten wir über Audacity versucht zu spielen, die es über Datei -> Import -> Raw-Daten. Die meisten Versuche Klang wie Lärm, aber wir fanden, dass mit der VOX ADPCM encoding bei 8kHz etwas erkennbar produziert!
Außerdem gab es noch die Frage der Beseitigung dieses seltsamen Musters von Klicks. Ich dachte, es hatte etwas mit den Paketen zu tun als mit den video-Stream mussten wir einige Header am Anfang und Ende zu entfernen. Vielleicht war das gleiche mit Audio wahr?
Wir jedes Paket ein wenig genauer angeschaut und bemerkt, dass die Daten mit der gleichen 0x55aa15a8... begonnen, Byte, plus ein Wert, der sah für jedes Paket und einen langen Strom von Nullen, für eine Gesamtmenge von 32 Bytes nach oben gezählt werden. Vermutlich, Audacity nahm diese Paket-Header als audio-Daten und versucht, sie zu entschlüsseln, das ist, was der böse klickende Geräusche gemacht.
Ein paar experimentelle Python Skripte später, wir die Header und durchlaufen der ADPCM-Decoder in Audacity - die meisten Klicks wurden entfernt! Aber es ein paar gab übrig, speziell während der lauter Teile des Audios.
So wir lesen in die Funktionsweise ADPCM - anscheinend es kodiert Audio über den Unterschied zwischen Proben und speichert audio Vorzustand, sodass es fügen Sie die beiden und eine neue Probe produzieren kann. Nach ein paar weitere Python-Skripten, konnten wir die Pakete direkt zu erfassen und setzen Sie diesen Zustand zu Beginn der einzelnen Pakete. Klicks wurden komplett entfernt, und nichts anderes als Kamera Audio blieb. Erfolg!