汇编
文章平均质量分 73
kingzeus
这个作者很懒,什么都没留下…
展开
-
WDM驱动程序设计之编译安装篇
WDM驱动程序设计之编译安装篇(作者:苏金国 2000年11月09日 13:26)设计开发好自己的WDM驱动程序后,为了运行该驱动程序,我们必须编译和安装它们。 ■编译设备驱动程序的方法 安装DDK后,在DDK程序组下有Check和Free两个编译环境,Check环境用于编译带调试信息的驱动程序,Free则是编译正式发布版本的环境。通常情况下设备驱动程序的编译采用命令行的方式。通过一定的设原创 2001-03-07 17:11:00 · 886 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (五)
VxD例程:消息框在上一节教程里,我们讲了编写一个VxD程序的方法。现在我们要学以致用。在这一节里,我们要编写一个静态VxD,这个静态VxD在一个虚拟机创建或销毁时就会弹出一个消息框。 在这里下载例子。 捕获虚拟机创建和结束事件当一个虚拟机创建时,VMM发送Create_VM控制消息给所有的VxD程序。当一个虚拟机退出时,它也发送VM_Terminate和VM_Terminate2消息给所原创 2002-02-14 10:44:00 · 863 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (三)
虚拟设备驱动程序结构现在大家对vmm和vxd有了一定的了解,接下来我们来看一看如何编写vxd代码。首先,你必须具备Windows 95/98 Device Driver Development Kit。Window95 ddk只有MSDN 订户才能拿到,但Windows98 ddk却可以免费从Microsoft公司取得。尽管Windows 98 ddk是面向WDM的,但你还是可以用它来开发Vx原创 2002-02-14 10:44:00 · 982 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (九)
虚拟8086模式的内存管理下边我们用到的V86即指虚拟8086模式。 在以前的教程中,你学习了怎样模拟V86中断,但还有一个问题没有解决:在VxD和V86代码之间交换数据。我们将在此学习如何使用V86内存管理器来实现这个功能。理论假如你的VxD和一些V86程序一起运行,如何传送大量数据到V86程序中或从V86程序中传送大量数据迟早是一个大问题。通过寄存器传送大量数据是不现实的。原创 2002-02-14 10:47:00 · 851 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (七)
请求执行时间段与Shell函数 理论:请求执行时间段通常被简称为"appy time"。是指当系统VM稳定到充许VxDs和ring-3级别的应用软件(特别是16-bit的应用软件)交互时的时间段。例如,在一个特定时间段,VxDs能加载并调用在16-bit Dlls中的函数。这个appy time在Windows 3.x中是无效的。在Windows3.x,一个VxD能包含在16-原创 2002-02-14 10:44:00 · 717 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (一)
虚拟设备驱动程序初步在本教程里,我假定读者对诸如虚8086模式,调页,GDT,LDT,IDT之类的INTEL 80x86保护模式的操作比较熟悉。如果你不了解这些,那你要先在 http://developer.intel.com/design/pentium/manuals/阅读INTEL的文档。 内容:Windows95是一个运行在最高级特权,第0层级别的多线程操作系统。所有的应用程序原创 2002-02-14 10:43:00 · 937 阅读 · 0 评论 -
用时间差反跟踪
概述: 如果关掉中断,不仅仅是键盘不动了,时钟也不会走,所以可以利用时间差来反跟踪,具体方法是:先关掉中断,,再用当前时间作 key 加密,在执行一大堆指令后,偷偷地再用当前时间解密, 如果为了解密跳过关中断指令, 时间就会变化, 解密结果就会不对,然后...当然是死机啦 !汇编编程示例:code segment assume cs:code,ds:cod原创 2002-02-14 10:43:00 · 985 阅读 · 1 评论 -
WDM驱动程序设计之编译安装篇
(作者:苏金国)设计开发好自己的WDM驱动程序后,为了运行该驱动程序,我们必须编译和安装它们。 ■编译设备驱动程序的方法 安装DDK后,在DDK程序组下有Check和Free两个编译环境,Check环境用于编译带调试信息的驱动程序,Free则是编译正式发布版本的环境。通常情况下设备驱动程序的编译采用命令行的方式。通过一定的设置可以在VC ++的集成环境下编译。 一般来说,成功编译一个最原创 2002-02-14 10:42:00 · 786 阅读 · 0 评论 -
WDM驱动程序设计之编译安装篇
(作者:苏金国 2000年11月09日 13:26)设计开发好自己的WDM驱动程序后,为了运行该驱动程序,我们必须编译和安装它们。 ■编译设备驱动程序的方法 安装DDK后,在DDK程序组下有Check和Free两个编译环境,Check环境用于编译带调试信息的驱动程序,Free则是编译正式发布版本的环境。通常情况下设备驱动程序的编译采用命令行的方式。通过一定的设置可以在VC ++原创 2000-11-27 15:26:00 · 2045 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (八)
客户寄存器结构我们将学习本教程中另外一个重要的结构,叫客户寄存器结构。在本文中,V86指虚拟8086模式。理论VxDs与正常的win32/win16/DOS应用程序有很大不同。大多数情况下,当其他应用程序正常工作时,它们是休眠的。它们象一个监管者一样工作,其作用是监视ring-3应用程序并在其出错时改正它们。下面是其工作时的典型的情况:1、中断发生时2、VMM得到控制权时原创 2002-02-14 10:46:00 · 849 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (四)
VxD 程序设计入门We 我们在上一节学会了如何编写一个什么事也不做的VxD程序。在这一节里,我们要给它增加处理控制消息的功能。 VxD的初始化和结束VxD程序分为两种:静态的和动态的。每种的加载方法都不同,接受到的初始化和结束的控制消息也不同。 静态VxD:下列情况下,VMM加载一个静态VxD: 一个实模式常驻程序通过调用中断2FH,1605H,来调用此VxD。 此VxD原创 2002-02-14 10:44:00 · 857 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (二)
虚拟机管理器虚拟机管理器(VMM)是Windows 95的实际操作系统,它建立和维护一个管理虚拟机的框架,同时为其他vxd程序提供许多重要的服务。其中三种重要的服务是: 内存管理 中断处理 线程调度 内存管理VMM使用Intel 80386或更新的处理器的内存调页能力来为系统虚拟机创建一个32位的虚地址空间。它把这个地址空间分为四个不同的部分: V86区 地址从0H原创 2002-02-14 10:43:00 · 654 阅读 · 0 评论 -
Iczelion 的 Win32Asm VxD 汇编教程 (六)
DeviceIoControl接口在这一节中我们将要关于学习动态VXD,特别是如何创建,加载和使用。点击这里下载例子VxD接口VxD总共提供了4种接口。l VxD services VxD服务l V86 Interface V86接口l Protec原创 2002-02-14 10:44:00 · 681 阅读 · 0 评论