[发明专利]一种生成具有自检测和自修复功能的应用程序的方法无效
申请号: | 01104692.9 | 申请日: | 2001-02-20 |
公开(公告)号: | CN1371050A | 公开(公告)日: | 2002-09-25 |
发明(设计)人: | 陈玄同;林光信 | 申请(专利权)人: | 英业达股份有限公司 |
主分类号: | G06F11/08 | 分类号: | G06F11/08;G06F12/14;G06F12/16 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 黄小临 |
地址: | 台湾省*** | 国省代码: | 台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 具有 检测 修复 功能 应用程序 方法 | ||
1、一种生成具有自检测和自修复功能的应用程序的方法,该方法包括以下步骤:
接收该应用程序的源码(Source Code),该源码文件的数据结构上具有存储原始数据的节;
提供一段可以实现自检测功能的程序码,该段自检测程序码以对比循环冗余校验(Cyclical Redundancy Check,CRC)数据的方式,来确认该文件是否遭到改变;
提供一段可以实现自修复功能的程序码,该段自修复程序码以将一备份数据复制到该文件中的方式,以恢复该文件的原始内容;
在该存储原始数据的节之外,在所述数据结构上提供至少一自反馈节,用于存储所述自检测程序码和自修复程序码;
在所述数据结构上提供一特殊节,用于存储所述自检测所需要的循环冗余校验(CRC)数据,以及该段自修复所需要的备份数据;
修改所述应用程序文件的文件头设定,让该应用程序从该自反馈节开始执行,
由此使该应用程序在执行之前,先自我检查其文件是否遭到改变,并可以适时自我恢复该文件的原始内容。
2、如权利要求1所述的方法,还包括以下步骤:对该应用程序的源码以及该段自检测程序码和该段自修复程序码进行编译(Compiler),使其成为一个整体的可执行程序。
3、如权利要求1或2项所述的方法,其中该应用程序为一种可移植可执行(Portable Executable,PE)文件。
4、如权利要求3所述的方法,其中该可移植可执行(Portable Executable,PE)文件的格式包括有一MS-DOS文件头、一PE文件头、一节索引表以及多个数据节,而该节索引表用于存储该数据节的节名、节开始处相对於文件头的地址偏移量(Relation Virtual Address,RVA)、节的大小以及节的属性等数据。
5、如权利要求4所述的方法,其中该自反馈节的节名、节开始处相对于文件头的地址偏移量(Relation Virtual Address,RVA)、节的大小以及节的属性等数据,都记录在该节索引表中。
6、如权利要求4所述的方法,其中更改变该MS-DOS文件头以及该PE文件头的记录,使得该新应用程序於执行之初,会由该自反馈节开始执行。
7、如权利要求3所述的方法,其中该特殊节的节名、节开始处相对於文件头的地址偏移量(Relation Virtual Address,RVA)、节的大小以及节的属性等数据,都记录在该节索引表中。
8、如权利要求7所述的方法,其中将该特殊节开始处相对於文件头的地址偏移量(Relation Virtual Address,RVA),存储在该节索引表的前8位。
9、如权利要求7所述的方法,其中还增加一将该备份数据压缩的步骤,之后再存储在该特殊节中。
10、如权利要求10所述的方法,其中该段自修复程序码还包括有将该压缩後的备份数据解压缩的功能。
11、如权利要求7所述的方法,其中该循环冗余校验(CRC)数据的计算范围,为该新应用程序中不包含存储该循环冗余校验(CRC)数据的部分外的所有文件内容。
12、如权利要求1或2项所述的方法,其中该段自检测程序码比对循环冗余校验(Cyclical Redundancy Check,CRC)数据的方式,还包括下列步骤:
由该新应用程序中读出该循环冗余校验(CRC)数据;
对该新应用程序计算一新循环冗余校验(CRC)值,且其计算范围并不包括存储该循环冗余校验(CRC)数据的部分;以及
比较该新循环冗余校验(CRC)值与该循环冗余校验(CRC)数据是否相同。
13、如权利要求12所述的方法,其中若该新循环冗余校验(CRC)值与该循环冗余校验(CRC)数据不同,则跳到该段自修复程序码。
14、如权利要求12所述的方法,其中若该新循环冗余校验(CRC)值与该循环冗余校验(CRC)数据相同,则执行该新应用程序的源码(SourceCode)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英业达股份有限公司,未经英业达股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/01104692.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:利用网络使传输设备相连结的方法
- 下一篇:网页应用程序产生器