Flier's Sky

天空,蓝色的天空,眼睛看不到的东西,眼睛看得到的东西

导航

07 2004 档案

摘要:Junfeng Zhang在其 BLog 的文章,What is new in .Net framework 2.0 (7) --- Marshal.GetDelegateForFunctionPointer,中介绍了 .NET 2.0 中如何使用 Marshal.GetDelegateForFunctionPointer 方法,直接从导入的函数指针生成 Delegate。这一功能可以大大... 阅读全文

posted @ 2004-07-22 00:49 Flier Lu 阅读(3248) 评论(1) 推荐(0) 编辑

摘要:我在上一篇文章《DACL, NULL or not NULL》中曾简要地介绍了 Windows 系统中 Session 的概念,并且通过一个自己编写的小工具 KeSession 列出当前系统 Session 信息。本文中我将就遍历并获取当前系统 Session 信息的方法进行详细分析,并借此机会让大家能够从 Session 的角度对 WinNT 底层帐号和权限管理机制有更深入的了解。因为文... 阅读全文

posted @ 2004-07-19 23:00 Flier Lu 阅读(5782) 评论(7) 推荐(0) 编辑

摘要:我们知道 CLR 中 Assembly 是在名为 AppDomain 的逻辑空间中被载入运行的,而 AppDomain 是介于操作系统层面进程和线程概念之间,同时具有线程的轻便和进程的封闭性,使用者可以通过 AppDomain.CreateDomain 传见新的 AppDomain。这样一来就出现了一个鸡生单还是蛋生鸡的问题,这个 AppDomain.CreateDomain 方法肯定是要... 阅读全文

posted @ 2004-07-17 00:08 Flier Lu 阅读(3113) 评论(5) 推荐(0) 编辑

摘要:上周 hBifTs 在折腾他的文件映射封装类的时候,碰到了不能在 ASP.NET 中直接打开由桌面程序创建的内核对象的问题。 内存映射文件与用户权限 他当时是的方法是修改 ASP.NET 配置文件,让 ASP.NET 扮演系统管理员帐号运行来访问对象。我在水木上回帖说这是非常不好的编程习惯,因为这样一来会是的 ASP.NET 页面运行在失控的安全上下文中。一旦有恶意代码攻击... 阅读全文

posted @ 2004-07-15 23:24 Flier Lu 阅读(14289) 评论(11) 推荐(0) 编辑

摘要:初来乍到,多谢各位捧场了,呵呵这儿贴的都是些平日自娱自乐的原创文章,有意见建议讨论板砖什么的尽管上,溢美之辞就不必了以后关于 .NET 方面的文章我会往这边转贴一份,其他过于 Windows 等方向的问题,有兴趣的朋友可以到我在 blogcn 上的主站上与我讨论。http://flier_lu.blogone.net/此外多谢hBifTs的热心推荐,以及帮忙转贴旧时文章。 阅读全文

posted @ 2004-07-08 14:23 Flier Lu 阅读(1736) 评论(12) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2602647&run=.0A0B923实际上,在 C# 中也提供了隐藏的对 vararg 类型方法定义和调用的支持,那就是 __arglist 关键字。 以下内容为程序代码:public class UndocumentedCSharp{ [DllImport("msvcrt.d... 阅读全文

posted @ 2004-07-08 12:03 Flier Lu 阅读(2615) 评论(1) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2602611&run=.09D4C2FC++ 语言因为缺省使用 cdecl 调用方式,故而可以很方便实现参数可变参数。详细的原理可以参考我另外一篇文章《The history of calling conventions》。具体到使用上,就是我们最常用的 printf 系列函数: ... 阅读全文

posted @ 2004-07-08 12:02 Flier Lu 阅读(1548) 评论(2) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2573246&run=.0A2F3E7大概半年前曾写过一个在 WinForm 程序中嵌入 ASP.NET 的简单例子,《在WinForm程序中嵌入ASP.NET》。因为是试验性质的工作,所以当时偷懒直接使用系统自带的 SimpleWorkerRequest 完成 ASP.NET 页面请求的处理工... 阅读全文

posted @ 2004-07-08 12:01 Flier Lu 阅读(1096) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2513220&run=.05A880F 因为手头工作的原因,最近集中精力把《XML Schema数据库编程指南》一书看完,感觉还是相当不错的。 目前 XML 的使用越来越广泛,但是缺乏良好格式定义的 XML 不但起不到数据交互和数据存储的作用,反而会导致数据规范性和格式版本兼容性方面的问题... 阅读全文

posted @ 2004-07-08 12:00 Flier Lu 阅读(3999) 评论(1) 推荐(1) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2507847&run=.0FB98ABWDM (Windows Driver Model) 都还没有完全弄明白,M$ 居然在 WinHEC 上又推出了将全面取代 WDM 的 WDF (Windows Driver Foundation)。OSR Online 上几篇文章简要地介绍了 WDF 的一... 阅读全文

posted @ 2004-07-08 11:59 Flier Lu 阅读(6564) 评论(2) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2401390&run=.0D9CAA6完成端口是 NT 架构下一种高效的异步 IO 辅助机制,其使用方法已经被广为讨论,MSDN里面也有很详细的说明和示例。《Windows网络编程》一书中有关于通过完成端口实现高效网络服务器设计的详细说明;《Windows核心编程》一书中有关于异步IO以及线程池... 阅读全文

posted @ 2004-07-08 11:58 Flier Lu 阅读(5529) 评论(1) 推荐(1) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2399723&run=.06FE977最近工作比较忙,闲暇时间要先保障学习、读书和游戏,呵呵,没太多时间做 BLog 的“功课”,就推荐几本正在读或准备读的杂书滥竽充数吧 :P screen.width/2)this.width=screen.width/2" vspace=2 bord... 阅读全文

posted @ 2004-07-08 11:58 Flier Lu 阅读(3757) 评论(2) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2349047&run=.01EAE25这期 MSDN 杂志 中,James Avery 在一篇文章,Ten Must-Have Tools Every Developer Should Download Now,中推荐了十个非常不错的 .NET 方面的辅助开发工具。 Snippet... 阅读全文

posted @ 2004-07-08 11:57 Flier Lu 阅读(2886) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2309231&run=.0C9B086随着安全性编程逐渐受到重视,我们需要面对一些以前容易忽视的安全隐患。例如在一个系统字符串中保存当前用户密码或其他敏感信息,则具备权限的其他进程可以很轻松的通过系统提供的 ReadProcessMemory 函数或调试接口,搜索并读取这个字符串的内容,进而了解... 阅读全文

posted @ 2004-07-08 11:56 Flier Lu 阅读(1951) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2232621&run=.0999083 cbrumme 在 Finalization 一文中多次提到了资源包装类生命期管理和句柄重用攻击的问题,其另外一篇文章 Lifetime, GC.KeepAlive, handle recycling 详细讨论了这个问题。 首先考察一个外部资源包装类... 阅读全文

posted @ 2004-07-08 11:55 Flier Lu 阅读(996) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2231935&run=.0210194 在了解了 Finalization 存在的问题后,接下来看看 CLR 1.0 和 1.1 中的现状,以及 Whidbey (v2.0) 中是如何尝试解决这些问题的。 在 v1.0 和 v1.1 中,一旦创建一个 finalizable 对象,则此对象... 阅读全文

posted @ 2004-07-08 11:54 Flier Lu 阅读(1007) 评论(2) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2203965&run=.08E8850Finalization 机制是 CLR 中完成显式资源释放的地方,将之与 IDisposable 接口机制配合,能够完成在 CLR 中对资源显式管理。但因为设计上的一些问题,导致正确编写 finalizer 是一件非常困难的事情,cbrumme 在其 BL... 阅读全文

posted @ 2004-07-08 11:54 Flier Lu 阅读(1106) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2178387&run=.0F8ED5D在仔细阅读 scz 的《MSDN系列(11)--给SoftICE写插件》一文后,忍不住自己动手试试 WinDbg 插件的编写,呵呵。不过我选择的是与小四不同的另一种 WinDbg 插件编写方法。 WinDbg 最新版本的 sdkhelp 目录下有一个 ... 阅读全文

posted @ 2004-07-08 11:53 Flier Lu 阅读(1663) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2164751&run=.04005F8CLR 产品单元经理(Unit Manager) Jason Zander 在前几天一篇文章 Why isn't there an Assembly.Unload method? 中解释了为什么 CLR 中目前没有实现类似 Win32 API 中 Unloa... 阅读全文

posted @ 2004-07-08 11:32 Flier Lu 阅读(2404) 评论(1) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2042872&run=.03463D0在上一节中简单介绍了 CLR 调试器的框架结构,其中提到 CLR 调试环境同时支持 Native 和 Managed 两种模式的调试事件。这一节将从整体上对调试事件做一个概括性的介绍。 首先看看 CLR 通过 ICorDebugManagedC... 阅读全文

posted @ 2004-07-08 11:31 Flier Lu 阅读(788) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=2151342&run=.07A3756 上周 MS 发布了最新的 C# 2.0 版本语言规范,其中一个很有趣的新增语法特性是 nullable types。通过这种语法,可以让一个普通内建类型的内容为空(NULL)。之所以新增这个类型,很大程度上应该是为了从语言一级对与关系型数据库的交互进行封装... 阅读全文

posted @ 2004-07-08 11:31 Flier Lu 阅读(1332) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1934417&run=.09DD601前两天有位朋友问到在 .NET 里面调用 Java 类方法并返回值的方法,刚好手头工作可能会需要用 JNI 来封装现有系统,于是晚上写了个调用例子,顺手对 JNI 的基本调用做了一个简单的封装。因为 JNI 的接口设计上主要面向 C++ 语言,因此决定将 J... 阅读全文

posted @ 2004-07-08 11:28 Flier Lu 阅读(3370) 评论(5) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1957096&run=.0E0327A关于 NT 环境下用户态直接读写端口这码子事,本应该是95-96年 NT 架构刚刚出来时讨论的东西,现在翻出来炒现饭,实在是不得已的事情。因为前几天有朋友问起 TSS 中 IOPM 表的问题,而网上这方面的可用文章大多只是泛泛而谈,空有实现方法没有原理分析,... 阅读全文

posted @ 2004-07-08 11:28 Flier Lu 阅读(1585) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1894812&run=.0AA0EFB 如 Don Box 在《.NET本质论 第1卷:公共语言运行库》一书的第10章中介绍, CLR 调试框架是一个由 CLR 提供的,面向工具开发商的,支持调试功能的最小功能集。与 JVM 的 JDI (Java Debug Interface)不同,CLR ... 阅读全文

posted @ 2004-07-08 11:27 Flier Lu 阅读(858) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1819166&run=.08F07F8折腾 CLR 调试接口也有几周了,可是在将 C++ 代码移植到 C# 时总是有问题,直到刚刚才灵机一动有所突破,呵呵,总算可以开始写这个系列文章了。:D 虽然需要实际用到 CLR 调试接口的人可能非常少,但通过对 CLR 调试接口和 Profiler... 阅读全文

posted @ 2004-07-08 11:25 Flier Lu 阅读(732) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1745407&run=.0F766FA再回头看前面那个 C# 代码的例子,在 JIT 完成之后: 以下为引用: .method private hidebysig static void Main(string[] args) cil managed // SIG: 00 01... 阅读全文

posted @ 2004-07-08 11:24 Flier Lu 阅读(824) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1745373&run=.00B7C29在了解了方法表的物理结构后,我们接着分析方法的动态调用机制。 从方法的调用类型来分,CLR支持直接调用、间接调用和很少见的 tail call 模式。 直接调用最为常见,又可分为使用虚方法表的 callvirt 指令和不使用虚方法表的... 阅读全文

posted @ 2004-07-08 11:22 Flier Lu 阅读(1040) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1702100&run=.0A2F3E7虽然也算是把 TCP/IP Illustrated 三卷大致翻看过一遍,但现在回想起来读的真是很不认真,往往只是对自己感兴趣的地方仔细研究,麻烦的地方点到为止。这次因为那个号称 TCP 原理上存在的漏洞,又涨了一些经验值,原来发送 SYN 包也是可以导致重置... 阅读全文

posted @ 2004-07-08 11:14 Flier Lu 阅读(4547) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1745355&run=.0A0B923 Don Box在《.NET本质论 第1卷:公共语言运行库》的第6章里,详细地解说了 CLR 中方法地调用机制的原理;qqchen在其 BLog 上也有一篇不错的介绍 CLR 中方法调用分类的文章《CLR Drilling Down: The Overhea... 阅读全文

posted @ 2004-07-08 11:13 Flier Lu 阅读(916) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1733932&run=.09D4C2F转眼折腾 .NET 这套东西也有好几年了,从最开始与几个朋友互相转发讨论那聊聊无几的英文介绍文章、到抱着鸟语SDK文档和几十M的设计手册狂啃,再到现在铺天盖地的 .NET 方向的书籍,呵呵,不得不感叹世界发展之快 :D 不过折腾到现在,抛开纯粹应用层... 阅读全文

posted @ 2004-07-08 11:12 Flier Lu 阅读(12356) 评论(36) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1678453&run=.05A880F本来想按照 sos 的帮助文件上命令的分类逐步介绍 WinDbg 下使用 sos 调试 CLR 程序,但发现这样实在不够直观。索性改成根据我分析 CLR 的实际案例,step by step 介绍功能,这样结构上虽然混乱一点,但更加直观,也易于上手 :P ... 阅读全文

posted @ 2004-07-08 11:11 Flier Lu 阅读(2285) 评论(2) 推荐(1) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1670460&run=.0FB98ABCLR中通过预定义属性(Attribute)为值类型结构的定义提供了很大的灵活性,基本上可以很灵活地处理绝大部分原有Win32 API和COM接口的定义。 对没有显式指定的类和结构,C#及其它编译器有权利任意更改字段定义顺序,以优化占用空间... 阅读全文

posted @ 2004-07-08 11:09 Flier Lu 阅读(2692) 评论(1) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1635813&run=.06FE977 Vijay 在其 BLog 上的一篇文章 A .NET Riddle 中提出了一个有趣的问题: 以下为引用: What is the only Type in .NET which has only a non-public con... 阅读全文

posted @ 2004-07-08 11:07 Flier Lu 阅读(1517) 评论(1) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1652203&run=.002A442记得在VS2003刚刚发布的时候,曾经给VS项目经理写过一封信询问下个版本中是否会加入关于Refactoring的支持,但是那位老兄的说法是这部分功能应该由第三方软件而不是MS完成,呵呵。不过随着主流IDE开发环境如Eclipse/JBuilder等都增加了... 阅读全文

posted @ 2004-07-08 11:07 Flier Lu 阅读(847) 评论(2) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1620823&run=.0C124A1 OFBiz项目的主要人员之一David Jones在一篇讨论中,Re: double-checked synch, Entity Engine & Struts,讨论了为什么不在OFBiz中使用Struts和Double Checked Locking模... 阅读全文

posted @ 2004-07-08 11:06 Flier Lu 阅读(5196) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1577440&run=.0999083让我们回过头来看看P4架构下的Cache结构。 The IA-32 Intel Architecture Software Developer's Manual, Volume 3: System Programming Guide ... 阅读全文

posted @ 2004-07-08 11:05 Flier Lu 阅读(4280) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1618917&run=.022BCC2在本系列文章的前两篇文章中,简要地介绍了 Win32 调试接口中用户态调试器结构和调试事件的相关知识 Win32 调试接口设计与实现浅析 [1] 用户态调试器结构初探 Win32 调试接口设计与实现浅析 [2] 调试事件 在这... 阅读全文

posted @ 2004-07-08 11:03 Flier Lu 阅读(1160) 评论(2) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1603607&run=.0F06293随着应用安全性逐渐受到重视,这方面的书籍也越来越多,刚刚整理了一下自己手头关于.NET安全编程方面的书,发现有几本还是很不错的,顺便推荐一把。 O'Reilly 的书始终是有品质保障的,Programming .NET Security也非常不... 阅读全文

posted @ 2004-07-08 11:00 Flier Lu 阅读(1975) 评论(2) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1601113&run=.01EAE25 Keith Brown在4月份的MSDN杂志上发表了一篇讨论.NET下安全性的文章,Beware of Fully Trusted Code,其中详细讨论了让 Managed Code 允许在 Fully Trusted 模式下的危害。真是不看不知道,呵... 阅读全文

posted @ 2004-07-08 10:58 Flier Lu 阅读(2275) 评论(0) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1587099&run=.0C9B086 MS的Fusion组成员Junfeng Zhang在其中文版本BLog上发表了一篇文章,CLR Loader and Java Class Loader Compared,简要地比较了CLR Loader和Java Class Loader。得出的结... 阅读全文

posted @ 2004-07-08 10:57 Flier Lu 阅读(1415) 评论(1) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1558534&run=.0F8ED5D Raymond Chen完成了一个非常出色的系列文章,讨论了从16bit x86架构到 IA64/AMD64、从CISC到RISC的各种调用约定(calling convention)。加上其后的讨论,让我们能够从头到尾对调用约定的发展有所了解。 ... 阅读全文

posted @ 2004-07-08 10:57 Flier Lu 阅读(2127) 评论(1) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1577430&run=.0556816 在复杂的底层网络程序中,内存拷贝、字符串比较和搜索操作很容易成为性能瓶颈所在。编译器自带的此类函数虽然做了一些通用性的优化工作,但因为在使用指令集方面受到兼容性的约束,远远没有达到最大限度利用硬件能力的地步。而通过针对特定硬件平台的优化,可以大大提高此类... 阅读全文

posted @ 2004-07-08 10:54 Flier Lu 阅读(2712) 评论(1) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/index.html?id=1567274&run=.08E8850我们在开发程序的时候,往往会在B/S和C/S模式之间摇摆不定,因为这两种模式在特性上各有千秋,常常想如果能够结合两者的优点就好了,呵呵。Smart Client正是结合两种模式的一种尝试,它构建于Web Service提供的功能之上,同时具有B/S模式通过网... 阅读全文

posted @ 2004-07-08 10:52 Flier Lu 阅读(1307) 评论(0) 推荐(0) 编辑

摘要:to NGen or not to NGen, that is the questionhttp://www.blogcn.com/user8/flier_lu/index.html?id=1550010&run=.04005F8 Jeffrey Richter曾在CodeGuru上发表过一篇讨论是否应该使用NGen的文章。(ngen.exe支持将CLR格式的IL代码编译成Native的代码... 阅读全文

posted @ 2004-07-08 10:46 Flier Lu 阅读(1043) 评论(0) 推荐(1) 编辑

摘要:.NET 1.1中预编译ASP.NET页面实现原理浅析 [1] 自动预编译机制浅析http://www.blogcn.com/user8/flier_lu/index.html?id=1544105&run=.0E0327A.NET 1.1中预编译ASP.NET页面实现原理浅析 MS在发布ASP.NET时的一大功能特性是,与ASP和PHP等脚本语言不同,ASP.NET实际上是一种编译... 阅读全文

posted @ 2004-07-08 10:45 Flier Lu 阅读(1327) 评论(1) 推荐(0) 编辑

摘要:另一种获取系统服务描述表入口地址的方法http://www.blogcn.com/user8/flier_lu/index.html?id=1442740&run=.0F766FA 在《自动获取 NT 系统服务描述表与函数名映射表》一文中我使用MS提供的DbgHelp库,从符号库文件中查找KeServiceDescriptorTable和KeServiceDescriptorTableSha... 阅读全文

posted @ 2004-07-08 10:43 Flier Lu 阅读(1274) 评论(0) 推荐(0) 编辑

摘要:关于信任粒度的讨论http://www.blogcn.com/user8/flier_lu/index.html?id=1544232&run=.09DD601 Omer van Kloeten在其BLog上提出了一个不错的建议 A Suggestion For A New Access Modifier。建议MS在语言一级增加大粒度的信任,允许信任同一软件发布商的其它Assembly,即两... 阅读全文

posted @ 2004-07-08 10:42 Flier Lu 阅读(496) 评论(0) 推荐(0) 编辑

摘要:C# 2.0 中Iterators的改进与实现原理浅析http://www.blogcn.com/user8/flier_lu/index.html?id=1511638&run=.0AA0EFB C#语言从VB中吸取了一个非常实用的foreach语句。对所有支持IEnumerable接口的类的实例,foreach语句使用统一的接口遍历其子项,使得以前冗长的for循环中繁琐的薄记工作完全由编... 阅读全文

posted @ 2004-07-08 10:42 Flier Lu 阅读(1722) 评论(1) 推荐(0) 编辑

摘要:修订版Managed C++中析构函数的语义更改http://www.blogcn.com/user8/flier_lu/index.html?id=1485755&run=.08F07F8 上周Lippman在其Blog上发表了一篇介绍新版本Managed C++中析构函数语义变化的文章:Changes in Destructor Semantics in Support of Deter... 阅读全文

posted @ 2004-07-08 10:41 Flier Lu 阅读(779) 评论(0) 推荐(0) 编辑

摘要:Whidbey 中对 GC 的功能两点增强http://www.blogcn.com/user8/flier_lu/index.html?id=1452116&run=.0CDCD50 Brad Abrams在其blog中发表了一篇介绍Whidbey 中对 GC 的功能增强的文章Teaching an old dog new tricks: GC fun in Whidbey。其中提到两种对... 阅读全文

posted @ 2004-07-08 10:40 Flier Lu 阅读(735) 评论(0) 推荐(0) 编辑

摘要:在用户态进行虚拟空间地址向物理空间地址的转换http://www.blogcn.com/user8/flier_lu/index.html?id=1428057&run=.00B7C29 在《自动获取 NT 系统服务描述表与函数名映射表》一文中,我给出了一个从虚地址向物理地址转换的经验函数。 以下为引用: PHYSICAL_ADDRESS TPhysicalMemoryMap... 阅读全文

posted @ 2004-07-08 10:39 Flier Lu 阅读(2149) 评论(0) 推荐(0) 编辑

摘要:Win32 核心 DPC 设计思想和实现思路浅析http://www.blogcn.com/user8/flier_lu/index.html?id=1397656&run=.09D4C2F x86架构设计在上是基于中断思想的,因而从DOS到Win32,操作系统中大量使用中断的概念来表达异步操作的行为。但与DOS下独占的情况不同,Win32下需要由系统对多任务进行调度,因此中断响应代码必须尽... 阅读全文

posted @ 2004-07-08 10:33 Flier Lu 阅读(2777) 评论(1) 推荐(0) 编辑

摘要:http://202.102.53.35/user8/flier_lu/main.asp?id=1324316 Win32 调试接口设计与实现浅析 [2] 调试事件 Flier Lu @ http://flier_lu.blogone.net/ [2] 调试事件 前面说到 Win32 下的用户态调试器实际上就是一个while循环,循环体内先等待一个调试事件,然后处理之,最后将控制权交还给调... 阅读全文

posted @ 2004-07-08 10:32 Flier Lu 阅读(1654) 评论(0) 推荐(1) 编辑

摘要:CLR 中匿名函数的实现原理浅析http://www.blogcn.com/user8/flier_lu/index.html?id=1397624&run=.04B5CE2CLR 中匿名函数的实现原理浅析 C# 2.0中提供了通过delegate实现匿名函数功能,能有效地减少用户的薄记代码工作,例如 以下为引用: ... button1.Click += new E... 阅读全文

posted @ 2004-07-08 10:31 Flier Lu 阅读(886) 评论(1) 推荐(0) 编辑

摘要:用WinDbg探索CLR世界 [2] 线程http://www.blogcn.com/user8/flier_lu/index.html?id=1370342&run=.0A2F3E7[2] 线程 在配置好WinDbg之后,我们载入一个CLR程序并执行至CLR被载入,然后开始我们的CLR探索之旅。 首先,使用!threads命令看看当前CLR中有哪些线程正在执行 以下为引用: ... 阅读全文

posted @ 2004-07-08 10:30 Flier Lu 阅读(2488) 评论(3) 推荐(2) 编辑

摘要:关于 AOP 的精彩讨论 [1]http://www.blogcn.com/user8/flier_lu/index.html?id=1311788&run=.0CEEA16 一书的作者Ted Neward最近在其blog上发表了一篇关于AOP实现思路的文章,引起了广泛的争议。 他认为虽然Interception模式和AOP看起来很像,但并不等同。将AOP等同于Intercep... 阅读全文

posted @ 2004-07-08 10:29 Flier Lu 阅读(813) 评论(0) 推荐(0) 编辑

摘要:Win32 调试接口设计与实现浅析 [1] 用户态调试器结构初探http://www.blogcn.com/user8/flier_lu/index.html?id=1307208&run=.002A442Win32 调试接口设计与实现浅析 所谓调试器实际上是一个很宽泛的概念,凡是能够以某种形式监控其他程序执行过程的程序,都可以泛称为调试器。在Windows平台上,根据调试器的实现原... 阅读全文

posted @ 2004-07-08 10:28 Flier Lu 阅读(1567) 评论(0) 推荐(1) 编辑

摘要:用WinDbg探索CLR世界[1] - 安装与环境配置 [原]http://www.blogcn.com/user8/flier_lu/index.html?id=1270368&run=.0D9CAA6 一直以来,我对CLR的分析都是基于MSDN、.NET Framework SDK自带文档和Rotor项目提供的源代码进行静态分析,辅以自己写的一些小例子或对Rotor的修修补补,来进行有限... 阅读全文

posted @ 2004-07-08 10:27 Flier Lu 阅读(6110) 评论(5) 推荐(0) 编辑

摘要:自动获取 NT 系统服务描述表与函数名映射表http://www.blogcn.com/user8/flier_lu/index.html?id=1404224&run=.0A0B923 经历过DOS时代人朋友一定还记得内存开始处那个神奇的ISR映射表,其实NT内部的系统服务描述表(System Service Descriptor Table)也起着类似的作用。用户态程序调用系统服务时,通... 阅读全文

posted @ 2004-07-08 10:26 Flier Lu 阅读(3009) 评论(1) 推荐(0) 编辑

摘要:CLR中字符串不变性的优化http://www.blogcn.com/user8/flier_lu/index.html?id=1269085&run=.06FE977 自从有编程语言以来,如何处理字符串就一直是一个争论不休的问题。从C/C++用字符数组表示字符串,让用户完全控制其生命周期;到Delphi/VB通过编译器内建支持,使用引用计数自动维护字符串生命周期;再到Java/C#通过不可... 阅读全文

posted @ 2004-07-08 10:20 Flier Lu 阅读(1972) 评论(0) 推荐(2) 编辑

摘要:C# 中 lock 关键字的实现http://www.blogcn.com/user8/flier_lu/index.html?id=1256525&run=.022BCC2 刚刚在这篇文章 《How is lock keyword of C# implemented? 》中看到MS内部关于C#的lock关键字实现的一个讨论。 以下为引用: Subject: RE: How ... 阅读全文

posted @ 2004-07-08 10:17 Flier Lu 阅读(2975) 评论(2) 推荐(0) 编辑

摘要:检测当前网卡是否处于混杂模式http://www.blogcn.com/user8/flier_lu/index.html?id=1245590&run=.0C9B086 今天比较巧,刚刚把重起网卡的文章贴上来,就有同事要我写个检测网卡混杂模式的小工具。本以为WinPCap会提供此功能,但翻了一遍Packet32.c和其驱动代码后,发现居然没有提供接口。只好下班、跑步、吃饭,然后老老实实go... 阅读全文

posted @ 2004-07-08 10:14 Flier Lu 阅读(6906) 评论(3) 推荐(0) 编辑

摘要:http://www.blogcn.com/user8/flier_lu/main.asp?id=1243576 编程实现重起网卡等设备 今天水木上有位朋友问我如何卸载WinPCap的驱动。因为此类驱动跟网卡绑定很紧密,卸载的时候最好是要把网卡重起一下(SnifferPro就是如此)。而重起网卡的程序实现又很少有资料介绍,前段时间好容易看到一篇文章,居然是用字符串查找到控制面板下面调用ap... 阅读全文

posted @ 2004-07-08 10:13 Flier Lu 阅读(4032) 评论(7) 推荐(0) 编辑

摘要:《4.4 BSD 操作系统设计与实现》http://www.blogcn.com/user8/flier_lu/index.html?id=1215094&run=.0999083 如果说有一本原文著作能够让我以读侦探小说的心情去阅读的话,那一定是这本《The Design and Implementation of the 4.4 BSD Operating System》了。由"Gods... 阅读全文

posted @ 2004-07-08 10:11 Flier Lu 阅读(4052) 评论(0) 推荐(0) 编辑

摘要:Win32 临界区实现原理浅析http://www.blogcn.com/user8/flier_lu/index.html?id=1205525&run=.0748049 去年11月的MSDN杂志曾刊登过一篇文章 Break Free of Code Deadlocks in Critical Sections Under Windows ,Matt Pietrek 和 Russ Oste... 阅读全文

posted @ 2004-07-08 10:09 Flier Lu 阅读(6507) 评论(0) 推荐(0) 编辑

摘要:编译 CHM 项目的 API 接口http://www.blogcn.com/user8/flier_lu/index.html?id=1196784&run=.04005F8 Microsoft 提供的HTML Help Workshop只支持在GUI界面或者使用其自带的HCC.exe程序编译CHM项目文件(.hpp),并不直接提供API供第三方软件使用。而实际上其CHM项目编译器的HHA... 阅读全文

posted @ 2004-07-08 10:07 Flier Lu 阅读(3177) 评论(7) 推荐(0) 编辑

摘要:RunDll32 的使用方法与实现原理http://www.blogcn.com/user8/flier_lu/index.html?id=1190096&run=.03463D0 RunDll32.exe是Windows系统自带的一个直接执行DLL中导出函数的小工具,使用方式上与16位系统的RunDll.exe兼容,但提供32位的支持。 RUNDLL32.EXE , ... 阅读全文

posted @ 2004-07-08 10:03 Flier Lu 阅读(2967) 评论(0) 推荐(0) 编辑

摘要:重用的粒度http://www.blogcn.com/user8/flier_lu/index.html?id=1183014&run=.08F07F8 最近正在看的两本书《产生式编程》(简称为GP)和《C++网络编程 卷2》(简称为CNPv2)中都讨论到了软件开发中重用的粒度问题。特别是[GP]中一针见血地指出 以下为引用: 在OO发展的早期,人们相信对象是可以... 阅读全文

posted @ 2004-07-08 10:02 Flier Lu 阅读(711) 评论(0) 推荐(0) 编辑

摘要:Writing Secure Code, Second Editionhttp://www.blogcn.com/user8/flier_lu/index.html?id=1168765&run=.0F495B6 2002年读过的这本《编写安全的代码》 无论是从选题还是内容上都是难得的佳作。不久前此书的第二版由原作者Michael Howard和David LeBlanc推出,原书《Writ... 阅读全文

posted @ 2004-07-08 10:00 Flier Lu 阅读(1647) 评论(0) 推荐(0) 编辑

摘要:全0的MAC地址 (00:00:00:00:00:00)http://www.blogcn.com/user8/flier_lu/index.html?id=1139019&run=.0CEEA16 前两天同事抓到了包括MAC地址全0的包,在讨论和请教牛人后,大概得出的结论是这种MAC地址在共享网络下面是有效的。据说long long ago时这种MAC地址和主机地址部分全0的IP地址一样,... 阅读全文

posted @ 2004-07-08 09:56 Flier Lu 阅读(16797) 评论(1) 推荐(1) 编辑

摘要:static private WebHost.WebHost _host = null; public WebHost.WebHost Host { get { if(_host == null) { _host = WebHost.WebHost.Create(); } return _host; } } 在WinForm程序中嵌入... 阅读全文

posted @ 2004-07-08 09:53 Flier Lu 阅读(5192) 评论(3) 推荐(0) 编辑

摘要:C#中实现WebBrowser控件的HTML源代码读写http://www.blogcn.com/user8/flier_lu/index.html?id=1125200&run=.0D9CAA6趁周末想折腾一下嵌入ASP.NET的WinForm程序 需要用到WebBrowser控件的HTML源码读写 就把以前的一些代码片断移值到C#下 顺便发个帖子备忘,呵呵 思路其实很简单,直接通过docu... 阅读全文

posted @ 2004-07-08 09:31 Flier Lu 阅读(18104) 评论(3) 推荐(1) 编辑

摘要:MS.Net CLR扩展PE结构分析http://www.blogcn.com/user8/flier_lu/index.html?id=1682030&run=.06FE977 2001-2002年时曾针对 .NET Framework 1.0 版本的文件格式做过一些分析,整理成文章后发表在绿盟月刊和程序员杂志增刊上,转贴过来以备引用。相关代码可以从 Delphi JEDI - JCL项目... 阅读全文

posted @ 2004-07-08 09:27 Flier Lu 阅读(1380) 评论(2) 推荐(0) 编辑

摘要:.Net平台下CLR程序载入原理分析 [草稿]http://www.blogcn.com/user8/flier_lu/index.html?id=1369910&run=.0C124A1发信人: flier (小海->找啊找工作 :)), 信区: DotNET 标 题: .Net平台下CLR程序载入原理分析(草稿) 发信站: BBS 水木清华站 (Wed Mar 13 02:08:04 200... 阅读全文

posted @ 2004-07-08 09:26 Flier Lu 阅读(2404) 评论(3) 推荐(1) 编辑