自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (5)
  • 收藏
  • 关注

原创 windows应用程序双机调试方法

背景遇到产品环境比较复杂,不能在机器上调试的时候怎么查找出错原因呢?这种情况出现在大多数的情况下,用户环境不可能还会让你去装个vs工具。Vs2010调试方法 (1)环境要求 联机调试的机器在一个局域网内(非局域网调试方法不涉及),为了方便理解,现假定环境如下: 主机A:VS2010 VMwareB:(IP:192.168.0.171)

2015-08-24 19:01:11 1109

原创 如何生成dump文件

引言当出现崩溃问题时,首先想到的是看有没有生成dump文件,通过文件查看出错的位置,再进行下一步的调试。可是你会发现不是所有的应用程序都会产生dump文件。(据我所知,可以通过程序不让系统产生崩溃文件(为了让用户觉着友好)。)那么问题来了,怎么产生dump文件呢?方案(1)崩溃时可收到操作系统提示,即弹框提示。 操作步骤:收到弹框后,不要关闭,保持现状。打开任务管理器或者Process Ex

2015-08-24 17:49:18 4607

原创 编程工具

没有一一实践,先存起来有时间找到最适合自己的工具。 1.版本控制工具:VSS、SVN 2.调试工具:Windbg、DebugView 3.源代码工具:IDE、DiffMerge(比较工具) 4、分析代码质量:Lint(语法\语义检查器)选自 《代码大全 第2版》第30章 编程工具

2015-08-06 14:25:25 517

转载 LNK2005: 函数在两个库中定义

msvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义转载 原文 链接打不开很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Library) 连结,以及关于 MSVC 与 CRT 之间的种种恩怨情仇。如果你使用的作业系统是 Linux、Mac 或其他非 Windows 平台,你可以忽略这篇文章

2015-08-03 15:07:46 903

原创 动态库和静态库

## 动态库和静态库小结 ##动态库和静态库是编程过程中经常用到的两个东西,不同的背景下使用不同的方式,为了达到更好的目的。用途 动态库和静态库都是用来封装相同类型作用的函数,以便用来自己或第三方使用的代码库。静态库和动态库 静态库:lib后缀叫做静态库,静态库中包含执行代码、符号表等信息。 动态库:dll后缀叫做动态库,动态库编译生成的lib后缀文件叫导入库,导入库包含地址符号、地

2015-06-12 16:40:47 466

原创 驱动汇编和c混用

1.背景    32位驱动文件使用64位编译,会发现编译器提示不能识别_asm。amd64要如何使用汇编呢?2.方法    a)把汇编语言单独列出来,放入后缀为asm的文件中         代码目录下新建amd64文件夹,新建asm64.asm。         在source中加入: AMD64_SOURCES=amd64\asm64.asm  #如果是32位可以改

2015-05-12 11:23:23 641

原创 编码实现修改应用程序标题

1.问题背景   使用afxmessagebox弹出xin'xi'kuang

2014-08-13 16:50:37 590

原创 文件系统的过滤

1.DriverEntry的具体工作    a)生成一个控制设备。当然ci

2014-05-08 17:48:31 424

原创 磁盘类型

按照不同的分类方式可以把磁盘设备细化为不同的类型,首先哪些可以算是磁盘设备。磁盘设备应包括磁盘驱动器、适配器及盘片,它们既可以作为输入设备,也可作为输出设备或称载体。我所知道的磁盘设备包括以下:标准优盘、硬件(软件)加密优盘、移动硬盘、usb读卡器、硬盘、软盘等。       MSDN中把磁盘驱动器分为下列类型:(括号内容为本人理解)磁盘驱动器类型详

2014-02-11 15:39:03 670

原创 致年少时的热忱

回想初中时期,没少挨骂,班主任是刚毕业大学生,后来分析正处于青春期(或者更年期),脾气贼大。班主任是数学老师。当时喜欢数学,数学成绩也最好,他俩的因果关系至今未懂 :)    记得是非典前期,还在学校上课期间,因为要消毒,上课时会有阿姨在走廊撒消毒液,本人鼻子灵敏,一下就闻到了,下意思的捂了下鼻子,我去,老师爆发了,怀疑是不是当时失恋了,脾气贼大。当时老师正在讲解一道没有解出来的题

2014-01-13 18:30:45 449

原创 操作INI配置文件 vc

1.INI    INI文件被用来对操作系统或特定程序初始化或进行参数设置。2.优势    INI有自己特定的格式,不用连同格式一起写入文件;INI有自己特定的读写方式,读取时方便快捷。3.实现    a)格式        [setion]        time0=2013-01-13        count=1    b)使用    A:在配置文件中

2014-01-13 17:53:42 466

原创 类型转换

1.CString转换为LPTSTR    CString>    LPTSTR>    str.ReleaseBuffer();切忌释放

2013-12-25 17:42:16 357

原创 session 0隔离

1.背景    操作系统:win7    目标:服务程序能够启动一个进程,不能弹出交互式服务检测2.实现    使用createProcessAsUser函数,此函数可以穿透session0,启动一个当前运行用户权限的进程3.实现思路    获取当前sessionID,WTSGetActiveConsoleSessionId    获取当前session

2013-12-25 17:30:51 952

原创 遇到的最难的bug

1.bug背景    产品要兼容win7-64系统,我们产品是c/s/c架构,即客户端/服务器/控制台。    客户端程序出现bug,程序一运行就崩溃。(尝试抓取崩溃文件,没有获取崩溃信息)2.查找问题    程序的逻辑是这样的,它启动之后要与服务器进行通信,但是根据查看端口,程序与服务器端口连接并不正常。首先确认在双方通信的过程中就存在这个问题,通信库是我们自己编写的

2013-12-03 17:45:09 1065 4

原创 编码规范

算是读书笔记吧,后期有时间会对其进行整理的,书正在看,所以会随时更新1.定义    编码过程中先不说多大的功能,只要编码都会涉及到定义,定义变量,定义函数,定义宏等。    大多数初学者因为受C语言课本的荼毒,声明变量名称都喜欢使用j,k,m,n等来定义,比如:    int i = 1;    int j = 0;    for( i = 1;i     {

2013-11-12 15:21:44 644

原创 hook浅析

1.hook由来     通常情况下,应用程序只能处理来自进程内部的消息或是从其他程序发送过来的消息。如果要处理进程外的消息,需要拦截消息,此时采用的就是钩子技术。2.hook分类

2013-11-11 11:36:36 698

原创 位域初始

1.位域        位域是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样

2013-10-24 17:16:23 542

原创 NtQuerySystemInformation 函数简单解析

1.函数定义:    此函数是微软内部使用函数,未公开。此函数在之后的操作系统之后会有所改变,需注意使用。 NTSTATUS WINAPI NtQuerySystemInformation( _In_       SYSTEM_INFORMATION_CLASS SystemInformationClass, _Inout_    PVOID SystemInformation

2013-08-26 14:43:02 999

原创 SQL Server 日志读写

1.需求:    想要知道尝试使用不同用户名或者密码进行连接sql server失败的事件2.可行性:    sql server有审计日志,类型系统事件日志,通过设置sql server可以得到日志。设置方式在下边。   通过技术支持:http://technet.microsoft.com/zh-cn/library/cc645603(v=sql.105).aspx 了解系统错

2013-08-15 18:11:31 659

原创 win7 64位 字符串连接导致崩溃

1.问题描述    在win7 64位操作系统中,使用+= 连接两个字符串会出现崩溃现象。(并非所有win7 64位都有这个现象)

2013-08-07 15:12:46 529

原创 vs2003迁移到vs2010

1.问题描述    背景:在vs2003上编写的代码迁移到vs2010,项目属性-常规-mfc-在共享DLL中使用MFC    问题:在64位操作系统上运行,出现崩溃现象:应用程序错误,提示应用程序无法正常启动(0xc000007b)    方案:A 修改项目属性,常规-mfc-在静态库中使用DLL;项目属性-c/c++-代码生成-运行时库-/MT。

2013-07-16 13:38:08 1088

SCSI总线和IDE接口协议应用和编程

价绍scsi和ide接口相关知识以及编程

2014-05-20

windows驱动编程入门

一篇超级入门级的教程,来解决那些最基本的开发问题

2014-03-28

windows用户态程序高效排错

本书是一本介绍Windows系统上的用户态程序排错方法和技巧的书。本书分为4个章节,先介绍最重要的、通用的思考方法,以便制定排错步骤;再介绍对排错有帮助的知识点和工具;并介绍了。NETFramework(CLR)的相关知识和调试技巧;最后一章针对常见的几大类问题进行了总结。本书案例丰富,对现实中的实际问题进行了研究,并和读者一起分析解决办法;本书的写作思路为先给出问题描述,然后提供线索,再进行分析,让读者在阅读中也进行思考,以提高实际解决问题的能力。本书适合希望学习排错、调试知识的软件开发、测试人员,希望深入学习Windows系统上用户态程序的排错知识的软件开发、测试人员

2014-03-13

IDA实例教程

我们不需要寻找OEP,也不需要解除自校验,只要修复IAT,DUMP下来就可以动手分析了。假如你需要修改程序,可以使用内存补丁技术。动态与静态,调试器与反汇编器结合可以简化分析任务,帮助我们理解代码。因此掌握一种反汇编器是非常必要的。IDA可以说是这方面的首选工具,它为我们提供了丰富的功能,以帮助我们进行逆向分析。

2013-11-01

空空如也

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

TA关注的人

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