3

I've been asked if I can check some faulty behavior of a device, a cheap Chinese android smartphone.

I'm not really an android expert, usually I install a few apps to help me figure out few things about the device. These apps I've reported conflicting results compared to what was displayed in the main android settings area:

  • With DiskUsage internal memory is reported as 3.9gb vs 16gb in system settings.
  • Device Info HW (suggested by @alecxs) explicitly mark as fake the reported version 9.0, pointing Android 6 as correct with API level 23. Unfortunately the app reports the same storage size of 16gb as stated in system settings.
    Following another intuition of @alecxs, inspecting the partitions tab and looking at the displayed partitions sizes, it's possible to detect yet another forged spec. The total reported partitions size is around 8gb, the userdata partition is around 4gb which is corresponding to DiskUsage report. In my previous attempt I've CPU Info.

This kinda reminds me of fake USB thumb drives scams with less memory than advertised.

So is there a way (preferably without root) to test/analyze common technical details of a device for possible tampering/spoofing?

Like

  • Storage
  • Android version
  • RAM
  • CPU
  • Something else that can be faked?

FLOSS solutions are highly appreciated! :)

UPDATES

  • Listed used apps and updated after suggestions in comments.
  • Added considerations and further analysis of partitions memory size.
7
  • Does this answer your question? Which Android runs which Linux kernel?
    – alecxs
    Nov 11, 2021 at 8:09
  • 1
    searching for modem (baseband version) sometimes reveal true model and specs. afaik baseband can't be spoofed on chinese factory mode screen (vol up + vol dn + power)
    – alecxs
    Nov 11, 2021 at 12:07
  • The app is interesting @alecxs thank you. Even if atm I don't consider a resolving answer I'd like to +1 your suggestion. Unfortunately the storage size is reported just like in the system settings.
    – Gruber
    Nov 11, 2021 at 14:04
  • The android kernel and baseband version are also valid points that should be considered.
    – Gruber
    Nov 11, 2021 at 14:26
  • That's interesting. I wonder there is a discrepancy between MEMORY and PARTITIONS tab
    – alecxs
    Nov 11, 2021 at 16:12

2 Answers 2

3

In general the more common an hardware info app is the more likely it is that the hardware faker have integrated a patch to let a system info app display wrong values.

Therefore the best way to identify fake hardware is not to use an app at all. Using a Linux command-line program e.g. executed via adb identifying fake values or values that do not match if more likely. To do so I would recommend to copy a (renamed) busybox binary via adb:

  1. rename it to something different like mybinary
  2. push it to the phone adb push <mybinary> /sdcard
  3. start adb shell
  4. copy the binary it to a path where you can execute it: cp /sdcard/<mybinary> /data/local/tmp/
  5. make it executable chmod u+x /data/local/tmp/<mybinary>

Now you are ready to use it..eg. to check the physical RAM:

/data/local/tmp/<mybinary> free
            total       used       free     shared    buffers     cached
Mem:       5727792    5528296     199496      67020       1712    2170428
-/+ buffers/cache:    3356156    2371636
Swap:      2097148    1737312     359836

In this example the total memory of the phone is 6GB minus the size used by the GPU. So we end up here with 5727792 total memory = 5.4GB max RAM

To print disk size you can use

/data/local/tmp/<mybinary> df -h /sdcard
Filesystem                Size      Used Available Use% Mounted on
/dev/fuse               109.6G     17.9G     91.5G  16% /storage/emulated

It shows the user data partition size and usage. The used phone has 128GB flash memory. The user data partition is smaller as the remaining space is occupied by the system partition(s) and other partitions.

2
  • Indeed a more thorough approach, thanks! Would something like Termux be equivalent?
    – Gruber
    Jan 2, 2022 at 1:55
  • @Gruber Using Termux is possible but I would not recommend it as fake devices are often patched to forge app display data. I don't know how Termux renders the output (and how easy/difficult it is to forge the output of certain commands) but I would stringly recommend to use the commands via adb. Then at least the displaying part on the PC side is known to be not manipulated.
    – Robert
    Jan 2, 2022 at 11:50
2

Have you tried using something like AIDA64?

Apparently the newer versions have mitigations against reporting spoofed specs.

Another thing to check against the claimed specs. is pixel/screen resolution, it shouldn't be as easily spoofable, and is often lower than claimed in these cheap unbranded Android devices which have other suspicious specs.

There are also certain device model names which are more liable to report spoofed information.

If you go here, check the device model name/number (and estimated pixel resolution), some device models which frequently have spoofed specs are "FF-5000", "P10", "PX6", "S109", "T906", "TAB910", "TS-M704A", "ZH960" and more.

Other fake devices will have model numbers which appear on the surface to look like a known brand, e.g. "S21+ Ultra", whereas a real Samsung device should report something like "SM-G9960" (most Samsung devices will have model numbers starting with a prefix such as "SM-" or "GT-", although this could also be faked).

1
  • AIDA64 and similar apps are too common. People who fake hardware even integrate "fixes" which override the data shown in such apps.
    – Robert
    Dec 30, 2021 at 12:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .