开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: Supeman
收起左侧

[精币悬赏] 求万挂作坊4.x模块要兼容win10的

[复制链接]
结帖率:52% (15/29)
发表于 2021-3-3 21:29:19 | 显示全部楼层   福建省泉州市

分享一下 取NT功能号 那边
回复

使用道具 举报

结帖率:0% (0/4)

签到天数: 10 天

发表于 2021-3-6 13:42:19 | 显示全部楼层   天津市天津市

修复版可以分享么?或者出售? 有意向私信我
回复

使用道具 举报

发表于 2021-4-3 19:54:47 | 显示全部楼层   湖北省黄石市
刚才楼上传的那个还是蛮好用的
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2021-4-14 13:37:56 | 显示全部楼层   江苏省宿迁市
﹎ャ柔情ヽ 发表于 2021-2-21 19:35
修复版可以分享么?或者出售? 有意向私信我

需要加我Q244645483
回复

使用道具 举报

结帖率:67% (2/3)
 楼主| 发表于 2021-4-14 13:38:15 | 显示全部楼层   江苏省宿迁市
89333152 发表于 2021-3-6 13:42
修复版可以分享么?或者出售? 有意向私信我

需要加我Q244645483
回复

使用道具 举报

发表于 2021-7-7 03:29:34 | 显示全部楼层   湖北省黄冈市
.版本 2

.子程序 枚举NT功能号
.局部变量 模块计次, 整数型, , , 1=ntdll.dll 2=user32.dll 3=gdi32.dll
.局部变量 临时文件, 文本型
.局部变量 模块文件, 文本型
.局部变量 模块数据, 字节集
.局部变量 数据指针, 整数型
.局部变量 R3句柄, 整数型
.局部变量 模块句柄, 整数型
.局部变量 映像, PE_映像
.局部变量 区段, PE_区段, , "0"
.局部变量 函数, 函数导出表, , "0"
.局部变量 TEMP, NT功能号
.局部变量 指令, 字节集, , , API文件入口处的前X字节汇编机器码指令
.局部变量 指针, 整数型
.局部变量 计次, 整数型

.如果真 (取数组成员数 (NT功能号) = 0)
    .计次循环首 (3, 模块计次)
        .判断开始 (1 = 模块计次)
            模块文件 = “ntdll.dll”
        .判断 (2 = 模块计次)
            模块文件 = “user32.dll”
        .判断 (3 = 模块计次)
            模块文件 = “gdi32.dll”
        .默认
            返回 ()
        .判断结束
        TEMP.DLL名称 = 模块计次
        模块句柄 = 取模块句柄 (模块文件)

        临时文件 = 取临时文件名 ()
        复制文件_ (取System路径 () + “\” + 模块文件, 临时文件, 假)
        模块数据 = 读入文件 (临时文件)
        数据指针 = 取字节集指针 (模块数据)
        删除文件 (临时文件)

        .如果真 (取模块映像 (数据指针, 映像, 假) 且 映像.PE_标志 = 267)  ' 验证是否32位
            R3句柄 = 0
            R3句柄 = VirtualAllocEx (-1, 0, 映像.映像大小, OR_ (4096, 8192), 64)  ' 申请随机内存地址处装载
            内存_写入内存_ (R3句柄, 数据指针, 映像.头部大小)  ' 复制DOS头,PE头块,区段表等头数据
            .计次循环首 (取模块区段 (数据指针, 区段, ), 计次)  ' 复制DLL中的所有区块数据
                内存_写入内存_ (ADD__ (R3句柄, 区段 [计次].虚拟偏移), ADD__ (数据指针, 区段 [计次].文件偏移), 区段 [计次].原始大小)
            .计次循环尾 ()
            修正重定位 (R3句柄, 模块句柄)
            清除数组 (区段)

            .计次循环首 (取模块导出表 (R3句柄, 函数), 计次)
                .如果真 (模块计次 = 1)  ' ntdll.dll
                    .如果真 (取代码 (函数 [计次].API名称, 1) ≠ 90 或 取代码 (函数 [计次].API名称, 2) ≠ 119)  ' 非 Zw 开头的API跳过
                        到循环尾 ()
                    .如果真结束

                .如果真结束
                .如果真 (内存_读字节集_ (函数 [计次].API入口, 指令, 32) 且 184 = 指令 [1])  ' B8 XXXXXXXX   MOV EAX,XXXXXXXX
                    TEMP.API名称 = 函数 [计次].API名称
                    TEMP.RETN_XX = 0
                    TEMP.SSDT_ID = 取字节集数据 (指令, #整数型, 2)
                    .判断开始 (版本.主版本号 = 5 且 版本.次版本号 = 0)  ' Windows 2000
                        ' B8 E1110000     MOV EAX,11E1                   ' eax=ssdt
                        ' 8D5424 04       LEA EDX,DWORD PTR SS:[ESP+4]   ' edx=指向参数
                        ' CD 2E           INT 2E                         ' 转入内核.返回到下一条指令
                        ' C2 0C00         RETN 0C                        ' ret

                        ' ZwCallbackReturn  ZwContinue  ZwRaiseException 此三API在内核返回后可能接 JMP 指令..2K.SP4
                        ' 77F96BE5 >  B8 13000000     mov     eax, 13
                        ' 77F96BEA    8D5424 04       lea     edx, dword ptr [esp+4]
                        ' 77F96BEE    CD 2E           int     2E
                        ' 77F96BF0    E9 D8350000     jmp     77F9A1CD

                        ' 77F9A1CD    C2 0C00         RETN 0C             JMP到这里

                        .如果真 (指令 [10] = 205 且 指令 [11] = 46)  ' INT 2E
                            .判断开始 (指令 [12] = 194)  ' C2=194 C3=195
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 13)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [12] = 195)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [12] = 233)  ' JMP
                                指针 = ADD__ (指针, 16)
                                指针 = ADD__ (指针, 取字节集数据 (指令, #整数型, 13))
                                内存_读字节集_ (指针, 指令, 32)  ' C2 0C00         RETN 0C             JMP到这里
                                .判断开始 (指令 [1] = 194)  ' C2=194 C3=195
                                    TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 2)
                                    加入成员 (NT功能号, TEMP)
                                    到循环尾 ()
                                .判断 (指令 [1] = 195)
                                    加入成员 (NT功能号, TEMP)
                                    到循环尾 ()
                                .默认

                                .判断结束

                            .默认

                            .判断结束

                        .如果真结束

                    .判断 (版本.Win64)
                        TEMP.ECX = 0
                        .如果真 (指令 [6] = 100 且 指令 [7] = 255 且 指令 [9] = 192)  ' Win8.x64
                            ' 77621FBC >  B8 97010000          mov     eax, 197
                            ' 77621FC7    64:FF15 C0000000     call    dword ptr fs:[C0]
                            ' 77621FD1    C2 1000              retn    10                            ' ret

                            .判断开始 (指令 [13] = 194)  ' temp.ECX = 0
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 14)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [13] = 195)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .默认

                            .判断结束

                        .如果真结束
                        .如果真 (指令 [6] = 51 且 指令 [8] = 141 且 指令 [12] = 100)  ' xor       ecx, ecx
                            ' 77621FBC >  B8 97010000          mov     eax, 197                      ' Win7.x64  2008.x64
                            ' 77621FC1    33C9                 xor     ecx, ecx
                            ' 77621FC3    8D5424 04            lea     edx, dword ptr [esp+4]
                            ' 77621FC7    64:FF15 C0000000     call    dword ptr fs:[C0]
                            ' 77621FCE    83C4 04              add     esp, 4
                            ' 77621FD1    C2 1000              retn    10                            ' ret

                            ' 772A9808 >  B8 44000000           mov     eax, 44                      'XP.X64  2003.x64   Vista.X64
                            ' 77621FC1    33C9                  xor     ecx, ecx
                            ' 772A9812    8D5424 04             lea     edx, dword ptr [esp+4]
                            ' 772A9816    64:FF15 C0000000      call    dword ptr fs:[C0]
                            ' 772A981D    C2 0C00               retn    0C                           ' ret

                            .判断开始 (指令 [19] = 195 或 指令 [22] = 195)  ' ret
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [19] = 194)
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 20)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [22] = 194)
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 23)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .默认
                                ' temp.ECX = 0
                            .判断结束

                        .如果真结束
                        .如果真 (指令 [6] = 141 且 指令 [10] = 51 且 指令 [12] = 100)  ' xor     ecx, ecx 未知
                            ' 76858330 >  B8 18100000             mov     eax, 1018                   ' Vista.X64
                            ' 76858335    8D5424 04               lea     edx, dword ptr [esp+4]
                            ' 77621FC1    33C9                    xor     ecx, ecx
                            ' 7685833E    64:FF15 C0000000        call    dword ptr fs:[C0]
                            ' 77621FCE    83C4 04                 add     esp, 4
                            ' 76858345    C2 1000                 retn    10                          ' ret

                            ' 76858330 >  B8 18100000             mov     eax, 1018                   ' 2003.x64   Vista.X64
                            ' 76858335    8D5424 04               lea     edx, dword ptr [esp+4]
                            ' 77621FC1    33C9                    xor     ecx, ecx
                            ' 7685833E    64:FF15 C0000000        call    dword ptr fs:[C0]
                            ' 76858345    C2 1000                 retn    10                          ' ret

                            .判断开始 (指令 [19] = 195 或 指令 [22] = 195)  ' ret
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [19] = 194)
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 20)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [22] = 194)
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 23)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .默认
                                ' temp.ECX = 0
                            .判断结束

                        .如果真结束

                        .如果真 (指令 [6] = 185 且 指令 [11] = 141 且 指令 [15] = 100)  ' mov       ecx,xxxxx
                            ' 77621D50 >  B8 7E010000          mov     eax, 17E                        ; Win7.x64  2008.x64
                            ' 77621D55    B9 02000000          mov     ecx, 2                          ; mov       ecx, 0
                            ' 77621D5A    8D5424 04            lea     edx, dword ptr [esp+4]
                            ' 77621D5E    64:FF15 C0000000     call    dword ptr fs:[C0]
                            ' 77621D65    83C4 04              add     esp, 4
                            ' 77621D68    C3                   retn                                    ; retn    0C

                            ' 772A9808 >  B8 44000000           mov     eax, 44                        ; XP.X64  2003.x64   Vista.X64
                            ' 772A980D    B9 0A000000           mov     ecx, 0A                        ; mov       ecx, 0
                            ' 772A9812    8D5424 04             lea     edx, dword ptr [esp+4]
                            ' 772A9816    64:FF15 C0000000      call    dword ptr fs:[C0]
                            ' 772A981D    C2 0C00               retn    0C                             ; retn

                            TEMP.ECX = 取字节集数据 (指令, #整数型, 7)
                            .判断开始 (指令 [22] = 195 或 指令 [25] = 195)  ' ret
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [22] = 194)
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 23)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [25] = 194)
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 26)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .默认
                                TEMP.ECX = 0
                            .判断结束

                        .如果真结束

                        .如果真 (指令 [6] = 141 且 指令 [10] = 185 且 指令 [15] = 100)  ' mov       ecx, xxxxxxxx
                            ' 77621D50 >  B8 7E010000          mov     eax, 17E                        ; Vista.X64
                            ' 77621D5A    8D5424 04            lea     edx, dword ptr [esp+4]
                            ' 77621D55    B9 02000000          mov     ecx, 2                          ; mov       ecx, 0
                            ' 77621D5E    64:FF15 C0000000     call    dword ptr fs:[C0]
                            ' 77621D65    83C4 04              add     esp, 4
                            ' 77621D68    C3                   retn                                    ; retn    0C

                            ' 772A9808 >  B8 44000000           mov     eax, 44                        ; XP.64   2003.x64   Vista.X64
                            ' 772A9812    8D5424 04             lea     edx, dword ptr [esp+4]
                            ' 772A980D    B9 0A000000           mov     ecx, 0A                        ; mov       ecx, 0
                            ' 772A9816    64:FF15 C0000000      call    dword ptr fs:[C0]
                            ' 772A981D    C2 0C00               retn    0C                             ; retn

                            TEMP.ECX = 取字节集数据 (指令, #整数型, 11)
                            .判断开始 (指令 [22] = 195 或 指令 [25] = 195)  ' ret
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [22] = 194)
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 23)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [25] = 194)
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 26)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .默认
                                TEMP.ECX = 0
                            .判断结束

                        .如果真结束

                        ' 20170715从下面复制来这里,用于WIN10系统
                        .判断开始 (指令 [6] = 186 且 指令 [11] = 255)  ' XP.SP2 2003 Vista Win7  (还有WIN10系统?20170715)
                            ' 779394DB >  B8 0D120000     MOV EAX,120D            ; eax=ssdt
                            ' 779394E0    BA 0003FE7F     MOV EDX,7FFE0300
                            ' 779394E5    FF12            CALL DWORD PTR DS:[EDX] ; ntdll.KiFastSystemCall
                            ' 779394E7    C2 0C00         RETN 0C                 ; ret

                            ' 76E770B0 >  8BD4            mov     edx, esp        ; ntdll.KiFastSystemCall
                            ' 76E770B2    0F34            sysenter
                            ' 76E770B4 >  C3              retn                    ; ntdll.KiFastSystemCallRet


                            ' 00872453 >/$  B8 26000000   mov     eax, 26         ' 忘了哪个系统的了
                            ' 00872458  |.  BA 0003FE7F   mov     edx, 7FFE0300
                            ' 0087245D  |.  FFD2          call    edx
                            ' 0087245F  \.  C2 0C00       retn    0C


                            .如果真 (指令 [12] = 18 或 指令 [12] = 210)
                                .判断开始 (指令 [13] = 194)  ' C2=194 C3=195
                                    TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 14)
                                    加入成员 (NT功能号, TEMP)
                                    到循环尾 ()
                                .判断 (指令 [13] = 195)
                                    加入成员 (NT功能号, TEMP)
                                    到循环尾 ()
                                .默认

                                .判断结束

                            .如果真结束

                        .默认

                        .判断结束


                    .判断 (指令 [6] = 232)  ' WIN8.32
                        ' 76F15B34 >  B8 44010000     mov     eax, 144  ntdll.dll
                        ' 76F15B39    E8 03000000     call    76F15B41
                        ' 76F15B3E    C2 1400         retn    14
                        ' 76F15B41    8BD4            mov     edx, esp
                        ' 76F15B43    0F34            sysenter
                        ' 76F15B45    C3              retn

                        ' 76A45C21 >  B8 F8100000     mov     eax, 10F8  user32.dll gdi32.dll
                        ' 76A45C26    E8 08000000     call    76A45C33    1,3,6,8
                        ' 76A45C2B    C2 1800         retn    18
                        ' 76A45C2E    90              nop
                        ' 76A45C2F    90              nop
                        ' 76A45C30    90              nop
                        ' 76A45C31    90              nop
                        ' 76A45C32    90              nop
                        ' 76A45C33    8BD4            mov     edx, esp
                        ' 76A45C35    0F34            sysenter
                        ' 76A45C37    C3              retn

                        指针 = 取字节集数据 (指令, #整数型, 7)
                        .如果真 (指针 > 0 且 指针 < 10)  ' 11+API指针+2=15(sysenter)
                            指针 = ADD__ (指针, 13)
                            .如果真 (15 = 指令 [指针])  ' sysenter
                                .判断开始 (指令 [11] = 194)  ' C2=194 C3=195
                                    TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 12)
                                    加入成员 (NT功能号, TEMP)
                                    到循环尾 ()
                                .判断 (指令 [11] = 195)
                                    加入成员 (NT功能号, TEMP)
                                    到循环尾 ()
                                .默认

                                .判断结束

                            .如果真结束

                        .如果真结束

                    .判断 (指令 [6] = 186 且 指令 [11] = 255)  ' XP.SP2 2003 Vista Win7
                        ' 779394DB >  B8 0D120000     MOV EAX,120D            ; eax=ssdt
                        ' 779394E0    BA 0003FE7F     MOV EDX,7FFE0300
                        ' 779394E5    FF12            CALL DWORD PTR DS:[EDX] ; ntdll.KiFastSystemCall
                        ' 779394E7    C2 0C00         RETN 0C                 ; ret

                        ' 76E770B0 >  8BD4            mov     edx, esp        ; ntdll.KiFastSystemCall
                        ' 76E770B2    0F34            sysenter
                        ' 76E770B4 >  C3              retn                    ; ntdll.KiFastSystemCallRet


                        ' 00872453 >/$  B8 26000000   mov     eax, 26         ' 忘了哪个系统的了
                        ' 00872458  |.  BA 0003FE7F   mov     edx, 7FFE0300
                        ' 0087245D  |.  FFD2          call    edx
                        ' 0087245F  \.  C2 0C00       retn    0C


                        .如果真 (指令 [12] = 18 或 指令 [12] = 210)
                            .判断开始 (指令 [13] = 194)  ' C2=194 C3=195
                                TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 14)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .判断 (指令 [13] = 195)
                                加入成员 (NT功能号, TEMP)
                                到循环尾 ()
                            .默认

                            .判断结束

                        .如果真结束

                    .默认


                    .判断结束

                .如果真结束

            .计次循环尾 ()
            内存_释放内存 (-1, R3句柄)
        .如果真结束

    .计次循环尾 ()
.如果真结束

回复

使用道具 举报

结帖率:85% (28/33)

签到天数: 2 天

发表于 2021-7-27 09:11:28 | 显示全部楼层   黑龙江省哈尔滨市
myjsygy 发表于 2021-7-7 03:29
.版本 2

.子程序 枚举NT功能号

支持!!!!!!!!
回复

使用道具 举报

结帖率:40% (2/5)

签到天数: 1 天

发表于 2021-12-15 09:54:40 | 显示全部楼层   安徽省滁州市
myjsygy 发表于 2021-7-7 03:29
.版本 2

.子程序 枚举NT功能号

这种改法 user32的DLL函数都读取不到.没半点用.
回复

使用道具 举报

发表于 2022-1-29 10:51:38 | 显示全部楼层   广西壮族自治区贵港市
auqgydx 发表于 2021-12-15 09:54
这种改法 user32的DLL函数都读取不到.没半点用.

个人技术有限,没办法,这样改了,某些功能能正常用了,总好过原来有太多限制
回复

使用道具 举报

发表于 2022-2-1 22:24:56 | 显示全部楼层   新疆维吾尔自治区乌鲁木齐市
坛友分享~~~~~~~~  修复win10
  
如果 (指令 [6] = 186 指令 [7] = 240 指令 [9] = 99)  ' win10.x64 {184,2,0,0,0,186,240,44,99,119,255,210,194,24,0,144,184,3,0,10,0,186,240,44,99,119,255,210,194,12,0,144} B8 02 00 00 00 BA F0 2C 63 77 FF D2 C2 18 00 90 B8 03 00 0A 00 BA F0 2C 63 77 FF D2 C2 0C 00 90
判断 (指令 [13] = 194)  ' temp.ECX = 0
TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 14)
加入成员 (NT功能号, TEMP)
到循环尾 ()
判断 (指令 [13] = 195)
加入成员 (NT功能号, TEMP)
到循环尾 ()



' 调试输出 (字节集到十进制 (指令), TEMP.API名称, TEMP.DLL名称)
如果真 (指令 [6] = 232 指令 [7] = 0 指令 [12] = 128)  ' ZwQueryInformationProcess 184,25,0,0,0,232,  0, 0, 0,  0, 90,128,122,20,75,117, 14,100,255,21,192,  0,  0, 0,194, 20,  0,  0,  0,131,194,186
判断 (指令 [25] = 194)  ' temp.ECX = 0
TEMP.RETN_XX = 取字节集数据 (指令, #短整数型, 26)
加入成员 (NT功能号, TEMP)
到循环尾 ()








万挂作坊4.X.zip

1.53 MB, 下载次数: 72, 下载积分: 精币 -1 枚

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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