android_recovery_motorola_g.../libinit/init_hiphi.cpp
7Soldier ecce8592ee hiphi: Introduce device and model spoofing
Co-authored-by: Zinadin Zidan <zidan44@pixelexperience.org>
Co-authored-by: TTTT555 <albukerko@gmail.com>
Co-authored-by: Sebastiano Barezzi <barezzisebastiano@gmail.com>
Co-authored-by: luk1337 <priv.luk@gmail.com>
Co-authored-by: sekaiacg <sekaiacg@gmail.com>
Signed-off-by: 7Soldier <reg.fm4@gmail.com>
2023-05-04 15:44:02 +03:00

99 lines
4.6 KiB
C++

//
// Copyright (C) 2022 Team Win Recovery Project
//
// SPDX-License-Identifier: Apache-2.0
//
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
#include <sys/_system_properties.h>
#include <sys/resource.h>
#include <android-base/properties.h>
#include <android-base/logging.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include "property_service.h"
#include "vendor_init.h"
using android::base::GetProperty;
void property_override(const std::string& name, const std::string& value)
{
size_t valuelen = value.size();
prop_info* pi = (prop_info*) __system_property_find(name.c_str());
if (pi != nullptr) {
__system_property_update(pi, value.c_str(), valuelen);
}
else {
int rc = __system_property_add(name.c_str(), name.size(), value.c_str(), valuelen);
if (rc < 0) {
LOG(ERROR) << "property_set(\"" << name << "\", \"" << value << "\") failed: "
<< "__system_property_add failed";
}
}
}
void load_device_properties(const std::string& description, const std::string& fingerprint, const std::string& device, const std::string& model) {
property_override("ro.build.description", description);
property_override("ro.build.fingerprint", fingerprint);
property_override("ro.build.product", device);
property_override("ro.product.build.fingerprint", fingerprint);
property_override("ro.product.device", device);
property_override("ro.product.name", device);
property_override("ro.product.model", model);
property_override("ro.product.odm.build.fingerprint", fingerprint);
property_override("ro.product.odm.device", device);
property_override("ro.product.odm.name", device);
property_override("ro.product.odm.model", model);
property_override("ro.product.odm_dlkm.build.fingerprint", fingerprint);
property_override("ro.product.odm_dlkm.device", device);
property_override("ro.product.odm_dlkm.name", device);
property_override("ro.product.odm_dlkm.model", model);
property_override("ro.product.system.build.fingerprint", fingerprint);
property_override("ro.product.system.device", device);
property_override("ro.product.system.name", device);
property_override("ro.product.system.model", model);
property_override("ro.product.vendor.build.fingerprint", fingerprint);
property_override("ro.product.vendor.device", device);
property_override("ro.product.vendor.name", device);
property_override("ro.product.vendor.model", model);
property_override("ro.product.vendor_dlkm.build.fingerprint", fingerprint);
property_override("ro.product.vendor_dlkm.device", device);
property_override("ro.product.vendor_dlkm.name", device);
property_override("ro.product.vendor_dlkm.model", model);
property_override("ro.product.product.build.fingerprint", fingerprint);
property_override("ro.product.product.device", device);
property_override("ro.product.product.name", device);
property_override("ro.product.product.model", model);
property_override("ro.product.system_ext.build.fingerprint", fingerprint);
property_override("ro.product.system_ext.device", device);
property_override("ro.product.system_ext.name", device);
property_override("ro.product.system_ext.model", model);
}
void vendor_load_properties() {
const std::string sku = GetProperty("ro.boot.hardware.sku", "");
if (sku == "XT2201-1") {
load_device_properties("hiphi-user 12 S3SHS32.12-42-11-5 bf0951", "motorola/hiphi/hiphi:12/S3SHS32.12-42-11-5/bf0951:user/release-keys", "hiphi", "Motorola Edge 30 Pro");
}
else if (sku == "XT2201-3") {
load_device_properties("hiphi-user 12 S3SHS32.12-42-11-5 bf0951", "motorola/hiphi/hiphi:12/S3SHS32.12-42-11-5/bf0951:user/release-keys", "hiphi", "Motorola Edge Plus (2022)");
}
else if (sku == "XT2201-4") {
load_device_properties("hiphi-user 12 S3SHS32.12-41-4-1 66f58d", "motorola/hiphi/hiphi:12/S3SHS32.12-41-4-1/66f58d:user/release-keys", "hiphi", "Motorola Edge Plus 5G UW");
}
else if (sku == "XT2201-2") {
load_device_properties("hiphic-user 12 S3SC32.7-42-20 02af5", "motorola/hiphic/hiphic:12/S3SC32.7-42-20/02af5:user/release-keys", "hiphic", "Motorola Edge X30");
}
else if (sku == "XT2201-6") {
load_device_properties("hiphid-user 12 S3SF32.35-5-9 37351", "motorola/hiphid/hiphid:12/S3SF32.35-5-9/37351:user/release-keys", "hiphid", "Motorola Edge X30");
}
else {
load_device_properties("hiphic-user 12 S3SC32.7-42-20 02af5", "motorola/hiphic/hiphic:12/S3SC32.7-42-20/02af5:user/release-keys", "hiphic", "Motorola Edge X30");
}
}