Distinguishing a Virtualized Device from a Physical Device
Our customers sometimes ask about how their scripts and apps can determine if they're running on an AVH device.
In this article, we discuss a few methods depending on your device type.
Checking from an Android Device Command Line
There are at least three methods to distinguish AVH devices using the command line.
Android Method 1
You can determine the Android device manufacturer in the Android console using getprop ro.product.manufacturer
. The response will be AVH on virtualized Android devices.
Android Method 2
A second method for Android is to search the list of installed packages for the corellliumdhelper
package.
The command pm list packages | grep corellium
should return package:com.corellium.corelliumdhelper
on virtualized
devices.
Android Method 3
A third method is to search for prop files matching the appropriate model name.
Running this command:
find . -name '*.prop' 2>/dev/null -exec grep -HIn 'Corellium Generic' '{}' ';'
will include the following response in the output:
./system/product/etc/build.prop:8:ro.product.product.model=Corellium Generic
./system/system_ext/etc/build.prop:8:ro.product.system_ext.model=Corellium Generic
./vendor/vendor_dlkm/etc/build.prop:8:ro.product.vendor_dlkm.model=Corellium Generic
./vendor/odm_dlkm/etc/build.prop:8:ro.product.odm_dlkm.model=Corellium Generic
Checking an Android Device from Its Display
Follow these steps to determine visually if Corellium is virtualizing an Android device:
- Load an Android device to its home screen. We are using a Generic Android device running firmware version 12.0.0 for this example.
- Swipe up from the bottom of the screen to open the list of apps.
- Open the Settings app.
- Scroll down to the bottom of the Settings menu and the "About emulated device" section.
- Scroll down to see that the Device name is "Corellium Generic," the phone number is "+1-555-123-4567," the SIM status is "Corellium," and the Model is "Corellium Generic."