[发明专利]用于编译源代码的系统和过程在审
申请号: | 202111336977.7 | 申请日: | 2021-11-12 |
公开(公告)号: | CN114489657A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | M·让;S·雷罗伊;M·杰尔加德 | 申请(专利权)人: | 意法半导体(大西部)公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F21/55 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 黄海鸣 |
地址: | 法国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 编译 源代码 系统 过程 | ||
1.一种通过编译工具将源代码编译为计算机可执行代码的方法,所述编译工具在计算机处理单元内实现,所述方法包括:
接收所述源代码,作为到所述编译工具的输入;
将所述源代码存储在所述计算机处理单元的存储器中;
通过所述编译工具,将所述源代码转译为包括由处理器可执行的机器指令的目标代码;
在所述转译之后,通过所述编译工具在所述目标代码的机器指令之间引入从附加非法指令或附加非操作指令中选择的附加指令,以获得所述计算机可执行代码;以及
在所述引入之后,传递所述计算机可执行代码作为所述编译工具的输出。
2.根据权利要求1所述的方法,其中所述目标代码包括包含机器指令集的函数,并且所述方法包括:在所述目标代码的所述函数之间引入所述附加非法指令。
3.根据权利要求1所述的方法,还包括:在从所述源代码转译的所述目标代码的分支指令之后引入至少一个附加非法指令。
4.根据权利要求1所述的方法,还包括:在从所述源代码转译的所述目标代码的两个机器指令之间引入附加分支指令以及随后的至少一个附加非法指令。
5.根据权利要求1所述的方法,其中从所述源代码转译的所述目标代码包括经转译的比较指令以及随后的经转译的条件分支指令,并且所述方法还包括:
在所述源代码的经转译的比较指令上游或者所述源代码的经转译的条件分支指令之后,在所述目标代码中引入附加比较指令以及随后的附加条件分支指令,所述附加比较指令与所述源代码的经转译的比较指令相同,并且所述附加条件分支指令与所述源代码的经转译的比较指令之后的经转译的条件分支指令相反;以及
在来自所述源代码的所述附加条件分支指令和所述经转译的条件分支指令的最后条件分支指令之后,引入至少一个附加非法指令。
6.根据权利要求1所述的方法,还包括:
在函数调用分支指令之后引入至少一个附加非法指令;以及
在所述函数中引入至少一个加法指令,所述至少一个加法指令被配置用于通过将在所述函数调用分支指令之后引入的多个附加非法指令添加到返回地址,来修改链接寄存器中存储的所述返回地址。
7.根据权利要求1所述的方法,还包括:在从所述源代码转译的所述目标代码的至少两个机器指令之间引入至少两个连续的附加非法指令。
8.根据权利要求7所述的方法,还包括:随机选择连续的附加非法指令的数目,以在从所述源代码转译的所述目标代码的所述至少两个机器指令之间引入。
9.根据权利要求1所述的方法,还包括:仅对所述目标代码的一部分执行所述附加指令的所述引入。
10.根据权利要求1所述的方法,还包括:在至少部分随机选择的所述目标代码的位置处将所述附加指令引入到所述目标代码中。
11.一种非暂态计算机可读记录介质,包括:
编译工具,用于将源代码编译为计算机可执行代码,所述编译工具被配置为:
接收所述源代码作为输入;
将所述源代码存储在计算机处理单元的存储器中;
将所述源代码转译为包括由处理器可执行的机器指令的目标代码;
在所述转译之后,在所述目标代码的机器指令之间引入从附加非法指令或附加非操作指令中选择的附加指令,以获得所述计算机可执行代码;以及
在所述引入之后,传递所述计算机可执行代码作为输出。
12.根据权利要求11所述的非暂态计算机可读记录介质,其中所述目标代码包括包含机器指令集的函数,并且其中所述编译工具被配置为在所述目标代码的所述函数之间引入所述附加非法指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于意法半导体(大西部)公司,未经意法半导体(大西部)公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111336977.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:核验待新集成的自动化系统的过程模块的兼容性
- 下一篇:中心检测装置