【Android】【root & remount】adb su如何添加密码校验

前言

客户想在user版本添加su 权限,并实现user版本的root remount功能。

当前思路时执行su时添加密码,如果密码正确设置 sys.变量为true。adb root时判断sys变量为true时,执行root动作。

su 添加密码实现

su.cpp 添加密码部分:

bash 复制代码
int main(int argc, char** argv) {
......

    // The default user is root.
    uid_t uid = 0;
    gid_t gid = 0;
    //add start
    std::string build_type = android::base::GetProperty("ro.build.type", "");
    if(build_type == "user") {
        std::string password;
        std::cout << "Enter password: "<<std::endl;
        std::cin >> password;
        std::cout << "Your password: "<<password<<std::endl;

        if(password == "1234"){
            std::cout << "Password verify succes!"<<std::endl;
            android::base::SetProperty("sys.root.enable", "1");
        } else {
            std::cout << "Password verify fail !"<<std::endl;
            android::base::SetProperty("sys.root.enable", "0");
            return 1;
        }
    }
    //add end
}
相关推荐
爱吃牛肉的大老虎6 小时前
MySQL优化之系统表分析SQL
android·sql·mysql
Fate_I_C6 小时前
实战案例:用 Kotlin 重写一个 Java Android 工具类
android·java·kotlin
Fate_I_C7 小时前
Kotlin 特有语法糖
android·开发语言·kotlin
.柒宇.7 小时前
MySQL的MGR高可用
数据库·mysql·adb
Fate_I_C7 小时前
Kotlin 为什么是 Android 开发的首选语言
android·开发语言·kotlin
黄林晴7 小时前
Android CLI 来了!终端一键建项目、控模拟器、给 Agent 喂官方规范
android
常利兵7 小时前
Kotlin 助力 Android 启动“大提速”
android·开发语言·kotlin
撩得Android一次心动7 小时前
Android DataBinding 全面解析【源码篇2】
android·源码·android jetpack·databinding
守月满空山雪照窗7 小时前
图形 API 体系解析:Android Vulkan / OpenGL 与主流图形 API 对比
android