禁止非法root的设备OTA升级
cmd = ('root_check() ||abort("This phone has been root or an error occurred, can not upgrade.");')
#define ROOT_UNIT_MAGIC 0x00071029
#define MAX_ACTION_LEN 32
#define TASK_COMM_LEN 16
struct root_save_head{
int magic;
int count;
char reserved[512-8];
};
struct root_save_unit{
int magic;
pid_t ppid;
pid_t pid;
pid_t tid;
int cap;
int fork_by_sh;
char parent_name[TASK_COMM_LEN];
char process_name[TASK_COMM_LEN];
char thread_name[TASK_COMM_LEN];
char action[MAX_ACTION_LEN];
char time[MAX_TIME_LEN];
char reserved[512-136];
};
static struct root_save_head save_head_tmp;
static struct root_save_unit save_unit_tmp;
if (argc != 0) {
return ErrorAbort(state, "%s() expects no args, got %d", name, argc);
}
int result = 1;
int fd;
int magic = 0;
int count = 0;
fd = open(ROOTM_PATCH, O_RDONLY, 0);
if(fd == -1){
fprintf(stderr, "Can not open %s, errno=%d\n", ROOTM_PATCH, errno);
result = 1;
return StringValue(strdup(result == 0 ? "t" : ""));
}
if(sizeof(struct root_save_head) != read(fd, &save_head_tmp, sizeof(struct root_save_head))){
fprintf(stderr, "Can not read the header of records\n");
close(fd);
result = 1;
return StringValue(strdup(result == 0 ? "t" : ""));
}
magic = save_head_tmp.magic;
count = save_head_tmp.count;
if(magic != ROOT_SAVE_MAGIC || count > ROOT_MAX_RECORD || count <= 0){
close(fd);
fprintf(stderr, "System partition check Pass!\n");
result = 0;
return StringValue(strdup(result == 0 ? "t" : ""));
fprintf(stderr, "System have been Root.\n");
result = 1;
return StringValue(strdup(result == 0 ? "t" : ""));
}
return StringValue(strdup(result == 0 ? "t" : ""));
禁止非法root的设备OTA升级相关推荐
- EFR32MG21 zigbee 3.0 OTA 升级实验
EFR32MG21 zigbee 3.0 OTA 升级实验 参考文档:AN728 https://www.sekorm.com/doc/1607600.html 芯片:EFR32MG21A010F76 ...
- ipad一直卡在白苹果_IOS checkm8漏洞越狱 典型应用案例之OTA升级造成白苹果修复案例...
苹果设备OTA升级系统造成白苹果的现象屡见不鲜,给广大的手机用户造成诸多困扰,在这里解释下什么叫OTA升级,通俗讲,就是你的苹果手机提示你有新的版本,通过WIFI或者4G的网络条件下手机自己进行下载新 ...
- VIVO Xplay_2.13.2 目前最新ViVo官方固件,完美root,降噪点,完美支持官方OTA升级,稳定,流畅,实用ROM
ROM版本 VIVO-Xplay-PD2.13.2 ROM作者 大盛 http://weibo.com/DaShengdd Android版本 Android4.2.2 创建日期 2013.07.31 ...
- IoT物联网设备OTA:全量升级和增量升级
各位看官好,上一篇文章我们聊了一下关于 OTA 升级过程中,新的软件包是如何从开发者的电脑上,安全的下载到嵌入式设备中的. 这个流程似乎很简单,不就是下载一个文件而已嘛,怎么还值得写成一篇文章呢? 其 ...
- Android 系统 '七夕'巨献 VIVO Xplay 基于ViVo官方稳定内核,完美root,适度美化,降噪点,完美支持官方OTA升级
ROM版本 VIVO-Xplay-PD2.13.2 ROM作者 大盛 http://weibo.com/DaShengdd Android版本 Android4.2.2 创建日期 2013.08.13 ...
- RTOS设备如何快速实现OTA升级--快速接入OTA平台
目录 一. 创建产品和零件 1.1 登陆平台 1.2 添加产品 1.3 配置产品 1.4 添加升级零件 二. 添加设备 2.1 单个添加 2.2 批量添加 三. 设备注册激活 3.1 发起请求 3.2 ...
- AI也会查水表啦!德国小哥开发水表读取器,可OTA升级,成本不到80元
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 不少人家里应该都还有这种老式水表,但你能看懂它的读数吗? 恐怕不少人都会感到一脸懵逼.机械式水表可能是最反人类的设计之一了,安装在阴暗的角 ...
- Android OTA 升级之三:生成recovery.img
Android OTA 升级之三:生成recovery.img 作者: 宋立新 Email:zjujoe@yahoo.com 前言 得到了ota升级包后,我们就可以用它来升级系统了.Android 手 ...
- Android 8.0 (35)----Android8.0.0-r4的OTA升级流程
Android8.0.0-r4的OTA升级流程 原网址:https://blog.csdn.net/dingfengnupt88/article/details/52875228 Android系统 ...
最新文章
- CAN设备多机联网之总线容抗注意事项
- csv与json互转_CSV文件转JSON
- 【大会】嵌入式玩直播,IoT做前处理
- 关于 SAP Spartacus UI 框架选型问题
- 使用BizTalk Server常见问题处理
- jQuery-事件和应用
- IoC(控制反转)的主要组件和注入的两种方式
- leetcode 1217 python
- Jira项目导入,被导入项目与目的系统数据类型不一致导入不成功的解决方案
- 带你彻底弄明白!javaswitchcase语句例子
- 30美元攻陷Intel SGX enclave,Intel 不打算修复
- eml文件可以转换为html,eml格式转换成word eml文件转换word
- 美国人因工程学的历史
- 电脑怎么用自带录音器录制系统的声音
- strtolower() 函数
- 混沌数学之Chua's circuit(蔡氏电路)
- 时间序列分析之Holt-Winters的R语言实现
- 【数据库】Navicat编写MySQL自定义函数详解
- 索尼前CEO平井一夫今日正式退休 结束35年索尼生涯
- 小心你的眼睛—绝妙的视觉错觉图片集锦
热门文章
- 用Python来玩微信小游戏跳一跳
- 读书笔记-干法-人生三毒
- 如何在CentOS 7上安装指定版本的PHP
- 汇编语言中xor指令_汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作(推荐)...
- 全铝合金家居零甲醛家具展示
- 深度强化学习落地方法论(7)——训练篇
- python画圆填色_如何用python在图像上绘制不同笔触和填充颜色的文本?
- dell电脑如何安装ubuntu系统_Dell台式机安装Ubuntu 16.04注意事项( Alienware R6)
- 广东省公共资源交易平台逆向分析
- 【kafka】二、kafka安装