欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
未知 .Net 加密原理,虚拟机预处理层加密壳核心的实现(四)   [ 2007-09-04  | 原创作品  |  rick@博客园 ]
前面介绍了 EE 层核心的实现,以及针对反射漏洞的改进,
但是仍然没有达到彻底阻止反射的目的。

今回将介绍实现一个虚拟机预处理层的加密壳核心,使反射彻底失效。



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:2033
未知 .Net Native Image 加强保护的模式在 ORM、 AOP 中的问题   [ 2007-09-03  | 原创作品  |  rick@博客园 ]
前面我们讨论了 ngen 生成的 ni 文件的还原,以及它的加强保护方式阻止还原。
今天我在测试一个 ORM 程序时发现, 用加强保护模式的 ni 文件运行会出现
BadImageFormat 的 异常。

我用ORM程序测试 HVM 核心,顺便也测试了一下加强保护模式的 ni 文件 。


阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:2049
未知 .Net 加密原理,EE层加密壳核心的改进(三)   [ 2007-09-03  | 原创作品  |  rick@博客园 ]
前面介绍了 EE 层加密壳核心的实现,但是那个实现模式存在反射漏洞,
今回介绍针对反射,对核心的增强方法。

方式一、破坏反射
反射是通过调用 MethodInfo 的 GetMethodBody ()来获取 MethodBody 对象。


阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:2027
未知 .Net 加密原理, 纯EE层加密壳内核的实现(二)   [ 2007-09-02  | 原创作品  |  rick@博客园 ]
在上一回 .Net 加密原理,方法体加密信息对应关系的实现  中介绍了实现加密壳首要解决的基础问题,
今回以第一种实现模式介绍如何实现一个纯EE层(mscorwks.dll)的加密壳内核。

首先确定 “方法体加密对应信息” 直接通过元数据来保存。
这里我们使用最简单的记录方式--记录一个四字节的指针信息。


阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:2560
未知 .Net 加密原理,方法体加密信息对应关系的实现(一)   [ 2007-09-01  | 原创作品  |  rick@博客园 ]
在 per method 的dotNet加密中,首要解决的方法体对应关系,即在运行时加密壳如何确定当前要解密的方法体所对应的加密信息。


目前大部分加密壳都直接利用了dotNet的元数据来保存这种对应关系,我们知道在元数据中每个方法都会对应一个RVA值,加密壳可以直接把这个关系记录在RVA的地址处。在框架运行中RVA处的数据会被作为“方法体”在处理流程中直接传递,加密壳通过拦截框架处理流程中的函数,来对“方法体”进行分流处理。即先判断RVA处的数据是否“方法体加密对应信息”,如果是进入加密壳运行库的内部处理,不是则按原框架流程处理。



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:3546
未知 .Net Native Image 还原的原理和加强保护的方法   [ 2007-08-30  | 原创作品  |  rick@博客园 ]
在 net 2.0 中 ngen 能生成 native code 的 image,但是它同时会保留原始程序集的 MetaData 和ILCode 。
这就是还原的关键。同样的,知道了还原方法后加强保护也很容易实现。

ni 文件中的元数据和普通元数据相比多包含了一个 NativeHeader。
在 NativeHeader 中第12个入口是 OrgMetaData的 RVA和Size,第13个入口是 OrgILcode的 RVA 和Size。


阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:3380
未知 native compile 保护的dotNet本地程序还原成dotNet IL程序集   [ 2007-08-27  | 原创作品  |  rick@博客园 ]
前面讨论了 .Net 保护中的 native compile 方式 。
提到了 native compile的两种方式 伪编译 和 ngen 编译。仍然没有像C++那样的完全native的编译。

这里要讨论的就是 ngen编译 生成的  ni 文件。
前面讨论时我们提到了fetion框架中的 fetionvm.srm文件。


阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:4319
未知 asp.net 2.0 下临时关闭网站的一个小技巧   [ 2007-08-25  | C# .Net编程  |  rick@博客园 ]
在ASP.NET 2.0中,你可以建立一个叫app_offline.htm(大小写没关系)的静态HTM页面文件,其中修改成你要临时显示的内容,将其放在你的应用的根目录下。
这样,任何外部的请求的话,都会马上被转移到该页面了。
这个时候,你的网站依然可以被访问,只不过你的应用不能被访问了。

要注意的是,这个app_offline.htm页面的大小,要大于512字节,用asp.net 之父SCOTT的话来说,


阅读全文……
作者:rick  | 分类:C# .Net编程  | 评论:0  | 引用:0  | 查看:312
未知 .Net 保护中的 native compile 方式   [ 2007-08-25  | 原创作品  |  rick@博客园 ]
据宣传,这个功能就是将dotNet程序编译成native的本地代码,有代表性的相关工具有xenocode, themida 和 remotesoft。
他们实际上属于两类:
一、伪编译
就是把磁盘上的 dotNet程序转换成 win32 的程序,但运行后在内存中实际上还是dotNet程序,只是使用了一个win32 loader,把dotNet程序整体打包嵌入到了这个 win32 的loader中。



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:7149
未知 DNGuard HVM 2007 更新[20070823]   [ 2007-08-23  | 原创作品  |  rick@博客园 ]
主程序更新,界面,进度显示,修正对个别非标准。Net程序集加密出错的bug。
运行库更新,修正asp.net 1.1下的个别兼容性问题。

泛型更新,修正之前最大只支持127个泛型参数的问题。



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:1181

PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 4 queries    京ICP备17058477号-5