diff options
| author | jhenrique09 <jhsv09@gmail.com> | 2022-03-19 19:40:40 +0000 |
|---|---|---|
| committer | Julian Veit <claymore1298@gmail.com> | 2023-04-15 08:00:08 +0200 |
| commit | 4c06a040222ccdc76049427e0bb62f0718209f96 (patch) | |
| tree | 264ee0060f9ea4a74b859da53438084903754efd | |
| parent | c975920af349cb00e6989b9d952dba218d5dec20 (diff) | |
core: Add more props for snet spoofing
Also reformat code
Change-Id: I98aafcc2c1d8dae1448ecf3c18981fb7945599ba
Former-commit-id: 72351d5aebdd5ed340429bb7228ec0ce5fc55318
Former-commit-id: acefb8c963d303ba91fbe861728860b51c7c5917
Change-Id: Ida0903a5be31542f2562a920141f0cf7da5ab729
| -rw-r--r-- | init/property_service.cpp | 98 |
1 files changed, 57 insertions, 41 deletions
diff --git a/init/property_service.cpp b/init/property_service.cpp index 87af200cab..60227354e2 100644 --- a/init/property_service.cpp +++ b/init/property_service.cpp @@ -799,45 +799,55 @@ static void load_override_properties() { } static const char *snet_prop_key[] = { - "ro.boot.vbmeta.device_state", - "ro.boot.verifiedbootstate", - "ro.boot.flash.locked", - "ro.boot.selinux", - "ro.boot.veritymode", - "ro.boot.warranty_bit", - "ro.warranty_bit", - "ro.debuggable", - "ro.secure", - "ro.build.type", - "ro.build.keys", - "ro.build.tags", - "ro.system.build.tags", - "ro.vendor.boot.warranty_bit", - "ro.vendor.warranty_bit", - "vendor.boot.vbmeta.device_state", - "vendor.boot.verifiedbootstate", - NULL + "ro.boot.vbmeta.device_state", + "ro.boot.verifiedbootstate", + "ro.boot.flash.locked", + "ro.boot.selinux", + "ro.boot.veritymode", + "ro.boot.warranty_bit", + "ro.warranty_bit", + "ro.debuggable", + "ro.secure", + "ro.build.type", + "ro.system.build.type", + "ro.system_ext.build.type", + "ro.vendor.build.type", + "ro.product.build.type", + "ro.odm.build.type", + "ro.build.keys", + "ro.build.tags", + "ro.system.build.tags", + "ro.vendor.boot.warranty_bit", + "ro.vendor.warranty_bit", + "vendor.boot.vbmeta.device_state", + "vendor.boot.verifiedbootstate", + NULL }; static const char *snet_prop_value[] = { - "locked", // ro.boot.vbmeta.device_state - "green", // ro.boot.verifiedbootstate - "1", // ro.boot.flash.locked - "enforcing", // ro.boot.selinux - "enforcing", // ro.boot.veritymode - "0", // ro.boot.warranty_bit - "0", // ro.warranty_bit - "0", // ro.debuggable - "1", // ro.secure - "user", // ro.build.type - "release-keys", // ro.build.keys - "release-keys", // ro.build.tags - "release-keys", // ro.system.build.tags - "0", // ro.vendor.boot.warranty_bit - "0", // ro.vendor.warranty_bit - "locked", // vendor.boot.vbmeta.device_state - "green", // vendor.boot.verifiedbootstate - NULL + "locked", // ro.boot.vbmeta.device_state + "green", // ro.boot.verifiedbootstate + "1", // ro.boot.flash.locked + "enforcing", // ro.boot.selinux + "enforcing", // ro.boot.veritymode + "0", // ro.boot.warranty_bit + "0", // ro.warranty_bit + "0", // ro.debuggable + "1", // ro.secure + "user", // ro.build.type + "user", // ro.system.build.type + "user", // ro.system_ext.build.type + "user", // ro.vendor.build.type + "user", // ro.product.build.type + "user", // ro.odm.build.type + "release-keys", // ro.build.keys + "release-keys", // ro.build.tags + "release-keys", // ro.system.build.tags + "0", // ro.vendor.boot.warranty_bit + "0", // ro.vendor.warranty_bit + "locked", // vendor.boot.vbmeta.device_state + "green", // vendor.boot.verifiedbootstate + NULL }; static void workaround_snet_properties() { @@ -846,16 +856,22 @@ static void workaround_snet_properties() { // Weaken property override security to set safetynet props weaken_prop_override_security = true; - std::string error; + std::string error; - // Hide all sensitive props if not eng build + // Hide all sensitive props if not eng build if (build_type != "eng") { - LOG(INFO) << "snet: Hiding sensitive props"; - for (int i = 0; snet_prop_key[i]; ++i) { + LOG(INFO) << "snet: Hiding sensitive props"; + for (int i = 0; snet_prop_key[i]; ++i) { PropertySet(snet_prop_key[i], snet_prop_value[i], &error); - } + } } + // Extra pops + std::string build_flavor_key = "ro.build.flavor"; + std::string build_flavor_value = android::base::GetProperty(build_flavor_key, ""); + build_flavor_value = android::base::StringReplace(build_flavor_value, "userdebug", "user", false); + PropertySet(build_flavor_key, build_flavor_value, &error); + // Restore the normal property override security after safetynet props have been set weaken_prop_override_security = false; } |
