[APP|FOSS] GSF, Widevine L1/2/3, Treble & A/B device infos (+all IDs/Specs)

Search This thread

oF2pks

Senior Member
May 22, 2016
819
1,116
Re-branded KalturaDeviceInfo to provides GSF id (needed for Google uncertified devices) and checks about Widevine, Treble, a/b & media decoders (and all others possible device system definitions).
Code:
uses-permission android:name=
android.permission.WRITE_EXTERNAL_STORAGE android:maxSdkVersion="22"
android.permission.READ_EXTERNAL_STORAGE
android.permission.CAMERA
com.google.android.providers.gsf.permission.READ_GSERVICES
This app is a basic json example, it shows how much any app, can silently retrieve devices characteristics, but also simply provides :
  • testing any device sample, without Dev./Options unlocked, before purchasing (live or via email request to the seller)
  • add-on for static passive reporting in AOSP roms (conversely to active stats)
  • Treble advanced reviewing specifics
  • all-in-one floss without internet leak

(*.json can be easily browsed/parsed with FirefoxPC)

code https://bitbucket.org/oF2pks/kaltura-device-info-android/src
prim-origin https://github.com/kaltura/kaltura-device-info-android
If you want some added, let me know, but due to privacy, I won't add any requiring <INTERNET> or <READ_PHONE_STATE> (or <READ_LOGS>)
° New Version: detection getprop for Treble & A/B seamless update + designation Soc & Kernel version
° JSON report doesn't include any {action}->privateIDs ; feel free to Post everywhere
° ... SharedLibs, Features, SecurityProviders, /proc/meminfo, GLESversion +...

° Services & init_svc & {action}-> getprop
° New Treble checks (ro.vndk.version) & ScreenMetrics
° improve gps.conf & treble + matrix
°/vendor detection, mounts, camera & cameraAPi2... (and Matrix_bug)
° CameraAPi2 global specs
° Display HDR modes
° etc/gps.conf miss in "private" dialog-box
° microG spec(s) detection
° multi screens support
° all sensors with mA consumption
° Binder Current Protocol Version
° api29 updates
° /vendor Sepolicy
° xml easy webView
° FingerprintedPartitions
° webView engine(s) detection via active button
° ultra lightweight ~350kb
° packagesInfos & permissionsInfos
° ro.build.system_root_image,
° android10 mediaCodec soft/hard + vendor indication.
NEW RELEASE RC21: android 11 (R/30) + Export: clipboard/share/save, camera colorFilter + fix logicalCam, Treble ld.config [Vendor], packagesInfos: foreground service + overlays

nota: works on JellyBean and up ; with Oreo, Android_id is discontinued, and Serial_id deprecated due to <read_phone_state> permission.

Screenshot1.png Screenshot_2.png Screenshot3.png Screenshot4.png Screenshot_5.png Screenshot_6.png
ScreenshotJSON.png fdroid.png
 

Attachments

  • xdadeviceinfoRC22-debug.apk
    338 KB · Views: 416
Last edited:

oF2pks

Senior Member
May 22, 2016
819
1,116
Can you explain what the purpose of this is? What we would use this for?
Hi, thanks for your interest, I'm huge xda{news} fan (everyday congrats), and was referring to
-GSFid https://www.xda-developers.com/how-to-fix-device-not-certified-by-google-error/ , this app throws a json on screen with finger touch copy/select/share; so users can copy it, also if Firefox is installed ( Fennec or Klar), on Lollipop and up, the share button to Firefox will straight open Google re-certification page (1st link in json).
-Widevine real level : https://www.xda-developers.com/xiaomi-poco-f1-widevine-l1-netflix-hd/ (and others Oneplus5...) thanks to Kaltura prim-origin, the app tests all possible drm inclusions.
-cpu soc64 without arm64 support: (thx to @mattwhite7102) some low cost oem provide devices with arm64 cpu without arch64 support https://xdaforums.com/showpost.php?p=77789093&postcount=859
EDIT v2
-Treble detection https://www.xda-developers.com/project-treble-android-oreo/
-A/B seamless update https://www.xda-developers.com/how-to-check-android-device-supports-seamless-updates/


I will do my best to get this app auto-built by F-Droid, thus before buying a low cost device (example Treble project), buyers can ask sellers to process it, and send them this json by email. ( ? same for each new xda forum's device heading ?).

Finally, every (closed source) app with <internet> permission can leak this data to the net: it just visualizes this.
In that same purpose I'm also on releasing an upgrade of ApplicationsInfo with multiple additions, and without <internet> or other "excessive" permission : https://bitbucket.org/oF2pks/android-applications-info/downloads/ . (but untested on new Pie Update Inactive Apps screen to show buckets )
 
Last edited:

TiTiB

Senior Member
Jun 19, 2015
926
743
Earth, for now
Matrix ckick causes freeze

@oF2pks thanks for this! I'm no beginner when it comes to Android modding and such (check my sig) but the amount of info your app provides is overwhelming. More stuff for me to learn

PROBLEM: When I click on "Matrix" the app freezes, then I get the error "Kaltura Device Info is not responding".

MatLog output attchd

BTW, I learned about this because of link at
https://xdaforums.com/project-trebl...arm64aosp-9-0-0r21-microg-ufofficial-t3878115
 

Attachments

  • KALTURA-MATRIXclick-logs-2018-12-12-17-14-46.zip
    103 KB · Views: 174
Last edited:
  • Like
Reactions: oF2pks

ale5000

Senior Member
Dec 24, 2013
1,291
1,164
i9100
@oF2pks

Hi,
thanks for the app but why on bitbucket the last release date is 2019-10-25 but on F-Droid the last release date is 2018-12-31?
 

ildar_prophet

Senior Member
Apr 20, 2011
304
46
johan-notes.blogspot.com
@ale5000 , F-Droid packaging is usually out of scope of original developer(s). You should ask at https://gitlab.com/fdroid/fdroiddata/issues/

---------- Post added at 11:18 AM ---------- Previous post was at 10:54 AM ----------

Very nice app. Useful to gather inventory info from Android devices (similar to my Android port of system-report).

I just wonder why important data didn't make it into the resulting JSON? (namely `df`, `meminfo` etc.)
If the reason is privacy then a separate file could be created with `private` word in the filename...
 
  • Like
Reactions: oF2pks

oF2pks

Senior Member
May 22, 2016
819
1,116
@ale5000 , F-Droid packaging is ...

I just wonder why important data didn't make it into the resulting JSON? (namely `df`, `meminfo` etc.)
If the reason is privacy then a separate file could be created with `private` word in the filename...
I use 3 different packaging:
... xda for "pre-stage" debug flavor and bitbucket for debug testing "on-the-fly". F-Droid signed release is up, and should be uploaded at next [checkupdates]: https://f-droid.org/wiki/index.php?...m=&hidebots=0&hideanons=1&hideliu=1&limit=500 (~2/3 days).
Android10 finalized RC8 should be on F-Droid next checkupdates|build|deploy, unfortunately I couldn't find any Pixel4 user for testing latest Q modern changes like getPhysicalCameraIds or getKeysNeedingPermission. (but thanks to @seh6183 for multi-screen testing on LG G8X ThinQ).

The primary goal of this DeviceInfo app is to help purchasing devices by asking seller to send json to buyer (or run it directly in shops for powered-on devices when connected to wifi... or via bluetooth), and to provide straight full anonymous reports for rom developers (especially for project Treble); without any misses concerning deep defined characteristics (exception to Bluetooth version identification which even doesn't really exist in android (?)).
I use the alt button for private (or wip functionalities) or interactive dynamics data that could change in the lifetime of the device. Sometimes these also failed on alternative roms custom implementation.

(EDIT x10 thanks to @hackintosh5 for Binder arm protocol detection implementation https://github.com/penn5/TrebleCheck/tree/master/app/src/main/cpp)
 
Last edited:
  • Like
Reactions: SnowFuhrer

hackintosh5

Senior Member
Sep 15, 2017
1,246
957
Using my code, your code must be GPLv3. I can't find the source code, please can you link it.
 

oF2pks

Senior Member
May 22, 2016
819
1,116
Using my code, your code must be GPLv3. I can't find the source code, please can you link it.
All F-Droid apps have public code linked in their own description
https://f-droid.org/en/packages/com.oF2pks.kalturadeviceinfos/
KalturaDeviceInfo use Unlicense, but all your code(s) have your original GPLv3 headings : https://bitbucket.org/oF2pks/kaltura-device-info-android/src/master/app/src/main/cpp/
 

oF2pks

Senior Member
May 22, 2016
819
1,116
New rc9 with webView detection via active button

Force crash on Android 10.
Was lucky to test a Pixel4 and indeed 1.3.1-7 & 1.3.1-8 crash , but 1.3.1-6 ok; unfortunately I was not able to get an adb log. @cqibhfkx , can you push a logcat of the crash sequence (if any ?) on latest uploaded RC9 debug post#1 ?

Sorry but doesn't gpl part spoil the whole project to gpl? Need to check the GPL text
The headings in sources are normally sufficient ("fair goal") to identify distinct licenses & author from the global one. Check example : https://github.com/linkedin/qark/blob/master/LICENSE ; I will add missing LICENSE.md in sub projects :
- gplv3 for BinderProtocol ( @hackintosh5 )
- Apache2.0 for xml decryption (webView providers extraction) ( https://github.com/MajeurAndroid/An...ter/app/src/main/java/com/majeur/xmlapkparser)
Original app came without any license : https://github.com/kaltura/kaltura-device-info-android , that is why I choose "fair" Unlicense
I just wonder why important data didn't make it into the resulting JSON? (namely `df`, `meminfo` etc.)
If the reason is privacy then a separate file could be created with `private` word in the filename...
All these can be copied to clipboard via longPress + selection and paste anywhere.

Will also change app/Launcher name KalturaDeviceInfo to kDI (related to ˈkadē: caddy, help purchasing devices by asking seller to send json to buyer, or run it directly in shops for powered-on devices when connected to wifi... or via bluetooth... )
 
Last edited:

hackintosh5

Senior Member
Sep 15, 2017
1,246
957
The headings in sources are normally sufficient ("fair goal") to identify distinct licenses & author from the global one. Check example : https://github.com/linkedin/qark/blob/master/LICENSE ; I will add missing LICENSE.md in sub projects :
- gplv3 for BinderProtocol ( @hackintosh5 )
- Apache2.0 for xml decryption (webView providers extraction) ( https://github.com/MajeurAndroid/An...er/app/src/main/java/com/majeur/xmlapkparser)
Original app came without any license : https://github.com/kaltura/kaltura-device-info-android , that is why I choose "fair" Unlicense
All these can be copied to clipboard via longPress + selection and paste anywhere.
It's not enough. You're violating GPL by statically linking it. Read the licenses
 

oF2pks

Senior Member
May 22, 2016
819
1,116
So, what else should I do; I already added:
-gpl license to re-distributed [cpp] from your repo: https://bitbucket.org/oF2pks/kaltur...d1a3b7cd0d8f6d4a7fac/app/src/main/cpp/LICENSE
- boarded reference to your work (check attached screenshot/end) : https://bitbucket.org/oF2pks/kaltur.../app/src/main/res/values/strings.xml#lines-31

with, of course, your original headers in the code:
- https://bitbucket.org/oF2pks/kaltur...fac/app/src/main/cpp/BinderDetector.h#lines-7
- https://bitbucket.org/oF2pks/kaltur...c/app/src/main/cpp/BinderDetector.cpp#lines-7

There are 17 chapters in gpl license (Version 3, 29 June 2007), which one should I read carefully ? (https://www.gnu.org/licenses/license-list.html#Unlicense)
 

Attachments

  • penn5GPL.png
    penn5GPL.png
    221.9 KB · Views: 212
Last edited:

hackintosh5

Senior Member
Sep 15, 2017
1,246
957

oF2pks

Senior Member
May 22, 2016
819
1,116
Thanks for the link.
Did you read carefully the 2nd answer pounded 7 (just after 1st answer pounded 33, as today...): the third section of 2nd answer clearly disambiguates when licenses are GNU-compatible by liking to the same GNU reference ( that I did put in my previous post) ; check header there: GPLv3 is compatible with many licenses including [Unlicense] (and [Apache2.0]).
Code:
[URL="https://www.gnu.org/licenses/license-list.html#Unlicense"]Both public domain works and the lax license provided by the [U]Unlicense[/U] are [B][I]compatible[/I][/B] with the [U]GNU GPL[/U].[/URL]

As you link in your code to GPLv3, GNU/Licenses starts expressly with :
Code:
[URL="https://www.gnu.org/licenses/licenses.html"]To make it free software, you need to release it under a free software license. 
We normally use the GNU General Public License (GNU GPL), specifying version 3 or any later version,
[B] but occasionally we use other free software licenses.[U] We use only licenses that are compatible with the GNU GPL for GNU software[/U][/B].[/URL]

Please, let me know if you have a different approach of GNU GPL license (Version 3, 29 June 2007) compatibility.
 
Last edited:

oF2pks

Senior Member
May 22, 2016
819
1,116
New Release (v2.0-20) lightweight ~350kb

The primary goal of this DeviceInfo app is to help purchasing devices by asking seller to send json to buyer (or run it directly in shops for powered-on devices when connected to wifi... or via bluetooth), and to provide straight full anonymous reports for rom developers (especially for project Treble); without any misses concerning deep defined characteristics (exception to Bluetooth version identification which even doesn't really exist in android (?)).
In that purpose, kDI is now ultra lightweight (~350kb) to help fast download (or Bluetooth transfer) in shops.

Also embedded are permissionsInfos (Chairlock) and applicationsInfos. Both of them will individually switch to heavyweight AppCompat/androidX/androidTV upgrade (+2.5Mb), but I will maintain lightweight library flavored editions in kDI: https://bitbucket.org/oF2pks/kaltura-device-info-android/commits/
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Re-branded KalturaDeviceInfo to provides GSF id (needed for Google uncertified devices) and checks about Widevine, Treble, a/b & media decoders (and all others possible device system definitions).
    Code:
    uses-permission android:name=
    android.permission.WRITE_EXTERNAL_STORAGE android:maxSdkVersion="22"
    android.permission.READ_EXTERNAL_STORAGE
    android.permission.CAMERA
    com.google.android.providers.gsf.permission.READ_GSERVICES
    This app is a basic json example, it shows how much any app, can silently retrieve devices characteristics, but also simply provides :
    • testing any device sample, without Dev./Options unlocked, before purchasing (live or via email request to the seller)
    • add-on for static passive reporting in AOSP roms (conversely to active stats)
    • Treble advanced reviewing specifics
    • all-in-one floss without internet leak

    (*.json can be easily browsed/parsed with FirefoxPC)

    code https://bitbucket.org/oF2pks/kaltura-device-info-android/src
    prim-origin https://github.com/kaltura/kaltura-device-info-android
    If you want some added, let me know, but due to privacy, I won't add any requiring <INTERNET> or <READ_PHONE_STATE> (or <READ_LOGS>)
    ° New Version: detection getprop for Treble & A/B seamless update + designation Soc & Kernel version
    ° JSON report doesn't include any {action}->privateIDs ; feel free to Post everywhere
    ° ... SharedLibs, Features, SecurityProviders, /proc/meminfo, GLESversion +...

    ° Services & init_svc & {action}-> getprop
    ° New Treble checks (ro.vndk.version) & ScreenMetrics
    ° improve gps.conf & treble + matrix
    °/vendor detection, mounts, camera & cameraAPi2... (and Matrix_bug)
    ° CameraAPi2 global specs
    ° Display HDR modes
    ° etc/gps.conf miss in "private" dialog-box
    ° microG spec(s) detection
    ° multi screens support
    ° all sensors with mA consumption
    ° Binder Current Protocol Version
    ° api29 updates
    ° /vendor Sepolicy
    ° xml easy webView
    ° FingerprintedPartitions
    ° webView engine(s) detection via active button
    ° ultra lightweight ~350kb
    ° packagesInfos & permissionsInfos
    ° ro.build.system_root_image,
    ° android10 mediaCodec soft/hard + vendor indication.
    NEW RELEASE RC21: android 11 (R/30) + Export: clipboard/share/save, camera colorFilter + fix logicalCam, Treble ld.config [Vendor], packagesInfos: foreground service + overlays

    nota: works on JellyBean and up ; with Oreo, Android_id is discontinued, and Serial_id deprecated due to <read_phone_state> permission.

    Screenshot1.png Screenshot_2.png Screenshot3.png Screenshot4.png Screenshot_5.png Screenshot_6.png
    ScreenshotJSON.png fdroid.png
    1
    Can you explain what the purpose of this is? What we would use this for?
    1
    Matrix ckick causes freeze

    @oF2pks thanks for this! I'm no beginner when it comes to Android modding and such (check my sig) but the amount of info your app provides is overwhelming. More stuff for me to learn

    PROBLEM: When I click on "Matrix" the app freezes, then I get the error "Kaltura Device Info is not responding".

    MatLog output attchd

    BTW, I learned about this because of link at
    https://xdaforums.com/project-trebl...arm64aosp-9-0-0r21-microg-ufofficial-t3878115
    1
    @ale5000 , F-Droid packaging is usually out of scope of original developer(s). You should ask at https://gitlab.com/fdroid/fdroiddata/issues/

    ---------- Post added at 11:18 AM ---------- Previous post was at 10:54 AM ----------

    Very nice app. Useful to gather inventory info from Android devices (similar to my Android port of system-report).

    I just wonder why important data didn't make it into the resulting JSON? (namely `df`, `meminfo` etc.)
    If the reason is privacy then a separate file could be created with `private` word in the filename...
    1
    @ale5000 , F-Droid packaging is ...

    I just wonder why important data didn't make it into the resulting JSON? (namely `df`, `meminfo` etc.)
    If the reason is privacy then a separate file could be created with `private` word in the filename...
    I use 3 different packaging:
    ... xda for "pre-stage" debug flavor and bitbucket for debug testing "on-the-fly". F-Droid signed release is up, and should be uploaded at next [checkupdates]: https://f-droid.org/wiki/index.php?...m=&hidebots=0&hideanons=1&hideliu=1&limit=500 (~2/3 days).
    Android10 finalized RC8 should be on F-Droid next checkupdates|build|deploy, unfortunately I couldn't find any Pixel4 user for testing latest Q modern changes like getPhysicalCameraIds or getKeysNeedingPermission. (but thanks to @seh6183 for multi-screen testing on LG G8X ThinQ).

    The primary goal of this DeviceInfo app is to help purchasing devices by asking seller to send json to buyer (or run it directly in shops for powered-on devices when connected to wifi... or via bluetooth), and to provide straight full anonymous reports for rom developers (especially for project Treble); without any misses concerning deep defined characteristics (exception to Bluetooth version identification which even doesn't really exist in android (?)).
    I use the alt button for private (or wip functionalities) or interactive dynamics data that could change in the lifetime of the device. Sometimes these also failed on alternative roms custom implementation.

    (EDIT x10 thanks to @hackintosh5 for Binder arm protocol detection implementation https://github.com/penn5/TrebleCheck/tree/master/app/src/main/cpp)