程序自修改(程序自修改)

自修改代码( self-modifying code, SMC ) 意思是自我修改的代码,使程序在运行时自我修改,用途包括:
1) 使一些重要的跳转位置爆破无效化 (以 smc 对重要位置进行覆写)
2) 使一些重要代码隐藏 (在必要时才实时产生重要代码段,防止程序被人静态分析,也防止一些透过搜寻的破解方法)

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

在内存中执行代码的计算机,可修改内存中的代码段,以往这种方法常被黑客用来制造病毒,现今许多操作系统及CPU提供限制程序修改代码段的方法。还可用于程序保护,增加软件破解人员的静态分析难度。
Java SE 6 提供Java Compiler API,和Java的反射(Reflection)机制结合在一起,即可使Java程序在运行时产生新类(Class),替换旧类。
若由ROM中执行程序,如支持IAP的单片机能够运用程序自修改进行程序升级,也能对负责IAP功能的代码进行修改或删除从而失去IAP功能。

  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓