Skip to content

Commit 9144f1a

Browse files
jhenrique09rokusenpaii
authored andcommitted
core: Add more props for snet spoofing
Also reformat code Change-Id: I98aafcc2c1d8dae1448ecf3c18981fb7945599ba
1 parent d72073b commit 9144f1a

File tree

1 file changed

+57
-41
lines changed

1 file changed

+57
-41
lines changed

init/property_service.cpp

Lines changed: 57 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -798,45 +798,55 @@ static void load_override_properties() {
798798
}
799799

800800
static const char *snet_prop_key[] = {
801-
"ro.boot.vbmeta.device_state",
802-
"ro.boot.verifiedbootstate",
803-
"ro.boot.flash.locked",
804-
"ro.boot.selinux",
805-
"ro.boot.veritymode",
806-
"ro.boot.warranty_bit",
807-
"ro.warranty_bit",
808-
"ro.debuggable",
809-
"ro.secure",
810-
"ro.build.type",
811-
"ro.build.keys",
812-
"ro.build.tags",
813-
"ro.system.build.tags",
814-
"ro.vendor.boot.warranty_bit",
815-
"ro.vendor.warranty_bit",
816-
"vendor.boot.vbmeta.device_state",
817-
"vendor.boot.verifiedbootstate",
818-
NULL
801+
"ro.boot.vbmeta.device_state",
802+
"ro.boot.verifiedbootstate",
803+
"ro.boot.flash.locked",
804+
"ro.boot.selinux",
805+
"ro.boot.veritymode",
806+
"ro.boot.warranty_bit",
807+
"ro.warranty_bit",
808+
"ro.debuggable",
809+
"ro.secure",
810+
"ro.build.type",
811+
"ro.system.build.type",
812+
"ro.system_ext.build.type",
813+
"ro.vendor.build.type",
814+
"ro.product.build.type",
815+
"ro.odm.build.type",
816+
"ro.build.keys",
817+
"ro.build.tags",
818+
"ro.system.build.tags",
819+
"ro.vendor.boot.warranty_bit",
820+
"ro.vendor.warranty_bit",
821+
"vendor.boot.vbmeta.device_state",
822+
"vendor.boot.verifiedbootstate",
823+
NULL
819824
};
820825

821826
static const char *snet_prop_value[] = {
822-
"locked", // ro.boot.vbmeta.device_state
823-
"green", // ro.boot.verifiedbootstate
824-
"1", // ro.boot.flash.locked
825-
"enforcing", // ro.boot.selinux
826-
"enforcing", // ro.boot.veritymode
827-
"0", // ro.boot.warranty_bit
828-
"0", // ro.warranty_bit
829-
"0", // ro.debuggable
830-
"1", // ro.secure
831-
"user", // ro.build.type
832-
"release-keys", // ro.build.keys
833-
"release-keys", // ro.build.tags
834-
"release-keys", // ro.system.build.tags
835-
"0", // ro.vendor.boot.warranty_bit
836-
"0", // ro.vendor.warranty_bit
837-
"locked", // vendor.boot.vbmeta.device_state
838-
"green", // vendor.boot.verifiedbootstate
839-
NULL
827+
"locked", // ro.boot.vbmeta.device_state
828+
"green", // ro.boot.verifiedbootstate
829+
"1", // ro.boot.flash.locked
830+
"enforcing", // ro.boot.selinux
831+
"enforcing", // ro.boot.veritymode
832+
"0", // ro.boot.warranty_bit
833+
"0", // ro.warranty_bit
834+
"0", // ro.debuggable
835+
"1", // ro.secure
836+
"user", // ro.build.type
837+
"user", // ro.system.build.type
838+
"user", // ro.system_ext.build.type
839+
"user", // ro.vendor.build.type
840+
"user", // ro.product.build.type
841+
"user", // ro.odm.build.type
842+
"release-keys", // ro.build.keys
843+
"release-keys", // ro.build.tags
844+
"release-keys", // ro.system.build.tags
845+
"0", // ro.vendor.boot.warranty_bit
846+
"0", // ro.vendor.warranty_bit
847+
"locked", // vendor.boot.vbmeta.device_state
848+
"green", // vendor.boot.verifiedbootstate
849+
NULL
840850
};
841851

842852
static void workaround_snet_properties() {
@@ -845,16 +855,22 @@ static void workaround_snet_properties() {
845855
// Weaken property override security to set safetynet props
846856
weaken_prop_override_security = true;
847857

848-
std::string error;
858+
std::string error;
849859

850-
// Hide all sensitive props if not eng build
860+
// Hide all sensitive props if not eng build
851861
if (build_type != "eng") {
852-
LOG(INFO) << "snet: Hiding sensitive props";
853-
for (int i = 0; snet_prop_key[i]; ++i) {
862+
LOG(INFO) << "snet: Hiding sensitive props";
863+
for (int i = 0; snet_prop_key[i]; ++i) {
854864
PropertySet(snet_prop_key[i], snet_prop_value[i], &error);
855-
}
865+
}
856866
}
857867

868+
// Extra pops
869+
std::string build_flavor_key = "ro.build.flavor";
870+
std::string build_flavor_value = android::base::GetProperty(build_flavor_key, "");
871+
build_flavor_value = android::base::StringReplace(build_flavor_value, "userdebug", "user", false);
872+
PropertySet(build_flavor_key, build_flavor_value, &error);
873+
858874
// Restore the normal property override security after safetynet props have been set
859875
weaken_prop_override_security = false;
860876
}

0 commit comments

Comments
 (0)