- 博客(20)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 windbg 调试源码是c, c++ 和 asm的文件产生的执行程序
<br />windbg 源码调试的必要条件:<br /> <br />1. 源代码的路路径,可以通过Ctrl + P快捷键或通过.srcpath 命令来设置。<br />2. 符号路径, 可以通过Ctrl + S快捷键或通过.sympath 命令来设置。<br />3. imagePath, 可以通过Ctrl + S快捷键或.exepath命令来设置。<br /> <br /> <br />c++源码说明:<br /> <br />#include <windows.h><br /> <br />int
2011-04-10 17:15:00
1480
原创 禁用WFP (Windows File Protection)
<br />方法一:<br />通过修改注册表的方式,打开注册表到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon,这里有几个键是需要我们设置的:<br />SFCDisable,值为0时打开了WFP,这也是默认的状态。双击后可以改成1,这将禁用WFP,并且需要重启动一下才能生效;值为2,仅仅会在下一次启动时禁用;值为4,将启用,并且不会显示提醒用户的窗口。<br />SFCQuota,可以决定允
2011-05-08 15:55:00
1303
原创 关于qq邮箱 "该文件已达到200次的下载限制,您已不能下载该文件" 的问题处理
<br />1. 首先将邮件转发给自己。<br />2. 将附件内容保存到中转站<br />3. 到中转站中下载
2011-04-11 12:06:00
7989
转载 IT史上十大收购案
<br />据英国资讯网站V3报道,本周,业界中的大事件无疑是硬件巨头Intel公司斥资76.8亿美元全盘收购著名安全软件公司McAfee。本次收购被看做是软硬件领域的一次亲密接触,下面为大家盘点近年来IT领域中影响较大的十次并购案:<br />#10、EMC+VMware<br /> 时光回到2003年,当时的存储设备厂商EMC竭力筹备资金收购一家仅仅五年历史、名叫“VMware”从事虚拟化技术的公司,当时的收购价格是6.35亿美元。<br /> 很多人都以为EMC在做赔本买卖。但事实上,伴随企业
2010-08-21 15:17:00
1761
原创 数据恢复相关注意事项
<br />企业级数据丢失了,一般客户都非常急切,并且也很慎重。一旦遇到上述问题,请客户谨记一点,一定要千方百计保护原始数据,丢失数据后不能做任何写操作,如果能把删除数据的逻辑卷或分区做镜像备份,则是最佳之选。尽可能在第一时间打电话咨询达思数据恢复中心的专家。<br /> <br />数据被误删除了、分区被格式化了、分区无法正常显示、分区对分区误克隆(误Ghost)、分区删除、误分区、误装系统等等,这些都统称为逻辑故障,一旦发生了,客户谨记:一定不能往硬盘里做写入数据的操作。
2010-08-18 19:57:00
630
转载 磁盘的设备驱动堆叠
<br />本文节选自《Windows 内核情景分析--采用开源代码ReactOS》一书<br /><br /> 读者已经在前几节中看到,设备的驱动常常分成“类设备驱动”和“端口设备驱动”两层。例如鼠标器就成为一个设备的类,而具体又有PS/2鼠标器、串口鼠标器以及基于USB的HID鼠标器,所以鼠标器的驱动就分为一种类设备驱动和三种端口设备驱动。其中PS/2鼠标器的端口驱动是直接与硬件打交道的。不过端口驱动也可能不直接驱动硬件,而只是对虚拟的硬件进行操作。HID鼠标器的端口驱动就是这样,
2010-07-22 19:15:00
964
转载 汇编指令要处理的数据长度问题
<br />8.5 指令要处理的数据有多长?<br />8086CPU的指令,可以处理两种尺寸的数据,byte和word。所以在机器指令中要指明,指令进行的是字操作还是字节操作。对于这个问题,汇编语言中用一下方法处理。<br />(1)通过寄存器名指明要处理的数据的尺寸。<br />例如:<br />下面的指令中,寄存器指明了指令进行的是字操作是字操作:<br />mov ax,1<br />mov bx,ds:[0]<br />mov ds,ax<br />mov ds:[
2010-07-22 08:12:00
1260
转载 文件锁
利用mktemp和fcntl实现进程间互斥操作structflocklock_it, unlock_it;<br />intlock_fd = -1;<br /><br />voidmy_lock_init(char *pathname)<br />{<br />charlock_file[64];<br /><br /> strncpy(lock_file, pathname, sizeof(lock_file));<br /> lo
2010-07-21 10:52:00
904
转载 linux下进程间通信系列(一、管道和命名管道)
<br />在本系列序中作者概述了 linux 进程间通信的几种主要手段。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 认清管道和有名管道的读写规则是在程序中应用它们的关键,本文在详细讨论了管道和有名管道的通信机制的基础上,用实例对其读写规则进行了程序验证,这样做有利于增强读者对读写规则的感性认识,同时也提供了应用范例。<br />1、 管道概述及相关API应用<br />
2010-07-17 18:31:00
541
转载 进程间通信 IPC interprocess communication
<br />1,管道,FIFO<br />2, 信号<br />3,消息队列<br />4,共享类存<br />5.文件映射<br />6.socket<br /> (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。<br /> (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令
2010-07-16 19:34:00
803
转载 VirtualKD+Windbg+vmware 极速调试
<br />双机调试的时候,不管是Windbg+vmware,还是Windbg+1394,其调试速率都是相对比较低的,有时候执行一条p命令,Windbg的状态都会BUSY..好久...<br />VirtualKD可以完美的解决这一问题。<br />VirtualKD主要是用来提高当使用vmware或virtualBox进行windows内核调试时的速率。以前的双机标准调试方法是利用虚拟COM串口,其速率很低。<br />通常,通过虚拟COM串口进行调试包括以下步骤:<br />1.windows使用虚
2010-07-15 16:17:00
1356
转载 命名管道实现跨语言进程通信
<br />管道是一种进程间的通信机制,Windows 和 Linux(以及UNIX)上都使用的这种机制。 创建管道后,通过使用操作系统的任何读或写 IO 系统调用来读或者写它。Windows 管道与 Linux管道的区别在于 Windows 使用单一句柄(类似于 Linux 文件描述符)支持双向 IO。Linux 管道返回两个文件描述符来实现双向IO。<br />Windows下有匿名管道和命名管道,匿名管道主要用于父子进程之间通信,命名管道则可以用于本机任意程序之间。Linux下的命名
2010-07-15 09:23:00
1837
转载 进程的内核空间共享
<br />在2.6内核中,所有进程的内核空间(3G-4G)都是共享的。<br /> LINUX内核在初始化过程中,内核页表的初始化在保护模式下,但是此时尚未开启分页机制。内核填充PGD表(静态数组),使得(3G-4G)的虚拟地址映射到物理地址(0-1G),确切的讲,是(3G -3G+896M)的虚拟地址映射到物理地址(0-896M),因为剩下的(3G+896M--4G)虚拟空间可以用来映射物理存储器的高端地址(大于896M)。然后内核将PGD基地址加载到CR3中,将CR0的PG位置1,正式开启分页机制。
2010-07-14 00:02:00
3483
转载 匿名管道
<br />匿名管道<br />匿名管道是一种未命名的、单向管道,通常用来在一个父进程和一个子进程之间传输数据。匿名的管道只能实现本地机器上两个进程间的通信,而不能实现跨网络的通信。<br />1.1匿名管道<br /> 匿名管道是一种未命名的、单向管道。通常用来在父进程和子进程之间传输数据。匿名管道总是本地的,不能在网络之间传递数据。<br />1.1.1匿名管道操作<br /> CreatePipe函数创建一个匿名管道,并且返回两个句柄:一个读管道的句柄和一个写管道的句柄。读句柄具
2010-07-13 18:11:00
4086
1
转载 使用命名管道实现进程间通信
[转载]使用命名管道实现进程间通信<br /><br />使用命名管道实现进程间通信<br />来源 : VChelp<br /><br />4.5 进程间通信<br /><br />在Win32下提供的进程间通信方式有以下几种: <br /><br />剪贴板Clipboard:在16位时代常使用的方式,CWnd类中提供了支持。 <br />COM/DCOM:通过COM系统的代理存根方式进行进程间数据交换,但只能够表现在对接口函数的调用时传送数据,通过DCOM可以在不同主机间传送数
2010-07-13 17:59:00
1486
转载 底层开发建议
<br />1. 若对Windows底层开发没有兴趣,不建议继续深究; 若有些兴趣可以继续 <br /><br />2. 先广泛打基础,比如C/MFC/C++/ASM,再学习Windows核心编程,对R3上的一些开发有所熟悉; 再系统的学习<操作系统>等书籍,理解整个系统的原理,构架,实现. <br /><br />3. 有了以上基础,可以开始阅读一些驱动入门书籍,如 毛德草 的<Windows内核情景分析>, 多上google搜索资料; 下一份WRK/ReactOS,没事翻一翻,搭好驱动编译环境后,可以尝
2010-07-11 09:51:00
856
转载 windows常用快捷键组合
<br /> windows常用快捷键组合: 单独按Windows:显示或隐藏 “开始”功能表 <br />Windows+BREAK:显示“系统属性” 对话框 <br />Windows+D:显示桌面 <br />Windows+M:最小化所有窗口 <br />Windows+Shift+M:还原最小化的窗口 <br />Windows+E:开启“资源管理器” <br />Windows+F:查找文件或文件夹 <br />Windows+CTRL+ F:查找电脑
2010-07-08 19:00:00
821
转载 无法解析的外部符号的几种可能
<br /> <br />1. lib 文件未引入。可使用“#pragma comment(lib, “winsock.lib”) ”语句添加 lib 引用,也可在项目依赖里添加。<br />2. 类方法的实现未加类标识。如, “CTest::Connect(void) { … }” 写成了 “Connect(void) { … }”。<br />3. 缺少 obj 文件。在项目里添加“包含路径”:C:/curl/lib/release-dll/*.obj。<br />4.没有将项目需要的头文件、源文件都加
2010-07-08 16:03:00
863
转载 一段很有感觉的话
<br />这个冬天 我把自己穿的厚厚的 让自己暖和起来<br />看 这样的我在别人看起来是如此的快乐<br />在这个世界上 没有人真正可以 对另一个人的伤痛感同身受<br />现在 我理应不在乎 任何事<br />可是心里仓促间无常地变换 常常让我力不从心<br />我不知道谁在身边 而谁早已远离<br />最近总是因为电影里的爱情 让自己陷入无止境的悲伤<br />请别靠近 这个连入戏和剧终都分不清的女子<br />而此刻 我在害怕自己老去<br />爱情 连我自己都不相信自己可以拥有<br />所
2010-07-08 16:02:00
643
原创 通过引用捕获异常
当你写一个catch子句时,必须确定让异常通过何种方式传递到catch子句里。你可以有三个选择:与你给函数传递参数一样,通过指针(by pointer),通过传值(by value)或通过引用(by reference)。 我们首先讨论通过指针方式捕获异常(catch by pointer)。从throw处传递一个异常到catch子句是一个缓慢的过程,在理论上这种方法的实现对
2010-05-19 15:13:00
720
Windows 8 Heap Internals
2019-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人