[发明专利]编译方法以及编译器有效
申请号: | 200910082321.X | 申请日: | 2009-04-14 |
公开(公告)号: | CN101533454A | 公开(公告)日: | 2009-09-16 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22;G06F9/44 |
代理公司: | 北京中博世达专利商标代理有限公司 | 代理人: | 申 健 |
地址: | 100083北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 方法 以及 编译器 | ||
1.一种编译方法,包括对源程序代码进行预处理;并对预处理后的源程序 代码进行词法分析和语法分析;其特征在于,该方法还包括:
根据对预处理后的源程序代码进行词法分析和语法分析的结果,并按照预 先设定的规则确定验证代码在源程序代码中的插入点;
将所述验证代码插入到所述插入点在源程序代码中的对应位置;
将包含插入了验证代码的源程序代码转换成目标程序代码;
其中,所述预先设定的规则具体为:确定源程序代码中函数的开始位置为 验证代码在源程序代码中的插入点,或者确定源程序代码中函数的结束位置为 验证代码在源程序代码中的插入点,或者确定源程序代码中函数调用之前的位 置为验证代码在源程序代码中的插入点,或者确定源程序代码中函数调用之后 的位置为验证代码在源程序代码中的插入点;
并且,在所述目标程序代码执行过程中,执行到所述验证代码时,还需要 检测计算机是否与智能密钥设备相连;
若否,则结束执行所述目标程序代码;
若是,则还需要打开智能密钥设备,对所述智能密钥设备进行验证;
若无法打开所述智能密钥设备,则结束执行所述目标程序代码;
若顺利打开所述智能密钥设备,则向所述智能密钥设备发送数据操作 命令,接收所述智能密钥设备对所述数据操作命令中传递的数据进行运算后返 回的数据,并判断所述智能密钥设备返回的数据是否与预先设定的数据相同;
若不相同,则结束执行所述目标程序代码;
若相同,则继续执行所述目标程序代码;
所述验证代码中包含将种子码作为参数的智能密钥设备调用函数,所述智 能密钥设备调用函数执行时还需要获取所述智能密钥设备的特征信息,利用所 述特征信息生成一个种子码,并判断所述生成的种子码与作为参数传递给智能 密钥设备调用函数的种子码是否相同;
若不相同,则结束执行所述目标程序代码;
若相同,则继续执行所述目标程序代码。
2.根据权利要求1所述的编译方法,其特征在于,所述验证代码是一段验 证智能密钥设备的代码;或者,所述验证代码还是一个函数调用,所述函数完 成验证所述智能密钥设备的功能,所述函数实现在一个编译好的库中,或者, 所述函数以源代码的形式放在源程序代码中。
3.根据权利要求1所述的编译方法,其特征在于,所述验证代码为高级语 言形式的代码。
4.根据权利要求1所述的编译方法,其特征在于,所述特征信息为智能密 钥设备的用户号或者硬件序列。
5.权利要求1所述的编译方法,其特征在于,将包含插入了验证代码的源 程序代码转换成目标程序代码之后还包括:将经过转化处理后的目标程序代码 与编译目标程序代码要用到的智能密钥设备库以及其他库进行链接,得到可执 行文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910082321.X/1.html,转载请声明来源钻瓜专利网。