紫雨轩 .Net, DNGuard HVM , .Net VMProtect

DNGuard HVM - Advanced .NET Code Protection Technology

导航

上一页 1 ··· 4 5 6 7 8 9 10 11 下一页

2007年7月8日

mscorjit的介绍,兼对某壳企业版的分析

摘要: 在前面介绍mscorwks的时提到了,.net的程序是以函数为单位编译。而在 mscorjit中提供了一个函数 compileMethod 。mscorwks就是通过调用这个函数来编译.Net方法的。 对于EE层,或者虚拟机预处理层的加密壳,只需要hook这个函数就可以dump出方法体的代码了。 需要注意一点,这个函数是 thiscall 调用约定的。 .Net方法体进入 compileMethod 之后是怎么样的处理流程呢? 阅读全文

posted @ 2007-07-08 23:22 紫雨轩 .Net 阅读(3519) 评论(7) 推荐(0) 编辑

2007年7月4日

.Net 反射脱壳机代码核心代码详解

摘要: 本文主要对 《.Net 反射脱壳机核心源代码 》一文代码的原理和使用进行详细介绍。 首先介绍一下代码主要流程: 入口函数 void DumpAssembly(Assembly ass,string path) 枚举所有type,调用 void DumpType(Type tp, BinaryWriter sw) 枚举所有方法,调用 void DumpMethod(MethodBase mb, BinaryWriter sw) { MethodBody mbd = mb.GetMethodBody(); if (mbd == null) return; SetOffset(sw, mb.MetadataToken); WriteHeader(sw, mbd); WriteILCode(sw, mbd); WriteSEH(sw, mbd); } 阅读全文

posted @ 2007-07-04 13:21 紫雨轩 .Net 阅读(3292) 评论(5) 推荐(0) 编辑

2007年6月30日

.Net 反射脱壳机核心源代码

摘要: 入口函数 void DumpAssembly(Assembly ass,string path) 枚举所有type,调用 void DumpType(Type tp, BinaryWriter sw) 枚举所有方法,调用 void DumpMethod(MethodBase mb, BinaryWriter sw) { MethodBody mbd = mb.GetMethodBody(); if (mbd == null) return; SetOffset(sw, mb.MetadataToken); WriteHeader(sw, mbd); WriteILCode(sw, mbd); WriteSEH(sw, mbd); } 阅读全文

posted @ 2007-06-30 19:26 紫雨轩 .Net 阅读(2784) 评论(11) 推荐(0) 编辑

2007年4月25日

谈anti ILdasm的原理以及anit 框架API的可行性

摘要: anti ILdasm最早是在 xenocode中发现的,当时是anti ildasm 1.1,当时这个东西应该算是Undocument的。 不过到了 net 2.0我们在 msdn文档中发现了: 注意:此类在 .NET Framework 2.0 版中是新增的。 防止 MSIL 反汇编程序 (Ildasm.exe) 反汇编程序集。无法继承此类。 将 SuppressIldasmAttribute 属性应用于程序集或模块可防止使用 MSIL 反汇编程序 (Ildasm.exe) 反汇编程序集或模块。 此属性不防止使用反射查看程序集。 注意,SuppressIldasmAttribute 属性不阻止 MSIL 反汇编程序 (Ildasm.exe) 查看标头信息和元信息。 阅读全文

posted @ 2007-04-25 00:31 紫雨轩 .Net 阅读(4534) 评论(36) 推荐(0) 编辑

2007年4月20日

遭遇未知.Net加密壳

摘要: 今天一个朋友拿一个OA系统程序让我看是什么加密壳。 这个壳还是第一次遇到,anti ildasm,anti 反射。 reflector 和9ray的工具都不灵。 很有特色的名称混淆"o10l1o0l"。 但是从库的导出表来看似曾相识。 阅读全文

posted @ 2007-04-20 00:51 紫雨轩 .Net 阅读(9060) 评论(40) 推荐(0) 编辑

2007年4月16日

mscorwks.dll在.Net中的地位以及在.Net代码保护方面的应用

摘要: mscorwks.dll是dotNet的核心文件,尤其是在net2.0中,以前分散的功能都集中到了这个dll中。 net1.1中,还有一个文件mscorsvr.dll 和 mscorwks.dll 是同等地位的。 它们分别对应于 windows service程序以及 desktop 程序。 在net2.0中,它们都统一到了 mscorwks。dll中。 同时在net2.0中mscorsn.dll 的功能也合并到了 mscorwks.dll中。 EE层的加密壳,其工作的核心也是和 mscorwks.dll 密切相关的。 阅读全文

posted @ 2007-04-16 00:03 紫雨轩 .Net 阅读(8845) 评论(17) 推荐(1) 编辑

2007年4月9日

DNGuard 2.0 正式版以及DNGuard HVM 预览

摘要: DNGuard v2.0 正式版 1、文件说明: /DNGuardCmd.exe DNGuard命令行版本 /DotNetGuard.exe DNGuard图形界面版本 /DNGRuntime.dll DNGuard运行库文件。 2、命令行使用说明: Usage: DNGuardCmd [Options] [Options] Options: /EC Encrypt New Methods /SNK= Use SNK file for StrongName /PFX= Use PFX file for StrongName /PWD= Password for PFX file eg: DNGuardCmd hello.dll hello_encr 阅读全文

posted @ 2007-04-09 10:00 紫雨轩 .Net 阅读(2767) 评论(8) 推荐(0) 编辑

2006年12月31日

浅谈DotNet 保护中的字符串加密技术

摘要: 学习过了名称混淆,最近又看了一些字符串加密方面的东西。 在混淆保护和加密壳中都有字符串加密保护功能。 总体上字符串加密可以分为两类, 第一类是混淆保护中的字符串加密技术。主要特征是修改代码执行路径。 大部分混淆保护工具的字符串加密都是这一类。 第二类就是加密壳中的字符串加密技术。这种不用修改IL代码,直接对元数据中的字符串加密。 阅读全文

posted @ 2006-12-31 00:47 紫雨轩 .Net 阅读(4387) 评论(2) 推荐(0) 编辑

2006年12月21日

剖析DotNet的名称混淆保护技术,兼谈某壳3.15的新保护技术

摘要: 混淆在目前的DotNet保护中占主流地位。名称混淆是最基础的混淆保护技术。 DotNet加密保护工具MaxToCode也在最近的更新中加入了部分混淆保护功能---名称混淆。 我们先谈谈名称混淆技术,名称混淆从本质上可以分为两类。 阅读全文

posted @ 2006-12-21 14:47 紫雨轩 .Net 阅读(5199) 评论(16) 推荐(0) 编辑

2006年12月9日

深入Jit,实现dotNet代码的加解密

摘要: 这段时间在测试.Net Jit的容错性,为了方便,就直接将代码插入到Jit中进行测试了。 这个种方式就是我前面介绍DNGuard时提到的第一种增加内核强度防反射脱壳的方法。 这种技术即可用在dotnet代码的保护上,也可以用在dotnet加密壳的解密上。 DNGuard 2.0的内核使用的就是Jit层,容错性测试差不多了。 DNGuard目前的内核基调就不会再调整了。 接下来就要着手DNGuard H-VM的试验和测试了。这个也是纯Jit层的。(H = half) DNGRuntime在运行时动态还原程序集,进行程序集方法的拆分(即一个方法被拆分为两个或多个), 拆分后的方法差不多是一半走jit,一半走DNG H-VM。 遵循如下约定: 如果方法A走Jit,则被方法A所调用的方法都走 DNG H-VM。 阅读全文

posted @ 2006-12-09 00:49 紫雨轩 .Net 阅读(5510) 评论(14) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 下一页