摘要: 这类加密保护方式属于整体程序集的加密保护.
这个方法首要解决的问题就是 native code 和 .Net Code如何交互.
这里介绍三种实现方式.
阅读全文
摘要: .Net加密壳的运行库加载方式目前主要分两种。
用得比较多的一种是 向程序集中注入Loader代码,然后给程序集中的每个类型添加静态构造函数。在静态构造函数中调用Loader代码。
另外一种,是直接利用windows pe加载器来自动加载加密壳的运行库。
阅读全文
摘要: 目前加密壳将核心转移到Jit层后,内核模式的强度增加空间已经很小了。目前市面上的加密壳至少有一个共同的缺陷,无法防止Jit底层截获IL字节码。
有些壳采用从周边增加强度(如 Anti Hook),由于hook的多样性再加上壳又需要考虑自己的兼容性,所以这个效果不是十分理想。
从防止脱壳入手,通过保护局部变量签名和异常处理表,来阻止方法体的脱壳还原。这样虽然不能阻止截获IL字节码,如果配合流程混淆还是能起到相对有效的保护。
这样仍然有些遗憾,能实现阻止Jit层截获完整的IL字节码就完美了。
阅读全文
摘要: DNGuard HVM 专业版 v2.7 正式发布。
2007-10-1 国庆促销一个月(优惠活动):
现在购买 DNGuard 标准版、专业版 可享受 八五折优惠。
阅读全文
摘要: 前面介绍了利用第三方虚拟环境来实现 .Net程序脱离框架运行,
并介绍了如何自己编写加载器程序。
今回我们介绍虚拟框架的核心实现原理,感兴趣的朋友可以参考自己实现。
在 让 .Net 程序 脱离 .net framework框架 运行(源代码实现说明) 中我们介绍的脱
离框架运行的方法,仍然需要依赖 rsdeploy.dll 才行。
今回我们就介绍这个 dll 的实现原理。
简单的实现方式:
首先我们需要用到一个 undocumented features
阅读全文