Skip to content

Commit

Permalink
Revert "PIHooks: Only set certified fingerprint"
Browse files Browse the repository at this point in the history
This reverts commit 7dccffe.

Change-Id: I2f95283c76a9d0d8a596e6c17f46a96fd168d824
  • Loading branch information
whyredfire committed Aug 13, 2023
1 parent 7c9ea37 commit 0a7700d
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 8 deletions.
18 changes: 13 additions & 5 deletions core/java/com/android/internal/util/PropImitationHooks.java
Expand Up @@ -42,8 +42,8 @@ public class PropImitationHooks {
private static final String TAG = "PropImitationHooks";
private static final boolean DEBUG = false;

private static final String sCertifiedFp =
Resources.getSystem().getString(R.string.config_certifiedFingerprint);
private static final String[] sCertifiedProps =
Resources.getSystem().getStringArray(R.array.config_certifiedBuildProperties);

private static final String sStockFp =
Resources.getSystem().getString(R.string.config_stockFingerprint);
Expand Down Expand Up @@ -148,7 +148,7 @@ public static void setProps(Context context) {
* Set custom model for Netflix
*/
if (sIsGms) {
setCertifiedFpForGms();
setCertifiedPropsForGms();
} else if (!sStockFp.isEmpty() && packageName.equals(PACKAGE_ARCORE)) {
dlog("Setting stock fingerprint for: " + packageName);
setPropValue("FINGERPRINT", sStockFp);
Expand Down Expand Up @@ -185,7 +185,12 @@ private static void setPropValue(String key, Object value) {
}
}

private static void setCertifiedFpForGms() {
private static void setCertifiedPropsForGms() {
if (sCertifiedProps.length != 4) {
Log.e(TAG, "Insufficient array size for certified props: "
+ sCertifiedProps.length + ", required 4");
return;
}
final boolean was = isGmsAddAccountActivityOnTop();
final TaskStackListener taskStackListener = new TaskStackListener() {
@Override
Expand All @@ -200,7 +205,10 @@ public void onTaskStackChanged() {
};
if (!was) {
dlog("Spoofing build for GMS");
setPropValue("FINGERPRINT", sCertifiedFp);
setPropValue("DEVICE", sCertifiedProps[0]);
setPropValue("PRODUCT", sCertifiedProps[1]);
setPropValue("MODEL", sCertifiedProps[2]);
setPropValue("FINGERPRINT", sCertifiedProps[3]);
} else {
dlog("Skip spoofing build for GMS, because GmsAddAccountActivityOnTop");
}
Expand Down
11 changes: 9 additions & 2 deletions core/res/res/values/custom_config.xml
Expand Up @@ -48,8 +48,15 @@
<string-array name="config_vendorPlatformSignatures">
</string-array>

<!-- Fingerprint from a certified device against current platform SPL level -->
<string name="config_certifiedFingerprint" translatable="false"></string>
<!-- Build properties from a GMS certified device against current platform SPL level -->
<string-array name="config_certifiedBuildProperties" translatable="false">
<!--
<item>Build.DEVICE</item>
<item>Build.PRODUCT</item>
<item>Build.MODEL</item>
<item>Build.FINGERPRINT</item>
-->
</string-array>

<!-- Build fingerprint from the stock ROM -->
<string name="config_stockFingerprint" translatable="false"></string>
Expand Down
2 changes: 1 addition & 1 deletion core/res/res/values/custom_symbols.xml
Expand Up @@ -35,7 +35,7 @@
<java-symbol type="array" name="config_vendorPlatformSignatures" />

<!-- PropImitationHooks -->
<java-symbol type="string" name="config_certifiedFingerprint" />
<java-symbol type="array" name="config_certifiedBuildProperties" />
<java-symbol type="bool" name="config_spoofGoogleApps" />
<java-symbol type="string" name="config_stockFingerprint" />
<java-symbol type="string" name="config_netflixSpoofModel" />
Expand Down

0 comments on commit 0a7700d

Please sign in to comment.