自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

misterliwei的专栏

莫等闲,白了少年头,空悲切。

  • 博客(14)
  • 资源 (6)
  • 收藏
  • 关注

原创 Windows中FS段寄存器 V2

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class

2009-07-29 18:10:00 7530 5

原创 Windows下如何获得KeServiceDescriptorTableShadow地址

Windows下如何获得KeServiceDescriptorTableShadow地址 总结网上文章的观点,主要有下面几种:1.根据操作系统分类。在WIN2K下KeServiceDescriptorTableShadow接跟着keServiceDescriptorTable;而在XP下,顺序正好相反,KeServiceDescriptorTable紧跟着KeServiceDescri

2009-07-22 14:37:00 3052

翻译 STOS/STOSB/STOSW/STOSD/STOSQ---存储字符串

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 STOS/STOSB/STOS

2009-07-16 15:03:00 7050

翻译 RDMSR--读MSR

RDMSR--读MSR RDMSR将64位由ECX寄存器指定的MSR(model specific register,模式指定寄存器)的内容读出至寄存器EDX:EAX中(在支持intel64架构的处理器中RCX的高32位忽略)。MSR的高32位内容存放在EDX寄存器中,MSR的低32位内容存放在EAX寄存器中(在支持intel64架构的处理器中RDX和RAX的高32位忽略)。如果MSR中没

2009-07-15 23:04:00 10552

翻译 WRMSR--写MSR

WRMSR--写MSR WRMSR将寄存器EDX:EAX的内容写到64位由ECX寄存器指定的MSR(model specific register,模式指定寄存器)中(在支持intel64架构的处理器中RCX的高32位忽略。)。EDX寄存器内容拷贝至选定的MSR的高32位,EAX内容拷贝至选定的MSR的低32位(在支持intel64架构的处理器中RDX和RAX的高32位忽略)。MSR中未定

2009-07-15 22:54:00 6575

原创 GetTickCount的实现

GetTickCount的实现Kernel32.dll的GetTickCount返回机器启动后的毫秒数。一直不知原理,今天看了资料才知道。写下来。反汇编GetTickCount函数:kernel32!GetTickCount:7c80932e ba0000fe7f      mov     edx,offset SharedUserData (7ffe0000)7c80

2009-07-15 19:37:00 6801 3

翻译 SYSEXIT——快速系统调用的快速返回

SYSEXIT——快速系统调用的快速返回 SYSEXIT用来快速调用返回至3层的用户代码。SYSEXIT是SYSENTER的同伴指令。该指令经过了优化,它可以使将由操作系统或执行程序(运行在0层)至用户代码(运行在3层)的返回发挥最大的性能。该指令只能在0层的权限执行。 在调用SYSEXIT指令前,软件必须通过MSR寄存器和通用寄存器,指定3层的代码段和代码指针,3层的堆栈段和堆栈

2009-07-15 18:55:00 2512

翻译 SYSENTER——快速系统调用

SYSENTER——快速系统调用 SYSENTER用来快速调用一个0层的系统过程。SYSENTER是SYSEXIT的同伴指令。该指令经过了优化,它可以使将由用户代码(运行在3层)向操作系统或执行程序(运行在0层)发起的系统调用发挥最大的性能。 在调用SYSENTER指令前,软件必须通过下面的MSR寄存器,指定0层的代码段和代码指针,0层的堆栈段和堆栈指针:1.       IA

2009-07-15 18:54:00 18874 4

原创 SYSENTER系统服务调用过程

SYSENTER系统服务调用过程 以NtReadFile调用为例。一.NtDll.Dll中,NtReadFile过程如下:ntdll!NtReadFile:7c92d9b0 b8b7000000      mov     eax,0B7h7c92d9b5 ba0003fe7f      mov     edx,offset SharedUserData!SystemCa

2009-07-15 13:14:00 5368 2

原创 WINDOWS系统调用

Windows系统调用 Windows 2K通过2Eh中断来实现系统调用的,但是在XP后使用SysEnter来实现系统调用了,同时2Eh中断还是保存着的。不管是2EH中断还是SYSENTER,Windows对所有的系统调用都会生成下面的KTRAP_FRAME堆栈框

2009-07-15 12:55:00 9687 2

翻译 微软编译器中寄存器的使用

微软编译器中寄存器的使用原文地址:http://www.skullsecurity.org/wiki/index.php/Registers翻译:本文是汇编语言指南的第一篇,若你准备阅读整个指南,你必将有所收获。一个寄存器就像变量,只是这种变量的数量是固定的。寄存器是CPU中用来保存数据的地方。数学计算(加法、减法..)只能在寄存器中进行;寄存器常常保存着内存地址;寄存器与内存

2009-07-11 22:58:00 2188

原创 MASM6.11中指针变量初始化

MASM6.11中指针变量初始化在MASM6.11中,我们可以用数据定义语句(DB/DW/DD/DF/DQ/DT)来定义并/或初始化变量,如:  VAR1  DB  0ABH指针变量就是存放其他变量地址(指针)的变量。定义指针变量和定义普通变量一致(实际上,根本没有指针变量一说,只是我根据它的功能"杜撰"的:)),只是是使用其他变量或

2009-07-11 08:20:00 1258

原创 DOS保护模式下中断

测试环境:Win98下的DOS7,用MASM6.11编译。流程如下: 实模式(16位,RING0)   |   |保护模式(32位, RING 0)   -->发生INT 2EH中断,并返回(IRETD)   |   |保护模式(16位, RING0)   |   |实模式(16位, RING0) .386PDESC STRUC 

2009-07-06 17:00:00 1204

原创 DOS下使用SYSENTER和SYSEXIT

测试环境:Win98下的DOS7,用MASM6.11编译。 .386PDESC STRUC     LIMIT  DW  0     BASEL  DW  0     BASEM  DB  0     ATTR   DW  0     BASEH  DB  0DESC ENDSGDTR STRUC     LIMIT  DW  0     B

2009-07-02 15:50:00 674

MIC make it clean

从SQL SERVER 2005起,如果数据库不是干净关闭,为了维护一致性,在单独使用mdf进行附加时,将报错。本工具试图通过修改mdf文件,让数据库变成干净关闭,这样就可以单独使用mdf附加了。但是,请注意:即使附加成功,数据亦可能存在不一致风险。 见博文: http://blog.csdn.net/misterliwei/article/details/6576945

2011-06-30

APIHOOKIAT

文章源码 http://blog.csdn.net/misterliwei/archive/2006/06/27/840983.aspx#1683085

2011-05-27

两个文件指定范围内的比较的工具

用于比较两个文件中,从指定位置开始的一段范围内哪些字节不同。

2010-08-24

SQL SERVER数据库MDF文件页查看器

一个用看查看SQL SERVER数据库MDF文件页的简单程序。需要将SQL SERVER服务停止,方可打开MDF文件。

2010-08-11

浮点数的内存格式,分单精度和双精度

浮点数的内存格式,参看博文:http://blog.csdn.net/misterliwei/archive/2010/04/06/5455666.aspx

2010-04-13

MyCreateprocess

MyCreateprocess 。

2009-08-18

空空如也

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

TA关注的人

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