
windows
文章平均质量分 68
duhaomin
开朗,爱运动
展开
-
WideCharToMultiByte和MultiByteToWideChar函数的用法
http://www.cnblogs.com/gakusei/articles/1585211.html为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。转载 2015-05-27 08:37:51 · 677 阅读 · 0 评论 -
利用Visual C++6.0创建和使用DLL(Dynamic-Link Library).
原文地址:http://www.cnblogs.com/because/archive/2012/02/18/2357109.html摘要 利用Visual C++6.0创建和使用DLL(Dynamic-Link Library).概述 在实际编程时,我们可以把完成某种功能的函数放在一个动态链接库中,然后给其他程序调用。转载 2014-04-17 11:10:58 · 2829 阅读 · 0 评论 -
accept函数
参考一:原文地址:http://blog.chinaunix.net/uid-25749806-id-348689.html13.2.5 accept函数处于监听状态的服务器在获得客户机的连接请求后,会将其放置在等待队列中。当系统空闲时,将接受客户机的连接请求。接收客户机的连接请求使用accept函数,该函数的具体信息如表13.6所示。表13.6 accept函数转载 2014-03-31 18:55:25 · 2723 阅读 · 0 评论 -
主机字节序与网络字节序的转换函数:htonl、ntohl、htons、ntohs
原文地址:http://blog.youkuaiyun.com/libuding/article/details/5860578Part 1: htons函数具体解释 在Linux和Windows网络编程时需要用到htons和htonl函数,用来将主机字节顺序转换为网络字节顺序。 在Intel机器下,执行以下程序int main()...{转载 2014-03-30 18:00:22 · 5892 阅读 · 0 评论 -
Windows下与Linux下编写socket程序的区别
Windows下与Linux下编写socket程序的区别原文地址:http://hi.baidu.com/wyh20100301/item/ec5d1f31c0e650fb2784f4fc【【Windows】】 【Windows: 头文件的区别】 winsock.h或winsock2.h 【Windows: 初始转载 2014-03-30 00:04:38 · 1227 阅读 · 0 评论 -
poll模型
poll原创 2014-03-30 01:20:26 · 1177 阅读 · 0 评论 -
Python通过文件头来判断文件的真实类型
### # 文章:Python通过文件头来判断文件类型 # 作者:http://aminby.net ### import struct # 支持文件类型 # 用16进制字符串的目的是可以知道文件头是多少字节 # 各种文件头的长度不一样,少半2字符,长则8字符 def typeList(): return { "FFD8FF"翻译 2014-03-05 19:14:32 · 2130 阅读 · 0 评论 -
关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L
原文地址:http://www.cnblogs.com/wanghao111/archive/2009/05/25/1488816.htmlchar :单字节变量类型,最多表示256个字符,wchar_t :宽字节变量类型,用于表示Unicode字符,它实际定义在里:typedef unsigned short wchar_t。为了让编译器识别Unico转载 2014-06-03 15:17:28 · 749 阅读 · 0 评论 -
windows驱动开发学习,准备工作
va_list、va_start、va_arg、va_end的原理与使用 http://www.cppblog.com/qiujian5628/archive/2008/01/21/41562.htmlWDK采用WDF驱动模型,DDK是WDM驱动模型 http://bbs.youkuaiyun.com/topics/300004423VMware虚拟机XP系统安装教程 htt原创 2013-10-24 19:31:11 · 1288 阅读 · 0 评论 -
大数据处理---C++
一个大文件,肯定是内存无法全部读取的,比如1TB,里边很多字段,假设是这样的:111这样一行一个数字,简单点,不统计每个数字的频率了,仅仅统计有多少个1,如何做呢?FILE * p = fopen("test.dat","r");__int64 len=0;char a[2]={0};for(int i = 0 ;; i ++){ fread(a,2,1,p); i原创 2014-02-13 20:57:55 · 5299 阅读 · 0 评论 -
inline hook【001】
什么是inline hook呢?没纠结pushadpopad能用于386及其继机型执行pushad依EAX、ECX、EDX、EBX、ESI、EDI执行ESP- 32用于保护断现场;popad执行结相反用于恢复断现场 程序要用某些寄存器内容用使用组入栈栈指令比程序调用断处理程序调用经用形式与pushpop类似pushadpopad由于能性完寄存器入栈栈故比单纯pushpop更便且原创 2014-10-11 15:11:36 · 1107 阅读 · 0 评论 -
inline hook【002】
用inline hook 去hook dll中的某个函数的小例子:原创 2014-10-14 10:05:36 · 1046 阅读 · 0 评论 -
宽窄字符系列
1:日志打印原创 2014-08-19 11:15:01 · 1616 阅读 · 0 评论 -
Windows日志打印API的封装使用OutputDebugStringA
在C++编程中,经常会需要打印日志使用dbgview查看相应的一些信息,原创 2014-06-03 14:21:18 · 5525 阅读 · 0 评论 -
Windows 中_T和L
原文地址 :http://blog.youkuaiyun.com/nodeathphoenix/article/details/7733244 _T("")是一个宏,定义于tchar.h下。[1] #define _T(x) _ _T(x) #ifdef _UNICODE #define _ _T(x) L #转载 2014-06-03 15:16:33 · 966 阅读 · 0 评论 -
使用IDA反汇编系统NTReadVirtualMemory函数,模拟实现里边的部分函数
首先是IDA的使用,打开VMware虚拟机,找到C:\Windows\system32\ntkrnlpa.exe,考到本地电脑,用IDA打开。配置symbol标志文件:找到IDA文件下边的cfg\pdb.cfg,使用UltraEdit打开,第8行有个_NT_SYMBOL_PATH字符串,记住之后配置系统环境变量,计算机---属性---高级系统设置---高级---环境变量---系统变量---新建原创 2013-10-25 10:56:36 · 3709 阅读 · 0 评论 -
SSDT hook学习资料以及总结问题
很想把调试后的代码发出来,但是由于是在公司写的,在此就不贴出来了,不过根据下边的这些资料,聪明的你一定可以把原理弄懂并且整出来的。SSDT hook 的一点 疑问->获取服务地址用一句话就搞定 了,还用写个函数用内联汇编?KeServiceDescriptorTable.ServiceTableBase[122] http://www.mengwuji.net/forum原创 2013-10-24 19:27:23 · 1491 阅读 · 0 评论 -
驱动学习微博推荐
001:大神学习驱动编程的学习笔记:http://blog.sina.com.cn/s/articlelist_1641438774_0_1.html002:钩子(HOOK)函数教程(一) http://www.zdexe.com/program/list_2.html003:大神的基础知识总结以及实验总结 http://blog.youkuaiyun.com/tianzhhy/原创 2013-10-24 19:36:54 · 986 阅读 · 0 评论 -
inline hook NtOpenProcess学习资料以及总结问题
HOOK的学习掌握,Open process方面的函数编写_declspec用法 http://wenku.baidu.com/view/61232f0b79563c1ec5da719f.htmljmp机器码:0xE9是相对偏移操作,0xFF是绝对偏移,0xE8 是call,汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp htt原创 2013-10-24 19:19:55 · 2135 阅读 · 0 评论 -
C++ 读取PE文件并十六进制打印输出
分析PE结构的时候,想自己把里边的结构理解后打印LoadPE分析的东西,在此先把读取PE 结构的C++代码贴出来:#include #include #include #include #define MAX 16*10000using namespace std;int value[MAX];DWORD FileSize(){ TCHAR szFileName[MAX_P原创 2014-02-16 23:42:03 · 3975 阅读 · 0 评论 -
内存分配粒度vs内存分页大小vs内存空间
当请求一块内存的时候,系统每次分配出来的内存空间的最小度为分配粒,这个分配粒度就是对齐值,32位机器上是64K大小;而分页时,每一页在32位机器上是4K,当需要6K的时候,它会将这6K的数据放在两页中,一页4K,一页2K,可能是为了下次再有需要,可以直接扩大,每次会给你64K 的空间,也就会有64-6=58K的空间是给你预留的,暂时不用。原创 2014-02-13 19:59:43 · 2263 阅读 · 0 评论 -
从IRP说起(待深入理解)
原文地址:http://www.cnblogs.com/zhuyp1015/archive/2012/03/14/2396595.html从IRP说起 IRP(I/O request package)是操作系统内核的一个数据结构。应用程序与驱动程序进行通信需要通过IRP包。当上层应用程序需要与驱动通信的时候,通过调用一定的API函数,IO管理器针对不同的API产生不同的IR转载 2013-10-29 18:50:13 · 1174 阅读 · 0 评论 -
MDL 详解(待深入理解)
原文地址:http://laokaddk.blog.51cto.com/368606/404588以下的虚拟内存可以理解成逻辑内存,因为我觉得只有这样才能讲通下面所有的东西。以下的“未分页”指没有为页进行编码。以下为MDL结构体(我很郁闷,我在MSDN上没有找到这个结构体)typedef struct _MDL { struct _MDL *Next; //下一转载 2013-10-29 19:05:44 · 2724 阅读 · 0 评论 -
windows 编程ReadProcessMemory 使用中遇到的问题解决
本次锻炼的本来是对ReadProcessMemory 里边的NtReadVirtualMemory 进行反汇编,为了验证反汇编成功,需要先使用NtReadVirtualMemory 的上层函数ReadProcessMemory去看看功能效果,ReadProcessMemory这个函数的声明是:BOOL WINAPI ReadProcessMemory( _In_ HANDLE hP原创 2013-10-30 16:08:53 · 10131 阅读 · 0 评论 -
驱动与应用层简单消息通信总结
驱动与应用层简单消息通信总结参考:驱动与应用层简单消息通信 http://www.cnblogs.com/einyboy/archive/2012/06/13/2548030.htmlGetLastError http://www.cnblogs.com/carekee/articles/2196518.htmlDeviceIoControl的使用说明原创 2013-10-29 18:01:05 · 3149 阅读 · 0 评论 -
ProbeForRead(),ProbeForWrite()
ProbeForRead(),ProbeForWrite()函数ProbeForRead MSDN解释,ProbeForWrite MSDN解释ProbeForWrite ( __inout_bcount(Length) PVOID Address, __in SIZE_T Length, __in ULONG Alignment )/*++Ro翻译 2013-10-28 14:11:46 · 4783 阅读 · 0 评论 -
区分 WDM驱动和NT驱动(有待继续思考)
WDM由.inf文件加载,NT通过服务手动加载WDM支持即插即用,NT不支持即插即用WDM通过注册表指定挂载那个驱动,NT可通过寻找不同的设备对象指定挂载没有INF,WDM也有加载成功的可能。但是运行会出问题,不信你弄个WDM的驱动,用DriverMonitor(加载NT驱动的工具)也可以加载,但是没法卸载。不像NT的那样能卸载,为什么呢?因为结构不同,WDM的IRP_MJ_CLO翻译 2013-10-28 10:25:48 · 2322 阅读 · 0 评论 -
DO_DEVICE_INITIALIZING(待继续弄懂)
原文地址:http://blog.youkuaiyun.com/baund/article/details/7038521DO_DEVICE_INITIALIZING 创建设备 iocreatedevice windows内核开发deviceobject->flag &= ~DO_DEVICE_INITIALIZING;当设置DO_DEVICE_INITIALIZING标志时,I/O管转载 2013-10-28 10:18:55 · 1565 阅读 · 0 评论 -
try catch异常处理与SEH
转自:http://www.soft-bin.com/html/2010/08/06/try_catch_and_seh.html作者: luckzj发表时间: 2010年8月6日本文链接: http://www.soft-bin.com/html/2010/08/06/try_catch_and_seh.htmlcopy right (c) http://soft-bin转载 2013-10-25 17:50:28 · 3015 阅读 · 0 评论 -
[转载]SEH in ASM研究
原文地址:http://forum.eviloctal.com/thread-6883-1-32.html[转载]SEH in ASM研究文章作者:Hume/冷雨飘心 为什么老调重弹: SEH出现已绝非一日,但很多人可能还不彻底了解Seh的运行机制;有关seh的知识资料不是很多,asm级的详细资料就更少!seh不仅可以简化程序错误处理,使你的程序更加健壮,还被广转载 2013-10-25 19:48:59 · 1061 阅读 · 0 评论 -
The use of FS/GS registers
转自【http://blog.youkuaiyun.com/coryxie/article/details/8551057】博注:偶很少弄Windows的东西,偶尔因为RE了ntoskrnl.exe->ntoskrnl.c,发现里面很多__readfsdword(32),__readfsdword(292)之类的调用,因此Google了一下,下面是记录,不敢说原创,故都列出了原文地址。1.Wh转载 2013-10-25 18:05:00 · 1731 阅读 · 0 评论 -
反汇编编程遇到的问题总结
反汇编编程遇到的问题总结编写NtReadVirtualProcess反汇编代码的时候,遇到了一系列问题,记录一下,希望能给一些也是初入该领域的朋友带去帮助:在此之前写过的几篇文章:第五天 使用IDA反汇编系统NTReadVirtualMemory函数,模拟实现里边的部分函数驱动与应用层简单消息通信总结windows 编程ReadProcessMemory 使用中遇到原创 2013-10-31 18:52:17 · 2251 阅读 · 0 评论 -
ESP 寄存器
ESP 寄存器 http://hi.baidu.com/retrying/item/ac63fa10ff406501b88a1a7dEBP寄存器 在长期的编程和使用中,在程序员习惯中已经默认的给每个寄存器赋上了特殊的含义,比如:EAX一般用来做返回值,ECX用于记数等等。在win32的环境下EBP寄存器用与存放在进入call以后的ESP的值,便于退出的时候回复ESP的值,转载 2013-10-25 19:41:17 · 3536 阅读 · 0 评论 -
琐碎的发现,ImageRvaToVa函数分析!
琐碎的发现,ImageRvaToVa函数分析!最近,写了东西的时候用到了一个函数感觉很不错!MS就是好嘛!ImageRvaToVa就是把物理地址转换为虚拟地址的函数!可是最近到网络上找了好长时间也没发现有多少人用它!也许是我RP问题,我想不会吧! 写代码的时候,忽然要用到虚拟地址转换物理地址的函数,我顺手在VC里输入了ImageVaToRva,惯例嘛!怎么来的怎么回去!编译了好转载 2014-02-26 18:23:14 · 1959 阅读 · 0 评论 -
虚拟内存与内存映射文件区别与联系
虚拟内存与内存映射文件区别与联系原文地址:http://blog.sina.com.cn/s/blog_4eee98350100abbr.html虚拟内存与内存映射文件是操作系统内存管理的重要部分,二者有相似也有不同的地方,本文是作者学习与应用中得到的一些体会,有错误的地方,请提点。二者的联系:虚拟内存与内存映射文件都是将一部分内容加载的内存,另一部分放在磁盘(硬盘)上的一种机转载 2014-02-23 15:57:48 · 1154 阅读 · 0 评论 -
利用python+pefile库做PE格式文件的快速开发
原文地址:http://www.pediy.com/kssd/pediy10/89838.html发现很多的朋友经常用到PE格式相关的开发,如解析PE文件的格式,获取相关的内容。比如常常用到的静态的病毒启发式检测模型的建立、病毒样本分类、查壳脱壳等。搜索了一下发现论坛里面没有我要讲的这个东西,于是我在这里向大家推荐pefile这个python库。这个是基于MIT l转载 2014-02-24 10:38:01 · 1726 阅读 · 0 评论 -
非常好用的XueTr-驱动开发,底层开发等等的好助手
点击下载XueTr0.39这个是XP版本的,而据我所知,这个软件是个人开发,不是商业开发,也是作为练习学习而边学边开发的,所以大家就不要要求跟商业破解版那样,毕竟人家不要钱,Win732位的也有,可以自己找一下,使用它,可以找到软件被谁钩住,进程,内核模块,注册表信息,DPC定时器等等很棒的功能,研究底层、驱动、内核之类的朋友一定会喜欢的。原创 2013-12-06 09:58:00 · 1398 阅读 · 0 评论 -
error C2220: warning treated as error - no ‘object’ file generated
WDK/DDK中掉 error C2220: warning treated as error - no ‘object’ file generated网上搜索而来,保存其实就是关掉编译选项的问题…网上提得最多的就是修改 WDKPATH\i386.inc文件中的MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWIT转载 2013-10-28 16:58:07 · 3521 阅读 · 0 评论 -
Windows游戏加速外挂-变速齿轮 学习笔记-【第一篇】
找到两篇文章,是比较流行的方法,接下来记录一下收获:第一篇文章:“变速齿轮”研究手记转自:http://www.newasp.net/tech/58262.html注意:如果你看了本文,对我们这个软件有兴趣,请到我们的主页www.vrbrothers.com下载。注:为节省篇幅,本文对一些计算机术语直接使用而没有作详细的解释,读者若有不熟悉之处,建议参考清华大学翻译 2013-12-03 20:07:05 · 14377 阅读 · 2 评论 -
【Windbg,DriverStudio3.2】驱动编程调试环境 使用总结
首先是安装配置:用虚拟机VMWare+WinDbg调试Windows驱动攻略 http://www.51qudong.net/197.html用虚拟机VMWare+WinDbg调试Windows驱动攻略 http://hi.baidu.com/billbeggar/item/a4f238e9738855cfbbf37dc6我自己的一些初学者总结:整体:Windbg安装在我们原创 2013-12-04 11:19:11 · 1176 阅读 · 0 评论