简易SMC编写

SMC是Self Modifying Code的简称,意义为在运行中进行自修改的代码(可以视作一种简化了的壳)
本文主要给出一个简单的SMC程序及其解释

由于需要对固定的地址进行读写操作,所以建立工程时需要注意关闭ASLR
文中是直接对代码段进行操作,所以需要借助工具修改text段的属性使其可写

LoadPE修改区段属性

下面给出具体做法

首先确定需要加密的代码部分:

VS反汇编

通过vs查看反汇编(或者OD、IDA等)可以确定对应部分的反汇编代码

然后将这段代码手工用16进制编辑器覆盖为加密后的数据

程序执行时则运行事先写好的代码先进行解密再运行

Github

你可能感兴趣的:(简易SMC编写)