
windows系统编程
文章平均质量分 63
bobopeng
这个作者很懒,什么都没留下…
展开
-
ACE入门之创建简单的服务器和客户端
ACE自适配通行环境(Adaptive Communicatin Environment)是面向对象的框架和工具包。它为通信软件实现了核心的并发和分布式模式。ACE具有分层的体系结构,基本分为三层:1. 操作系统适配层(OS)2. C++包装层3. 框架和模式层Shock类属(ACE_SOCK):1. Dgra转载 2014-07-05 17:09:06 · 901 阅读 · 0 评论 -
以资源形式导入dll和exe实现远控配置器和dll辅助注入
在远控/木马的编写过程原创 2014-08-05 15:36:56 · 2599 阅读 · 0 评论 -
以事件通知线程结束,并等待线程安全退出
有关windows下的线程以及一部通信机制的一些原创 2014-07-12 23:06:57 · 3726 阅读 · 0 评论 -
NDIS网络数据监控程序NDISMonitor(2)-----驱动与应用的中间层NdisHook
转载请标明是引用于 http://blog.youkuaiyun.com/chenyujing1234 欢迎大家拍砖! 本工程是驱动vpcknt的一个封闭层而已,比较简单。一、导出的API接口分析1、Start(1)加载驱动vpcknt.sys。vpcknt.sys是从工程的资源文件中通过CreateDriverFileFromAppResources加载的。(所以启动NDIS时金转载 2014-06-21 23:39:14 · 685 阅读 · 0 评论 -
内核模式驱动程序的网络结构
转载请标明是引用于 http://blog.youkuaiyun.com/chenyujing1234 欢迎大家拍砖! 1、Windows 2000 网络结构和OSI模型 Windows 2000网络结构是以国际标准化组织(ISO)制定的七层网络模型为基础的,1978年,ISO制定的开放式系统(OSI)参考模型,将网络描述为一系列的协议层,在每个协议层中完成一系列的特定功能。每一层都向上一转载 2014-06-21 23:48:20 · 584 阅读 · 0 评论 -
NDIS网络数据监控程序NDISMonitor(1)-----驱动程序(编译过程与源码讲解)
转载请标明是引用于 http://blog.youkuaiyun.com/chenyujing1234 欢迎大家拍砖! 一、编译过程弄了半天终于编译通过了,看来驱动的开发确实没有应用来得简单啊。由于DDK提供的ndis.h有4个,什么时候要调用哪个我确实不清楚:(1)我先用#include 结果报错了:[plain] view plaincopy1>转载 2014-06-21 23:36:33 · 959 阅读 · 0 评论 -
使用NDIS驱动监测以太网络活动
转载自: http://blog.youkuaiyun.com/ddtpower/article/details/656687 本论文提供了NDIS的基本的理解,应用程序如何与驱动程序交互,发挥驱动程序最佳性能。本论文也说明了使用例子驱动(PACKET.SYS)监测以太网的应用程序。本论文不是帮助程序员开发网络驱动而是帮助他使用这样的驱动。 引言 从计算机被发明以来,对转载 2014-06-22 00:41:45 · 1933 阅读 · 0 评论 -
NDIS网络数据监控程序NDISMonitor(3)-----NdisMonitro应用程序(C#)
转载请标明是引用于 http://blog.youkuaiyun.com/chenyujing1234 欢迎大家拍砖! 1、主窗口Load函数ctrlForm_Load(1)先调用GetExtensions来获得运行目录下bin目录中的所有文件,通过载入为Assembly,然后获取属性及名字, 并把它们转化为自定义的ExtensionInfo类型的数组存放。(2)创建ComboxBo转载 2014-06-21 23:41:12 · 675 阅读 · 0 评论 -
NDIS的NDIS_PROTOCOL_BLOCK和NDIS_OPEN_BLOCK的介绍
转载自:http://blog.sina.com.cn/s/blog_4de78d5901000bfd.html 本人简单的介绍一种更有效的基于NDIS包拦截技术。大家都知道,NDIS协议驱动程序是通过填写一张NDIS_PROTOCOL_CHARACTERISTICS的表,并调用NDIS API函数NdisRegisterProtocol进行注册。现在我们来关注一下NDIS_P转载 2014-06-22 00:39:55 · 820 阅读 · 0 评论 -
在mfc的子线程中创建非模态的对话框出现的问题
前几天在编写一个程序的时候,需要在一个原创 2014-08-05 22:59:12 · 4519 阅读 · 0 评论 -
windows的消息机制
windows是基于“事件驱动,消息响应”的一个操作系统,用户使用外部设备对OS产生一个事件(例如:鼠标点击,键盘按键等),OS会把这个事件封装成一个消息(对应一个数据结构),然后由系统调用用户设置的该消息的响应函数(这个响应函数是一个回调函数)完成整个操作过程。可以看出,这个过程中用户只需要“产生事件”和“为这个事件对应的消息绑定一个回调函数,这个回调函数是给系统来调用的,这也是为什么叫“回调”原创 2014-07-13 03:05:52 · 825 阅读 · 0 评论 -
cmd.exe的参数
Cmd.exe有很多命令行参数,具体情况如下:CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string]/C 执行字符串指定的命令然后中断;/K 执行字符串指定的命令但保留;/S 在 /C 或 /K 后修改字符串处理;/Q 关闭回应;转载 2014-08-01 01:27:21 · 1540 阅读 · 0 评论 -
vc判断操作系统类型
////////////////////////////////////////////////////////////////////////////// 函数功能:获得操作系统的版本信息//////////////////////////////////////////////////////////////////////////////DWORD NET_GetOsVersi原创 2014-08-01 17:59:56 · 1378 阅读 · 0 评论 -
ACE之初体验
最近这一周在研究ACE,这学期的突然的机会让我接触到了ACE,仅仅两天,我不得不为他的精彩折服,对分布式的良好支持,对平台的适应性,用户线程的管理,主动对像,前台服务器……我真是无法用语言来表达对他的钟情,哈哈。下面介绍一下我对ACE学习心得:ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)构架(Framew转载 2014-07-05 17:07:47 · 831 阅读 · 1 评论 -
windows进程间通信系列 第一篇——概述
进程间通信断断续续看了很长时间了,但是始终没有进行总结,为了巩固自己对这方面的理解,也方面与大家的交流,我将会尝试写一系列的关于Windows进程间通信的博文,实乃破砖引玉。进程是可运行的程序的实例,包含两部分,一部分是操作系统用来管理进程的内核对象,一部分是创建时系统分配的资源,主要是内存地址空间。它是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资原创 2014-06-01 01:36:01 · 599 阅读 · 0 评论 -
_stdcall和_cdecl的区别
前段时间编程时遇到过这么一个问题,我写了一个DLL,把里面的一个函数导出来,然后再定义一个签名与其匹配的函数指针,动态地把这个DLL加载起来(LoadLibrary),得到函数指针后,一调用,结果报错了,错误如下:Run-Time Check Failure #0 - The value of ESP was not properly saved across a function cal转载 2014-06-16 17:00:36 · 679 阅读 · 0 评论 -
FileOffset与RVA的关系
1.文件偏移地址 (File Offest)数据在PE文件中的地址叫文件偏移地址,个人认为叫做文件地址更加准确.这是文件在磁盘上存放时相对文件开头的偏移.2.装载地址 (Image Base)PE装入内存时的基地址.默认情况下,EXE文件在内存中的基地址是0x00400000,DLL文件是0x10000000.这些位置可以通过修改编译选项更改.3.虚拟内存地址原创 2014-06-15 21:28:18 · 1523 阅读 · 0 评论 -
Hook技术之API拦截(API Hook)
Inline Hook就是修改原创 2014-06-02 22:23:05 · 35008 阅读 · 3 评论 -
远程线程注入技术(3)之DLL以数据形式注入
这种方式介于注入DLL与注入数据之间,兼容了两种注入方式的优点。这种注入原创 2014-06-02 22:41:50 · 757 阅读 · 0 评论 -
win32调试API学习心得
要学习如何修改被调试进程,先让我们来了解几个与此有关的函数.一.读指定进程内存:ReadProcessMemory 此函数的定义为:function ReadProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer; nSize: DWORD; var lpNumberOfBytesR转载 2014-06-16 16:46:32 · 641 阅读 · 0 评论 -
Hook技术之消息拦截(Windows Hook )
首先来说说windows 消息Hook,这个消息Hook就是我们常用的通过SetWindowsHookEx来设置一个Hook,这个函数通过将这个Hook插入到Hook链的最前端,而发送给我们已经Hook了的窗口的消息首先会被我们的Hook函数截获,也就是我们优先于窗体捕获到消息。Windows Message Hook 可以实现全局Hook和局部Hook。局部Hook是在自身进程中创建一个Ho原创 2014-06-02 22:28:05 · 6863 阅读 · 0 评论 -
远程线程注入技术(1)之DLL的注入
如何创建一个远程线程呢?微软给我们提供了GreateRemotoThread函数: HANDLE CreateRemotoThread( HANDLE hProcess , // 要创建远程线程的进程句柄LPSECURITY_ATTRIBUTES lpThreadAttributes , // 用于定义新线程 的安全属性,设为NULL即可SZIE_T dwSt原创 2014-06-02 22:34:32 · 1735 阅读 · 0 评论 -
在MFC中使用WaitForSingleObject出现假死
前几天在编写远控的时候,需要在GUI线程之外创建一和原创 2014-08-05 23:38:35 · 4951 阅读 · 0 评论 -
获取浏览器密码
当你在登录网站时,你是否习惯浏览器IE或者FireFox记住你的密码?即便是自己的个人电脑这样做也是很危险的,密码信息将很容易被他人窃取。IE Passview 可以查看IE记住的所有密码.下载基地: http://www.nirsoft.net/utils/iepv.zip运行IE Passview,你将看到IE中所有的被你记住的密码: FireFox则可以不用第三方工具直接查看转载 2014-07-31 13:49:05 · 4943 阅读 · 0 评论 -
PE格式文件的代码注入
PE格式文件的代码注入 本文演示了在不需要重新编译源代码的情况下,怎样向Windows PE(Portable Executable)格式的文件(包括EXE、DLL、OCX)中注入自己的代码。 程序如图: 前言 或许,你想了解一个病毒程序是怎样把自身注入到一个正常的PE文件中的,又或者是,你为了保护某种数据而加密自己的PE文件转载 2014-08-21 20:05:35 · 1637 阅读 · 1 评论 -
PE文件导入表的代码注入
PE文件导入表的代码注入 试想一下,如果通过修改导入表,能把PE格式文件中的函数入口点,重定向到自己的程序中来,是不是很酷!这样,在自己在程序中,可以过滤掉对某些函数的调用,或者,设置自己的处理程序,Professional Portable Executable (PE) Protector也就是这样做的。另外,某些rootkit也使用了此方法把恶意代码嵌入到正常转载 2014-08-21 20:00:45 · 1951 阅读 · 0 评论 -
打造windows下的shellcode
为了帮助初学者了解ShellCode的编写,并能一步一步操作得到自己的ShellCode,因此将Windows下ShellCode的编写过程作详细的介绍,以利于像我一样的菜鸟,最终能够写出简单的但却是真实的ShellCode;而进一步高级的ShellCode的编写,也会在系列后面的文章中一步一步的演示的,希望大家会发现,Exp真好,ShellCode最美妙! ShellCode简介和编写转载 2014-09-07 10:07:27 · 1014 阅读 · 0 评论 -
DLL劫持技术详解(lpk.dll)
说起DLL劫持技术,相信大家都不会陌生,因为这种技术的应用比较广泛,比如木马后门的启动、破解程序的内存补丁、外挂插件的注入以及加密狗的模拟等。之所以DLL劫持技术深受黑客们的喜爱,主要是因为该技术可以有效的躲过大部分杀软,并且实现起来技术难度不大。DLL劫持技术也不是什么新技术,记得在《Windows核心编程》中也有提及相关技术。可是对我们广大初学者来说,DLL劫持技术就显得很神秘了,本系列教程将转载 2014-08-18 22:19:49 · 1966 阅读 · 0 评论 -
Unicode编码与多字节编码的转换
/**********************************************函数作用:把Unicode字符串转换为Ascii字符串参数说明:*********lpcwszStr:要转换的Unicode字符串*********lpcwszStr:接收转换结果的Ascii字符串*********dwSize:用来接收转换结果的缓冲区大小******************原创 2014-10-23 13:43:44 · 942 阅读 · 0 评论 -
从利用匿名管道实现可交互式远程超级终端cmd.exe说起
为了实现原创 2014-10-23 13:29:54 · 4012 阅读 · 0 评论 -
win7 x64环境下如何拷贝自身进程文件到system32路径下
http://bbs.youkuaiyun.com/topics/390824137原创 2014-10-23 13:42:37 · 2213 阅读 · 0 评论 -
获取进程信息在Realease下路径不完整的情况分析
在win7 x86 && x64下都原创 2014-10-23 13:40:58 · 865 阅读 · 0 评论 -
关于stack around the variable “” was corrupted问题
http://www.cnblogs.com/flysnail/archive/2011/09/21/2184114.html原创 2014-10-30 16:13:16 · 1418 阅读 · 0 评论 -
必须掌握的命令行
一,ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作转载 2014-08-01 01:33:20 · 532 阅读 · 0 评论 -
Detours简介 (拦截x86机器上的任意的win32 API函数)
Detours当然是用detours,微软明显高腾讯一筹,同上,至今没失败过.写这种HOOK一定要再写个测试程序,不要直接HOOK你的目的程序,例如QQ,因为这样不方面更灵活的测试.说明一下:Detours是微软开发的一个函数库(源代码可在http://research.microsoft.com/sn/detours 免费获得)用于修改运行中的程序在内存中的影像,从而即使没有源代码也能改转载 2014-08-19 10:25:36 · 1341 阅读 · 0 评论 -
DLL编程基础
DLL是组成windows系统的基石,在很多情况下的编程是原创 2014-07-15 23:06:57 · 531 阅读 · 0 评论 -
关于C++内存泄漏检测的相关知识(windows程序调试 )
转自:http://www.cnblogs.com/lzjsky/archive/2010/09/08/1821529.html1.msdn 在debug模式下的内存结构(曾今在gaia引擎里看过类似的自己模仿实现的内存管理结构)typedef struct _CrtMemBlockHeader{// Pointer to the block allocated jus转载 2014-06-22 22:00:14 · 581 阅读 · 0 评论 -
Windows/Linux下C/C++内存泄露检测工具
一 Window下的内存泄露检测(以VC++环境为例)灵活自由是C语言的一大特色,但这个特色也难以避免的带来一些副作用,比如内存泄露。众所周知,内存泄露的问题比较复杂,程序正常运行时你看不出它有任何异常,但长时间运行或在特定条件下特定操作重复多次时,它才暴露出来。所以,内存泄露往往是难以发现,也难以定位解决的。Visual Leak Detector(VLD)是一款用于Visual C++转载 2014-06-22 22:02:49 · 737 阅读 · 0 评论 -
内存泄露及检测
转载自:http://www.cnblogs.com/skynet/archive/2011/02/20/1959162.html“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没转载 2014-06-22 22:04:18 · 640 阅读 · 0 评论 -
关于vc++ 6.0 SDK的配置
现在由于VS的强大集成性,用户已经不需要自己安装sdk了原创 2014-07-13 20:36:08 · 3759 阅读 · 1 评论