论SMC的实现(2) -- 代码实例(更新ing)

环境:VS2019 release,关随机基址开固定基址,关数据保护,优化OD级别,关全程序优化,段RWE

实现方式①:原文件函数加密

这里咱们先写一个简单的输出函数,并在程序中为其写好解密函数:

论SMC的实现(2) -- 代码实例(更新ing)然后调试一下,可以发现这里成功对函数进行了加密
论SMC的实现(2) -- 代码实例(更新ing)论SMC的实现(2) -- 代码实例(更新ing)执行完成后的函数:论SMC的实现(2) -- 代码实例(更新ing)好,那么在完成这一点之后我们再对生成的exe文件里的函数进行加密,就可以完成我们的smc程序了。这里的难点主要是在于对函数进行定位。我先来讲比较简单的一种:增设段
这里的操作就如下图,将我们的加密函数给包裹起来:
论SMC的实现(2) -- 代码实例(更新ing)ps:别忘了把这个段也设置成RWE
查看区段:
论SMC的实现(2) -- 代码实例(更新ing)用hex工具找到对应地址。
论SMC的实现(2) -- 代码实例(更新ing)进行异或1
论SMC的实现(2) -- 代码实例(更新ing)成功执行
论SMC的实现(2) -- 代码实例(更新ing)