自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cumirror的专栏

编程学习者

  • 博客(68)
  • 资源 (6)
  • 收藏
  • 关注

原创 关于naked (C++)

MSDN中关于naked关键字的介绍:For functions declared with the naked attribute, the compiler generates code without prolog and epilog code. You can use this feature to write your own prolog/epilog code sequen

2012-08-09 23:48:25 4096

原创 wireshark过滤语法总结

做应用识别这一块经常要对应用产生的数据流量进行分析。抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后参考。(脑子记不住东西)wireshark进行过滤时,按照过滤的语法可分为协议过滤和内容过滤。对标准协议,既支持粗粒度的过滤如HTTP,也支持细粒度的、依据协议属性值进行的过滤如tc

2011-12-09 22:38:50 194542 4

原创 NDISLWF how to modify the packet

http://www.osronline.com/showThread.cfm?link=172579You are not generally permitted to modify something that your driver doesnot 'own'. A

2011-08-15 15:25:34 5773 2

原创 一道百度试题

有一串首尾相连的珠子,共有m个,每一个珠子有一种颜色,并且颜色的总数不超过n(n

2011-08-10 20:38:43 961

原创 NDISLWF how to block stream

下面的代码中部分是伪代码,但关键的流程整理出来了,过滤databuffer,将允许通过的NBL和不允许通过的NBL分别加入NBL_QUEUE_HEADER NblSendQueue;或NBL_QUEUE_HEADER NblDropQueue;链表中。然后将两个NBLs分别进

2011-08-10 12:58:00 3569

原创 ndis6.0 NetBufferSend相关函数与数据结构

FilterSendNetBufferListsComplete:NDIS calls the FilterSendNetBufferListsComplete function to complete a send request that a filter driver

2011-08-01 19:35:08 6457 4

原创 微博内容过滤

今天精神不太好,突然想到如何针对weibo的内容做流量过滤,以前做过应用识别方面的东西,对这方面比较熟悉,于是安装wireshark抓包,看看在微博上发消息数据包到底是什么样子的。我用的是新浪微博,发了三条内容如下:通过wireshark过滤找到了相应的session,对应包的内

2011-07-25 21:00:57 3523

原创 全排列,递归实现

最近在看linux C一站式学习(http://learn.akae.cn/media/index.html),里面关于C的基础大部分都了解,对GDB、汇编和后面关于linux编程的内容比较感兴趣,不过还是重头把文档看了下,8.3后面的一个习题尝试自己写了下。

2011-07-04 18:56:49 654

原创 linux学习资料,更新ing

最近在看oldlinux的源码,可惜基础薄弱,囫囵吞枣了一遍,虽然没能学到很多,但对于操作系统中的一些基本概念,如copy on write, load on demand,页式管理等,有了比较好的理解。 下面链接中,对“逻辑地址、线性地址、物理地址和虚拟地址”的概念讲得挺透彻。http://bbs.chinaunix.net/thread-2083672-1-1.html 这个链接中,对于old

2011-06-28 16:21:00 687

原创 CHash、spinlock等知识点小结

CHash即cache hash,主要是考虑buket中有多个item时,考虑到cache的大小,如mips中是128字节,可以把buket指向的item设置为128字节,里面用一个bitmap和几个指针地址指向具体的item。spinlock:自旋锁,如果没有申请到锁,会一直占用到它的时间片结束。注意调用spinlock时往往要关闭中断,防止死锁。相关知识有:进程翻转。找到了一个参考网页:http://www.ibm.com/developerworks/cn/linux/l-cn-spinlock/

2011-04-08 18:04:00 2219

原创 queue(3)--freebsd中的queue结构使用

<br />前几天看代码,发现有类似这样的结构:<br /> <br /> TAILQ_FOREACH(np, &head, entries){ printf("%d %d/n", np->a1, np->a2); } <br />我没太多代码编写经验,初读的时候能模糊知道和for_each()函数类似,但十分好奇是如何实现了,后来在发现引用了queue.h头文件,是freebsd里定义的一头文件,采用宏定义的形式实现了4种基本的数据结构,没做太多深入的理解,我简单把其中的Tail queue拿

2011-03-28 15:13:00 2178

原创 DNS域名压缩

<br />前几天大家讨论DNS协议时,突然发现一些字段长度与实际编码不一致。<br /> <br /> <br />后来仔细看了DNS协议,发现,在返回结果中有许多域名可能是重复的,为了避免不必要的开销,DNS协议中使用了压缩方法。<br /> <br />当一个域名中的标识符是压缩的,它的单记数字节中的最高两位被置为11,剩下的14bit说明实际域名所在位置相对DNS起始表示字段的偏移。<br /> <br />插图片太麻烦了...就简单的写写记录下来,感兴趣的自己再去深入看看。<br /> 

2011-03-25 09:49:00 4190

原创 c语言小的知识点int* a[5] int (*b)[5]

<br /><br />int main()<br />{<br />int* a[5];<br />int (*b)[5];<br />int i = 2, j = 3, k = 4; <br />b = a;<br />a[0] = &i;<br />printf("%d  %d %d/n", *a, *a[0], i);<br />printf("%d  %d %d/n", a, a[0], &i);<br />printf("%d  ", b);<br />b++;<br />printf("%d/

2011-03-14 10:21:00 4893

原创 int型在内存中的存储方式与高低字节(大小端)

首先明确一点:结构体中的成员是从低地址向高地址排列的,这一点和数组类似,即排在结构体前面的成员占用内存低地址,排在结构体后面的成员占用内存高地址。union int_char {int a;char b[4];}ton;ton.a = 0x02ff03ff;

2011-03-08 18:05:00 13223 1

原创 AC算法

可以参考:http://hi.baidu.com/lightxianjian/blog/item/d0f0b8de8041125095ee3710.htmlhttp://blogold.chinaunix.net/u/12592/showart_284591.html第一个链接中,里面对于trie树的构建讲解得比较清楚,也介绍了失效函数(文中是失效指针)的原理,不过对算法并未做仔细讲解。第二个链接中,对于转向函数、失效函数、输出函数都有详细介绍,而且可以下载相关文档资料和代码,势不可多得的参考资料。

2011-02-10 22:34:00 3606

原创 KMP算法的实现

// kmp.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"char pattern[] = "abaabaabbcdf";char text[] = "abaabaabbcdfkashdfirabcabcedbyuvabcabddcdscgyuvwb,mbkabcabcedabaabaabbcdfdcdsjciuzxqwmd,sanfixcvjwqkfniozxyciuwqfksgiuytsw";int next[sizeof(pattern)-1]

2011-02-06 18:21:00 870

原创 批处理-保留空行并去掉注释行

<br />下午写的,看abap代码时,有些注释行不想要,正好用批处理来解决。<br />其中扩展了下,使得代码中的空行也能输出。<br /> <br /> <br />@rem 注释在行首的才能判断出来...<br />@echo off<br />@rem .则输出空行<br />@echo.>editaaa.txt<br /> SetLocal EnableDelayedExpansion  <br />for /f " tokens=1,* delims=:" %%i in ('findstr /n

2010-09-16 17:10:00 3982

原创 在文本中找出重复的数据记录的批处理怎么写

<br />最新想学习批处理,在网上搜索信息时看到百度上的一个问题就自己写了下。<br />问题地址:<br />http://zhidao.baidu.com/question/101833311<br /> <br />对很多东西不熟,费了一下午才完成要求,写的批处理程序如下:<br />@rem 这个程序实现了把文件中相同行的内容提取出来@rem 注意SetLocal与EndLocal,用它使得上面for中的环境变量不会对下面for循环中的环境变量产生影响@rem 现在程序执行不能得到正确结果

2010-09-15 19:11:00 3254

原创 如何阅读passthru?

环境是:window 2003 server工具:Windows Server 2003 DDK(迅雷下载地址:ftp://www.driverdevelop.com/en_ws2003_sp1_ddk.iso)Driverstudio3.2 (迅雷下载地址:http://cracklab.ru/_dl/_/DriverStudio_3.2_CRACKLAB.rU.rar)Vi

2010-05-19 12:35:00 1243 1

原创 C++ STL学习笔记十二 hash_map映照容器

/* * ************************************************************************************ *       hash_map映照容器的基础说明: ***********************************************************************************

2010-05-16 11:06:00 10334 1

原创 C++ STL学习笔记十一 hash_set哈希集合容器

/* * ************************************************************************************ *      hash_set哈希集合容器的基础说明: **********************************************************************************

2010-05-16 11:05:00 46678 3

原创 C++ STL学习笔记十 multimap多重映照容器

/* * ******************************************** *  multimap多重映照容器的基础说明: ******************************************** * * multimap多重映照容器:容器的数据结构采用红黑树进行管理 * multimap的所有元素都是pair:第一元素为键值(key),不能修改;第二元素为

2010-04-25 13:56:00 4254 2

原创 C++ STL学习笔记九 map映照容器

/* * ******************************************** *   map映照容器的基础说明: ******************************************** * * map映照容器:容器的数据结构采用红黑树进行管理,插入的元素键值不允许重复 * map的所有元素都是pair:第一元素为键值(key),不能修改;第二元素为实值(va

2010-04-25 13:35:00 1624

原创 C++ STL学习笔记八 multiset多重集合容器

/* * ******************************************** *   multiset多重集合容器的基础说明: ******************************************** * * multiset多重集合容器使用RB-Tree的平衡二叉检索树的数据结构。 * 允许将重复键值的元素插入到multiset中 * 插入过程中要进行平衡处

2010-04-25 12:49:00 4352

原创 C++ STL学习笔记三 deque双端队列容器

/* * ******************************************** *  deque双端队列容器的基础说明: ******************************************** *  * * 可进行随机访问,在**头部和尾端**插入、删除元素,时间复杂度为O(1) * Random Access Container   Back Inserti

2010-04-16 21:33:00 7175 1

原创 C++ STL学习笔记六 bit_vector位向量容器

/* * ******************************************** * bit_vector位向量容器的基础说明: ******************************************** * * 具有vector容器一样的成员函数,常用于硬件端口的控制。 * 区别于vector,bit_vector更节省内存空间,一个

2010-04-12 18:38:00 5525

原创 C++ STL学习笔记五 slist单向链表容器

/* * ******************************************** *   slist单向链表容器的基础说明: ******************************************** * * slist是SGI C++STL自设的一个容器,要安装配置stlport才可以使用 *  * Front Insertion Sequence * slist

2010-04-05 12:31:00 5730 1

原创 C++ STL学习笔记四 list双向链表容器

/* * ******************************************** *   list双向链表容器的基础说明: ******************************************** * * list双向链表容器采用双向链表的数据结构来存储元素数据,可以高效查找、插入、删除容器元素 * * Reversibe Container  Back Inse

2010-04-04 15:37:00 9927 3

原创 C++ STL学习笔记七 set容器

/* * ******************************************** *   set集合容器的基础说明: ******************************************** * * set集合容器使用RB-Tree的平衡二叉检索树的数据结构,不允许插入重复键值 * 每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的所有键值 * 

2010-03-31 19:28:00 7336 1

原创 C++ STL学习笔记二 vector向量容器

/* * ******************************************** *   vector容器的基础说明: ******************************************** * * 可进行随机访问,并且实现了在容器的尾端插入新元素  * Random Access Container 和 Back Insertion Sequence * 在尾

2010-03-31 19:17:00 1785

原创 C++ STL学习笔记一

为何要学习STL:数据结构与算法是编程的核心,STL中包含各种数据结构和优秀的算法,确实值得深入学习,本文中虽然着重使用,但希望有心的朋友能多看看相关数据结构的实现,对于C++语言确实会有较大帮助。 STL库有多个版本,我采用的是SGI版本,编译安装方法请参考如下链接:http://blog.csdn.net/hong201/archive/2009/07/06/4322975.a

2010-03-31 18:37:00 1681

转载 VC编程小技巧

1. 如何获取系统日期 CTime tm = CTime :: GetCurrentTime(); CString strTime = tm.Format(_TEXT(“%Y-%M-%d %H:%M:%S)); MessageBox(strTime); 2 动态分配二维数组 int **array; array = new int*[col]; if(array = = 0) exit(-1);

2010-03-16 23:17:00 7830

原创 CApp,CMainFrame,CDoc,CView

想写VC编程的朋友一定要看孙鑫老师的视频,里面讲得很好。 网上寻找到的资料总结: CMainFrame是CApp类的主程序窗口(如果是选MDI或SDI结构的话),也就是程序的一个框架。CApp中如无特殊的要求不用加什么代码,CMainFrame中也是根据需要,如按照微软提供的框架也不需要加什么代码。    CDocument一般和CView一起使用,这样的程序叫文档/视图结构。CD

2010-03-10 10:31:00 2003 1

转载 宏定义详解

宏定义有无参数宏定义和带参数宏定义两种。   无参数的宏定义的一般形式为            # define 标识符 字符序列其中# define之后的标识符称为宏定义名(简称宏名),要求宏名与字符序列之间用空格符分隔。这种宏定义要求编译预处理程序将源程序中随后所有的定名的出现(注释与字符串常量中的除外)均用字符序列替换之。前面经常使用的定义符号常量是宏定义的最简单应用。如有:        

2010-03-10 09:59:00 1192

原创 MFC标题设置

方法一:BOOL C***App::InitInstance()中添加:m_pMainWnd->SetWindowText("cumirror");方法二:增加一个String   Table资源   ID=AFX_IDS_UNTITLED,CAPTION="CUMIRROR"  若把两者都进行了设置,则方法一中的名字优先显示。

2010-03-06 20:29:00 4567

原创 window编程学习总结

这段时间把《C语言也能干大事》的前21章看完了,在里面学习了许多对控件的操作函数,后面的讲解也使我对与数据库的连接、DLL的建立有了一定的了解,现在将一些基本的操作以及基本的知识点在这里进行下归纳总结,便于以后的查阅。WINAPI基本函数1.MessageBox()int MessageBox( HWND hWnd, // handle to owner win

2010-02-11 10:30:00 2532

原创 那些函数调用前需要清零字符串

当我们调用各种字符串处理函数时,字符串终止符/0是否都是自动添加进去的,如果不是,我们如何防止数组越界呢?

2010-02-09 22:04:00 1362

转载 内存字节对齐

写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧./******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一

2010-02-09 14:56:00 530

转载 一些基本的SQL命令

--显示版本号,当前日期 SELECT VERSION(),CURRENT_DATE(),NOW(); --免费的计算器 SELECT (20+5)*4 AS RESULT,SIN(PI()/3); --创建数据库 CREATE DATABASE databasename; --删除数据库 DROP DATABASE databasename

2010-02-07 17:58:00 594

原创 WIN32编程:__stdcall,__cdecl,__fastcall,thiscall

__cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要注意了,只有用相同的方法才能够调用成功.另外,像printf这样接受可变个数参数的函数只有用cdecl才能够实现.     __declspec主要是用于说明DLL的引出函数的,在某些情况下用__de

2010-02-03 10:49:00 1059

科来数据包生成器

科来数据包生成器,windows下能实现数据包的回放、能自动计算校验和。linux下就用pktgen了。

2012-02-23

Iris Network Traffic Analyzer

可以进行网络抓包、网络分析等。 好吧,我还好好用过它,但收藏了先。

2012-02-23

3CDaemon.rar

带有TFTP、FTP、SYSLOG等功能,十分好用的一款软件。

2012-02-23

source insight

source insight看代码的好工具,里面含有一个注册码。

2012-02-23

passthru代码讲解与Thomas的代码

《NDIS防火墙》文档,是针对passtru进行讲解的.同时包含Thomas两个例子的源码和英文讲解的翻译。

2010-05-19

socket编程—实现文件传输、线程、进程范例

socket编程的简单例子,属于socket编程入门级(本人正在学习中),感兴趣的朋友可以下载看看。 程序在ubuntu9.04下编译的,因为类库的不同,windows下VC编程调试通不过。

2009-11-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除