2014年9月19日

文件保护

摘要: 南京沙科信息技术有限公司,是国内专业的电子文件安全保护产品提供商,是一支由sudami等知名windows内核专家倡导的信息安全队伍。 沙科公司专注于服务器电子文件的安全保护,于2013年自主研发完成的《企业文件守护者系统》,刚推出市场之初,获得用户的广泛好评。该系统能切实保护企业服务器文... 阅读全文

posted @ 2014-09-19 14:50 紫 陌 阅读(360) 评论(0) 推荐(0) 编辑

2013年4月11日

TCP与UDP的异同(服务端接收数据,客户端发送数据)

摘要: 面向TCP连接的socket通信程序:服务端:创建套接字,指定协议族(sockaddr_in),绑定,监听(listen),接受链接(accept),发送或接收数据;客户端:创建套接字,指定协议族,连接,发送或接收数据这几个步骤都是必须的。补充:在发送和接受数据时:write/send/sendto,read/recv/recvfrom都可以用,通常会用:send,recv;但需要注意的是:在面向UDP的socket程序中,发送数据时,如果用sendto的话,就不用connect了;但是,在面向TCP的程序中,在发送数据时,即使sendto,也必须connect,也就是说connect这一步是 阅读全文

posted @ 2013-04-11 09:27 紫 陌 阅读(5541) 评论(0) 推荐(0) 编辑

2013年2月24日

解析NTFS(二)DBR\MFT部分

摘要: 前面解析MBR,得到每个分区的起始扇区号,以及每个分区的大小;至于该分区的详细信息,则取决于该分区卷加载的文件系统。比如:簇大小,扇区大小,文件系统类型,该分区使用情况,介质描述,隐含扇区,扇区总数……解析完MBR,跳转到引导分区的第一个扇区,即DBR;然后从DBR中的BPB中得到改卷的基本参数信息,定位MFT起始簇,进而定位到文件系统元数据文件位置,对该分区上的所有文件和目录进行遍历解析。下面分步说明:DBR的作用简单的来说,计算机启动时执行完BOIS的启动代码,检查各硬件设备正常后,JMP到MBR的引导代码进行执行;然后由MBR引导至活动分区的DBR,再由DBR引导操作系统。如:DBR调用 阅读全文

posted @ 2013-02-24 12:50 紫 陌 阅读(11543) 评论(0) 推荐(1) 编辑

mft(转载)

摘要: 1前言NTFS是现在流行的磁盘格式.想想当年FAT32的时代都差不多过去了,现在装机差不多都是NTFS.我们平时编程时使用文件操作函数基于操作系统,所以不管磁盘是何种格式,都只是用相同的几个函数就可搞掂,似乎分析NTFS文件系统没有什么必要.但是如果要搞些底层一点的东西,比如数据恢复啊,磁盘分析啊等等,甚至搞一些高级病毒之类,了解NTFS文件系统都很有必要! 现在我准备开始这个研究,现在的我对于这个是一窍不通,所以也不知从哪里开始,只能见一步学一步.所以借爱delphi(www.aidvr.com)网站发一些杂乱无章的笔记. 先定一个目标,要实现NTFS文件系统解析,写出一个程序,能在NTFS 阅读全文

posted @ 2013-02-24 12:19 紫 陌 阅读(5375) 评论(0) 推荐(1) 编辑

2013年2月18日

键盘过滤之内核级Hook(一)

摘要: Hook分发函数前一篇文章讲述了进行键盘过滤,截取用户输入的方法。本篇文章开始更加深入地讨论键盘的过滤与反过滤对抗。无论是过滤还是饭过滤,原理都是过滤,取胜的关键在于谁第一个得到信息。一种方发是Hook分发函数,即将键盘驱动的分发函数替换成自己的函数用来达到过滤的目的。1.获得类驱动对象首先要获得键盘类驱动对象,才能去替换下面的分发函数。这个操作较为简单,因为这个驱动的名字是“\\Device\\Kbdclass”,所以可以直接用函数ObReferenceObjectByName来获取。代码如下:view plaincopy to clipboardprint?//驱动的名字 #define 阅读全文

posted @ 2013-02-18 11:05 紫 陌 阅读(3500) 评论(0) 推荐(2) 编辑

键盘过滤之内核级Hook(二)

摘要: 键盘过滤之内核级Hook(二)如果不想让键盘过滤驱动程序或回调函数首先获得按键,则必须比端口驱动更加底层一些。早期版本的QQ反盗号驱动的原理是这样的:用户要输入密码时(比如把输入焦点移动到了密码框里),就注册一个中断服务来接管键盘中断,比如0x93中断,之后按键就不关键驱动的事了。首先就来介绍一下Hook键盘中断。1.中断:IRQ和INT学过计算机体系结构的人都知道硬件往往是通过中断来通知CPU某个事件的发生。比如按键按下了。但是中断并不一定要有任何硬件的通知,一条指令就能使CPU“发生中断”。比如,在一个.c文件写上:_asm int 3这样的代码常常来人工设置一个断点,执行到这里程序会中断 阅读全文

posted @ 2013-02-18 11:00 紫 陌 阅读(1304) 评论(0) 推荐(0) 编辑

Ramdisk源代码详解

摘要: 这篇文章来介绍一下WDK中提供的一个案例源码--Ramdisk虚拟磁盘。这个例子实现了一个非分页内存做的磁盘储存空间,并将其以一个独立磁盘的形式暴露给用户,用户可以将它格式化成一个Windows能够使用卷,并且像操作一般的磁盘卷一样对它进行操作。由于使用了内存作为虚拟的存储介质,使这个磁盘具有一个显著的特点,性能的提高。这个例子所使用的微软WDF驱动框架。入口函数1.入口函数的定义任何一个驱动程序,不论它是一个标准的WDM驱动程序,还是使用WDF驱动程序框架,都会有一个叫做DriverEntry的入口函数,就好像普通控制台程序中的main函数一样。这个函数是这样声明的:NTSTATUSDriv 阅读全文

posted @ 2013-02-18 10:55 紫 陌 阅读(3900) 评论(0) 推荐(0) 编辑

实现一个具有还原功能的磁盘卷过滤驱动

摘要: 磁盘过滤驱动的概念1.设备过滤和类过滤在之前的文章里,我们已经介绍过滤的概念,所谓过滤技术就是在本来已有的设备栈中加入自己的一个设备。由于Windows向任何一个设备发送IRP请求都会首先发送给这个设备所在设备栈的最上层设备,然后再依次传递下去,这就使得加入的设备在目标设备之前获取Irp请求称为可能,这时候就可以加入自己的处理流程。在这里把插入设备栈的用户设备叫做过滤设备,建立这个设备并使其具有特殊功能的驱动叫做过滤驱动。在前面已经展示了如何去建立一个过滤设备并将其绑定在一个有名字的设备上,这叫做设备过滤,这是对某个特定设备加以过滤的方法。但是在实际应用中,这种方法还存在一些问题,例如,Win 阅读全文

posted @ 2013-02-18 10:53 紫 陌 阅读(3457) 评论(0) 推荐(0) 编辑

2012年12月24日

windbg调试命令9(dt、d)

摘要: dt命令显示局部变量、全局变量或数据类型的信息。它也可以仅显示数据类型。即结构和联合(union)的信息。0:kd>dt_PEBnt!_PEB+0x000InheritedAddressSpace:UChar+0x001ReadImageFileExecOptions:UChar+0x002BeingDebugged:UChar+0x003SpareBool:UChar+0x004Mutant:Ptr32Void+0x008ImageBaseAddress:Ptr32Void+0x00cLdr:Ptr32_PEB_LDR_DATA+0x010ProcessParameters:Ptr32 阅读全文

posted @ 2012-12-24 10:38 紫 陌 阅读(11085) 评论(1) 推荐(0) 编辑

2012年12月21日

windbg调试命令8(bp、bu、bm、bl、bc、ba、be、bd)

摘要: 以下以skinhgy为例,windbg附加运行1.bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction 。对于后者,WinDBG 会自动找到MyApp!SomeFunction 对应的地址并设置断点。 但是使用bp的问题在于:1)当代码修改之后,函数地址改变,该断点仍然保持在相同位置,不一定继续有效;2)WinDBG 不会把bp断点保存工作空间中bp Address或bp 伪寄存器或bp符号名称:0:000>xSimple1Demo!CSimple1DemoApp::InitInstance00640080Simple1Dem 阅读全文

posted @ 2012-12-21 09:04 紫 陌 阅读(7052) 评论(0) 推荐(0) 编辑

导航