摘要: 原地址:http://aplo.cnblogs.com/archive/2006/07/18/453600.html 看到了关于MaxToCode的破解文章我也来谈谈我的破解过程。 我也研究过,并且自己写出了一个类似的程序,MaxToCode起到一定保护作用,因为任何给予CRT的托管代码都逃不过Profile的检查,如果编写一个Profile程序(可以参考MSDN),在CRT编译开始的时候动态读... 阅读全文
posted @ 2008-07-19 18:10 qjjnet 阅读(2799) 评论(1) 推荐(1) 编辑
摘要: 原地址:http://www.cnblogs.com/rick/archive/2006/09/14/504525.html 自上次写第一篇文章到现在不知不觉两个月过去了,这篇文章我们将介绍怎么获取解密后的IL字节代码。 我们先回顾一下前文,在上一回我们提到“InFaceMaxtoCode.Startup 正常启动后,在整个程序集中只会运行一次。”。 当时这种说法是很武断的,如果 “InFace... 阅读全文
posted @ 2008-07-19 18:09 qjjnet 阅读(2196) 评论(0) 推荐(0) 编辑
摘要: 这里研究的对象是 MaxtoCode 3.1试用版.这里只探讨程序代码的加密. 对.Net程序代码的加密过程如下: 1. 运行 ildasm 将程序集反编译成 il代码文件. 2. 对IL代码文件进行处理.(*) 3. 运行 ilasm 将 IL代码文件编译成程序文件. 4. 直接对程序文件中的il字节码加密.(**) 粗体表示的 2 , 4 是关键步骤. 我们先来看看第四步.这一步就... 阅读全文
posted @ 2008-07-19 18:08 qjjnet 阅读(10932) 评论(0) 推荐(0) 编辑
摘要: 这几天,工作特别忙,没空抽出时间来写文章,粗糙之作,还请见谅。 1. 名称混淆 - 反混淆 名称混淆返混淆,基本上是不太可能的事,因为以前的名称已经换掉了,也没有 第二个名称备份表, 所以根本无法还换。 不过,可以把不可见字符转换为可见字符,长字符串换成短字符串。 有两种方法可以做处理: 1. 在MetaData中有一个区域叫做 _STRING 它存放了所有名称字符串,... 阅读全文
posted @ 2008-07-19 18:01 qjjnet 阅读(1565) 评论(0) 推荐(0) 编辑
摘要: 新一代NET代码保护工具 MaxtoCode 的原理简介 MaxtoCode作为新一代保护工具,他有绝对优于目前所有NET代码保护工具的强度,是目前最保护强度最高的解决方案。但它也有缺点,最大的缺点即是:被加密后的程序集只能在WINDOWS平台下运行,而不能跨平台。但,MS的战略影响,几乎不可能出现官方非WINDOWS平台的NET运行环境,所以,此缺点先忽略不计,也许随着版本的升级,Maxt... 阅读全文
posted @ 2008-07-19 18:01 qjjnet 阅读(1561) 评论(1) 推荐(1) 编辑
摘要: 本来是没有这一篇的,但想了想,觉得自己讲得太肤浅,怕有的朋友听不懂,所以决定在流程混淆里再讲一篇。这次我们拿XenoCode的混淆算法来进行一次详细的讲解。 XenoCode可能是需要保护自己软件的朋友最常用的混淆工具,他的流程混淆算法是怎样的呢?(有的叫做 控制流程模糊,其实原理都一样) 首先,我再次申请,制造混淆最常用的方式是跳转指令。它就是把原有的代码结构错位,再用跳转指令把原有的执行逻辑连... 阅读全文
posted @ 2008-07-19 18:00 qjjnet 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 流程混淆感觉和移形换位、乾坤大挪移有点象……好象已经说过…… 为什么这么说呢?因为,流程混淆就是移来移去,达到让你看不懂流程的原理来进行的。 在此,我还要介绍一些其它的知识。由于NET的特性,所以,动态调试NET的全部过程几乎是不可能的,所以,静态分析成为了NET的首选。那么,对付静态分析最好的办法是什么呢?在远古的C时代就已经有这种方法了(混淆其实一点也不新... 阅读全文
posted @ 2008-07-19 17:59 qjjnet 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 前段时间特别忙,没有时间更新自己的博客,也感到非常过意不去。可是我工作中的经历也许不是大家更感兴趣的话题,再加上framesniper兄把我拉进了 Inside IL and CLR 团队,虽嘴上说忙,但必须还要是做点贡献,所以正好赶上MaxtoCode 2.0 差不多快发布了,抽出几天时间,写写此领域的文章。 随便先说一下:凡是一个事物的存在,必然有存在的理由。有的朋友说:“你的代码没有价值,... 阅读全文
posted @ 2008-07-19 17:58 qjjnet 阅读(955) 评论(0) 推荐(0) 编辑
摘要: 上面,我们分析了一段IL方法,相信大家对什么是IL有一个认识了,如果想流畅的阅读IL,那么还需要把官方的资料读懂,记牢! 今天我们来讲讲混淆基础。 什么是混淆,故名思意,就是混杂,使界限不分明。这个词相当妙,特别是用在计算机界。 我们知道NET程序集中有一个重要特性叫做MetaData(元数据),它是NET的特性,它记录了相关程序集的一切信息,正因为这样的特性,NET程序集才有了跨平台的可能,才... 阅读全文
posted @ 2008-07-19 17:56 qjjnet 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 今天,我正式加入博客园,开始.net的新征程,希望在此与各路高手学习交流,共同进步! 阅读全文
posted @ 2008-07-19 17:48 qjjnet 阅读(183) 评论(0) 推荐(0) 编辑