- 博客(17)
- 资源 (29)
- 收藏
- 关注
转载 深入理解Win32结构化异常处理(一)
[翻译]深入理解Win32结构化异常处理(一) 在所有的Win32操作系统提供的功能里,最常用但是描述最不全的(underdocument)恐怕就是结构化异常处理了(structured exception handling (SEH))。当你想到Win32的结构化异常处理,你会想到 _try, _finally, 和 _except这些东西,你可以从任何一本Win32的书中找
2015-09-30 11:08:54 1359
转载 深入理解Win32结构化异常处理(四)
[翻译]深入理解Win32结构化异常处理(四) 如果你已经走了这么远,不把整个过程讲完对你有点不公平。我已经讲了当异常发生时操作系统是如何调用用户定义的回调函数的。我也讲了这些回调的内部情况,以及编译器是如何使用它们来实现__try和__except的。我甚至还讲了当某个异常没有被处理时所发生的情况以及系统所做的扫尾工作。剩下的就只有异常回调过程最初是从哪里开始的这个问题了。好吧,
2015-09-30 11:04:48 730
转载 深入理解Win32结构化异常处理(三)
转载URL:http://www.cnblogs.com/salomon/archive/2012/06/20/2556349.html[翻译]深入理解Win32结构化异常处理(三)__except_handler3 and the scopetable我真的很希望让你看一看Visual C++运行时库源代码,让你自己好好研究一下__except_handler3函数,
2015-09-30 11:04:06 877
转载 深入理解Win32结构化异常处理(二)
有了前面的最简单的例子,让我们再回过头去填补一些空白。虽然这个异常回调机制很棒,但它并不是一个完美的解决方案。对于稍微复杂一些的应用程序来说,仅用一个函数就能处理程序中任何地方都可能发生的异常是相当困难的。一个更实用的方案应该是有多个异常处理例程,每个例程针对程序的特定部分。不知你是否知道,实际上,操作系统提供的正是这个功能。 还记得系统用来查找异常回调函数的 EXCEPTION_REG
2015-09-30 11:03:09 870
原创 .cxr 手工找异常发生时的寄存器上下文
1.使用!analyze -v分析出如下一条信息:STACK_COMMAND: .cxr 02D3EF58 ; kb ; dds 2d3f23c ; kb2.这个.cxr 02D3EF58 地址是如何得到的呢?~*kbn 查看所有进程的调用栈情况发现如下信息: # ChildEBP RetAddr Args to Child 0b 02d3ee
2015-09-30 10:33:43 1527
原创 windbg可以查看GDT表
命令: dg 功能: 显示指定的段描述符信息 示例: 显示一个 0:003> dg 0x18 P Si Gr Pr Lo Sel Base Limit Type l ze an es ng Flags0018 00000000 ffffffff Code RE Ac 3 Bg Pg P Nl
2015-09-28 15:50:26 3808
转载 __attribute__((regparm(n)))
GCC中可以使用__attribute__((regparm(n)))指定最多可以使用n个寄存器(eax, edx, ecx)传递参数,n的范围是0~3,超过n时则将参数压入栈中(n=0表示不用寄存器传递参数)。看下面例子,函数p1约定不使用寄存器传递参数,尽管只有1个参数,仍然将参数压入栈中。函数p2约定最多可使用3个寄存器传递参数,因为输入参数有4个,所以前三个使用寄存器传递,
2015-09-23 15:33:09 884
转载 Bochs调试手册(英)
8.11. Using Bochs internal debuggerNote, if you are looking for a graphical front-end for the bochs debugger, you may want to check out BFE. This is a package written by a Bochs user which can
2015-09-22 15:54:51 782
转载 0.ring0-PAE-(虚拟地址转换成物理地址详细示例)
PAE是Physical Address Extension的缩写,即物理地址扩展。简单来说,就是把IA-32处理器的寻址能力从原来的4GB扩展到64GB。寻址4GB空间,要求物理地址的宽度为32位。类似的,要寻址64GB空间,那么物理地址的宽度就是36位。因为这个原因,PAE又被称为PAE-36bit。一般电脑都可以轻松看出是不是使用了PAE,最简单是看系统属性:如果
2015-09-16 15:43:01 857
转载 vs2008与vs2010设置条件断点(Condition Breakpoint)
vs2010与vs2008设置条件断点(Condition Breakpoints)的方法相同,也相当简单。条件断点在调试程序时非常有用。设置普通断点,在代码左边的空白条单击即可。如果想设置条件断点,需要打开断点对话框。在菜单栏上依次打开【Debug】|【Windows】|【Breakpoints】。在相应的断点上右击,选择条件(Condition),在弹出
2015-09-16 09:32:47 1580
转载 Win10系统Edge浏览器怎么备份收藏夹
Win10系统Edge浏览器怎么备份收藏夹时间:2015-09-08 10:20http://www.xitongzhijia.net作者:zhijie Win10系统Edge浏览器推出的这一段时间还是很受欢迎的,特别是在平板用户方面,Edge浏览器的反馈更好。遗憾的是Edge现在还不支持收藏夹的同步,所以要重装Win10的话,Edge浏览器收藏夹的备份是一个问题。那么Win10
2015-09-15 19:37:28 2482
转载 19个必须知道的Visual Studio快捷键
本文将为大家列出在 Visual Studio 中常用的快捷键,正确熟练地使用快捷键,将大大提高你的编程工作效率。 项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示 Solution Explorer(解决方案资源管理器) Shift + Alt+ C = 添加新类 Shift + Alt + A = 添
2015-09-12 19:14:32 440
转载 Visual Studio 2015正式版/产品密钥
Microsoft 开发人员工具:Visual Studio官网正式发布了Visual Studio 2015 正式版!现在,微软MSDN订阅网站镜像文件已经全部上线,包括简体中文免费版、专业版、企业版等ISO离线安装镜像。Visual Studio 2015 是一个丰富的集成开发环境,可用于创建出色的 Windows、Android 和 iOS 应用程序以及新式 Web 应用程序和云服务。适
2015-09-10 20:54:32 4129
转载 C/C++语言extern使用方法总结
Extern的问题在于不知道这个关键词出现的时候到底是声明还是定义。谨记:声明可以多次,定义只能一次。 函数的声明extern关键词是可有可无的,因为函数本身不加修饰的话就是extern的。但是引用的时候一样是需要声明的。而全局变量在外部使用声明时,extern关键词是必须的,如果变量无extern修饰且没有显式的初始化,同样成为变量的定义,因此此时必须加extern,而编译器在此
2015-09-10 13:10:03 458
转载 #pragma命令详解
每种C和C++的实现支持对其宿主机或操作系统唯一的功能。例如,一些程序需要精确控制超出数据所在的储存空间,或着控制特定函数接受参数的方式。#pragma指示使每个编译程序在保留C和C++语言的整体兼容性时提供不同机器和操作系统特定的功能。编译指示被定义为机器或操作系统特定的,并且通常每种编译程序是不同的。语法:#pragma token_string“token_string”是一系列
2015-09-10 11:11:13 1470
转载 微软编译器vs 编译器(cl.exe)和连接器参数
CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。 注意,所有编译器选项都区分大小写,这些参数可以通过设置工程或项目属性进行改变。 若要
2015-09-10 10:56:18 1505
转载 动态加载EXE文件到内存执行(测试可以编译成功)
//*******************************************************************************************************// loadEXE.cpp : Defines the entry point for the console application.//// Proof-Of-Concep
2015-09-08 14:53:38 2282
winhex编辑器
2014-03-29
w32dsm静态反汇编工具
2014-03-29
OllyDBG_1.10
2014-03-29
PEiD 0.94版本
2014-03-29
漫谈兼容内核
2013-05-02
bochs 2.6 source code
2012-09-27
Import REConstructor V1.4和V1.6两个版本
2009-02-01
万能图标提取器 V1.0(100%不变色)
2009-02-01
win2000API学习资料
2009-02-01
Asp 文件加密器(MyAsp) v2.0,网马免杀,免杀
2009-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人