飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1578|回复: 4

[易语言] 那位汇编大神过来帮忙看下,这段获取系统版本的汇编怎么支持到w11

[复制链接]
  • TA的每日心情
    开心
    昨天 00:22
  • 签到天数: 2530 天

    [LV.Master]伴坛终老

    发表于 2023-3-6 16:36:44 | 显示全部楼层 |阅读模式
    如题,这段获取系统版本的汇编目前支持到10,怎么改才能支持到11呢???



    .子程序 获取系统版本, 整数型, 公开, 0.未知 1.Win95 2.Win98 3.WinME 4.WinNT 5.Win2000 6.WinXP 7.Win2003 8.Vista 9.Win7 10.Win8 11.Win8.1 12.Win10

    置入代码 ({ 83, 49, 192, 100, 139, 29, 24, 0, 0, 0, 100, 139, 13, 48, 0, 0, 0, 133, 201, 121, 32, 185, 0, 0, 83, 0, 57, 75, 88, 117, 4, 176, 1, 235, 113, 57, 75, 84, 117, 4, 176, 2, 235, 104, 57, 75, 124, 117, 99, 176, 3, 235, 95, 139, 153, 168, 0, 0, 0, 139, 137, 164, 0, 0, 0, 131, 249, 4, 119, 4, 176, 4, 235, 74, 131, 249, 5, 117, 27, 131, 251, 0, 117, 4, 176, 5, 235, 60, 131, 251, 1, 117, 4, 176, 6, 235, 51, 131, 251, 2, 117, 4, 176, 7, 235, 42, 131, 249, 6, 117, 35, 131, 251, 0, 117, 4, 176, 8, 235, 28, 131, 251, 1, 117, 2, 176, 9, 131, 251, 2, 117, 2, 176, 10, 131, 251, 3, 117, 2, 176, 11, 131, 251, 4, 117, 2, 176, 12, 91, 201, 195 })
    返回 (0)



    PUSH EBX
    XOR EAX,EAX
    MOV EBX,FS:[18]
    MOV ECX,FS:[30]
    TEST ECX,ECX
    JNS SHORT 00000035
    MOV ECX,530000
    CMP [EBX+58],ECX
    JNZ SHORT 00000023
    MOV AL,1
    JMP SHORT 00000094
    CMP [EBX+54],ECX
    JNZ SHORT 0000002C
    MOV AL,2
    JMP SHORT 00000094
    CMP [EBX+7C],ECX
    JNZ SHORT 00000094
    MOV AL,3
    JMP SHORT 00000094
    MOV EBX,[ECX+A8]
    MOV ECX,[ECX+A4]
    CMP ECX,4
    JA SHORT 0000004A
    MOV AL,4
    JMP SHORT 00000094
    CMP ECX,5
    JNZ SHORT 0000006A
    CMP EBX,0
    JNZ SHORT 00000058
    MOV AL,5
    JMP SHORT 00000094
    CMP EBX,1
    JNZ SHORT 00000061
    MOV AL,6
    JMP SHORT 00000094
    CMP EBX,2
    JNZ SHORT 0000006A
    MOV AL,7
    JMP SHORT 00000094
    CMP ECX,6
    JNZ SHORT 00000092
    CMP EBX,0
    JNZ SHORT 00000078
    MOV AL,8
    JMP SHORT 00000094
    CMP EBX,1
    JNZ SHORT 0000007F
    MOV AL,9
    CMP EBX,2
    JNZ SHORT 00000086
    MOV AL,A
    CMP EBX,3
    JNZ SHORT 0000008D
    MOV AL,B
    CMP EBX,4
    JNZ SHORT 00000094
    MOV AL,C
    POP EBX
    LEAVE
    RETN



    全部汇编就在上面了,大神教教怎么改
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 149 天

    [LV.7]常住居民III

    发表于 2023-3-9 14:18:51 | 显示全部楼层
    沙发,顶帖升级
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    9 小时前
  • 签到天数: 1001 天

    [LV.10]以坛为家III

    发表于 2023-3-10 02:04:30 | 显示全部楼层
    .版本 2

    .子程序 L_系统_取操作系统类别, 整数型, 公开, 返回“#L_系统类别_”开头的常量
    .局部变量 主版本, 短整数型
    .局部变量 次版本, 短整数型
    .局部变量 build, 短整数型

    L_RtlGetNtVersionNumbers (主版本, 次版本, build)
    .如果 (L_IsWindowsServer (29))
        .判断开始 (主版本 = 5)
            返回 (#L_系统类别_server2003)  ' 包含R2
        .判断 (主版本 = 6)
            .判断开始 (次版本 = 0)
                返回 (#L_系统类别_server2008)
            .判断 (次版本 = 1)
                返回 (#L_系统类别_server2008)  ' R2版本
            .判断 (次版本 = 2)
                返回 (#L_系统类别_server2012)
            .默认
                返回 (#L_系统类别_server2012)  ' R2版本
            .判断结束

        .判断 (主版本 = 10)
            .判断开始 (build < 17623)
                返回 (#L_系统类别_server2016)
            .判断 (build < 20348)
                返回 (#L_系统类别_server2019)
            .默认
                返回 (#L_系统类别_server2022)
            .判断结束

        .默认

        .判断结束

    .否则
        .判断开始 (主版本 = 5)
            .如果 (次版本 = 0)
                返回 (#L_系统类别_win2000)
            .否则
                返回 (#L_系统类别_winxp)
            .如果结束

        .判断 (主版本 = 6)
            .判断开始 (次版本 = 0)
                返回 (#L_系统类别_Vista)
            .判断 (次版本 = 1)
                返回 (#L_系统类别_win7)
            .判断 (次版本 = 2)
                返回 (#L_系统类别_win8)
            .判断 (次版本 = 3)
                返回 (#L_系统类别_win8_1)
            .默认

            .判断结束

        .判断 (主版本 = 10)
            .判断开始 (build < 22000)
                返回 (#L_系统类别_win10)
            .默认
                返回 (#L_系统类别_win11)
            .判断结束

        .默认

        .判断结束

    .如果结束
    返回 (#L_系统类别_未知)

    点评

    感谢分享  详情 回复 发表于 2023-3-10 11:53
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    9 小时前
  • 签到天数: 1001 天

    [LV.10]以坛为家III

    发表于 2023-3-10 02:04:57 | 显示全部楼层
    .版本 2

    .DLL命令 L_RtlGetNtVersionNumbers, 整数型, "ntdll.dll", "RtlGetNtVersionNumbers"
        .参数 major, 短整数型, 传址
        .参数 minor, 短整数型, 传址
        .参数 build, 短整数型, 传址
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:22
  • 签到天数: 2530 天

    [LV.Master]伴坛终老

     楼主| 发表于 2023-3-10 11:53:09 | 显示全部楼层
    GameSf 发表于 2023-3-10 02:04
    .版本 2

    .子程序 L_系统_取操作系统类别, 整数型, 公开, 返回“#L_系统类别_”开头的常量

    感谢分享
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表