欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
未知 常见dotNet加密保护工具分析介绍   [ 2007-07-27  | 原创作品  |  rick@博客园 ]
本文主要介绍一些dotNet加密保护工具的原理以及就其脱壳进行简单探讨。remotesoft protector、maxtocode、.Net Reactor、Cliprotector

、themida .Net、xenocode native compiler、DNGuard。




阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:7560
未知 [转载]Modifying IL at runtime (step II+)   [ 2007-07-27  | 原创作品  |  blogmonstuff ]
In my previous entry on IL modification we looked at the details for inserting a method call with a known (hardcoded) method token. We also used metadata to list the available methods, as a way to avoid this hardcoding.
When listing the methods on a given class, the method signatures were available, but we didn't use them. In this short entry, we'll extend our metadata inspection a little bit by using an existing method's signature to search for another method with a matching signature.
Update: I posted the zipped project.

Using a known signature to find a method


阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:922
未知 [转载]Modifying IL at runtime (step II)   [ 2007-07-27  | 原创作品  |  blogmonstuff ]
A couple of days back, we tweaked the running IL a little bit. Today, let's modify it some more!
We'll insert a method call at the beginning of the body of the Main method. The method we'll call is as easy as can be: it is part of the of the same class, is static and has a void() signature.
The IL used during the modification is still hardcoded. But we'll try to start moving away from that by exploring the metadata, to try and find the method token at runtime. The first step of this is to list all the methods on the current class and print out their names, which we'll see how to do.
You'll need a running copy of the DNProfiler tool to try the code provided and I recommend that you read my previous blog on the subject if you haven't used the Profiler APIs before.



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:1001
未知 [转载]Modifying IL at runtime   [ 2007-07-26  | 原创作品  |  blogmonstuff ]
原文出处:http://blog.monstuff.com/

If you remember the Omniscient Debugger, it was a Java debugger that instrumented the bytecode at runtime to trace calls and monitor variables. It did so by using a custom ClassLoader.
Unfortunately the .NET classes that seemed somewhat equivalent to the Java ClassLoader are sealed, so they can't be extended. So, for a while I thought runtime instrumentation of the code wasn't possible in .NET...
A couple weeks later, I stumbled onto the NProf (open-source .NET profiler) project and wondered how they did their magic. It turns out they use the CLR Profiling APIs which are COM based and allow you to hook up into various events and get information on the runtime. It is while digging some more into these that I first found a mention of the intriguing ICorProfilerInfo::SetILFunctionBody method.


阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:1090
未知 DNGuard HVM beta1   [ 2007-07-23  | 原创作品  |  rick@博客园 ]
DNGuard 新版内核框架基本定下来了。目前版本定为 beta1。

综合考虑,采用了兼容所有 dotNet framework 版本的内核模式,Net 1.0, 1.1, 2.0, 3.0, 3.5 以及其所有子版本(如beta x,CTP,RC,sp x等)。
采用的纯虚拟机处理层内核,在dotNet执行引擎层没有安装内核服务,在执行层兼容所有版本的dotNet框架太费精力。



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:835
未知 .Net 中的名称混淆与名称反混淆   [ 2007-07-19  | 原创作品  |  rick@博客园 ]
提到 .Net 的保护,首推就是混淆保护了,而名称混淆基本上是所有混淆保护工具都具有的功能。
可以说不支持名称混淆的工具称不上混淆保护工具。
对于混淆保护,大家有一个认识,就是 混淆是一个不可逆的过程。而加密保护是一个可逆的过程。

名称混淆真的完全不可逆吗?答案是否定的。


阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:7178
未知 DNGuard HVM副产品(元数据名称编辑器)   [ 2007-07-18  | 原创作品  |  rick@博客园 ]
程序采用的 VS2003 c++/mfc 编写。使用了frame work 2.0 的api。
这个是从DNGuard HVM的手动名称混淆功能中剥离出来的副产品。

可以用来协助手动 进行名称 混淆/反混淆 。



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:1403
未知 .Net 2.0 通用反射脱壳机完整版   [ 2007-07-15  | 原创作品  |  rick@博客园 ]
之前发了一个实验品
http://bbs.pediy.com/showthread.php?t=45184

功能还不完善,这个是完整的版本。



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:5532
未知 mscorjit的介绍,兼对某壳企业版的分析   [ 2007-07-08  | 原创作品  |  rick@博客园 ]
在前面介绍mscorwks的时提到了,.net的程序是以函数为单位编译。而在 mscorjit中提供了一个函数
compileMethod 。mscorwks就是通过调用这个函数来编译.Net方法的。
对于EE层,或者虚拟机预处理层的加密壳,只需要hook这个函数就可以dump出方法体的代码了。
需要注意一点,这个函数是 thiscall 调用约定的。



阅读全文……
作者:rick  | 分类:原创作品  | 评论:0  | 引用:0  | 查看:3637
未知 .Net 反射脱壳机代码核心代码详解   [ 2007-07-04  | 原创作品  |  rick@博客园 ]
本文主要对 《.Net 反射脱壳机核心源代码 》一文代码的原理和使用进行详细介绍。


首先介绍一下代码主要流程:
入口函数


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

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