INLINE HOOK过简单驱动保护的理论知识和大概思路、、 这里的简单驱动保护就是 简单的 HOOK 掉内核API的现象、、、找到被HOOK的函数的当前地址在此地址处先修改页面保护属性然后写入5个字节、5个字节就是一个简单的JMP指令、这里说一下JMP、如下、、001 JMP 002 这样我们就会跳到001 (在此地址写入JMP指令)+ 002(我们要写
SSDT 表的初步学习、、 1 理论知识、、大概思路和理论知识、、首先明白应用层到 内核层 会通过一张SSDT 表、、我们要根据SSDT结构和索引号来获取函数的当前地址 如果检测一下这个函数有木有被HOOK我们要在获取这个函数的起源地址 对比一下即可知道、、 1 读取SSDT表函数当
主机与虚拟机都安装上windug、 配置虚拟机、、1 将C盘下边的BOOT.INI文件改写、(文件夹选项不隐藏文件夹不隐藏受保护的文件夹、去掉可读属性)在像multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect这样的启动项目后增加
1 项目--选项--项目和解决方案--vc++目录--右边的下拉框--依依设置、 vc7之后的这个 可执行文件这里不用改动、 vc7之后的编译器可以编译兼容这个版本的ddk、、 包含文件(即ddk安装目录下的inc文件夹、、) 一般包含下边几项如有别的需要再说、 &n
只是可以通过编译的 不完整的 驱动、、(需要下载Windows DDK、、)很小以至于不用IDE环境了、、、直接txt咯、、这样就得自己写makefile和Sources文件、、、1 新建一个文本文档 以c为后缀名来编写、取名xx_hello.c 这说明是以c的方式来书写以c的方式来书写 就是以c语言的方式来编译、、 &
串和串操作 &n
串操作指令(MOVS/CMPS/SCAS/LODS/STOS)的使用:1.串传送指令使用上述三种格式的串传送指令在执行前都需要预先设置地址指针DS:SI和ES:DI,设置传送方向,如果要重复执行,还需把重复次数放入CX并使用重复前缀。MOVS指令常与重复前缀REP联合使用,以简化程序,提高程序运行速度。将2000H:1200H地址开始的200个字节传送到6000H:2000H开始的存储单元中。程序
指令 adc(带进位加法):编写一个子程序 对两个 128位的 数据进行相加 add128: push ax push bx push si push di sub ax,ax mov cx,8s: mov ax,[si] adc ax,[di] mov [si],ax inc si i
0号中断是除法溢出中断当某程序发生除法溢出错误时 则系统中的0号中断处理程序触发显示提示信息"Divide overflow"并返回操作系统中现编写程序处理0号中断 功能稍作修改字符串改为"overflow!"即可1 分析 当除法溢出时 cpu的工作 1 取得中断类型码 0 2 标志寄存器入栈 TF IF设置为
6、标志寄存器一、运算结果标志位1、进位标志CF(Carry Flag)进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令等。2、奇偶标志PF(Parity Flag)奇偶标志PF用于
32位CPU所含有的寄存器4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32
flag 标志寄存器 (16位)每一位有专门的意义15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF &
cmp 指令功能相当于减法指令 只是不保存结果不过cmp执行后会影响标志位 其它指令 通过识别标志位 来得知比较的结果CPU在执行cmp指令时 像add sub指令一样 也包含两种含义 (有符号 无符号) 无符号的 cmp指令 cmp ax,bx 执行后即(ax - bx 执行)1 zf=1
首先 明白一下几点:溢出标志OF和进位标志CF是两个意义不同的标志. 对于无符号数来说,不存在溢出的问题,它的进位就相当于有符号数中的溢出而对有符号数来说,不存在进位的问题溢出是指结果超出数据所表示的范围,溢出标志位OF为1,说明有符号数的运算结果不正确 问谁知道是有符号的还是无符号的运算额?答:处理器对两个操作数进行运算时按照无符号数求得结果,并相应设置进位标志CF;同时,根
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号