摘要: 1. 添加两个表 Binary和CustomAction2. 在Binary表中,添加一行,如:命名为TestConnectCA,Data选择准备好的dll文件(C++或者其他)3. 在CustomAction表中,添加一行(Custom Action Type)http://msdn.microsoft.com/en-us/library/windows/desktop/aa372048(v=vs.85).aspxActionTypeSourceTarget1表示dllBinary表中的程序集dll中的导出函数4. 在ControlEvent表中,添加一行(ControlEvent)http 阅读全文
posted @ 2012-10-19 15:59 友学友 阅读(1027) 评论(0) 推荐(0) 编辑
摘要: 听力网站推荐:1. VOA http://www.fltaradio.com/english/123-voa-news-special-and-standard-english-voice-of-america.html2. NPR http://www.npr.org/3. BBC http://www.bbc.co.uk/news/背诵是通往流利英语的捷径。新概念2,3,4,依次背诵,不断的重复,重复,再重复,达到舌尖效应。300-500遍,咋舌啊,这么多遍,背死人啊~ 阅读全文
posted @ 2012-10-19 09:16 友学友 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 驱动层的步骤1. 创建通信端口 FltCreateCommunicationPort 对于安全对象,必须设置OBJ_KERNEL_HANDLE。 ServerPort 监听客户端连接请求的端口。 第三个参数ObjectAttributes 通过InitializeObjectAttributes初始化,其中包含了端口名称。方便应用层打开。 ConnectNotifyCallback 用户态连接回调,这里对多个连接进行一些区别操作。 比如ClientPort,表示用户态与内核建立的新连接的客户端端口句柄。 minifilter必须把该句柄传递FltSendM... 阅读全文
posted @ 2012-09-07 11:05 友学友 阅读(6376) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2012-08-23 16:51 友学友 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 参考文章http://www.sevenforums.com/crash-lockup-debug-how/34871-advanced-principles-debugging.htmlChildEBP: a pointer to a memory location which stores the address of the previous function on the stack ("stack frame").RetAddr: The "return address" where processing will resume once th 阅读全文
posted @ 2012-08-22 15:42 友学友 阅读(3544) 评论(0) 推荐(1) 编辑
摘要: std::vector<std::wstring> vec;!stl vec查看vec中所有元素出现一下情况的话,看看是否新版本的windbg解决了这个问题“看来WinDbg还不支持VC10beta1,使用VS2008SP1编译器后一切正常!” 阅读全文
posted @ 2012-08-16 17:45 友学友 阅读(2482) 评论(0) 推荐(0) 编辑
摘要: 参考了罗云斌的一篇文章,很清晰http://net.pku.edu.cn/~course/cs201/2004/Assembly/%BB%E3%B1%E0%D6%D0%B2%CE%CA%FD%B5%C4%B4%AB%B5%DD%BA%CD%B6%D1%D5%BB%D0%DE%D5%FD.htm子程序如何存取参数:因为缺省对堆栈操作的寄存器有 ESP 和 EBP,而 ESP是堆栈指针,无法暂借使用,所以一般使用 EBP 来存取堆栈,假定在一个调用中有两个参数,而且在 push 第一个参数前的堆栈指针 ESP 为 X,那么压入两个参数后的 ESP 为 X-8,程序开始执行 call 指令,call 阅读全文
posted @ 2012-08-14 14:55 友学友 阅读(9418) 评论(0) 推荐(0) 编辑
摘要: dt -r iWhich will recursively dump the iterator. One of the members should be the info you seek. Verbose, but effective. 阅读全文
posted @ 2012-08-10 13:05 友学友 阅读(1827) 评论(0) 推荐(0) 编辑
摘要: 第三章 串口过滤在windows系统上与安全软件相关的驱动开发中,“过滤”(filter)是极其重要的一个概念。过滤是在不影响上层和下层接口,在内核中加入新的层,从而不修改上层软件或下层真实驱动,就加入新功能。进行过滤的最主要的方法是对一个设备对象(DO)进行绑定。我们可以首先认为:一个真实的设备对应一个设备对象(实际对应关系可能复杂的多)。通过编程生成一个虚拟的DO,并Attach在一个真实的设备上。一旦绑定,则本来OS发给真实设备的请求,就会首先发送到这个虚拟设备。WDK有多个API实现绑定功能。NTSTATUS IoAttachDevice( IN PDEVICE_OBJECT Sou. 阅读全文
posted @ 2012-07-28 08:05 友学友 阅读(584) 评论(0) 推荐(0) 编辑
摘要: Windows的内核还有个明显的不同,就是其内核的相当一部分页面是可倒换的。内存管理即虚存技术的重要内容之一是物理页面的倒换,就是可以将已经有映射但是暂时不受到访问的页面倒换到外存中去,到实际受到访问时再倒换进来,使外存成为内存的扩充。但是,在Linux中,属于内核的页面无论是用于代码还是数据(用于文件内容缓存的除外),是不受倒换的。这一方面是为了简化内核的设计和实现,一方面也是因为觉得价值不大,因为内核毕竟是全局的,所有进程都公用同一个系统空间,即使要倒换也油水不大。但是,Windows的内核却不同,其相当一部分页面是可倒换的。究其原因,另一方面可能是来自VMS的影响,另一方面也可以从Win 阅读全文
posted @ 2012-07-26 17:55 友学友 阅读(1241) 评论(0) 推荐(0) 编辑