Update: Thanks to spotmark's discovery, DirecTV Now is working with root.
If your rooted FireTV can't see the DirecTV Now app, use this link: https://www.amazon.com/AT-T-Services-Inc-DIRECTV/dp/B01J62Q632 and sign in to your Amazon account. On the right side, select your rooted device and click "Deliver".
----
Original post:
I signed up today for DirecTV Now only to be greeted on my FireTV with the following error:
Hrmm.. that's weird. So I looked up Error 40, and it says there's a network problem. I tried it on my non-rooted Nexus 6P and it worked flawlessly. So I jumped in to logcat and found some interesting messages:
and
So I installed xposed and RootCloak 2 hoping it would help. I added it to the list of apps and it still had the same problem.
Next thing I did was pull the apk from my Fire TV. After some digging, I found that lib/armeabi/libdrmagent_downloadable_jni.so had some interesting strings in it, including a check for Cyanogen:
and a list of strings for paths it might check:
Why do they even care if you're rooted?? So lame...
Since they appear to be checking for root in a C/C++ .so file, is Xposed useless here?
Hide My Root Apk works. :good:
There's a write-up and link to the apk for this on aftvnews: http://www.aftvnews.com/how-to-use-directv-now-on-a-rooted-amazon-fire-tv-or-fire-tv-stick/Just installed and hid SU. I'm rooted on 5.0.5. Did you clear cache and data on Now after you installed Hide My Root?
If your rooted FireTV can't see the DirecTV Now app, use this link: https://www.amazon.com/AT-T-Services-Inc-DIRECTV/dp/B01J62Q632 and sign in to your Amazon account. On the right side, select your rooted device and click "Deliver".
----
Original post:
I signed up today for DirecTV Now only to be greeted on my FireTV with the following error:
Code:
This video failed to load. Restart the app and launch your content again. Or search for Error 40 in the Help Center. (QP1005)
Code:
I/drm_oal ( 4862): IsDeviceRooted: 0x0000000000000002
Code:
D/NewRelicGateway(14071): ERROR event was recorded. Error description = Failed preparing the player because device security check failed due to: (FileSystem)(com.quickplay.vstb.core:1005)
Next thing I did was pull the apk from my Fire TV. After some digging, I found that lib/armeabi/libdrmagent_downloadable_jni.so had some interesting strings in it, including a check for Cyanogen:
Code:
ro.build.product
ro.build.tags,release-keys,OnePlus3#%?OnePlus2#%?OnePlus#%?Z26CL#%?STUDIO_C,ro.build.type,user,#%?
ro.build.display.id,cm_,#%?,ro.build.display.id,cyanogen,#%?,ro.build.type,debug,#%?,ro.build.type,userdebug,#%?,ro.build.host,cyanogenmod,A0001#%?
Code:
/system/bin/su,#%?,/system/xbin/su,#%?,/sbin/su,#%?,/system/su,#%?,/system/bin/.ext/.su,#%?,/system/usr/we-need-root/su-backup,#%?,/system/xbin/mu,#%?
su,#%?,busybox,#%?
type %s
test -u `whence -p %s`
/data,#%?,/system,#%?,/system/bin,#%?,/system/sbin,#%?,/system/xbin,#%?,/vendor/bin,#%?,/sys,#%?,/sbin,#%?,/etc,#%?,/proc,#%?,/dev,#%?
/isdrmXXXXXX
Since they appear to be checking for root in a C/C++ .so file, is Xposed useless here?
Last edited: