Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

VMOD Sonstige m3u Liste - Hilfestellungen

    Nobody is reading this thread right now.
Status
Für weitere Antworten geschlossen.
hatte mich wegen der bequemen Key URLs noch nicht mehr mit diesen keys beschäftigt,

aber ist es richtig, dass nach jedem Neustart von Vavoo im vavoo.log ein anderer Key ist ?
 
was ist das für ein soft !
 
den key findet man unter Win auch hier nahe beim log

........AppData/Roaming/VAVOO/userdata/addon_data/service.vavoo in settings.xml

einfach Link auf dem Desktop anlegen, kann man im Editor meist sofort aufrufen unter bisherige Dateien

======================

URL Snooper V2 suchen
 
Auch wenn Wireshark auf den ersten Blick übermächtig und mit Optionen und Einstellungen völlig überladen ausschaut ist das Auslesen des Vavoo Auths eine relativ leichte Übung, da bedarfs keiner jahrelangen Vorerfahrung.

Darum hier ein kurzes Tutorial für alle die das mal selbst probieren möchten. Achtung - große Bilder, darum gehts im Spoiler weiter.

Hoffe der eine oder andere kann mit der kurzen Anleitung etwas anfangen.

  • Wireshark hier runterladen: ( )
  • Installation mit den vorausgewählten Standardoptionen durchführen, WinPcap unbedingt mitinstallieren lassen und nicht abbrechen
  • Nach dem ersten Starten erscheint bereits die Schnittstellenauswahl:
Du musst angemeldet sein, um Bilder zu sehen.

Hier sollten in den allermeisten Fällen einer der beiden rot markierten Punkte die richtige Auswahl sein: "Ethernet" bei kabelgebundenem Internet oder "Wi-Fi" bei WLAN - Verbindung. In der kleinen Grafik rechts neben dem Schnittstellennamen sieht man übrigens noch den aktuell anfallenden Traffic, in meinem Beispiel ist eindeutig ersichtlich dass "Ethernet" die aktive Schnittstelle ist.​
  • Durch Doppelklick auf die aktive Schnittstelle ist Wireshark eigentlich schon am Laufen, im obersten des dreigeteilten Fensters sieht man danach bereits die aktuell eintreffenden Datenpakete
  • Jetzt müssen wir diese Ausgabe nur noch nach den Vavoo Auth-Keys filtern. Dazu tragen wir in die Anzeigefilter - Leiste "tcp.port == 8000 && http.request.method == "GET"" ein und bestätigen mit Enter:
Du musst angemeldet sein, um Bilder zu sehen.

Nach der Eingabe nicht wundern - alle drei Anzeigefenster von Wireshark sind jetzt vermutlich leer, da keines der bisherigen Pakete die gerade eingetragenen Filterkriterien erfüllt.​
  • Darum starten wir jetzt Vavoo, gehen ins Live-TV und starten irgendeinen Sender aus irgendeinem Länder - Bouquet. Ein paar Sekunden nachdem der Stream gestartet wurde kann man Vavoo schon wieder komplett schließen.
  • Jetzt hat sich in Wireshark wieder etwas getan und es sollten im obersten Drittel mehrere Zeilen erscheinen, diese enthalten bereits den von uns gewünschten Auth - Key:
Du musst angemeldet sein, um Bilder zu sehen.
  • Am einfachsten kommt man jetzt an den gesamten Key indem man im mittleren Teil des Fensters zuerst mit der linken Maustaste die blau unterlegte "Hypertext Transfer Protocol" - Zeile auswählt, anschließend mit der rechten Maustaste drauf klickt, dort "Kopieren" und in dem ausklappenden Menü "...as Printable Text" auswählt.
  • Dann sollte folgender Text in der Zwischenablage sein:
Code:
GET /a/guest/live/3537.ts?n=1&b=4&vavoo_auth=eyJkYXRhIjoie1widGltZVwiOjE1MzY1MDExNzAwMTgsXCJ2YWxpZFVudGlsXCI6MTUzNjUwMTc3MDAxOCxcImlwc1wiOltcIjg5LjEwNC4xOS4xNDNcIl0sXCJydWxlc2V0XCI6XCJndWVzdFwiLFwidmVyaWZpZWRcIjpmYWxzZSxcImVycm9yXCI6bnVsbCxcImFwcFwiOntcInBsYXRmb3JtXCI6XCJ3aW4zMlwiLFwidmVyc2lvblwiOlwiMS41MVwiLFwic2VyaXZjZVwiOlwiMS4yLjE4XCJ9fSIsInNpZ25hdHVyZSI6Imk2OUVQSWpjSTZIcUtHdlBkcjY1aTduYUh4eDRscHozMXloNk5NTjMvOXJDR3F5TERFWGZCMG9wTVFlbEVYaWNBZklnWFNHajhMWFVZUFNOcnR2VUs1OERaNGw4ZVNNOVBIY2Ftb09rcTIzUUhEdEI4MjhkNXBNMHowWmN2YUoxbDZlamdabWVaVTdKSWVwaDgwTkFRdDF6UEJ1cUU1aHhRM2N3MXFmdnhLaz0ifQ== HTTP/1.1[/INDENT][/INDENT]
Host: 178.132.4.81:8000
User-Agent: VAVOO/1.51 (Windows NT 10.0; WOW64) Kodi_Fork_VAVOO/1.0 App_Bitness/32 Version/1.51
Accept: */*
Accept-Charset: UTF-8,*;q=0.8
Herzlichen Glückwünsch - in der ersten Zeile zwischen "vavoo_auth=" und "HTTP/1.1" steht der von uns gesuchte Auth-Key!

 
momentan reicht es völlig, Vavoo nur zu starten und sofort wieder zu schließen,
man muss keinen Sender starten,
neuer key in settings.xml (siehe weiter oben)
notepad++ behält die zuletzt geöffneten dateien,
muss man danach einfach nur starten

an irgendeiner Stelle müssen die ja momentan noch den key speichern

leider hat hebithom ja nicht verraten, wo die xml von post #246 liegt
mit build.prop geht es momentan, war ja auch nach der Abfrage dort zu erwarten,
 
Zuletzt bearbeitet:
leider hat hebithom ja nicht verraten, wo die xml von post #246 liegt
mit build.prop geht es momentan, war ja auch nach der Abfrage dort zu erwarten,

Liegt in keiner XML sondern ist in der variables.pyo untet service.vavoo/lib/

Der Key wird nach dem was ich beim bisherigen Drüberschauen gesehen habe nirgends gespeichert sondern generiert:

Code:
{"data":"{\"time\":1536347990010,\"validUntil\":1536348590010,\"ips\":[\"89.144.213.157\"],\"ruleset\":\"guest\",\"verified\":false,\"error\":null,\"app\":{\"platform\":\"vavoo\",\"version\":\"1.51\",\"serivce\":\"1.2.18\"}}","signature":"H5lqIoQDrKdvZV36hhIlTGAoK5k3U1V501QKipEuD2Ibs38R5Ta789Vgz085MtuKOjzjOMxnVyNdN3+uEztPG44fbtDCngmcjJAfIYOl0q4yzQOkUJP/4FITG5qb+mOIjKLgrS+YGhsNnJOYKlc22bgKtNKLw/xrvOFdayPcJ30="}

Ist der Auth-Key base64 - dekodiert, die Signatur dürfte mittels der Funktion "getAuthSignature" erstellt werden, anscheinend per JSON - Abfrage. Bin jetzt grad unterwegs, aber ich kann wenn ich wieder zuhause bin die Funktion und den Fundort nachreichen.

Nachtrag:

Du musst angemeldet sein, um Bilder zu sehen.


Zu finden in service.vavoo/lib/vavoo_api.pyo
 
Zuletzt bearbeitet:
Die haben noch eine Möglichkeit die Streams zu schützen und da kommt ihr niemals drauf, weil es in keinen Log so angezeigt wird:D
 
zumal das mit gerooteten Geräten ja auch ein weiterer Hammer ist

vielleicht kann man die Abfrage ändern, so dass jedes Gerät eine Vavoo Box ist
aber der User lässt uns ja hier zappeln

natürlich können die ihre streams schützen,
aber es ist doch nur ein spass, ernsthaft braucht man deren streams nicht,
wer ist schon zehnsprachig ?

ich kann nicht einmal die pyo dekodieren (geht bestimmt irgendwie)
da hat doch jemand extrem gute Kenntnisse, aber ich komme von win 3.11

Dank an heblthom
 
Zuletzt bearbeitet von einem Moderator:
Meinst du die hier?

Code:
# Embedded file name: ./lib/variables.py
import xbmcaddon
import xbmcgui
import xbmc
ADDON_ID = 'service.vavoo'
addon = xbmcaddon.Addon(ADDON_ID)
addonPath = addon.getAddonInfo('path').decode('utf-8')
addonVersion = addon.getAddonInfo('version')
WINDOW_HOME = xbmcgui.Window(10000)
API_URL = 'https://www.vavoo.tv/api/'
PRO_URL = 'https://www.vavoo.tv/pro'
SOFTWARE_URL = 'http://www.vavoo.tv/software'

class PASSWORD:
    SALT, N, R, P, DK_LEN = ('C1k8l0jw8g8puGRauyKjcN0ofNp', 1024, 1, 1, 15)


INTERNET_CHECK_INTERVAL = (30, 90)
INTERNET_CHECK_HOSTS = [('8.8.8.8', 53), ('208.67.222.222', 53)]
LOGIN_CHECK_INTERVAL = (180, 360)
UPDATE_ASK_INTERVAL = 86400
UPDATE_DOWNLOAD_RETRY_INTERVAL = 3600
BACKEND_ERROR_SHOW_LOGSCREEN_TIME = 60
UNKNOWN_ERROR_SHOW_LOGSCREEN_TIME = 600
BUFFER_SIZE = 8192
if xbmc.getCondVisibility('system.platform.android'):
    import re
    import os
    try:
        m = re.match('^/data/app/([^-]+)-.*$', os.environ['XBMC_ANDROID_APK'])
    except KeyError:
        ANDROID_PACKAGE_NAME = 'KEYERROR'
    else:
        if m:
            ANDROID_PACKAGE_NAME = m.group(1)
        else:
            ANDROID_PACKAGE_NAME = 'UNKNOWN'
else:
    ANDROID_PACKAGE_NAME = ''

def getVavooVersion():
    return xbmc.getInfoLabel('System.BuildVersion').split('-')[0]


def getVavooBranch():
    try:
        branch = xbmc.getInfoLabel('System.BuildVersion').split('-')[1]
    except IndexError:
        branch = 'master'

    if not branch:
        branch = 'master'
    return branch


def isVavooDevice():
    if xbmc.getCondVisibility('system.platform.android'):
        try:
            with open('/system/build.prop', 'r') as f:
                content = f.read()
            if 'ro.product.brand=VAVOO' in content and 'ro.vavoo.type=b' in content:
                return True
        except Exception:
            pass

    return False


IS_SERVICE_PROCESS = False

def assertServiceProcess():
    if not IS_SERVICE_PROCESS:
        raise RuntimeError('Calling function outside the service process')


def assertNotServiceProcess():
    if IS_SERVICE_PROCESS:
        raise RuntimeError('Calling function within the service process')


def localize(id):
    return xbmc.getLocalizedString(id)


def getPlatformName():
    if isVavooDevice():
        return 'vavoo'
    elif xbmc.getCondVisibility('system.platform.android'):
        return 'android'
    elif xbmc.getCondVisibility('system.platform.linux'):
        return 'linux'
    elif xbmc.getCondVisibility('system.platform.windows'):
        return 'win32'
    elif xbmc.getCondVisibility('system.platform.osx'):
        return 'osx'
    elif xbmc.getCondVisibility('system.platform.ios'):
        return 'ios'
    elif xbmc.getCondVisibility('system.platform.atv2'):
        return 'atv2'
    else:
        return 'unknown'


def propStatus(log = None):
    import vprop
    data = {'ready': vprop.get('Ready'),
     'token': vprop.get('Token'),
     'ping_status': vprop.get('Ping_Status'),
     'ruleset': vprop.get('Ruleset')}
    if log:
        xbmc.log('STATUS: %s: %s' % (log, data), xbmc.LOGERROR)
    return data
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben