发明名称 具有自检测和自修复功能的应用程式
摘要 本发明为一种具有自检测和自修复功能的应用程式,系在可执行档案(Execution File)的档案结构中,更增加至少一自反馈环节,用以储存具有自检测和自修复功能的程式码,同时,修改该档案的档头设定,让应用程式由该自反馈环节开始执行;如此一来,在应用程式之原始码执行之前,可以先行自我检查档案是否遭到破坏并进行修复,以确保执行该应用程式的安全性。
申请公布号 TW535055 申请公布日期 2003.06.01
申请号 TW089114416 申请日期 2000.07.19
申请人 英业达股份有限公司 发明人 余毅;陈玄同;林光信
分类号 G06F12/16 主分类号 G06F12/16
代理机构 代理人 许世正 台北市信义区忠孝东路五段四一○号四楼
主权项 1.一种具有自检测和自修复功能的应用方法,系可使该应用程式于执行之前,先行自我检查其档案是否遭到改变,以及可以适时自我恢复该档案的原始内容,其包括有:针对该应用程式的原始码(Source Code),设计一段可以实现自检测功能的程式码,该段自检测程式码系以比对循环多余检查(Cyclical Redundancy Check,CRC)资料的方式,来确认该档案是否遭到改变;针对该应用程式的原始码(Source Code),设计一段可以实现自修复功能的程式码,该段自修复程式码系以将一备份资料复制到该档案中的方式,以恢复该档案的原始内容;对该应用程式的原始码以及该段自检测程式码和该段自修复程式码进行编译(Compiler),使其成为一个整体的可执行程式;以及将该段自检测程式码所需要的循环多余检查(CRC)资料,以及该段自修复程式码所需要的备份资料,添加于该可执行程式中,而形成一新应用程式。2.如申请专利范围第1项所述之具有自检测和自修复功能的应用方法,其中该应用程式系为一种可携带可执行(Portable Executable,PE)档案。3.如申请专利范围第2项所述之具有自检测和自修复功能的应用方法,其中该可携带可执行(Portable Executable,PE)档案的格式包括有一MS-DOS档头、一PE档头、一节索引表以及复数个资料节,而该节索引表系用于储存该资料节的节名、节开始处相对于档头的地址偏移量(Relation Virtual Address,RVA)、节的大小以及节的属性等资料。4.如申请专利范围第3项所述之具有自检测和自修复功能的应用方法,其中更增加至少一自反馈环节,用以储存该段自检测程式码以及该段自修复程式码。5.如申请专利范围第4项所述之具有自检测和自修复功能的应用方法,其中该自反馈环节的节名、节开始处相对于档头的地址偏移量(Relation Virtual Address,RVA)、节的大小以及节的属性等资料,皆纪录于该节索引表中。6.如申请专利范围第4项所述之具有自检测和自修复功能的应用方法,其中更改变该MS-DOS档头以及该PE档头的纪录,使得该新应用程式于执行之初,会由该自反馈环节开始执行。7.如申请专利范围第3项所述之具有自检测和自修复功能的应用方法,其中更增加至少一特殊节,用以储存该段自检测程式码所需要比对的循环多余检查(CRC)资料,以及该段自修复程式码所需要的备份资料。8.如申请专利范围第7项所述之具有自检测和自修复功能的应用方法,其中该特殊节的节名、节开始处相对于档头的地址偏移量(Relation Virtual Address,RVA)、节的大小以及节的属性等资料,皆纪录于该节索引表中。9.如申请专利范围第8项所述之具有自检测和自修复功能的应用方法,其中将该特殊节开始处相对于档头的地址偏移量(Relation Virtual Address,RVA),储存于该节索引表的前8位元。10.如申请专利范围第7项所述之具有自检测和自修复功能的应用方法,其中更增加一将该备份资料压缩的步骤,之后再储存于该特殊节中。11.如申请专利范围第10项所述之具有自检测和自修复功能的应用方法,其中该段自修复程式码更包含有将该压缩后的备份资料解压缩的功能。12.如申请专利范围第7项所述之具有自检测和自修复功能的应用方法,其中该循环多余检查(CRC)资料的计算范围,系为该新应用程式中不包含储存该循环多余检查(CRC)资料之部分外的所有档案内容。13.如申请专利范围第1项所述之具有自检测和自修复功能的应用方法,其中该段自检测程式码比对循环多余检查(Cyclical Redundancy Check,CRC)资料的方式,更包含下列步骤:由该新应用程式中读出该循环多余检查(CRC)资料;对该新应用程式计算一新循环多余检查(CRC)値,且其计算范围并不包括储存该循环多余检查(CRC)资料的部分;以及比较该新循环多余检查(CRC)値与该循环多余检查(CRC)资料是否相同。14.如申请专利范围第13项所述之具有自检测和自修复功能的应用方法,其中若该新循环多余检查(CRC)値与该循环多余检查(CRC)资料不同,则跳到该段自修复程式码。15.如申请专利范围第13项所述之具有自检测和自修复功能的应用方法,其中若该新循环多余检查(CRC)値与该循环多余检查(CRC)资料相同,则执行该新应用程式的原始码(Source Code)。16.如申请专利范围第1项所述之具有自检测和自修复功能的应用方法,其中该段自修复程式码将该备份资料复制到该档案中的方式,更包含下列步骤:由该新应用程式中找出该备份资料,并且对该备份资料进行解压缩;以及将该解压缩后的备份资料,复制到该新应用程式中的相应部分。17.如申请专利范围第16项所述之具有自检测和自修复功能的应用方法,其中更增加一对该解压缩后的备份资料进行循环多余检查(CRC)的步骤,并将其检查结果与该循环多余检查(CRC)资料比较,以确认该备份资料的正确性。图式简单说明:第1图,绘示习知可携带可执行(Portable Executable,PE)档案格式的结构示意图;第2A图,绘示本发明在「第1图」中更增加自检测与自修复功能的档案结构示意图;第2B图,绘示本发明在「第2A图」中更增加备份资料的档案结构示意图;第3图,绘示本发明之功能模组示意图;第4图,绘示「第3图」中之打包程式的运作流程示意图;第5图,绘示「第3图」中之自检测模组的运作流程示意图;以及第6图,绘示「第3图」中之自修复模组的运作流程示意图。
地址 台北市士林区后港街六十六号
您可能感兴趣的专利