存档

文章标签 ‘多线程’

基于WinPcap开发嗅探器程序

2012年10月23日 163 条评论

这是我上课的一个实验,基于WinPcap开发一个简单的嗅探器,代码写的很一般,Hard Code Everywhere! 当然有兴趣的也可以下下来看一下。下面简单介绍下开发环境的搭建以及中间需要用到的一些编程要点。

一、实验环境构建
本次实验环境为Visual Studio 2010专业版 + WinPcap 4.1.2 + WinPcap 4.1.2 Developer’s Pack;
安装好WinPcap后,解压开发包文件WpdPack_4_1_2.zip,并把下面的Include文件夹以及Lib文件夹复制到工程目录下,配置工程设置,为“附加包含目录”添加Include文件夹相对路径,为“附加库目录”添加Lib文件夹相对路径,同时给“附加依赖项”添加“Packet.lib”、“wpcap.lib”选项,给“预处理器定义”添加“HAVE_REMOTE”、“WPCAP”选项,在stdafx.h头文件中增加对pcap.h头文件的包含,这样整个开发环境就配置好了,而且源代码可以在其他电脑上编译,不必再次安装WpdPack开发包以及设置头文件和库文件的路径。[......]

使用Windbg寻找高CPU占用线程

2012年2月17日 没有评论

在一个任务中使用多线程编程,程序运行一段时间后就占满了CPU,严重拖慢系统运行速度。这里所说的高CPU,意思就是一个线程占用了一个CPU的大部分运行时间,如果是单核的CPU,表现为CPU占用近100%;相应的双核的话一个线程会占到50%的CPU。
我的电脑是双核四线程的CPU,所以当一个线程死循环的时候会占用掉25%的CPU时间。具体表现为:运行程序的最开始表现正常,随后会看到CPU占用上升至25%、50%、75%等。在这样的情况下我用Windbg Attach到目标进程,并通过!runaway[......]

继续阅读

分类: 逆向调试 标签: , , ,

事件 互斥对象 信号量

2011年1月2日 5 条评论

看《Windows驱动开发技术详解》,第八章了,看到用户态同步处理。照抄了几段代码,关于事件、互斥对象、信号量。
以前写过入门级别的多线程,差不多忘了一干二净了。
还有,如果代码有编译错误请参考上一篇文章予以解决。
O(∩_∩)O~代码仅供娱乐之用。接下来该看内核模式下的同步处理了。
占 位 专 用 [......]

继续阅读

error C2065: ‘_beginthreadex’ : undeclared identifier

2011年1月2日 没有评论

使用_beginthreadex照着MSDN的Demo写了一个程序,编译错误?明明包含了process.h头文件啊!!仔细一看,MSDN说“compile with: /MT”。所以需要自己手动修改工程的设置。
网上的方法是这么介绍的:
Project -> Settings… 中,选C/C++ 的页,然后在Category中选Code Generation,然在它下面的Use run-time libaray中选Multithreaded(或Multithreader DLL[......]

继续阅读