自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

软件调试的变革

新的理念,新的工具

  • 博客(24)
  • 资源 (5)
  • 收藏
  • 关注

原创 读书笔记_运行库的初始化和清理

运行库的初始化和清理编译器会为每个模块自动插入一个“编译器编写”的入口函数,在这个入口函数中进行好各种初始化工作后再调用用户的入口函数,在用户的入口函数返回后在运行自己的清理函数,我们把编译器插入的这个入口函数称为CRT入口函数Exe模块的入口函数用户入口函数CRT入口函数应用mainmainCRTStartup

2011-10-31 17:24:46 1414

转载 MFC DLL 中宏AFX_MANAGE_STATE的作用

先看一个例子:1、创建一个动态链接到MFC DLL的规则DLL,其内部包含一个对话框资源。指定该对话框ID如下:              #define IDD_DLL_DIALOG 20002、创建一个基于对话框的mfc应用程序,它包含两个对话框资源,IDD_UI_DIALOG和IDD_EXE_DIALOG。并将后者的ID指定如下:              #define I

2011-10-31 14:49:20 772

转载 VC6.0下设置unicode

VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序。使用VC++ 6.0进行Unicode编程主要做以下几项工作:1、为工程添加UNICODE和_UNICODE预处理选项。  具体步骤:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,加上_UNI

2011-10-31 08:22:35 1363

原创 读书笔记_运行库

编译期的检查主要是程序的静态特征,很难发现运行过程中出现的错误。为了发现这类错误,编译器还设计了运行期检查的功能。编译器的运行库(Run-Time Library)是支持运行期检查的载体。C/C++运行库:为了增强编程语言的能力,加快软件的开发速度,几乎所有编程语言都定义了相配套的函数库或类库,比如C标准定义的标准C函数,C++标准定义的C++标准类库,这些库被称为支持库(support

2011-10-28 17:07:04 572

转载 典型公司的典型工程师(from http://forum.eet-cn.com)

1.理想主义者都想着在某个领域上大有作为,然后斗志昂然的去推动,在一个还算虚怀若谷的大领导的下面,接受到了一些支持。然后就是大面积的规章制度,从网上搜来的各种零星的材料,堆起来的一堆规范,在项目和实际之前变得头破血流,然后理想主义者离开,变革变得无疾而终,一切回归原点。 2.现实主义者按着自己传统的“关系”的做法,努力在本土的环境下,按照既定的“关系”流程下,做着一种不算好不算坏的本土产品

2011-10-27 09:27:24 1180

原创 读书笔记_编译过程

编译器的两个工作,一是基本的编译功能,一个是检查并报告被编译软件中的错误。先看程序的构建过程: 源程序经过编译器(Compiler)被编译为等价的汇编语言模块,再经过汇编器(Assembler)产生出与目标平台CPU一致的机器码模块,这些机器码模块虽然已经可以被目标CPU所执行,但其中可能还包含没有解决(unresolved)的名称和地址引用,因此需要连接器(Linker)解决这些问题,并产生出符

2011-10-26 09:32:42 851

转载 一个产品经理的自我总结:我常犯的一些毛病(from http://forum.eet-cn.com)

7月骄阳似火,每个周末,我都会让自己停下了,静下来,想一想。人生难得的是坚持。同样,在产品的道路上,我还会继续往下走。从技能到心智的提升, 产品经理们其实有很多路要走。也把我常犯的毛病总结一下,以便未来的道路上,能够越走越远。  产品经理常犯的毛病——自我感觉好  到底你厉不厉害,自己说了不算。大家觉得你厉害,你就厉害;大家觉得你不行,你就不行。需要把更多的评判标准放权给大家,这样

2011-10-26 08:27:16 881

原创 读书笔记_windows的APIHook技术_part 2

IAT钩子简单强大,但缺点是这种钩子比较容易被发现。另外一方面这种方式经常使用,驱动程序验证机制就是使用的IAT hook这种方式,还有操作系统在一个称为DLL转发(DLL forwarding)的进程中也用到了IAT hook。所以即使检测到了IAT hook,但区分良性钩子和恶意钩子仍然是困难的。IAT hook的另外一个缺点就是只有当隐式调用DLL时,IAT hook才起作用,而通过Lo

2011-10-23 21:15:37 939 1

原创 读书笔记_windows的APIHook技术

首先介绍一下rootkits,rootkits是一种高端的黑客技术,能够运行在内核态,与杀毒软件处于同一级别,很难被发现与清除。  在windows系统中,大多数的进程都依赖于3个子系统:Win32,POSIX和OS/2子系统,这些子系统包含了一组良好的说明的API,大多数的程序都依赖与这些API,因此它们都是rootkit的极佳目标。  来看一个应用程序调用FindNextFile函数的

2011-10-23 08:14:31 1298

原创 IT人事们,你觉得你更像《挪威的森林》中的谁?

70,80后们,《挪威的森林》恐怕大家都不陌生吧,没读过的也应该听说过。现在电影版的终于问世了,我不知道别人看后的感觉怎样,我的感觉日本的电影拍的的确不怎么样。不过自己喜欢的小说拍成电影还是很不错的。电影中的风景真的是很美,仿佛整个电影都在森林中完成的,但演员的表现实在难以与原著相比。对于其中的几个人物,本人进行了一些总结,如果你也喜欢这部小说,不妨谈谈自己的想法。        渡边:小说的

2011-10-20 22:29:22 1444 2

原创 读书笔记_windows下的验证机制

常见的测试手段有以下几种:  黑盒测试  白盒测试  内建自检(BIST,Built-InSelf-Test),是指在软件代码内部构建一些测试功能,这些功能可以在某些情况下执行,或者被自动测试工具所调用以发现问题。  压力测试(Stresstesting),用于测

2011-10-19 09:04:12 1311 1

原创 读书笔记_windows内核编程基础_part 2

在进行编译驱动程序时,要对使用的平台进行选择,包括x86, x64, IA64.X86指的是IA32平台,它是一个intel通用计算机系列的标准编号的缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系它是一个对所有*86系统的简单的通配符定义。采用32位变长指令集,

2011-10-18 22:30:40 1520

原创 读书笔记_windows下的混合钩子(HOOK)_part 5_钩子的内存空间

钩子的内存空间用户空间的钩子的问题之一是为了编写LoadLibrary参数或编写代码,钩子通常必须在远程进程中分配空间。在内核中存在一个可写区域,它映射到每个进程的地址空间。另一个技术利用了两个虚拟地址映射到同一个物理地址这个事实。内核地址0xFFDF0000和用户地址0x7

2011-10-15 23:35:39 933

原创 读书笔记_windows下的混合钩子(HOOK)_part 4_使用MDL修改内存保护机制

MDL(Memory Descriptor List),指内存描述符表,它包含了该内存区域的起始地址、拥有者进程、字节数量以及标志。MDL结构定义在ntddk.h中,具体结构如下:Typedef struct _MDL{      Struct _MDL *Next;

2011-10-15 10:30:08 2151

原创 读书笔记_windows内核调试_part 2_内核对话过程

内核对话Windows启动内核调试后,主要做了以下几个工作1.  建立连接2.  调试器读取目标系统信息,初始化调试引擎(目标机)。3.  内核调试引擎通过状态变化信息包通知调试器加载初始模块的调试符号(目标机)。4.  调试器端发送中断包,将目标系统中断到调

2011-10-14 10:47:52 1537

转载 应届生应聘一些要注意的(from http://forum.eet-cn.com/)

终于在老编Mike的大力支持下,我的blog也开张了。不过最近一直忙于校园招聘的事,挑选简历也是力气活,终于开始感到HR确实也不容易。夜深人静,才有时间写一点关于最近校园招聘的面试心得体会,希望给求职路上的学弟学妹们一些好的建议。 简历千万别草率了事,简历乃推销自己的第一

2011-10-14 08:35:41 1654

原创 读书笔记_windows内核调试_part2_ 多核启动过程

多核启动过程下面我们看多核处理器的启动过程,在part 1中介绍过每个CPU都会执行KiInitializeKernel函数,但只有第一个CPU才执行其中的所有初始化工作,包括全局的初始化,其他CPU只执行CPU的相关的部分。0号CPU才调用和执行KiInitSystem,初

2011-10-11 22:30:30 1064

原创 读书笔记_windows下的混合钩子(HOOK)_part 3_HookImportsOfImage函数解析

HookImportsOfImage函数解析以下是_IMAGE_DOS_HEADER的结构,是在winnt.h头文件下的,指的是DOS.exe文件的头typedef struct _IMAGE_DOS_HEADER {      // DOS .EXE header

2011-10-11 21:04:15 739

原创 技术能让你走多远

初入职场,作为有一个冠冕堂皇名称的“软件工程师”,常常思考所谓的技术路线能让自己走多远?中国IT业的现状,童鞋们都应很了解,一些干了7,8年技术都会转行到管理职位的,国情就是如此,有“经理”头衔的一般都会比工程师挣得多。国外的状况却是相反,人家重视的是技术,工程师受人爱戴,工资比

2011-10-11 12:58:39 1681 14

原创 读书笔记_windows下的混合钩子(HOOK)_part 2

读书笔记_windows下的混合钩子(HOOK)_part 21.       分析PE文件下面接着看如果分析PE文件,从而找到其要导入的DLL。首先看PE文件的导入数据.idata段。.idata段是导入数据,包括导入库和导入地址名称表。在WINNT.H中所定义的数

2011-10-09 17:17:21 734

原创 读书笔记_windows内核调试_part 1

1.       远程调试的三种连接方式:串行口,1394和USB 2.0串口分为9针和25针,是最基本的通信方式,所有的内核通信都支持串口通信。1394又成为火线,是一种高性能的串行总线通信标准。使用1394进行通信时,目标系统和主机端的系统版本都必须至少是window

2011-10-07 22:01:24 988

原创 读书笔记_Windows的启动过程

Windows的启动过程:1.       系统固件(firmware)首先启动,即BIOS(Basic Input/Output System, 基本输入输出系统)或EFI(Entex Firmware Interface),BIOS或EFI在完成基本的硬件检测和平台初始化

2011-10-07 21:59:51 1020 1

原创 读书笔记_windows内核编程基础_part 1

1.       数据类型的定义,一般使用重定义的方式,例如ULONG,UCHAR等,x86到x64平台,指针从4字节转变成8字节。2.       大多数的内核API都返回一个状态,这个状态的类型为NTSTATUS。一般用宏NT_SUCCESS()来判断返回值是否成功3

2011-10-07 19:08:43 791

原创 读书笔记_windows下的混合钩子(HOOK)_part 1

读书笔记_windows下的混合钩子(HOOK)_part 1      在windows,所谓的混合钩子,指的是即使用用户态下的钩子,又使用内核态的钩子。优点是既能实现强大的功能,又能避免被安全软件发现。 混合HOOK使用IAT HOOK 勾住用户空间进程,下面

2011-10-07 16:33:09 985

OpenCV2.4.2开发文档

OpenCV的开发文档,视频与图片开发过的很好的学习资料,内容详细,供参考

2014-07-07

VC++获取键盘键值

获取键值的简单程序,通过键盘的按键显示输入的键值,VC编写,供参考学习

2014-07-07

金士顿U盘量产工具

金士顿量产工具,可以修复U盘,并可以制作U盘启动工具,里面含有教程,简单易懂,方便快捷

2011-11-27

鼠标模拟器实现鼠标模拟

可以记录鼠标的动作,然后进行回放,很好的开发工具,是学习的好帮手

2010-04-15

学生管理源程序VC可用于毕业设计进行参考

这是本人做数据库课程设计时的仓促之作,自我感觉实际应用价值并不大,但可以给学VC和数据库编程的朋友做个范例。在做之前也参看了不少同类型的管理系统,收获不小,现将这个学生管理系统贴出来,希望能对有需要的朋友有所帮助。系统不足之处肯定不少,还请高手多多指教,欢迎跟本人联系。 本人在系统中添加了直接通过SQL语句对后台的表进行修改的功能,颇有争议,还请有实际开发经验的朋友指教。

2009-11-03

空空如也

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

TA关注的人

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