原文发表于百度空间,2011-04-05========================================================================== 在分析ntfs的B+树时,不可避免地要进行文件名大小的比较,经过观察发现通常我们在资源管理器中看到的文件排序和ntfs中有很大不同.比如,有下面一些文件,在资源管理器中排序如下: 可以看到对汉字是按其汉语拼音排序的.而在ntfs的目录索引中排序如下:观察发现,由于ntfs存储的是Unicode文件名,所以比较…
文章转自 http://blog.csdn.net/smallSBoy/article/details/52997138 数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation). (注意:Collation原意为校对,校勘,但是根据实际使用场景,觉得还是翻译为排序规则比较合适) 在绝大部分情形中,使用何种字符集和排序规则决定于服务器,数据库和表的级别,一般SQL操作不必关心这些. 以下操作均以MySQL为例. .关于字…
数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation). 一.字符集 字符集,即用于定义字符在数据库中的编码的集合. 常见的字符集:utf-8 gbk 等. 二.排序规则 数据库中的排序规则用来定义字符在进行排序和比较的时候的一种规则. 常见的如下:(1) utf8_general_cs 和 utf8_general_ci (后缀"_cs"或者"_ci"意思是区分大小写和不区分大小写(Ca…
原文发表于百度空间,2009-09-17========================================================================== 相当老的话题,大约一年前就写过这个东西了,不过那时候知识比较有限,也不了解内核,因此实现得很粗浅,现在再写一下,权当是对这个老问题的总结吧.先谈谈正规DLL的隐藏方法,这里说的正规DLL,是指用LoadLibrary以正常方式加载的DLL.一.从PEB的Ldr链中消失这个很简单,看雪上NetRoc有一篇关于这…
原文发表于百度空间,2010-04-05========================================================================== 这也许是我这个假期唯一做的跟Code有关的事了,已经一个多月没写代码了~~问题是这样的,某同学A,在自己的工程中使用了PsVoid的部分驱动源码(感谢炉子开源~~),提到里面的IrpCreateFile函数在Win7下始终会蓝屏,希望我能帮忙解决一下.于是,拿出调试器开始debug之旅~~先简单介绍下,Irp…
原文发表于百度空间,2008-7-26========================================================================== 用常用的几个杀毒工具看了下之前写的改映像路径的程序,发现原来非常有意思好几个工具都不能正确识别路径了,吼吼- 贴几个图上来: 狙剑: 安天的Atool: gmer(有一点小问题,在模块列表中显示不出来): Syscheck: WsysCheck: 360安全卫士: 还有不少进程工具估计好不到哪儿去.IceSwo…
原文发表于百度空间,2008-7-26========================================================================== 继续研究PEB,这时候才发现之前写<从PEB获取内存中模块列表>一文时出现的错误.下面是一个结构: typedef struct _LDR_MODULE { LIST_ENTRY InLoadOrderModuleList; LIST_ENTRY InMemoryOrderModuleList; LIST_E…
原文发表于百度空间,2008-7-25========================================================================== 前面对PEB的相关结构和其中的重要成员进行了分析和学习,现在开始真正进入内核,学习内核中的一些结构.这个EPROCESS结构在ntddk.h中有定义,但是并未给出具体的结构,因此要得到EPROCESS中一些重要的成员变量,只能通过偏移的方法,比如PID,ImageName等.这些偏移可以在Windbg中dt _…
原文发表于百度空间,2008-7-25========================================================================== PEB中的Ldr部分包含有当前进程所加载的模块信息.lkd> dt _pebntdll!_PEB   +0x000 InheritedAddressSpace : UChar   +0x001 ReadImageFileExecOptions : UChar   +0x002 BeingDebugged   …
原文发表于百度空间,2008-7-24 当时对UNICODE_STRING的使用还有点问题,导致最终效果图中字符串被截断了========================================================================== 先从分析PEB开始吧.感觉分析这个东西,首先要把类型定义搞清楚,这个在Windbg里dt _PEB就可以了搞清楚定义主要是为了定位相关变量的偏移.PEB中的ProcessParameters部分就是进程的参数了,里面就有我们感兴…