【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
}
相关推荐
weiggle3 小时前
第七篇:状态提升与单向数据流——架构设计的核心
android
xingpanvip3 小时前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
goldenrolan3 小时前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
活宝小娜4 小时前
mysql详细安装教程
数据库·mysql·adb
AC赳赳老秦5 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
骇客之技术6 小时前
AutoLua:在安卓上写 Lua 脚本
android·junit·lua
zhangjin11206 小时前
adb install和 pm install 的区别是什么?
adb
kiros_wang7 小时前
Android 常见面试题
android
货拉拉技术7 小时前
Hook植入日志协助定位问题方案
android
FlightYe7 小时前
Android投屏MirrorCast全链路
android