;版本测试程序: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
没有评论:
发表评论