09 2013 档案
摘要:作者:张家珩2005-12-02 20:51分类:默认分类RGB值RGB值RGB值黑色000#000000黄色2552550#FFFF00浅灰蓝色176224230#B0E0E6象牙黑413633#292421香蕉色22720787#E3CF57品蓝65105225#4169E1灰色192192192#C0C0C0镉黄25515318#FF9912石板蓝10690205#6A5ACD冷灰128138135#808A87dougello23514285#EB8E55天蓝135206235#87CEEB石板灰112128105#708069forum gold255227132#FFE384暖灰色
阅读全文
摘要:因为兼容性问题,色阶板功能只能在IE浏览器中运行RGB颜色对照表#FFFFFF#FFFFF0#FFFFE0#FFFF00#FFFAFA#FFFAF0#FFFACD#FFF8DC#FFF68F#FFF5EE#FFF0F5#FFEFDB#FFEFD5#FFEC8B#FFEBCD#FFE7BA#FFE4E1#FFE4C4#FFE4B5#FFE1FF#FFDEAD#FFDAB9#FFD700#FFD39B#FFC1C1#FFC125#FFC0CB#FFBBFF#FFB90F#FFB6C1#FFB5C5#FFAEB9#FFA54F#FFA500#FFA07A#FF8C69#FF8C00#FF83FA#F
阅读全文
摘要:在Windows NT中,80386保护模式的“保护”比Windows 95中更坚固,这个“镀金的笼子”更加结实,更加难以打破。在Windows 95中,至少应用程序I/O操作是不受限制的,而在Windows NT中,我们的应用程序连这点权限都被剥夺了。在NT中几乎不太可能进入真正的ring0层。在Windows NT中,存在三种Device Driver: 1.“Virtual device Driver” (VDD)。通过VDD,16位应用程序,如DOS 和Win16应用程序可以访问特定的I/O端口(注意,不是直接访问,而是要通过VDD来实现访问)。 2.“GDI Driver”,提供显示
阅读全文
摘要:在Windows NT中,80386保护模式的“保护”比Windows 95中更坚固,这个“镀金的笼子”更加结实,更加难以打破。在Windows 95中,至少应用程序I/O操作是不受限制的,而在Windows NT中,我们的应用程序连这点权限都被剥夺了。在NT中几乎不太可能进入真正的ring0层。在Windows NT中,存在三种Device Driver: 1.“Virtual device Driver” (VDD)。通过VDD,16位应用程序,如DOS 和Win16应用程序可以访问特定的I/O端口(注意,不是直接访问,而是要通过VDD来实现访问)。 2.“GDI Driver”,提供显示
阅读全文
摘要:TEA(Tiny Encryption Algorithm)是一种简单高效的加密算法,以加密解密速度快,实现简单著称。算法真的很简单,TEA算法每一次可以操作64-bit(8-byte),采用128-bit(16-byte)作为key,算法采用迭代的形式,推荐的迭代轮数是64轮,最少32轮。目前我只知道QQ一直用的是16轮TEA。没什么好说的,先给出C语言的源代码(默认是32轮):微型加密算法(TEA)及其相关变种(XTEA,BlockTEA,XXTEA)都是分组加密算法,它们很容易被描述,实现也很简单(典型的几行代码)。TEA算法最初是由剑桥计算机实验室的DavidWheeler和Roger
阅读全文
摘要:2010-02-22 00:42某游戏的保护系统会检测一些ARK软件的存在,因为ARK的恢复HOOK等功能会对游戏的保护驱动造成一些影响。因此,在该游戏的驱动中内置了一些ARK驱动(也可能有其它类型驱动)的特征黑名单,用以检测这些驱动是否存在,若存在就会提示非法模块,要求重启后方可正常进行游戏。无意中发现了一点线索,索性研究了一下该驱动中驱动黑名单的具体实现~~一、 基本思想(1)检测某些名称的驱动是否存在,这一部分有个黑名单(2)检测驱动中部分代码的特征是否匹配,这一部分用另外一个黑名单每一个驱动都要经过以上两重检查,具体的算法实现就是计算驱动名称或部分代码的Hash值,然后在黑名单中进行匹
阅读全文
摘要:一、内存管理概念1. 物理内存概念(Physical Memory Address) PC上有三条总线,分别是数据总线、地址总线和控制总线。32位CPU的寻址能力为4GB(2的32次方)个字节。用户最多可以使用4GB的真实物理内存。PC中很多设备都提供了自己的设备内存。这部分内存会映射到PC的物理内存上,也就是读写这段物理地址,其实读写的是设备内存地址,而不是物理内存地址。2. 虚拟内存概念 虽然可以寻址4GB的内存,但是PC中往往没有如此多的真实物理内存。操作系统和硬件(主要是CPU中的内存管理单元MMU)为使用者提供了虚拟内存的概念。Windows的所有程序可以操作的都是虚拟内存。对虚..
阅读全文
摘要:一、NT式驱动的基本例程1. 驱动入口函数——DriverEntry[cpp]view plaincopy//驱动程序的一般性定义NTSTATUSDriverEntry(INPDRIVER_OBJECTpDriverObject,INPUNICODE_STRINGpRegistryPath);//DriverEntry的主要工作是对驱动程序进行初始化。它由系统进程System调用的。驱动被加载的时候会创建一个驱动对象,查询此驱动程序对应的注册表项。DriverEntry被调用的时候会传进两个参数。他们分别是刚才创建的驱动对象的指针和指向设备服务键的键名字符串指针。这个字符串的内容一般是\RES
阅读全文
摘要:本节主要介绍驱动开发的一些基础知识。 1. 驱动程序的基本组成 1.1.最经常见到的数据结构 a.DRIVER_OBJECT驱动对象[cpp]view plaincopy//WDK中对驱动对象的定义//每个驱动程序都会有一个唯一的驱动对象与之对应//它是在驱动加载时被内核对象管理程序创建的typedefstruct_DRIVER_OBJECT{CSHORTType;CSHORTSize;////Thefollowinglinksallofthedevicescreatedbyasingledriver//togetheronalist,andtheFlagswordprovi...
阅读全文
摘要:笔者学习驱动编程是从两本书入门的。它们分别是《寒江独钓——内核安全编程》和《Windows驱动开发技术详解》。两本书分别从不同的角度介绍了驱动程序的制作方法。 在我理解,驱动程序可分为两类三种: 第一类:传统型驱动 传统型驱动的特点就是所有的IRP都需要自己去处理,自己实现针对不同IRP的派发函数。其可以分为以下两种: 1. Nt式驱动:此驱动通过注册系统服务来加载,并且不支持即插即用功能(即没有处理IRP_MJ_PNP这个IRP)。 2. WDM驱动:此驱动不通过注册系统服务来加载,需啊哟自己编写inf文件。同时,它与NT式驱动相比最大的特点就是支持即插即用功能。 第二类:微...
阅读全文
摘要:信息来源:邪恶八进制信息安全团队(www.eviloctal.com)文章作者:asm(http://www.sbasm.cn)写了个对抗扫描的东西,跟大家分享!技术含量不高,大牛飘过。一直以来写的都是ring3代码,现在很认真的拼凑了一份山寨版的驱动代码,很久没这么认真过了。希望哪位大牛能指点一下,指出代码中可能存在BOSD的隐患。其他人就跟我一起学习吧~~很久以来,做木马免杀一般都是文件表面免杀,内存免杀。文件免杀一般的思路是通过修改代码重,或者文件自身来做到。另外还有一种免杀方式就是隐藏你的木马,让杀软认为你的木马是不存在的,自然就达到免杀的效果了。内存免杀其实不需要用OD来修改,有两种
阅读全文
摘要:Author:PolymorphoursEmail:Polymorphours@whitecell.orgHomepage:http://www.whitecell.orgDate:2005-11-17/*++ Author: Polymorphours Date: 2005/1/10 通过对 NtReadVirtualMemory 挂钩,防止其他进程对保护的模块进行扫描, 如果发现其他进程读被保护模块的内存,则返回0--*/typedef struct _LDR_DATA_TABLE_ENTRY { LIST_ENTRY InLoadOrderLinks; LIST_ENT...
阅读全文
摘要:文章作者:grayfox作者主页:http://nokyo.blogbus.com原始出处:http://www.blogbus.com/nokyo-logs/34018521.html 在我昨日发布的《驱动学习笔记系列文章汇总(PDF)》第11.2节中,我没有给出使用DeviceIoControl通信的演示源码,附录中附带的程序是我尚未调试好的,因此没有达到通信的目的。 今天又认真阅读了下张帆的《Windows驱动开发技术详解》第7章的内容,并对它给出的示例程序多次调试,总算把这个通信过程给理解了,下面我们先来看看应用层程序的代码:#include#include#include#inclu
阅读全文
摘要:文章作者:grayfox作者主页:http://nokyo.blogbus.com原始出处:http://www.blogbus.com/nokyo-logs/34005738.html此前我们可能曾经多次听说过IRP这个名词,那么它究竟是什么呢?IRP的全名是I/O Request Package,即输入输出请求包,它是Windows内核中的一种非常重要的数据结构。上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将相应的I/O请求转换成相应的IRP,不同的IRP会根据类型被分派到不同的派遣例程中进行处理。IRP有两个基本的属性,即MajorFunction和MinorFu
阅读全文
摘要:文章作者:grayfox作者主页:http://nokyo.blogbus.com原始出处:http://www.blogbus.com/nokyo-logs/34010655.html 这一节会对IRP进行稍微详细的讲解,这是在看了王艳平的《Windows网络与通信程序设计》之后理解的。 在Windows中几乎所有的I/O都是通过包(packet)驱动的,每个单独的I/O由一个工作命令描述,此命令将会告诉驱动程序需要一些什么操作,并通过I/O子系统跟踪处理过程。这些工作命令就表现为一个个被称为IRP的数据结构。 IRP是从未分页内存申请的大小可变的结构,它由两部分组成: 1,包含一般簿记信息
阅读全文
摘要:自Windows Vista以来,调试信息在默认状态下是不显示的。为了显示调试信息,按照如下步骤设置即可: 1. 打开注册表; 2. 在HKLM\SYSTEM\CuurentControlSet\Control\Session Manager下新建一个名称为Debug Print Filter的key; 3. 在Debug Print Filter下新建一个项:Default,值为0xF. 4. 设置完成后重启系统 设置完成后的情形如下图所示:
阅读全文