nohajc / netflix-mitm-proxy

A tool for analyzing Netflix MSL API
MIT License
70 stars 18 forks source link

decoding issue #7

Closed codegirl99 closed 2 years ago

codegirl99 commented 3 years ago

hi,

I get this error , am i missing anything?

site-packages/mitmproxy/net/http/encoding.py", line 76, in decode raise ValueError("{} when decoding {} with {}: {}".format( ValueError: LookupError when decoding b'\xd9\xd9 with 'msl_v1': LookupError('unknown encoding: msl_v1')

Here is the version i have Mitmproxy: 6.0.2 Python: 3.9.5 OpenSSL: OpenSSL 1.1.1i 8 Dec 2020 Platform: macOS-11.4-x86_64-i386-64bit

nohajc commented 3 years ago

I haven't tried to reproduce this yet but I also haven't used the tool for some time.

There have been at least two variants of the Netflix MSL protocol. One is encoded with JSON, the other uses a binary format called CBOR. At the time I wrote the tool, Web browsers used the JSON based variant while Android app already had CBOR implemented.

From the error message, it looks like they might have switched to CBOR in browser too while netflix-mitm-proxy can only handle JSON.

Can you try with a different browser if it exhibits the same problem? I never tested on macOS but I suppose the OS shouldn't make a difference.

codegirl99 commented 3 years ago

ok so, i should have clarified. The error i am seeing is on the ios(I didn't disable certificate pinning).

If you think, its too much to troubleshoot, its alright. Looking more at this, this seems like an exception coming from mitmproxy not able to handle the msl_v1

nohajc commented 3 years ago

Ok, if you mean the iOS Netflix app, that was never supported. I experimented with Android for a while but I lost interest in the end...

hbcohen2002 commented 3 years ago

Been using to script and it works great on Chrome, but I'm seeing similar errors on Android. So to clarify, both iOS and Android Apps use CBOR instead of JSON and will not work?? :(

nohajc commented 2 years ago

That is the case, last time I checked. Android does a lot of things differently. It's not just a different format. I honestly stopped trying to keep up...