[发明专利]用以禁止返回定向编程的动态执行阻止有效
| 申请号: | 201510679658.4 | 申请日: | 2013-01-15 |
| 公开(公告)号: | CN105303104B | 公开(公告)日: | 2019-03-22 |
| 发明(设计)人: | 阿伦·巴拉克里沙南;亚历山大·甘特曼;葛仁伟;丹尼尔·科马罗米;毛忆念;阿南德·帕拉尼古德;布莱恩·M·罗森贝格 | 申请(专利权)人: | 高通股份有限公司 |
| 主分类号: | G06F21/54 | 分类号: | G06F21/54 |
| 代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 宋献涛 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用以 禁止 返回 定向 编程 动态 执行 阻止 | ||
1.一种在处理电路中操作的方法,其包括:
产生包含多个函数的应用程序源代码;
产生用于所述源代码中的每一函数的间接代码;
添加指令以致使所述源代码在加载到存储器中时经识别为不可执行;
添加指令以致使所述间接代码在加载到存储器中时经识别为可执行,其中所述间接代码包含限于由所述处理电路循序执行的至少第一指令和第二指令;
在所述处理电路处变换所述源代码和间接代码以产生可执行代码;以及
添加指令以致使在所述第一指令后跟随有除了所述第二指令之外的任一指令的情况下中止所述间接代码的执行。
2.根据权利要求1所述的方法,其中所述可执行代码对应于单个应用程序和/或进程。
3.根据权利要求1所述的方法,其中所述间接代码在所述可执行代码的编译阶段或预编译阶段产生。
4.根据权利要求1所述的方法,其中编译所述源代码和间接代码以使得所述源代码和间接代码在加载到存储器中时驻留于单独的存储器页中。
5.根据权利要求1所述的方法,其中第一间接代码致使在调用对应第一函数以执行时将所述第一函数的存储器状态指示符从不可执行状态切换到可执行状态。
6.根据权利要求1所述的方法,其中第一间接代码致使在对应第一函数终止执行时将所述第一函数的存储器状态指示符从可执行状态切换到不可执行状态。
7.根据权利要求1所述的方法,其中与第一函数相关联的第一间接代码指向所述第一函数,其中当产生所述可执行代码时,编译所述第一间接代码和第一函数以加载于不同存储器页中。
8.一种其上存储有指令的非暂时性处理器可读媒体,所述指令在由至少一个处理器执行时致使所述至少一个处理器:
产生包含多个函数的应用程序源代码;
产生用于所述源代码中的每一函数的间接代码;
添加指令以致使所述源代码在加载到存储器中时经识别为不可执行;
添加指令以致使所述间接代码在加载到存储器中时经识别为可执行,其中所述间接代码包含限于由所述至少一个处理器循序执行的至少第一指令和第二指令;
在所述至少一个处理器处变换所述源代码和间接代码以产生可执行代码;以及
添加指令以致使在所述第一指令后跟随有除了所述第二指令之外的任一指令的情况下中止所述间接代码的执行。
9.根据权利要求8所述的非暂时性处理器可读媒体,其中所述可执行代码对应于单个应用程序和/或进程。
10.根据权利要求8所述的非暂时性处理器可读媒体,其中所述间接代码在所述可执行代码的编译阶段或预编译阶段产生。
11.根据权利要求8所述的非暂时性处理器可读媒体,其中第一间接代码致使在调用对应第一函数以供执行时将所述第一函数的存储器状态指示符从不可执行状态切换到可执行状态。
12.根据权利要求8所述的非暂时性处理器可读媒体,其中第一间接代码致使在对应第一函数终止执行时将所述第一函数的存储器状态指示符从可执行状态切换到不可执行状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510679658.4/1.html,转载请声明来源钻瓜专利网。





