nmilcoff / BreachDetector

Detect root, emulation, debug mode and other security concerns in your Xamarin apps
MIT License
88 stars 12 forks source link

[question] what value returns InstalledFromStore() when tested in Google Play Testing or TestFlight? #8

Closed gsgou closed 4 years ago

nmilcoff commented 4 years ago

In the case of iOS, it actually depends on the certificates you are using. IsInstalledFromStore() will return false for Ad-Hoc and Development builds. TestFlight builds should return true.

In the case of Android, IsInstalledFromStore() will return true no matter if it's a public, alpha or beta build.

If you find the behavior to be any different, please let me know 🙂

gsgou commented 4 years ago

@nmilcoff looks like in TestFlight IsInstalledFromStore() returns false. In Android closed track where i could test it returns true (or null) as expected.

To be more precise i use following code snippet:

bool isRootOrJailbreak = CrossBreachDetector.Current.IsRooted() == true;
bool notFromStore = CrossBreachDetector.Current.InstalledFromStore() == false;
bool isVirtualDevice = CrossBreachDetector.Current.IsRunningOnVirtualDevice() == true;
if (isRootOrJailbreak || notFromStore || isVirtualDevice)
{
}

and both two iOS testers i have confirm the phones are not jailbroken.