⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extractrsrc.asm

📁 这是用win32汇编编写的资源编辑器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
         title   ExtractDlg - Normal Window with (.rc)

         .586
         .model flat, stdcall
         option casemap:none   ; Case sensitive

            include  L:\AsmEdit\include\windows.inc
            include  user32.inc
            include  GDI32.inc
            include  kernel32.inc
            include  comdlg32.inc
            include  comctl32.inc
            include  advapi32.inc
            include  ole32.inc
            include  oleaut32.inc

   include  L:\AsmEdit\include\DSPMACRO.asm

            include  ResEdit.inc

ViewImage             PROTO  :DWORD, :DWORD, :DWORD, :DWORD
BaseAscii             PROTO  :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
CreateStreamOnHGlobal PROTO   WINAPI :DWORD, :DWORD, :DWORD
OleLoadPicture        PROTO   WINAPI :DWORD, :DWORD, :DWORD, :DWORD, :DWORD

MOVmd    MACRO Var1, Var2
          push     Var2
           pop     Var1
          ENDM

MOVmw    MACRO Var1, Var2
      pushad 
         lea     esi, Var2
         lea     edi, Var1
         repeat     2
            mov     al, [esi]
            mov     [edi], al
            inc     esi
            inc     edi
         ENDM
        popad
         ENDM

.data
TreeVClass     db  'SysTreeView32',0
AnimateClass   db  'SysAnimate32',0

FontName       db  'Courier New',0
AppName        db  'Extract Resources',0

szError3       db  'This file has been compressed.',0Dh,0Ah
               db  'You will need to decompress it first.',0
szError6       db  'Error Opening The File.',0
szError7       db  'There are no dialogs'
               db  0Dh,0Ah
               db  'for the requested file.',0
szError8       db  'There are no resources'
               db  0Dh,0Ah
               db  'for the requested file.',0

;szDlgNum       db  2 dup(' ')
;               db  '  Dialog(s) have been extracted.',0dh,0ah
;szCtrlNum      db  2 dup(' ')
;               db  '  Controls(s) have been extracted.',0dh,0ah,0

szAccess       db  'This program is in use.'
               db  0Dh,0Ah
               db  'Would you like to open it as read only ?',0

szTitleO       db  'Read File',0
szTitleS       db  'Write File',0

szPE           db  'Files Types(*.exe)-(*.dll)-(*.res)-(*.scr)',0,'*.exe;*.dll;*.res;*.scr',0,
                   'All Files',0,'*.*',0,0
szFilterI      db  'Cursor (*.cur), Bitmap(*.bmp), Icon(*.ico)',0,'*.cur;*.bmp;*.ico',0,
                  'All Files',0,'*.*',0,0

szCur          db  '*.cur',0
szBmp          db  '*.bmp',0
szIco          db  '*.ico',0
szGif          db  '*.gif',0
szJpg          db  '*.jpg',0
szWmf          db  '*.wmf',0
szEmf          db  '*.emf',0
szAni          db  '*.ani',0
szAvi          db  '*.avi',0

szResources    db  'Images',0
szTempAni      db  '\Temp.ani',0
szTempAvi      db  '\Temp.avi',0

;szRsrc00       db  'GIF',0
szRsrc01       db  'Cursors',0
szRsrc02       db  'Bitmaps',0
szRsrc03       db  'Icons',0
szRsrc04       db  'Menus',0
szRsrc05       db  'Dialogs',0
szRsrc06       db  'String Tables',0
szRsrc07       db  'Font Director',0
szRsrc08       db  'Font',0
szRsrc09       db  'Accelerator Tables',0
szRsrc10       db  'RCData',0
szRsrc11       db  'Message Tables',0       ;11
szRsrc12       db  'Group Cursors',0        ;12
szRsrc13       db  ' ',0
szRsrc14       db  'Group Icons',0          ;14
szRsrc15       db  ' ',0
szRsrc16       db  'Version Information',0  ;16
szRsrc17       db  'Dlg Include',0
szRsrc18       db  ' ',0
szRsrc19       db  'Plug Play',0
szRsrc20       db  'VXD',0
szRsrc21       db  'Ani Cursor',0
szRsrc22       db  'Ani Icon',0

RsrcArray      dd  szRsrc01,szRsrc02,szRsrc03,szRsrc04,szRsrc05,szRsrc06,szRsrc07,szRsrc08,
                   szRsrc09,szRsrc10,szRsrc11,szRsrc12,szRsrc13,szRsrc14,szRsrc15,szRsrc16,
                   szRsrc17,szRsrc18,szRsrc19,szRsrc20,szRsrc21,szRsrc22

szMenuex       db  '  MENUEX DISCARDABLE',0

szMFTSTRING    db  'MFT_STRING',0    ; = 0
szMFTSEPARATOR db  'MFT_SEPARATOR',0 ; = 800h

szMFSENABLED   db  'MFS_ENABLED',0   ; = 0
szMFSGRAYED    db  'MFS_GRAYED',0    ; = 3
szMFSCHECKED   db  'MFS_CHECKED',0   ; = 8

szMenu         db  '  MENU DISCARDABLE',0
szBEGIN01      db  'BEGIN',0
szPopup        db  '   POPUP "',0
szBEGIN02      db  '   BEGIN',0
szMENUITEM     db  '      MENUITEM "',0
szSEPARATOR    db  '      MENUITEM SEPARATOR',0
szEND02        db  '   END',0
szEND01        db  'END',0
szGrayed       db  ', GRAYED',0
szChecked      db  ', CHECKED',0

szDlg          db  ' DIALOG LOADONCALL MOVEABLE DISCARDABLE ',0
szDlgEX        db  ' DIALOGEX LOADONCALL MOVEABLE DISCARDABLE ',0
szCapt         db  'CAPTION ',0
szFont         db  'FONT    ',0  
szSty          db  'STYLE   ',0  
szEXSty        db  'EXSTYLE ',0
szClass        db  'CLASS   ',0
szBegin        db  'BEGIN',0dh,0ah,0
szCont         db  '    CONTROL ',0
szEnd          db  'END',0dh,0ah,0

ButtClass      db  'button',0
EditClass      db  'edit',0
StaticClass    db  'static',0
ListboxClass   db  'listbox',0
ScrollClass    db  'scrollbar',0
ComboClass     db  'combobox',0
ClassArray     dd  ButtClass,EditClass,StaticClass,ListboxClass,ScrollClass,ComboClass

szVKaNA        db  ' ',0
szVKa01        db  'VK_BACK',0
szVKa02        db  'VK_TAB',0
szVKa03        db  'VK_CLEAR',0
szVKa04        db  'VK_RETURN',0
szVKa05        db  'VK_SHIFT',0
szVKa06        db  'VK_CONTROL',0
szVKa07        db  'VK_MENU',0
szVKa08        db  'VK_PAUSE',0
szVKa09        db  'VK_CAPITAL',0
szVKa10        db  'VK_ESCAPE',0
szVKa11        db  'VK_CONVERT',0
szVKa12        db  'VK_NONCONVERT',0
szVKa13        db  'VK_ACCEPT',0
szVKa14        db  'VK_MODECHANGE',0
szVKa15        db  'VK_SPACE',0
szVKa16        db  'VK_PGUP',0
szVKa17        db  'VK_PGDN',0
szVKa18        db  'VK_END',0
szVKa19        db  'VK_HOME',0
szVKa20        db  'VK_LEFT',0
szVKa21        db  'VK_UP',0
szVKa22        db  'VK_RIGHT',0
szVKa23        db  'VK_DOWN',0
szVKa24        db  'VK_SELECT',0
szVKa25        db  'VK_PRINT',0
szVKa26        db  'VK_EXECUTE',0
szVKa27        db  'VK_SNAPSHOT',0
szVKa28        db  'VK_INSERT',0
szVKa29        db  'VK_DELETE',0
szVKa30        db  'VK_HELP',0
VKaArray       dd  szVKa01,szVKa02,szVKaNA,szVKaNA,szVKa03,szVKa04,
                   szVKaNA,szVKaNA,szVKa05,szVKa06,szVKa07,szVKa08,
                   szVKa09,szVKaNA,szVKaNA,szVKaNA,szVKaNA,szVKaNA,
                   szVKaNA,szVKa10,szVKa11,szVKa12,szVKa13,szVKa14,
                   szVKa15,szVKa16,szVKa17,szVKa18,szVKa19,szVKa20,
                   szVKa21,szVKa22,szVKa23,szVKa24,szVKa25,szVKa26,
                   szVKa27,szVKa28,szVKa29,szVKa30

szVKb01        db  'VK_NUMPAD0',0
szVKb02        db  'VK_NUMPAD1',0
szVKb03        db  'VK_NUMPAD2',0
szVKb04        db  'VK_NUMPAD3',0
szVKb05        db  'VK_NUMPAD4',0
szVKb06        db  'VK_NUMPAD5',0
szVKb07        db  'VK_NUMPAD6',0
szVKb08        db  'VK_NUMPAD7',0
szVKb09        db  'VK_NUMPAD8',0
szVKb10        db  'VK_NUMPAD9',0
szVKb11        db  'VK_MULTIPLY',0
szVKb12        db  'VK_ADD',0
szVKb13        db  'VK_SEPARATOR',0
szVKb14        db  'VK_SUBTRACT',0
szVKb15        db  'VK_DECIMAL',0
szVKb16        db  'VK_DIVIDE',0
szVKb17        db  'VK_F1',0
szVKb18        db  'VK_F2',0
szVKb19        db  'VK_F3',0
szVKb20        db  'VK_F4',0
szVKb21        db  'VK_F5',0
szVKb22        db  'VK_F6',0
szVKb23        db  'VK_F7',0
szVKb24        db  'VK_F8',0
szVKb25        db  'VK_F9',0
szVKb26        db  'VK_F10',0
szVKb27        db  'VK_F11',0
szVKb28        db  'VK_F12',0
VKbArray       dd  szVKb01,szVKb02,szVKb03,szVKb04,szVKb05,szVKb06,
                   szVKb07,szVKb08,szVKb09,szVKb10,szVKb11,szVKb12,
                   szVKb13,szVKb14,szVKb15,szVKb16,szVKb17,szVKb18,
                   szVKb19,szVKb20,szVKb21,szVKb22,szVKb23,szVKb24,
                   szVKb25,szVKb26,szVKb27,szVKb28

szVKc01        db  'VK_NUMLOCK',0
szVKc02        db  'VK_SCROLL',0
VKcArray       dd  szVKc01,szVKc02

szACCEL        db  ' ACCELERATORS',0
szBEGIN        db  'BEGIN',0
szVIRTKEY      db  'VIRTKEY',0
szNOINVERT2    db  'NOINVERT',0
szNOINVERT     db  ', NOINVERT',0
szSHIFT        db  ', SHIFT',0
szSHIFT4       db  'SHIFT',0
szCONTROL      db  ', CONTROL',0
szCONTROL8     db  'CONTROL',0
szALT          db  ', ALT',0
szALT10        db  'ALT',0
szEND          db  'END',0
szFill         db  '                                   ',0
szNeed         db  '*NEED*',0

szobject       db  'object ',0

szMESSAGE      db  '1 MESSAGETABLE',0

szSTRING       db  'STRINGTABLE DISCARDABLE',0

szVERINFO      db  ' VERSIONINFO',0
szVERFILE      db  'FILEVERSION ',0
szVERPRODUCT   db  'PRODUCTVERSION ',0
szFILEFLAGSM   db  'FILEFLAGSMASK ',0
szFILEFLAGS    db  'FILEFLAGS ',0
szFILEOS       db  'FILEOS ',0
szFILETYPE     db  'FILETYPE ',0
szFILESUBTYPE  db  'FILESUBTYPE ',0
szFILEDATE     db  'FILEDATE ',0
VersionArray   dd  szVERFILE,szVERPRODUCT,szFILEFLAGSM,szFILEFLAGS,szFILEOS,szFILETYPE,szFILESUBTYPE,szFILEDATE

szVarFileInfo  db  'VarFileInfo',0
szBLOCK01      db  '   BLOCK ',0
szBLOCK02      db  '      BLOCK ',0
szBEGIN03      db  '      BEGIN',0
szVALUE01      db  '      VALUE "',0
szVALUE02      db  '         VALUE "',0
szEND03        db  '      END',0

sz0x           db  '0x',0
szQuote        db  '"',0
szComma        db  ',',0
szCommaS       db  ', ',0
szSpace        db  ' ',0
szMinus1       db  '-1',0
szSlashB       db  '\',0
szSlashB0      db  '\0',0
szNULL         db  0
szCRLF         db  0dh,0ah,0
fmat1          db  '%01u',0
fmat2          db  '%02u',0

szRedit        db  'ResEdit',0
szREGSZ        db  'REG_SZ',0
szResB         db  'Last Binary',0

IID_IPicture   dd  07bf80980h
               dw  0bf32h
               dw  0101ah
               db  08bh,0bbh,0,0aah,0,030h,0ch,0abh
;0x7bf80980,0xbf32,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab
;{7bf80980-bf32-101a-8bbb00aa00300cab}

.data?
hREdit         dd  ?
hStatic        dd  ?
hAniCtrl       dd  ?
hIcon          dd  ?
MemRsrc        dd  ?
RsrcInfo       dd  ?
RsrcInfoGrp    dd  ?

hMem           dd  ?
pMem           dd  ?
hMemD          dd  ?
pMemD          dd  ?
hMemID         dd  ?
pMemID         dd  ?
hMap           dd  ?
pMap           dd  ?
hFile          dd  ?
SavpMap        dd  ?
RsrcSize       dd  ?
PE             dd  ?
CompressOn     dd  ?
NumOfSections  dw  ? 
NumOfIDs       dd  ?
NumOfMatchIDs  dd  ?
SavAddr        dd  ?
SavSize        dd  ?
SavStart       dd  ?
SavOffset      dd  ?
ID             dd  ?
OffPosID       dd  ?
NumOfGroups    dd  ?
NumofDlgs      dd  ?
NumofCtrls     dd  ?
NumofItems     dd  ?

hParent        dd  ?
hChild         dd  ?
hImage         dd  ?
PictID         dd  ?
ImageID        dd  ?
hIC            dd  ?
Hold           dd  ?
BytesRead      dd  ?

ipPicture      dd  ?
hBitmap        dd  ?

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -