• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[App] Netflix HD for Widevine DRM L1 devices

Search This thread

landous

Senior Member
Feb 6, 2012
58
6
Any reason this is not working on a newer tablet? It's got Android 9 and it'll start the video in SD and then error out and says "Sorry, we could not reach the Netflix service. Please try again later. If the problem persists, please visit the Netflix website (0013)."
 

Ricardoz7

New member
Sep 29, 2019
1
0
Capped at 480p

Based on this, I made a script on Ubuntu to patch last version of netflix APK.

It currently works on version up to 5.12.xxx, it doesn't seem to work on more recent versions, we will have probably to wait for a new version of apktool (2.4.0 ?).

First, you need to install some packages

Code:
sudo apt-get install apktool zipalign default-jdk

Then, you have to build you own signature (to do only once)

Code:
keytool -genkeypair -alias androiddebugkey -keypass android -keystore "${HOME}/.netflix.keystore" -storepass android -keyalg RSA -sigalg SHA1withRSA -dname "CN=Android Debug,O=Android,C=US" -validity 9999

Then, download last netflix APK, for instance from apkmirror, and execute this script on downloaded file (for instance "netflixpatch com.netflix.mediaclient_4.16.1.apk" if your script is named "netflixpatch")

Code:
#!/bin/bash

NAME=$(basename "${1}" .apk)
KEYSTORE="${HOME}/.netflix.keystore"
TMPOUT=$(mktemp -d /tmp/tmpdir.netflixpatch.XXXXXXXXXX) || { echo "Failed to create temp file"; exit 1; }
FILEOLD="${TMPOUT}/smali/com/netflix/mediaclient/service/webclient/model/leafs/DeviceConfigData.smali"
FILENEW="${TMPOUT}/smali/com/netflix/mediaclient/service/configuration/DeviceConfiguration.smali"

apktool d -r -f "${1}" -o "${TMPOUT}"

if [ -f "${FILEOLD}" ];then
	echo "Patching method 1"
	sed -i 's/iget-boolean v0, p0, Lcom\/netflix\/mediaclient\/service\/webclient\/model\/leafs\/DeviceConfigData;->enableWidevineL1:Z/const\/4 v0, 0x1/g' "${FILEOLD}"
elif [ -f "${FILENEW}" ];then
	echo "Patching method 2"
	sed -i '/isWidevineL1Enabled/c\    const\/4 v0, 0x1\n    return v0' "${FILENEW}"
else
	echo "File to patch not found !"
	rm -rf "${TMPOUT}"
	exit 1
fi

# /usr/local/bin/apktool b "${TMPOUT}"
apktool b "${TMPOUT}"

jarsigner -keystore "${KEYSTORE}" -storepass android -keypass android -sigalg MD5withRSA -digestalg SHA1 -sigfile CERT -signedjar "${TMPOUT}/dist/${NAME}-patched-signed.apk" "${TMPOUT}/dist/${NAME}.apk" androiddebugkey

zipalign -f 4 "${TMPOUT}/dist/${NAME}-patched-signed.apk" "${NAME}-patched-signed-zipaligned.apk"

rm -rf "${TMPOUT}"

You'll get a "com.netflix.mediaclient_4.16.1-patched-signed-zipaligned.apk" file, which will play HD content if your device has Widevine DRM L1 libraries, even if not whitelisted by Netflix.

Running on op7 and can't seem to get higher than 480p. Any tips?
 

kapciu75

Member
Jan 22, 2016
6
1
Guys, any updates? Today I will probably receive my new tablet Telcast P20HD. Hope your patched version will give me FHD. :)
Could anybody update most updated version of Netflix patched app?
 

Gzubik

Senior Member
Dec 24, 2012
89
9
Huawei P40
Screenshot_20210731_182402_com.netflix.mediaclient.jpg

I use 5.12.13 version of Netflix HD and its works good but some movies can't load (e.g Shrek). Any fix for this?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    Based on this, I made a script on Ubuntu to patch last version of netflix APK.

    It currently works on version up to 5.12.xxx, it doesn't seem to work on more recent versions, we will have probably to wait for a new version of apktool (2.4.0 ?).

    First, you need to install some packages

    Code:
    sudo apt-get install apktool zipalign default-jdk

    Then, you have to build you own signature (to do only once)

    Code:
    keytool -genkeypair -alias androiddebugkey -keypass android -keystore "${HOME}/.netflix.keystore" -storepass android -keyalg RSA -sigalg SHA1withRSA -dname "CN=Android Debug,O=Android,C=US" -validity 9999

    Then, download last netflix APK, for instance from apkmirror, and execute this script on downloaded file (for instance "netflixpatch com.netflix.mediaclient_4.16.1.apk" if your script is named "netflixpatch")

    Code:
    #!/bin/bash
    
    NAME=$(basename "${1}" .apk)
    KEYSTORE="${HOME}/.netflix.keystore"
    TMPOUT=$(mktemp -d /tmp/tmpdir.netflixpatch.XXXXXXXXXX) || { echo "Failed to create temp file"; exit 1; }
    FILEOLD="${TMPOUT}/smali/com/netflix/mediaclient/service/webclient/model/leafs/DeviceConfigData.smali"
    FILENEW="${TMPOUT}/smali/com/netflix/mediaclient/service/configuration/DeviceConfiguration.smali"
    
    apktool d -r -f "${1}" -o "${TMPOUT}"
    
    if [ -f "${FILEOLD}" ];then
    	echo "Patching method 1"
    	sed -i 's/iget-boolean v0, p0, Lcom\/netflix\/mediaclient\/service\/webclient\/model\/leafs\/DeviceConfigData;->enableWidevineL1:Z/const\/4 v0, 0x1/g' "${FILEOLD}"
    elif [ -f "${FILENEW}" ];then
    	echo "Patching method 2"
    	sed -i '/isWidevineL1Enabled/c\    const\/4 v0, 0x1\n    return v0' "${FILENEW}"
    else
    	echo "File to patch not found !"
    	rm -rf "${TMPOUT}"
    	exit 1
    fi
    
    # /usr/local/bin/apktool b "${TMPOUT}"
    apktool b "${TMPOUT}"
    
    jarsigner -keystore "${KEYSTORE}" -storepass android -keypass android -sigalg MD5withRSA -digestalg SHA1 -sigfile CERT -signedjar "${TMPOUT}/dist/${NAME}-patched-signed.apk" "${TMPOUT}/dist/${NAME}.apk" androiddebugkey
    
    zipalign -f 4 "${TMPOUT}/dist/${NAME}-patched-signed.apk" "${NAME}-patched-signed-zipaligned.apk"
    
    rm -rf "${TMPOUT}"

    You'll get a "com.netflix.mediaclient_4.16.1-patched-signed-zipaligned.apk" file, which will play HD content if your device has Widevine DRM L1 libraries, even if not whitelisted by Netflix.
    3
    Hey people,

    today i wanted to share a post from chenxiaolong, who did some awesome work back at the Galaxy Tab S2 forum. The main problem, was that Netflix didn't want to play HD content on the Galay Tab S2, which was why I researched the requirements of Netflix. They need Widevine L1 implemented on the SoC to allow HD playback. While this is the necessary requirement, Netflix also needs to enable this device in their device list and tell the app it supports Widevine DRM L1. In many cases they don't do that although the device itself would be very capable of displaying HD content. Tried it out on my Galaxy Tab S2 and on the Nexus 5, which both support Widevine DRM L1 and aren't/weren't marked as WV L1 capable. To check DRM capability of your device you can use for example this app https://play.google.com/store/apps/details?id=com.androidfung.drminfo&hl=en
    This will not make a non WV L1 capable device run Netflix HD, it will only make the device use the most secure DRM technology!
    The whole process doesn't need root, just some tools like apktool, apk-signer and such. Feel free to link the post into your device forum you achieved to get Netflix HD on.

    Big Thanks goes out to @chenxiaolong
    Link to thread post: http://forum.xda-developers.com/showpost.php?p=65001865&postcount=12
    2
    Im sorry but with these informations I don't know exactly if and how it will work out for my galaxy s5. Can I use a app on my mobile to sign the backuped Netflix app? Or do I need to sign the apk on my PC?

    These are instructions for Linux. What I have done:
    1. download Ubuntu from Windows 10 Store
    2. open powershell as admin and type:
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    3. reboot when prompted
    4. open command line and type:
    ubuntu
    5. create user/password as prompted
    6. type:
    sudo apt-get upgrade

    Then follow the instructions from post #1. I've got my netflix apk from apkmirror: https://www.apkmirror.com/?post_type=app_release&searchtype=apk&s=netflix
    You can access the windows filesystem by /mnt/c/

    The script worked fine for me with Netflix 5.9.0 build 24858 and my Nexus 10.
    2
    I wouldn't touch that file with a 100 foot pole.

    I understand your concerns so I did a little guide here if you want to patch it yourself:

    Code:
    h t t p s :  / / g i t h u b . c o m / l o n g s e e s p a c e / n e t f l i x _ p a t c h
    1
    I've just updated the repo for patching v4.16.3

    Hey is it possible to enable subtitle settings on the videos? if so could you tell me how? here everything works, except the tap for subtitles.