自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DOTM的专栏

defend of the mind

  • 博客(55)
  • 资源 (2)
  • 收藏
  • 关注

原创 熔断--汇率

新年伊始,我壮哉大A股就来了两场大血,股灾3.0开始在网上蔓延。话说A股施行熔断机制的第一天起就亲身示范了一下,也是没谁了。结果两天后又来了一次,直接赶超美帝几十年的历史,中国速度不服不行。关于这次下跌的原因, 当然不可能是单一的啦。注册制的到来导致的估值重估,大股东不减持承诺的到期,以及这几天人民币势不可挡的下跌。个人 认为早盘短短十五分钟内就夺命逃亡,与媒体大肆报道的人民币汇率大幅下跌带来的恐

2016-01-08 00:22:54 599

转载 LIB和DLL的区别与使用

共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅

2014-05-03 09:54:52 507

转载 OpenGL开发之旅.NET平台配置

在介绍.NET平台中配置之前,我想先给大家介绍下如何在VC6.0的环境中配置,因为我使用时是使用VC6.0作为开发环境的,而且VC6.0在Windows中地位,你懂的。  开发OpenGL程序主流的环境是Visual Studio,Broland C++ Builder和VC6.0开发环境,下面是VC6.0中配置方法。   1. VC6.0配置  Windows环境

2014-04-23 13:35:19 1025

转载 3D空间坐标系认识

3D空间认识:在前面章节中,在屏幕上绘制的2D图像三角形是以屏幕对齐的,就像一个三角形直接贴在屏幕上面,但是那不是每一个都适用的。这样我们就需要一个3D空间坐标系来进行描述和进行显示,在真实的世界里,每一个物品都存在于3D空间中。这也就意味着,要想放置一个物品在一个特殊的位置,我们必须要使用一个坐标系并且定义3个描述特定位置的坐标。在计算机绘图中,三维坐标系一般使用的是笛卡儿坐标系,这个在

2014-04-10 07:19:25 10648

转载 KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 《寒江独钓》内核学习笔记(5)

继续我们的线程相关的数据结构的学习。接下来我们学习 KTHREAD,TEB这两个结构。 1. 相关阅读材料1. 《加密与解密3》2. [经典文章翻译]A_Crash_Course_on_the_Depths_of_Win32_Structured_Exception_Handling.pdf3. 《0 DAY安全: 软件漏洞分析技术》   

2013-12-30 07:42:07 1938

转载 THREAD APC 《寒江独钓》内核学习笔记(4)

继续学习windows 中和线程有关系的数据结构: ETHREAD、KTHREAD、TEB 1. 相关阅读材料《windows 内核原理与实现》 --- 潘爱民   2. 数据结构分析我们知道,windows内核中的执行体层负责各种与管理和策略相关的功能,而内核层(微内核)实现了操作系统的核心机制。进程和线程在这两层上都有对应的数据结

2013-12-30 07:33:25 1814

转载 KPROCESS IDT PEB Ldr 《寒江独钓》内核学习笔记(3)

继续上一篇(2)未完成的研究,我们接下来学习 KPROCESS这个数据结构。 1. 相关阅读材料《深入理解计算机系统(原书第2版)》  二. KPROCESSKPROCESS,也叫内核进程块。我们在开始学习它的数据机构之前,首先要思考的一个问题是,它和EPROCESS名字感觉差不多,那它们之间是什么关系呢?它们在内核区域中都位于那一层呢?

2013-12-30 07:29:02 1141

转载 EPROCESS 进程/线程优先级 句柄表 GDT LDT 页表 《寒江独钓》内核学习笔记(2)

在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构: EPROCESS/KPROCESS/PEB。把它们放到一起是因为这三个数据结构及其外延和windows中进程的表示关系密切,我们在做进程隐藏和进程枚举的时候一定会涉及到这3类数据结构,所以这里有必要及时做一下总结,做个学习笔记,理清思路。 1. 相关阅读材料《win

2013-12-30 07:17:58 2144

转载 IRP IO_STACK_LOCATION 《寒江独钓》内核学习笔记(1)

在学习内核过滤驱动的过程中,遇到了大量的涉及IRP操作的代码,这里有必要对IRP的数据结构和与之相关的API函数做一下笔记。 1. 相关阅读资料《深入解析 windows 操作系统(第4版,中文版)》 --- 9章《windows driver kit 帮助文档》http://support.microsoft.com/kb/115758/zh-cn 

2013-12-30 06:51:54 1381

转载 理解和使用NT驱动程序的执行上下文(二)

驱动程序的分派例程执行时所处的上下文应该引起特别的注意。在许多情况下,内核模式驱动程序的分派例程运行在调用者用户线程的上下文中。图 1 显示了为什么会这样。当一个用户线程向一个设备发出了 I/O 函数调用,例如通过调用Win32 的 ReadFile(…) 函数,将产生一个系统服务请求。在 Intel 架构的处理器上,这样的请求依靠通过一个中断门的软中断来实现。中断门把处理器的当前权限级别改变到内

2013-12-29 19:38:13 656

转载 MFC消息机制

1消息的分类1.1队列消息、非队列消息??队列消息:windows为每个应用程序都建立一个消息队列,那么通过消息队列,进行传送的消息都属于队列消息;一般来说,由鼠标、键盘产生的消息都属于队列消息。(为什么呢?想想,鼠标、键盘事件都是由系统捕获的,系统捕获后要传递给应用程序,就一定的通过消息队列);??非队列消息:除了队列消息,剩下的自然而然就是非队列消息了;

2013-12-20 18:22:29 1048

转载 MFC框架原理以及消息运行机制2

8,显示和更新窗口:CTEApp类,TEApp.cpp中m_pMainWnd->ShowWindow(SW_SHOW);//显示窗口,m_pMainWnd指向框架窗口m_pMainWnd->UpdateWindow();//更新窗口说明:class CTEApp : public CWinApp{...}class CWinApp : public CWinThread{.

2013-12-20 18:18:25 754

转载 MFC框架原理以及消息运行机制1

(1)Windows程序内部运行机制       1,windows程序设计是种事件驱动方式的程序设计,主要基于消息的。当用户需要完成某种功能时,需要调用OS某种支持,然后OS将用户的需要包装成消息,并投入到消息队列中,最后应用程序从消息队列中取走消息并进行响应。2,消息结构:typedef struct tagMSG {     // msg     HWND   hwnd;

2013-12-20 18:14:51 667

转载 MFC中的CArchive(2)

一.概述CArchive使用了缓冲区,即一段内存空间作为临时数据存储地,对CArchive的读写都先依次排列到此缓冲区,当缓冲区满或用户要求时,将此段整理后的数据读写到指定的存储煤质。 当建立CArchive对象时,应指定其模式是用于缓冲区读,还是用于缓冲区写。 可以这样理解,CArchive对象相当于铁路的货运练调度站,零散的货物被收集,当总量到达火车运量的时候,由火车装运走。 

2013-12-18 16:59:10 579

原创 MFC中的CArchive(1)

1.先贴上该类:class CArchive{protected:enum SchemaMapReservedRefs { objTypeArrayRef = 1 };enum LoadArrayObjType{ typeUndefined = 0, typeCRuntimeClass = 1, typeCObject = 2 };public:// Flag

2013-12-18 16:58:22 1266

转载 MFC中单文档中m_pMainWnd的初始化

找了很多地方都没有找到单文了很多地方都没有找到单文档的初始化,今天我自己来找。。 工具: UltraEdit, VS2005, AJC Grep 1.1.1 试用版, 参考文献:深入浅出MFC 目标:找到m_pMainWnd的赋值的地方 m_pMainWnd

2013-12-17 18:32:43 796

转载 构造函数中调用虚函数?

上篇转载的文章中没有解释构造函数调用不了子类虚函数的问题,特意搜了一下如下:参考stroustrup的回答吧(http://www.research.att.com/~bs/bs_faq2.html#vcall)在构造函数中调用虚成员函数,虽然这是个不很常用的技术,但研究一下可以加深对虚函数机制及对象构造过程的理解。这个问题也和一般直观上的认识有所差异。先看看下面的两个类定义。

2013-12-14 14:46:09 651

转载 AFX_NOVTABLE与__declspec(novtable)

今天在看MFC的源代码时,发现基类CObject的定义是如下形式:#ifdef _AFXDLLclass CObject#elseclass AFX_NOVTABLE CObject#endif_AFXDLL是什么东西呢,从网上搜索了一下,发现当新建工程时选择Use MFC in a Shared DLL,则在工程的预编译参数Preprocessor definitions

2013-12-14 14:43:55 729

转载 MFC内部结构剖析

MFC内部结构剖析//////////////////////////////////////////////////////////////////////////////////////////MFC程序的执行顺序依次是:theApp全局对象定义处、TestApp构造函数、WinMain。程序在加载main函数之前,会先为全局变量和全局对象分配内存空间。对于MFC程序来说,

2013-12-13 15:59:00 583

转载 MFC全局函数开局——AfxGetApp解剖

MFC中有不少的全局函数,方便在不同对象中获取不同的内容或创建不同的对象。主要全局函数有:AfxWinInit() AfxBeginThread() AfxEndThread() AfxFormatString1() AfxFormatString2()AfxMessageBox()   AfxOutPutDebugString()   AfxGetApp() AfxGetMain

2013-12-13 15:22:26 598

转载 进入MFC讲坛前言四

框窗、视图和文档及其关系   MFC架构的另外一个特色是它的框窗、视图和文档这个三位一体的结构,它是一个典型的MVC(Model、View and Controler)结构。严格的讲,框窗不属于MVC中的任何一项,MFC设计者将框窗加进来是为了能更好的协调文档 和视图。而MVC中的Controler这一项,则是应用本身的应用逻辑。 在这三者中,需要特别注意的、也最能够体现个人的编程水平

2013-12-13 15:17:51 497

转载 进入MFC讲坛的前言(三)

MFC的消息映射机制 :MFC的设计者们在设计MFC时,紧紧把握一个目标,那就是尽可能使得MFC的代码要小,速度尽可能快。为了这个目标,他们使用了许多技巧,其中很多技巧体现在宏的运用上,实现MFC的消息映射的机制就是其中之一。  同MFC消息映射机制有关的宏有下面几个:  DECLARE_MESSAGE_MAP()宏  BEGIN_MESSAGE_MAP(the

2013-12-13 15:08:04 521

转载 进入MFC讲坛的前言(二)

MFC中的窗口创建及窗口消息映射我经常碰到有人问我有关窗口创建的问题,他们经常把用HWND描述的系统窗口对象和用CWnd描述的MFC的窗口对象混淆不清。这两者之间是紧密联系在一起的,但是MFC为了自身的管理,在CWnd中加了一些额外的内容,包括如何从HWND生成CWnd。  在MFC中,有几种典型的窗口对象,CWnd描述的一般窗口对象,CView描述的视图对象,CFrameWnd描

2013-12-13 15:02:14 514

原创 MFC边看边记

好吧,不能再拖了,为了逼自己尽快搞定呢MFC,决定边看>边记笔记,用最快的速度搞定它以便开始进行后续的开发。  第一章: win32基础     该章节一上来先讲win32应用程序设计,笔者认为这是MFC的基础,赶紧打开VS2008创建一个win32项目,果然比控制台程序多了许多文件,看了下主cpp框架代码,该框架生成一个默认的窗口程序。程序进入winmain后首先创建一个WNDCLASS

2013-12-13 12:55:57 660

转载 进入MFC讲坛的前言(一)

在这里,我想谈谈自己学习MFC的一些体会。我是从1997年才开始在Window下编写程序的。在这之前,我编写过一些DOS程序,包括一个简单的全屏幕编辑器和一个带函数的表达式解释器,都是一些小的程序。Window 3.1流行后,我开始在它下面编写程序。  从编写DOS程序到编写Window程序,需要从编程思想上作一个比较大的调整。在DOS下编写程序,程序的总体流程完全由应用程序自己控制;但在

2013-12-13 12:54:00 501

转载 理解和使用NT驱动程序的执行上下文

理解Windows NT驱动程序最重要的概念之一就是驱动程序运行时所处的“执行上下文”。理解并小心地应用这个概念可以帮助你构建更快、更高效的驱动程序。NT标准内核模式驱动程序编程中的一个重要观念是某个特定的驱动程序函数执行时所处的“上下文”。传统上文件系统开发者最关注这个问题,但所有类型的NT内核模式驱动程序的编写者都能从对执行上下文的深刻理解中获益。小心谨慎地使用执行上下文的概念能帮助构

2013-12-09 23:04:15 555

转载 句柄表

2K:2K下采用三层表结构,上层表256个项,每个项占用4字节 对应一个中层表的地址,每个中层表有256项,每个项占用4字节对应一个下层表地址,每个下层表256项,每个项占用8字节(每个项就是HANDLE_TABLE_ENTRY)。因此 每个进程支持256*256*256个句柄上层表大小:256 * 4字节 = 1KB中层表大小:256 *4字节 = 1KB

2013-11-25 05:05:30 721

转载 java和C++面向对象比较

打开《Java 核心技术》第一卷的第4章:对象和类,第5章:继承,第6章:接口和内部类。洋洋洒洒近150页,几乎集中了Java中面向对象语法的全部。不过凭借我在C++中浸淫这么多年的深厚功力,看起来还是相当轻松的:)这句话无疑是吹牛了,学习C++久了,我想人应该变得越来越谦虚才对。不过我还是提倡在枯燥的学习中多给自己一点自吹自擂的骄傲吧:)简单的封装:    面向对象最基本的单元就

2013-11-19 13:39:02 755

转载 vs编译器设置

因为长期进行C++编码,忽视了VS中文件编译器的设置问题,这两天要使用到之前下载的C编码的工程,预想打算改为C++编译。遇到问题总结如下。归根结底还是对vs使用的不熟练。1.在VS2008中 对于某个代码文件,是以C++编译器编译,还是以C编译器编译  与文件本身的后缀是.cpp 还是.c无关。主要按优先级依次取决于以下两项配置  一是工程本身的编译器设置,见工程属性

2013-11-18 21:51:20 6274

转载 结构体成员寻址宏定义

#define OFFSETOF(type, field)  ((size_t)&(((type *)0)->field))(type *)0:把0地址当成type类型的指针。((type *)0)->field:对应域的变量。&((type *)0)->field:取该变量的地址,其实就等于该域相对于0地址的偏移量。(size_t)&(((type *)0)->f

2013-11-10 11:01:57 1708

转载 minifilter----FLT_CALLBACK_DATA

One very important structure that everyone writing minifilters very quickly becomes familiar is the FLT_CALLBACK_DATA. This is pretty much the equivalent of an IRP in the minifilter model. The structu

2013-11-05 15:44:32 902

转载 minifilter---context

Why does one need contexts ? Well, the IO model in NT is based on passing objects around and the various components that handle these objects need a way to save information about each object (for exam

2013-11-05 15:36:49 994

转载 minifilter-----instance

The next logical structure in the hierarchy is the FLT_INSTANCE. An instance represents an attachment of a filter on a volume. Please note that any given filter may have more than one instance on a gi

2013-11-05 12:25:06 851

转载 minifilter----filters

Well, as you have probably guessed, FLT_FILTER is a structure that describes a minifilter. It is a pretty important structure and people usually become familiar with it once they discover that their m

2013-11-05 12:19:12 847

转载 minifilter----volume

Right below the FLTP_FRAME in the hierarchy of filter manager objects is the FLT_VOLUME. It is a structure that describes the attachment of the FLTP_FRAME to a volume:So, as you can see, each

2013-11-05 12:15:38 903

转载 minifilter----frame

Filter Manager Concepts: Part 1 – FLTP_FRAMEMSDNArchive 9 Jun 2009 5:37 PM 4Filter Manager's only purpose is to simplify writing file system filters and sometimes it do

2013-11-05 12:05:47 699

转载 PE文件格式

标 题: 【翻译】“PE文件格式”1.9版 完整译文(附注释) 作 者: ah007 时 间: 2006-02-28,13:32链 接: http://bbs.pediy.com/showthread.php?threadid=21932$Id: pe.txt,v 1.9 1999/03/20 23:55:09 LUEVELSMEYER Exp $PE文件格式系列译文之

2013-10-30 15:22:07 789

转载 MmGetSystemRoutineAddress

MmGetSystemRoutineAddress这个函数也是比较有用的,是得到系统导出函数的地址,不过网上都是写了一堆汇编代码在哪里,根本没有可读性,还不如用IDA看呢。下面的函数是摘自ReactOS项目的代码:[cpp] view plaincopyPVOID  NTAPI  MmGetSystemRoutineAddre

2013-10-30 11:22:13 1664

转载 导出函数和未导出函数

导出函数,非导出函数,公开函数,非公开函数导出函数:顾名思义,出现在导出表(EAT)里面的函数,可以给外部调用的函数,验证是否为导出函数的方法,熟悉逆向的朋友可以使用LordPE之类的工具查看,当然也可以使用GetProcAddress或者MmGetSystemRoutineAddress之类的函数来获取地址,如果成功的话就是导出函数。非导出函数:这种函数是供自己调用使用的,不想提

2013-10-30 01:16:07 2943

转载 认识PE中的IMPort表

有很多介绍PE文件的文章,但是我打算写一篇关于输入表的文章,因为它对于破解很有用。     我想解释它的最好的方法是举一个例子,你可以跟着我逐步深入,一步一步的思考,最后你将完全明白,我选择了一个我刚下载下来的小程序,它是用TASM编译的,有一个比较小的输入表,所以我想它应该是个不错的范例。     好了,让我们开始吧。首先我们得找到输入表,它的地址放在PE文件头偏移80处,所以我们用16

2013-10-29 22:11:10 603

数据结构习题 一次考试时的

很好的一份试题 最后面带答案的 可以测试自己学的怎样

2008-11-13

Carnegie教程(SSD4).chm

学校ftp上的卡内基教程系列的第四个,可惜都是英文版的

2008-10-13

空空如也

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

TA关注的人

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