计算机科学

首页 > 计算机科学

程序自修改

2018-08-31 09:03:50     所属分类:编程典范

程序自修改(Self-modifying code)是指程序在运行期间(Run time)修改自身指令。可能的用途有:病毒利用此方法逃避杀毒软件的查杀,反静态分析,反盗版[1] ,单芯片程序升级。

电脑

在暂存内存中执行代码的计算机,可修改内存中的代码段,以往这种方法常被骇客用来制造病毒(参见:EICAR 测试病毒),现今许多操作系统及CPU提供限制程序修改代码段的方法。还可用于程序保护,增加软件破解人员的静态分析难度[2]

Java SE 6 提供Java Compiler API,和Java的反射(Reflection)机制结合在一起,即可使Java程序在运行时产生新类(Class),替换旧类。

单芯片

若由ROM执行程序,如支持IAP的单芯片能够运用程序自修改进行程序升级,也能对负责IAP功能的代码进行修改或删除从而失去IAP功能。

参考文献

  1. ^ Delphi程序的自我修改,北京 , 王甲春,《中文信息:程序春秋》,2003年第7期,第97-99页
  2. ^ 一种基于自修改代码技术的软件保护方法,王详根 ,司端锋, 冯登国, 苏璞睿,《科学院研究生院学报》 2009年9月,第26卷第5期,科学院软件研究所信息安全国家重点实验室

上一篇:萨顿定律
相关推荐