ARMTrustZone:从安全监控运行时服务访问非安全缓冲区
创始人
2024-09-14 00:30:46
0

在ARM TrustZone中,安全模式下的代码可以访问安全缓冲区,但无法访问非安全缓冲区,因为这可能会披露敏感数据。然而,在某些情况下,需要从安全监控运行时服务中访问非安全缓冲区。为了解决这个问题,可以使用以下方法:

  1. 定义一个全局变量,用于存储非安全缓冲区的地址。将这个变量声明为volatile,以确保编译器不会对该变量进行优化。例如:
volatile char *non_secure_buf;
  1. 在非安全模式下,初始化该全局变量。例如:
non_secure_buf = (char *)0x1000;  // 假设缓冲区地址是0x1000
  1. 在安全模式下,通过调用smc(Secure Monitor Call)向监控运行时服务请求访问非安全缓冲区。监控运行时服务应该提供一个接口,可用于返回缓冲区内容或执行其他操作。例如:
#define SMC_FUNCTION_ID 0x12345678  // 定义SMC函数ID
unsigned long smc(unsigned long function_id, unsigned long arg1, unsigned long arg2, unsigned long arg3)
{
    unsigned long ret;
    asm volatile ("smc #0"         // 发起SMC调用
                  : "=r" (ret)     // 返回值存储在ret中
                  : "r" (function_id), "r" (arg1), "r" (arg2), "r" (arg3)
                  : "memory");
    return ret;
}

void access_non_secure_buf(void)
{
    char *buf = (char *)smc(SMC_FUNCTION_ID, (unsigned long)non_secure_buf, 0, 0); // 请求

相关内容

热门资讯

第9分钟开挂!九九山城万州辅助... 大家好,今天小编来为大家解答九九山城万州辅助这个问题咨询软件客服可以免费测试直接加微信(136704...
3分钟辅助!情怀辅助哪里可以装... 3分钟辅助!情怀辅助哪里可以装,哈糖大菠萝提高胜率(教程攻略开挂辅助下载),情怀辅助哪里可以装是用手...
第三分钟透视!手机暗宝辅助,哈... 第三分钟透视!手机暗宝辅助,哈糖大菠萝辅助(玩家必看科普开挂辅助软件) 了解更多开挂安装加(1367...
第8分钟辅助!wepoker底... 第8分钟辅助!wepoker底牌透视脚本,天天开心国王辅助(1.9分钟了解开挂辅助软件);致您一封信...
第1分钟开挂!蜀山挂件辅助,填... 第1分钟开挂!蜀山挂件辅助,填大坑辅助视频(透视辅助开挂辅助脚本);亲,填大坑辅助视频这款游戏原来确...
第4分钟辅助!wepoker辅... 《第4分钟辅助!wepoker辅助是真的假的,小程序微乐辅助器2.0(透视辅助开挂辅助下载)》 小程...
第二分钟透视!四川家园茶馆辅助... 【亲,四川家园茶馆辅助 这款游戏可以开挂的,确实是有挂的,很多玩家在这款四川家园茶馆辅助中打牌都会发...
9分钟辅助!金州水鱼天下源码,... 9分钟辅助!金州水鱼天下源码,微玩盒子网页游戏辅助(透视辅助开挂辅助安装);微玩盒子网页游戏辅助最新...
9分钟开挂!人海大厅挂什么好,... 9分钟开挂!人海大厅挂什么好,小闲川南宜宾辅助(透视黑科技开挂辅助工具) 【无需打开直接搜索加薇13...
4分钟辅助!掌中乐游戏中心辅助... 4分钟辅助!掌中乐游戏中心辅助器,新八戒怎么控制牌型(透视透视开挂辅助安装)相信很多朋友都在电脑上玩...