0x01 SMC简介
SMC(Self-Modifying Code)(自解码),就是先将一段代码先进行加密,在运行时再将该段代码解密,从而达成防止他人进行静态分析的目的。在很多的病毒中都有使用这种方法躲过病毒查杀,壳也是相类似的原理。
0x02 利用方式
- 直接和常用的反调试手段结合
- 通过多种方式加密解密代码,层层嵌套
0x03 破解方式
要点在于得到解密的 key 值,一般是简单的异或,也可以用加密算法加密,但都是以获取 key 值为破解方法。
0x04 破解操作
利用 IDA python 对加密的代码进行破解,参考的代码如下
def patch(start, end, key):
n = 0
while(start + n!=end + 1)
addr = start + n
PatchByte(addr, Byte(addr)^key[n % len(key)] #修改一个字节
n += 1
print("code had been changed.")
SMC(Self-Modifying Code)是一种用于防止静态分析的加密技术,常见于病毒和壳中。它通过在运行时解密加密代码来规避检测。破解的关键在于获取解密key,例如通过简单的异或操作。本文介绍了SMC的利用方式,如与反调试手段结合及多层加密解密,并展示了使用IDApython进行代码破解的示例。
3663

被折叠的 条评论
为什么被折叠?



