张银的博客


Eat to live, but do not live to eat.

导航

01 2012 档案

摘要:.NET Reactor 是个好东西,只不过这家伙升级的速度非常快,加密算法经常变化,而且越来越厉害,实在懒得 "跟" 了。这类工具通常在 "壳" 上做了大量的工作,诸如什么 JIT Hook、native loader 之类的。而我通常只使用它的混淆功能,所以用另外一种方法 "绕" 过去,即便不注册,也可以使用最新版本。 首先,我们准备一个简单一点的 DLL,用于分析 .NET Reactor 混淆后的限制。test.dllnamespace MyLibrary{ public class MyClass { public void 阅读全文

posted @ 2012-01-15 22:00 张银 阅读(10473) 评论(2) 推荐(2) 编辑

摘要:SuppressIldasmAttribute 是最简单也是最常用的 "反反编译" 手段,它的作用就是"提醒" ildasm.exe 不要工作。但作为一个重要的反编译工具,我们当然不希望 ILDasm.exe 这么"聪明"。没办法,还是得自己动手,给ildasm.exe 当头一棒,打傻再说。 首先拿出 CFF Explorer 看看 ildasm.exe 的基本信息。 晕!居然是 Win32 Native Code,看来试图修改 IL 的老办法是没戏了。怎么办呢?既然是 native code,也就是说它没有办法用我们所熟悉的反射手段 阅读全文

posted @ 2012-01-15 05:16 张银 阅读(617) 评论(0) 推荐(0) 编辑

摘要:IL文件修改入门篇================================== Object: 掌握简单的IL文件处理知识 能够熟练运用ildasm,ilasm工具 ================================== 1.编写简单的hello.cs2.编译源代码csc hello.cs3.反编译hello.exe,命令如下: ildasm hello.exe /out=hello.il4.打开hello.il文件,找到下面语句 IL_0000: ldstr "Hello World!" 修改为 IL_0000: ldstr "Hello 阅读全文

posted @ 2012-01-15 04:01 张银 阅读(670) 评论(1) 推荐(1) 编辑

摘要:c# code:using System;public class aidd2008{ public static void Main(String[] argv) { int x = 10; int y = 6; if (x > y) { Console.WriteLine(x); } else { Console.WriteLine(y); } Console.Read(); } } MSIL code... 阅读全文

posted @ 2012-01-15 00:17 张银 阅读(578) 评论(0) 推荐(0) 编辑

摘要:一、IL与汇编语言 IL(Intermediate Language)是微软.NET平台上衍生出的一门中间语言,.NET平台上的各种高级语言(如C#,VB,F#)的编译器会将各自的代码转化为IL。,其中包含了.NET平台上的各种元素,如“范型”、“类”、“接口”、“模块”、“属性”等等。值得注意的是,各种高级语言本身可能根本没有这些“概念”在里头,如IronScheme是一个在.NET平台上的Scheme语言实现,其中根本没有前面提到的这些IL——亦或说是.NET平台上的名词。IL本身并不知道自己是由哪种高级语言转化而来的,哪种语言中有哪些特性,IL也根本不会关心。 各种语言的编译器将: .. 阅读全文

posted @ 2012-01-14 22:22 张银 阅读(3017) 评论(1) 推荐(1) 编辑