自修改代码

自修改代码（）是指程序在运行期间（）修改自身指令。可能的用途有：病毒利用此方法逃避杀毒软件的查杀，反静态分析，反盗版 ，單晶片程序升级。

电脑
在暫存記憶體中执行代码的计算机，可修改内存中的代码段，以往这种方法常被駭客用来制造病毒（参见：EICAR 测试病毒），现今许多操作系统及CPU提供限制程序修改代码段的方法。还可用于程序保护，增加软件破解人员的静态分析难度。

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

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

参考文献

編程典範