标题:一个汇编小程序暴露了微软一个小漏洞
只看楼主
tigerdown
Rank: 1
等 级:新手上路
帖 子:63
专家分:3
注 册:2017-8-21
结帖率:69.23%
已结贴  问题点数:20 回复次数:8 
一个汇编小程序暴露了微软一个小漏洞
这程序(源码会贴在后面)是对文件时间属性进行修改,用32位masm编辑后,分别在winxp和win8下运行测试。
1 在winxp下运行测试。
分别修改了三个文件(test, test2, test3)的时间,由于有些时间超出了系统展示时间的上下限,所以在文件夹中看不到,要打开文件属性查看,按常理文件的创建时间<访问和修改时间,其测试结果出乎意料之外,见图。






[此贴子已经被作者于2019-12-13 17:58编辑过]

搜索更多相关主题的帖子: 测试 汇编 时间 修改 文件 
2019-12-13 08:11
tigerdown
Rank: 1
等 级:新手上路
帖 子:63
专家分:3
注 册:2017-8-21
得分:0 
2.在win8下测试运行
想把文件的sample.txt创建修改为1981年,但其结果是28754年,系统没崩溃。

2019-12-13 08:25
tigerdown
Rank: 1
等 级:新手上路
帖 子:63
专家分:3
注 册:2017-8-21
得分:0 
3. 有兴趣的朋友可以用masm64对其编辑,看一看会有啥不同结果。

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;    File Property Change
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .386
        .model flat, stdcall
        option casemap :none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include        windows.inc
include        user32.inc
includelib    user32.lib
include        kernel32.inc
includelib    kernel32.lib
include        comdlg32.inc
includelib    comdlg32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Equ 等值定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN    equ        1000
DLG_MAIN    equ        100
IDC_FILE    equ        101
IDC_BROWSE    equ        102
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
IDC_ATTRIBUTE    equ        103
IDC_ATTRCHANGE    equ        104
IDC_FILETIME    equ        105
IDC_YEAR    equ        106
IDC_MONTH    equ        107
IDC_DAY        equ        108
IDC_HOUR    equ        109
IDC_MINUTE    equ        110
IDC_TIMECHANGE    equ        111
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .data?

hInstance    dd    ?
hWinMain    dd    ?
szFileName    db    MAX_PATH dup (?)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
FileAttr    dd    ?
FileTime    dd    ?
TimeSelection    dd    ?
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        .const
szFileExt    db    'All File',0,'*.*',0,0
szErrOpenFile    db    'Cant open file!',0
szErrInfo    db    'Invalid Input!',0
szSuccees    db    'The Following File Properties has been changed:',0dh,0ah,'%s',0
szSucceesCap    db    'Note',0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;File Attributes selection
szText1        db    'Please make a selection',0
szText2        db    'FILE_ATTRIBUTE_NORMAL',0
szText3        db    'FILE_ATTRIBUTE_READONLY',0
szText4        db    'CreationTime',0
szText5        db    'LastAccessTime',0
szText6        db    'LastWriteTime',0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

        .code

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;********************************************************************
_AttributeChange    proc
            local    @hFile
            local    @szReadBufferAttr[512]:byte
        
;********************************************************************
; 打开文件
;********************************************************************

        .if    FileAttr==1
            invoke    SetFileAttributes, addr szFileName, FILE_ATTRIBUTE_NORMAL
        .elseif FileAttr==2
             invoke    SetFileAttributes, addr szFileName, FILE_ATTRIBUTE_READONLY
        .endif

;;;; 'GENERIC_WRITE' has to be set for writing file and change file time
;;;; 'GENERIC_READ' setting does not affect file to chnage attribute

        invoke    CreateFile,addr szFileName,GENERIC_READ,FILE_SHARE_WRITE,0,\
            OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
        .if    eax ==    INVALID_HANDLE_VALUE
            invoke    MessageBox,hWinMain,addr szErrOpenFile,NULL,MB_OK or MB_ICONEXCLAMATION
            ret
        .endif


        mov    @hFile,eax
        
        
        invoke    CloseHandle,@hFile
        invoke    wsprintf,addr @szReadBufferAttr,addr szSuccees,addr szFileName
        invoke    MessageBox,hWinMain,addr @szReadBufferAttr,addr szSucceesCap,MB_OK

        ret


_AttributeChange    endp

;********************************************************************
_TimeChange        proc
            local    @hFile
            local    @szReadBuffer[MAX_PATH]:byte
            local    @myFileTime
            local    @sysTime:SYSTEMTIME

;Set System Time
            invoke    GetDlgItemInt,hWinMain,IDC_YEAR,NULL,FALSE
            mov @sysTime.wYear, ax
            invoke    GetDlgItemInt,hWinMain,IDC_MONTH,NULL,FALSE
            mov @sysTime.wMonth, ax
            invoke    GetDlgItemInt,hWinMain,IDC_DAY,NULL,FALSE
            mov @sysTime.wDay, ax
            invoke    GetDlgItemInt,hWinMain,IDC_HOUR,NULL,FALSE
            mov @sysTime.wHour, ax
            invoke    GetDlgItemInt,hWinMain,IDC_MINUTE,NULL,FALSE
            mov @sysTime.wMinute, ax

            invoke SystemTimeToFileTime, addr @sysTime, addr @myFileTime
;check the error
            .if eax == 0
                invoke    MessageBox,hWinMain,addr szErrInfo,NULL,MB_OK or MB_ICONEXCLAMATION
                ret
            .endif

;********************************************************************
; 'GENERIC_WRITE' has to be set for writing file and changing file time
; 'GENERIC_READ' setting does not affect file to change its attributes
;********************************************************************
        invoke    CreateFile,addr szFileName,GENERIC_WRITE,FILE_SHARE_READ,0,\
            OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
        .if    eax ==    INVALID_HANDLE_VALUE
            invoke    MessageBox,hWinMain,addr szErrOpenFile,NULL,MB_OK or MB_ICONEXCLAMATION
            ret
        .endif
        mov    @hFile,eax
;-------------------------------------------------------------------------------------
        .if    FileTime==1
            invoke    SetFileTime, @hFile, addr @myFileTime, NULL, NULL
        .elseif    FileTime==2
            invoke    SetFileTime, @hFile, NULL, addr @myFileTime, NULL
        .elseif    FileTime==3
            invoke    SetFileTime, @hFile, NULL, NULL, addr @myFileTime
        .endif


        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ;invoke    SetFileTime, @hFile, addr @myFileTime, NULL, NULL     
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        invoke    CloseHandle,@hFile
        invoke    wsprintf,addr @szReadBuffer,addr szSuccees,addr szFileName
        invoke    MessageBox,hWinMain,addr @szReadBuffer,addr szSucceesCap,MB_OK

        
        ret

_TimeChange        endp
;********************************************************************
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcDlgMain    proc    uses ebx edi esi hWnd,wMsg,wParam,lParam
        local    @stOpenFileName:OPENFILENAME


        mov    eax,wMsg
        .if    eax ==    WM_CLOSE
            invoke    EndDialog,hWnd,NULL
;********************************************************************
        .elseif    eax ==    WM_INITDIALOG
            push    hWnd
            pop    hWinMain
            invoke    LoadIcon,hInstance,ICO_MAIN
            invoke    SendMessage,hWnd,WM_SETICON,ICON_BIG,eax
            invoke    SendDlgItemMessage,hWnd,IDC_FILE,EM_SETLIMITTEXT,MAX_PATH,0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;********************************************************************
; 初始化组合框
;********************************************************************
;;;;File Attribute Selection
    invoke    SendDlgItemMessage,hWnd,IDC_ATTRIBUTE,CB_ADDSTRING,0,addr szText1
    invoke    SendDlgItemMessage,hWnd,IDC_ATTRIBUTE,CB_ADDSTRING,0,addr szText2
    invoke    SendDlgItemMessage,hWnd,IDC_ATTRIBUTE,CB_ADDSTRING,0,addr szText3
    invoke    SendDlgItemMessage,hWnd,IDC_ATTRIBUTE,CB_SETCURSEL,0,0

;;;;File Time Selection
    invoke    SendDlgItemMessage,hWnd,IDC_FILETIME,CB_ADDSTRING,0,addr szText1
    invoke    SendDlgItemMessage,hWnd,IDC_FILETIME,CB_ADDSTRING,0,addr szText4
    invoke    SendDlgItemMessage,hWnd,IDC_FILETIME,CB_ADDSTRING,0,addr szText5
    invoke    SendDlgItemMessage,hWnd,IDC_FILETIME,CB_ADDSTRING,0,addr szText6
    invoke    SendDlgItemMessage,hWnd,IDC_FILETIME,CB_SETCURSEL,0,0

;;;;Set Up Time Inputs Format
    invoke    SendDlgItemMessage,hWnd,IDC_YEAR,EM_LIMITTEXT,4,0
    invoke    SendDlgItemMessage,hWnd,IDC_MONTH,EM_LIMITTEXT,2,0
    invoke    SendDlgItemMessage,hWnd,IDC_DAY,EM_LIMITTEXT,2,0
    invoke    SendDlgItemMessage,hWnd,IDC_HOUR,EM_LIMITTEXT,2,0
    invoke    SendDlgItemMessage,hWnd,IDC_MINUTE,EM_LIMITTEXT,2,0

    mov FileAttr, 0        ;Set them to 0 if none is selected
    mov FileTime, 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;********************************************************************
        .elseif    eax ==    WM_COMMAND
            mov    eax,wParam
            .if    ax ==    IDC_BROWSE
;********************************************************************
                invoke    RtlZeroMemory,addr @stOpenFileName,sizeof OPENFILENAME
                mov    @stOpenFileName.lStructSize,SIZEOF @stOpenFileName
                mov    @stOpenFileName.Flags,OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST
                push    hWinMain
                pop    @stOpenFileName.hwndOwner
                mov    @stOpenFileName.lpstrFilter,offset szFileExt
                mov    @stOpenFileName.lpstrFile,offset szFileName
                mov    @stOpenFileName.nMaxFile,MAX_PATH
                invoke    GetOpenFileName,addr @stOpenFileName
                .if    eax
                    invoke    SetDlgItemText,hWnd,IDC_FILE,addr szFileName
                .endif
;********************************************************************
            .elseif    ax ==    IDC_FILE
                invoke    GetDlgItemText,hWnd,IDC_FILE,addr szFileName,MAX_PATH
                mov    ebx,eax
                invoke    EnableWindow,eax,ebx
;********************************************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Set FileAttr=0 if none attribute is selected

            ;mov FileAttr, 0
            .elseif    ax ==    IDC_ATTRIBUTE
                shr    eax,16
               
               .if    ax ==    CBN_SELENDOK
                    invoke    SendDlgItemMessage,hWnd,IDC_ATTRIBUTE,CB_GETCURSEL,0,0
                ;;;;the return value is according to the selection
                .if    eax == 1
                    mov    ebx,eax
                    mov    FileAttr, 1
                .elseif    eax == 2   
                    mov    ebx,eax
                    mov    FileAttr, 2
                .else
                    mov FileAttr, 0
                .endif

              .endif
;--------------------------------------------------------------------
;;;;;;;;Set FileTime=0 if none time is selected

            ;mov FileTime, 0
            .elseif ax ==    IDC_FILETIME
                shr    eax, 16
               .if    ax ==    CBN_SELENDOK
                    invoke    SendDlgItemMessage,hWnd,IDC_FILETIME,CB_GETCURSEL,0,0
                    mov TimeSelection, 1
                .if    eax == 1
                    mov    ebx,eax
                    mov    FileTime, 1
                    
                .elseif    eax == 2   
                    mov    ebx,eax
                    mov    FileTime, 2
                    
                .elseif    eax == 3   
                    mov    ebx,eax
                    mov    FileTime, 3
                .else
                    mov FileTime, 0
                    
                .endif
               .endif
;*******************************************************************
            .elseif    ax ==    IDC_ATTRCHANGE
                shr    eax, 16
                .if FileAttr == 1 || FileAttr == 2
                    call    _AttributeChange
                .elseif FileAttr == 0
                    invoke    MessageBox,hWinMain,addr szErrInfo,NULL,MB_OK or MB_ICONEXCLAMATION
                .endif        
;********************************************************************
            .elseif    ax ==    IDC_TIMECHANGE
                shr    eax, 16
                .if FileTime == 1 || FileTime == 2 || FileTime == 3
                    call    _TimeChange
                .elseif FileTime == 0
                    invoke    MessageBox,hWinMain,addr szErrInfo,NULL,MB_OK or MB_ICONEXCLAMATION
                .endif   
;********************************************************************
            .elseif    ax ==    IDCANCEL
                invoke    EndDialog,hWnd,NULL
            .endif

;*********************************************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;********************************************************************
        .else
            mov    eax,FALSE
            ret
        .endif
        mov    eax,TRUE
        ret

_ProcDlgMain    endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
        invoke    GetModuleHandle,NULL
        mov    hInstance,eax
        invoke    DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULL
        invoke    ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        end    start
2019-12-13 08:50
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:10 
难得有人贴源码....

可以成功编译并生成执行档,但运行时一闪而过(WinXP,Win7,Win10结果一样),没有出现DialogBox,
可能什么地方出问题,俺有空调试一下....
2019-12-14 11:24
tigerdown
Rank: 1
等 级:新手上路
帖 子:63
专家分:3
注 册:2017-8-21
得分:0 
回复 4楼 Valenciax
Rc文件没贴出来,因为上面有个人logo,己懒得去改, Main.ico和mylogo请自己补一下

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#include        <resource.h>
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#define    ICO_MAIN        1000
#define IDB_1            1
#define    DLG_MAIN        100
#define IDC_FILE        101
#define IDC_BROWSE        102
#define IDC_ATTRIBUTE    103
#define IDC_ATTRCHANGE    104
#define IDC_FILETIME    105
#define IDC_YEAR        106
#define IDC_MONTH        107
#define IDC_DAY            108
#define IDC_HOUR        109
#define IDC_MINUTE        110
#define IDC_TIMECHANGE    111
#define IDC_BMP            112
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN    ICON        "Main.ico"
IDB_1        BITMAP        "MyLogo.bmp"
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DLG_MAIN DIALOG 84, 79, 280, 300
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Changing File Properies"
FONT 10, "宋体"
{
;;;;;;;;;;;;;;;;;;;;;;;;;;;  x,  y,  w,  h
 GROUPBOX "Seach File", -1, 06, 14, 266, 50
 LTEXT "File Name", -1, 14, 24, 40, 12
 EDITTEXT IDC_FILE, 60, 24, 200, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
 PUSHBUTTON "Browse File", IDC_BROWSE, 180, 42, 70, 16
 GROUPBOX "Property Selection", -1, 06, 72, 266, 124
 LTEXT "File Attribute Set", -1, 14, 82, 80, 12
 COMBOBOX IDC_ATTRIBUTE, 100, 82, 160, 70, CBS_DROPDOWNLIST | WS_TABSTOP
 PUSHBUTTON "Change Attribute", IDC_ATTRCHANGE, 180, 100, 70, 16
 CONTROL "", -1, "Static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 12, 122, 254, 1
 LTEXT "File Time Set", -1, 14, 130, 80, 12
 COMBOBOX IDC_FILETIME, 100, 130, 160, 70, CBS_DROPDOWNLIST | WS_TABSTOP
 EDITTEXT IDC_YEAR, 14, 150, 56, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_NUMBER
// ES_NUMBER is for number input only
 LTEXT "Year:yyyy>1600", -1, 14, 160, 60, 12
 EDITTEXT IDC_MONTH, 80, 150, 36, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_NUMBER
 LTEXT "Month:mm", -1, 80, 160, 38, 12
 EDITTEXT IDC_DAY, 130, 150, 36, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_NUMBER
 LTEXT "Date:dd", -1, 130, 160, 40, 12
 EDITTEXT IDC_HOUR, 180, 150, 36, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_NUMBER
 LTEXT "Hour:hh", -1, 180, 160, 40, 12
 EDITTEXT IDC_MINUTE, 230, 150, 36, 12, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_NUMBER
 LTEXT "Minute:mm", -1, 230, 160, 40, 12
 PUSHBUTTON "Change Time", IDC_TIMECHANGE, 180, 172, 70, 16
 CONTROL "", -1, "Static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 06, 204, 266, 1
 CONTROL "", -1, "Static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 06, 206, 266, 1
 PUSHBUTTON "Close Application", IDCANCEL, 70, 216, 140, 18
 CONTROL IDB_1, IDC_BMP, "Static", SS_BITMAP | WS_CHILD | WS_VISIBLE, 16, 250, 140, 15
}
2019-12-14 12:41
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:10 
谢谢楼主.

太久没碰masm32了,忘了还有个rscr.rc

配合5楼的文件,可以存为rscr.rc

有兴趣的朋友可以用下面的make.bat编译,当然要有masm32的ml.exe和link.exe等程式,并且路径正确.
Main.ico 和 MyLogo.bmp 随便找一个代替即可,bmp不要太大,少于100x100就可以.


编译时,键入make xxx   (xxx是asm档名)

make.bat
程序代码:
@echo off

if not exist rsrc.rc goto over1
\MASM32\BIN\Rc.exe /v rsrc.rc
\MASM32\BIN\Cvtres.exe /machine:ix86 rsrc.res
:over1

if exist %1.obj del %1.obj
if exist %1.exe del %1.exe

\MASM32\BIN\Ml.exe /c /coff %1.asm
if errorlevel 1 goto errasm

if not exist rsrc.obj goto nores

\MASM32\BIN\Link.exe /SUBSYSTEM:WINDOWS %1.obj rsrc.obj
if errorlevel 1 goto errlink

dir %1.*
goto TheEnd

:nores
\MASM32\BIN\Link.exe /SUBSYSTEM:WINDOWS %1.obj
if errorlevel 1 goto errlink
dir %1
goto TheEnd

:errlink
echo _
echo Link error
goto TheEnd

:errasm
echo _
echo Assembly Error
goto TheEnd

:TheEnd

pause



[此贴子已经被作者于2019-12-14 16:32编辑过]

收到的鲜花
  • tigerdown2019-12-14 19:53 送鲜花  1朵   附言:版主的bat文件,我第一次看到
2019-12-14 16:30
tigerdown
Rank: 1
等 级:新手上路
帖 子:63
专家分:3
注 册:2017-8-21
得分:0 
回复 6楼 Valenciax
版主的bat文件,我第一次看到,让我开眼了。
2019-12-14 19:52
tigerdown
Rank: 1
等 级:新手上路
帖 子:63
专家分:3
注 册:2017-8-21
得分:0 
如谁有测试过,烦请告诉一下结果,因为我想知道在不同系统,不同芯片,甚至不同指令集下,出来结果是啥样。
2019-12-16 13:14
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
得分:0 
看不懂汇编看bat点赞的憨憨路过..羡慕了
2019-12-22 20:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498363-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.492189 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved