上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 28 下一页
摘要: 在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”,提供显示 阅读全文
posted @ 2013-09-24 11:28 huhu0013 阅读(1134) 评论(0) 推荐(0) 编辑
摘要: 在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”,提供显示 阅读全文
posted @ 2013-09-24 11:26 huhu0013 阅读(1306) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-09-23 15:06 huhu0013 阅读(14556) 评论(1) 推荐(4) 编辑
摘要: 2010-02-22 00:42某游戏的保护系统会检测一些ARK软件的存在,因为ARK的恢复HOOK等功能会对游戏的保护驱动造成一些影响。因此,在该游戏的驱动中内置了一些ARK驱动(也可能有其它类型驱动)的特征黑名单,用以检测这些驱动是否存在,若存在就会提示非法模块,要求重启后方可正常进行游戏。无意中发现了一点线索,索性研究了一下该驱动中驱动黑名单的具体实现~~一、 基本思想(1)检测某些名称的驱动是否存在,这一部分有个黑名单(2)检测驱动中部分代码的特征是否匹配,这一部分用另外一个黑名单每一个驱动都要经过以上两重检查,具体的算法实现就是计算驱动名称或部分代码的Hash值,然后在黑名单中进行匹 阅读全文
posted @ 2013-09-12 15:42 huhu0013 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 一、内存管理概念1. 物理内存概念(Physical Memory Address) PC上有三条总线,分别是数据总线、地址总线和控制总线。32位CPU的寻址能力为4GB(2的32次方)个字节。用户最多可以使用4GB的真实物理内存。PC中很多设备都提供了自己的设备内存。这部分内存会映射到PC的物理内存上,也就是读写这段物理地址,其实读写的是设备内存地址,而不是物理内存地址。2. 虚拟内存概念 虽然可以寻址4GB的内存,但是PC中往往没有如此多的真实物理内存。操作系统和硬件(主要是CPU中的内存管理单元MMU)为使用者提供了虚拟内存的概念。Windows的所有程序可以操作的都是虚拟内存。对虚.. 阅读全文
posted @ 2013-09-11 12:08 huhu0013 阅读(2100) 评论(0) 推荐(0) 编辑
摘要: 一、NT式驱动的基本例程1. 驱动入口函数——DriverEntry[cpp]view plaincopy//驱动程序的一般性定义NTSTATUSDriverEntry(INPDRIVER_OBJECTpDriverObject,INPUNICODE_STRINGpRegistryPath);//DriverEntry的主要工作是对驱动程序进行初始化。它由系统进程System调用的。驱动被加载的时候会创建一个驱动对象,查询此驱动程序对应的注册表项。DriverEntry被调用的时候会传进两个参数。他们分别是刚才创建的驱动对象的指针和指向设备服务键的键名字符串指针。这个字符串的内容一般是\RES 阅读全文
posted @ 2013-09-11 12:07 huhu0013 阅读(3130) 评论(0) 推荐(1) 编辑
摘要: 本节主要介绍驱动开发的一些基础知识。 1. 驱动程序的基本组成 1.1.最经常见到的数据结构 a.DRIVER_OBJECT驱动对象[cpp]view plaincopy//WDK中对驱动对象的定义//每个驱动程序都会有一个唯一的驱动对象与之对应//它是在驱动加载时被内核对象管理程序创建的typedefstruct_DRIVER_OBJECT{CSHORTType;CSHORTSize;////Thefollowinglinksallofthedevicescreatedbyasingledriver//togetheronalist,andtheFlagswordprovi... 阅读全文
posted @ 2013-09-11 12:01 huhu0013 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: 笔者学习驱动编程是从两本书入门的。它们分别是《寒江独钓——内核安全编程》和《Windows驱动开发技术详解》。两本书分别从不同的角度介绍了驱动程序的制作方法。 在我理解,驱动程序可分为两类三种: 第一类:传统型驱动 传统型驱动的特点就是所有的IRP都需要自己去处理,自己实现针对不同IRP的派发函数。其可以分为以下两种: 1. Nt式驱动:此驱动通过注册系统服务来加载,并且不支持即插即用功能(即没有处理IRP_MJ_PNP这个IRP)。 2. WDM驱动:此驱动不通过注册系统服务来加载,需啊哟自己编写inf文件。同时,它与NT式驱动相比最大的特点就是支持即插即用功能。 第二类:微... 阅读全文
posted @ 2013-09-11 11:55 huhu0013 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 信息来源:邪恶八进制信息安全团队(www.eviloctal.com)文章作者:asm(http://www.sbasm.cn)写了个对抗扫描的东西,跟大家分享!技术含量不高,大牛飘过。一直以来写的都是ring3代码,现在很认真的拼凑了一份山寨版的驱动代码,很久没这么认真过了。希望哪位大牛能指点一下,指出代码中可能存在BOSD的隐患。其他人就跟我一起学习吧~~很久以来,做木马免杀一般都是文件表面免杀,内存免杀。文件免杀一般的思路是通过修改代码重,或者文件自身来做到。另外还有一种免杀方式就是隐藏你的木马,让杀软认为你的木马是不存在的,自然就达到免杀的效果了。内存免杀其实不需要用OD来修改,有两种 阅读全文
posted @ 2013-09-10 15:16 huhu0013 阅读(1735) 评论(0) 推荐(0) 编辑
摘要: 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... 阅读全文
posted @ 2013-09-10 15:05 huhu0013 阅读(556) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 28 下一页