内容列表
- iczelion pe tutcn4
-
PE教程4: Optional Header
我们已经学习了关于 DOS header 和 PE header 中部分成员的知识。这里是 PE header 中最后、最大或许也是最重要的成员,optional header。
回顾一下,optional header 结构是 IMAGE_NT_HEADERS 中的最后成员。包含了PE文件的逻辑分布信息。该结构共有31个域,一些是
- 分类:编程语言 查阅全文
- iczelion pe tutcn5
-
PE教程5: Section Table(节表)
理论:
到本课为止,我们已经学了许多关于 DOS header 和 PE header 的知识。接下来就该轮到 section table(节表)了。节表其实就是紧挨着 PE header 的一结构数组。该数组成员的数目由 file header (IMAGE_FILE_HEADER) 结构中 NumberOfS
- 分类:编程语言 查阅全文
- iczelion pe tutcn6
-
PE教程6: Import Table(引入表)
本课我们将学习引入表。先警告一下,对于不熟悉引入表的读者来说,这是一堂又长又难的课,所以需要多读几遍,最好再打开调试器来好好分析相关结构。各位,努力啊!
下载范例。
理论:
首先,您得了解什么是引入函数。一个引入函数是被某模块调用的但又不在调用者模块中的函数,因而命名为"import(引入)"。引入函数实际位于一个或者更多的
- 分类:编程语言 查阅全文
- iczelion pe tutcn7
-
PE教程7: Export Table(引出表)
上一课我们已经学习了动态联接中关于引入表那部分知识,现在继续另外一部分,那就是引出表。
理论:
当PE装载器执行一个程序,它将相关DLLs都装入该进程的地址空间。然后根据主程序的引入函数信息,查找相关DLLs中的真实函数地址来修正主程序。PE装载器搜寻的是DLLs中的引出函数。
DLL/EXE要引出一个函数给
- 分类:编程语言 查阅全文
- iczelion Vxd tut1
-
Virtual Device Driver Basics
In this tutorial series, I assume you, the reader, are familiar with Intel 80x86's protected mode operations such as virtual 8086 mode, paging, GDT, LDT, IDT. If you do
- 分类:编程语言 查阅全文
- iczelion Vxd tut2
-
Virtual Machine ManagerVirtual Machine Manager (VMM) is the true operating system behind Windows 95. It erects and maintains the framework for managing virtual machines. It also provides man
- 分类:编程语言 查阅全文
- iczelion tut9
- 第九课 子窗口控件
本课中我们将探讨控件,这些控件是我们程序主要的输入输出设备。
理论:
WINDOWS 提供了几个预定义的窗口类以方便我们的使用。大多数时间内,我们把它们用在对话框中,所以我们一般就它们叫做子窗口控件。子窗口控件会自己处理消息,并在自己状态发生改变时通知父窗口。这样就大大地减轻了我们的编程工作,所以我们应尽可能地利用它们。本课中我们把这些控件放在窗口中以简化程序,
- 分类:编程语言 查阅全文
- iczelion Vxd tut4
-
VxD Programming: PrimerWe know how to build a VxD which does nothing. In this tutorial, we will make it more productive by adding control message handlers.
VxD Initialization and Terminati
- 分类:编程语言 查阅全文
- iczelion pe tut3
-
Tutorial 3: File Header
In this tutorial, we will study the file header portion of the PE header.
Let's summarize what we have learned so far:
DOS MZ header is called IMAGE_DOS_HEADER. O
- 分类:编程语言 查阅全文
- iczelion Vxd tut6
-
DeviceIoControl InterfaceWe will learn about dynamic VxD in this tutorial. Specifically, we will learn how to create, load and use them.
VxD InterfacesThere are a total of 4 interfaces tha
- 分类:编程语言 查阅全文
- iczelion Vxd tut7
-
Application Time and Shell Functions
Some TheoryApplication time is usually called "appy time". It simply means the time when the system VM is stable enough to allow interaction between VxD
- 分类:编程语言 查阅全文
- iczelion Vxd tut8
-
Client Register StructureWe will examine another important structure in this tutorial, namely the client register structure. Download the example.
Some theoryVxDs are very different from n
- 分类:编程语言 查阅全文
- iczelion Vxd cntut1
-
虚拟设备驱动程序初步在本教程里,我假定读者对诸如虚8086模式,调页,GDT,LDT,IDT之类的INTEL 80x86保护模式的操作比较熟悉。如果你不了解这些,那你要先在 http://developer.intel.com/design/pentium/manuals/阅读INTEL的文档。
内容:Windows95是一个运行在最高级特权,第0层级别的多线程操作系统。所有的应用程序都运
- 分类:编程语言 查阅全文
- iczelion Vxd cntut2
-
虚拟机管理器
虚拟机管理器(VMM)是Windows 95的实际操作系统,它建立和维护一个管理虚拟机的框架,同时为其他vxd程序提供许多重要的服务。其中三种重要的服务是:
内存管理
中断处理
线程调度
内存管理
VMM使用Intel 80386或更新的处理器的内存调页能力来为系统虚拟机创建一个32位的虚地址空间。它把这个地址空间分为四个不同的部分:
V86区 地
- 分类:编程语言 查阅全文
- iczelion Vxd cntut3
-
虚拟设备驱动程序结构现在大家对vmm和vxd有了一定的了解,接下来我们来看一看如何编写vxd代码。首先,你必须具备Windows 95/98 Device Driver Development Kit。Window95 ddk只有MSDN 订户才能拿到,但Windows98 ddk却可以免费从Microsoft公司取得。尽管Windows 98 ddk是面向WDM的,但你还是可
- 分类:编程语言 查阅全文
- iczelion Vxd cntut4
-
VxD 程序设计入门
We 我们在上一节学会了如何编写一个什么事也不做的VxD程序。在这一节里,我们要给它增加处理控制消息的功能。
VxD的初始化和结束
VxD程序分为两种:静态的和动态的。每种的加载方法都不同,接受到的初始化和结束的控制消息也不同。
静态VxD:
下列情况下,VMM加载一个静态VxD:
一个实模式常驻程序通过调用中断2FH,1605H,来调用此VxD。
- 分类:编程语言 查阅全文
- iczelion Vxd cntut5
-
VxD例程:消息框
在上一节教程里,我们讲了编写一个VxD程序的方法。现在我们要学以致用。在这一节里,我们要编写一个静态VxD,这个静态VxD在一个虚拟机创建或销毁时就会弹出一个消息框。 在这里下载例子。
捕获虚拟机创建和结束事件
当一个虚拟机创建时,VMM发送Create_VM控制消息给所有的VxD程序。当一个虚拟机退出时,它也发送VM_Terminate和VM_Terminate2
- 分类:编程语言 查阅全文
- iczelion Vxd cntut7
- 请求执行时间段与Shell函数
下载例子程序
理论:
请求执行时间段通常被简称为"appy time"。是指当系统VM稳定到充许VxDs和ring-3级别的应用软件(特别是16-bit的应用软件)交互时的时间段。例如,在一个特定时间段,VxDs能加载并调用在16-bit Dlls中的函数。这个appy time在Windows 3.x中是无效的。在Windows3.x
- 分类:编程语言 查阅全文
- iczelion Vxd tut3
-
Virtual Device Driver SkeletonNow that you know something about VMM and VxD, we can learn how to code a VxD. You need Windows 95/98 Device Driver Development Kit. It's essential that you hav
- 分类:编程语言 查阅全文
- iczelion tut25
-
第二十五课:位图初步
在这一课,我们将学习怎样在程序中使用位图。 更准确地说,我们要学习的是怎样在一个窗口的客户区中显示位图。
理论位图就是存贮于电脑中的图片。位图文件有相当多的格式(译者:如.BMP.JPG.GIF.PIC 等)但Windows仅支持 Windows Bitmap Graphics 格式,即BMP文件。 本课所指的位图也是BMP文件。 使用位图最简单的方
- 分类:编程语言 查阅全文