2012年7月5日星期四

RtlGetVersion.asm


;版本测试程序:RtlGetVersion.asm
;PsGetVersion微软已经不推荐使用。
;还有一种办法是查询注册表。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\下相关的值。
;用户模式下的就不说了。
.386
.model flat, stdcall
option casemap:none
include ntddk.inc
include ntdll.inc
includelib ntdll.lib

 .code

osvs   dd 276 ;这是OSVERSIONINFOW结构。以下是我的xp的返回的信息。
mav    dd 0 ;5
miv    dd 0 ;1
bn     dd 0 ;2600
pfid   dd 0 ;2
szcsdv word 128 dup (0) ;解释是:Maintenance string for PSS usage,其实是一个unicode字符,:如service pack 3.
;OSVERSIONINFOEXW版本又附加一些信息。

start:
invoke RtlGetVersion,addr osvs
ret ;改用这个会更好:invoke NtTerminateProcess,-1,0
end start
;made at 2010.06.19 
;还有一个函数:RtlVerifyVersionInfo

没有评论:

发表评论