[发明专利]编译方法及编译器有效
| 申请号: | 200810247386.0 | 申请日: | 2008-12-29 |
| 公开(公告)号: | CN101446905A | 公开(公告)日: | 2009-06-03 |
| 发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45 |
| 代理公司: | 北京中博世达专利商标代理有限公司 | 代理人: | 申 健 |
| 地址: | 100083北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 编译 方法 编译器 | ||
1.一种编译方法,包括对源程序进行预处理,并将预处理后的源程序转化 为中间代码;其特征在于,该方法还包括:
在将预处理后的源程序转化为中间代码的过程中对预处理后的源程序进行 词法分析、语法分析,确定安全设备验证代码在源程序的中间代码中的插入点;
在将源程序的中间代码转换成汇编代码得到目标程序的过程中,将安全设 备验证代码插入到所述插入点在目标程序中的对应位置;
其中,所述安全设备验证代码中包括安全设备调用函数,所述安全设备调 用函数执行时还需要判断是否查找到安全设备;
若没有查找到所述安全设备,则退出执行所述目标程序;
若查找到所述安全设备,则向安全设备发送操作命令,并接收安全设备执 行所述操作命令所返回的数据,再判断接收到的数据是否与预期数据相同;
若接收到的数据与预期数据不相同,则返回退出值;
若接收到的数据与预期数据相同,则返回执行值;
并且,所述安全设备验证代码中还包括数据处理指令,所述数据处理指令 执行时还需要判断安全设备调用函数返回值是否为退出值;
若安全设备调用函数返回值为退出值,则退出执行所述目标程序;
若安全设备调用函数返回值为执行值,则继续执行目标程序;
进一步地,当所述安全设备验证代码中还包括将种子码作为参数传递安全 设备调用函数的参数传递指令时,所述安全设备调用函数执行时还需要获取安 全设备的特征信息;
利用所述特征信息计算种子码;
判断计算出的种子码与所述参数传递指令传递过来的种子码是否相同;
若计算出的种子码与所述参数传递指令传递过来的种子码不相同,则退出 执行所述目标程序;
若计算出的种子码与所述参数传递指令传递过来的种子码相同,则继续执 行所述目标程序。
2.根据权利要求1所述的编译方法,其特征在于,所述插入点为源程序中 间代码中的函数入口处、或者源程序中间代码中的函数结束处、或者中间代码 中函数调用指令的前后、或者中间代码中条件转移指令的前后、或者中间代码 中无条件转移指令的前后、或者中间代码中算术运算指令的前后、或者中间代 码中逻辑运算指令的前后、或者中间代码中中断调用指令的前后。
3.根据权利要求1所述的编译方法,其特征在于,所述安全设备验证代码 为汇编形式的代码。
4.根据权利要求1所述的编译方法,其特征在于,所述特征信息为安全设 备的用户号或者硬件序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810247386.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:冷媒回收机中的空调管道疏通装置
- 下一篇:蒸汽轮机疏水回收箱





