当前位置:编程学习 > VB >>

帮忙分析一下<世界上最小的密码查看器(vb编的)(已经脱壳)>原理

[Timer1.Timer] 
:00401E74  0002                  LargeBos              ;IDE beginning of line With 02 Byte codes 
:00401E76  0005                  LargeBos              ;IDE beginning of line With 05 Byte codes 
:00401E78  4BFFFF                OnErrorGoto          ; 
:00401E7B  0034                  LargeBos              ;IDE beginning of line With 34 Byte codes 
:00401E7D  0478FF                FLdRfVar              ush LOCAL_0088 
:00401E80  080800                FLdPr                ;[SR] = [STACK_0008] 
:00401E83  0D58000300            VCallHresult          ;Call ptr_004018C4 
:00401E88  F503000000            LitI4                ush 00000003 
:00401E8D  F500000000            LitI4                ush 00000000 
:00401E92  F500000000            LitI4                ;Push 00000000 
:00401E97  F500000000            LitI4                ;Push 00000000 
:00401E9C  F500000000            LitI4                ;Push 00000000 
:00401EA1  F5FFFFFFFF            LitI4                ;Push FFFFFFFF 
:00401EA6  6C78FF                ILdRf                ;Push DWORD [LOCAL_0088] 
* * * * * * * * * * * Reference To:user32.SetWindowPos 

:00401EA9  0A06001C00            ImpAdCallFPR4        ;Call ptr_00401B0C; check stack 001C; Push EAX 
:00401EAE  3C                    SetLastSystemError    ;Kernel GetLastError 
:00401EAF  000E                  LargeBos              ;IDE beginning of line With 0E Byte codes 
:00401EB1  080800                FLdPr                ;[SR] = [STACK_0008] 
:00401EB4  063400                MemLdRfVar            ;Push [SR] + STACK_0034 
* * * * * * * * * * * Reference To:user32.GetCursorPos 

:00401EB7  0A07000400            ImpAdCallFPR4        ;Call ptr_004019CC; check stack 0004; Push EAX 
:00401EBC  3C                    SetLastSystemError    ;Kernel GetLastError 
:00401EBD  001D                  LargeBos              ;IDE beginning of line With 1D Byte codes 
:00401EBF  080800                FLdPr                ;[SR] = [STACK_0008] 
:00401EC2  8A3800                MemLdStr              ;Push DWORD [[SR] + 0038] 
:00401EC5  080800                FLdPr                ;[SR] = [STACK_0008] 
:00401EC8  8A3400                MemLdStr              ;Push DWORD [[SR] + 0034] 
* * * * * * * * * * * Reference To:user32.WindowFromPoint 

:00401ECB  5E08000800            ImpAdCallI2          ;Call ptr_00401A0C; check stack 0008; Push EAX 
:00401ED0  7178FF                FStR4                ;Pop DWORD [LOCAL_0088] 
:00401ED3  3C                    SetLastSystemError    ;Kernel GetLastError 
:00401ED4  6C78FF                ILdRf                ;Push DWORD [LOCAL_0088] 
:00401ED7  7170FF                FStR4                ;Pop DWORD [LOCAL_0090] 
:00401EDA  000F                  LargeBos              ;IDE beginning of line With 0F Byte codes 
:00401EDC  FCED58FF              FLdVar                ; 
:00401EE0  0448FF                FLdRfVar              ;Push LOCAL_00B8 
:00401EE3  FD9F                  LdPrVar              ; 
:00401EE5  FE9B0900              LateMemSt            ; 
:00401EE9  000F                  LargeBos              ;IDE beginning of line With 0F Byte codes 
:00401EEB  FCED38FF              FLdVar                ; 
:00401EEF  0448FF                FLdRfVar              ;Push LOCAL_00B8 
:00401EF2  FD9F                  LdPrVar              ; 
:00401EF4  FE9B0A00              LateMemSt            ; 
:00401EF8  0019                  LargeBos              ;IDE beginning of line With 19 Byte codes 
:00401EFA  F5FF000000            LitI4                ;Push 000000FF 
:00401EFF  0428FF                FLdRfVar              ;Push LOCAL_00D8 
* * * * * * * * * * Reference To - > msvbvm50.rtcSpaceVar 

:00401F02  0A0B000800            ImpAdCallFPR4        ;Call ptr_0040100C; check stack 0008; Push EAX 
:00401F07  0428FF                FLdRfVar              ;Push LOCAL_00D8 
:00401F0A  60                    CStrVarTmp            ; 
:00401F0B  316CFF                FStStr                ;SysFreeString [LOCAL_0094]; [LOCAL_0094] = Pop 
:00401F0E  3528FF                FFree1Var            ;Free LOCAL_00D8 
:00401F11  0009                  LargeBos              ;IDE beginning of line With 09 Byte codes 
:00401F13  6C6CFF                ILdRf                ;Push DWORD [LOCAL_0094] 
:00401F16  4A                    FnLenStr              ;vbaLenBstr 
:00401F17  7168FF                FStR4                ;Pop DWORD [LOCAL_0098] 
:00401F1A  002C                  LargeBos              ;IDE beginning of line With 2C Byte codes 
:00401F1C  6C68FF                ILdRf                ;Push DWORD [LOCAL_0098] 
:00401F1F  6C6CFF                ILdRf                ;Push DWORD [LOCAL_0094] 
:00401F22  0424FF                FLdRfVar              ;Push LOCAL_00DC 
:00401F25  34                    CStr2Ansi            ;vbaStrToAnsi 
:00401F26  6C24FF                ILdRf                ;Push DWORD [LOCAL_00DC] 
:00401F29  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
* * * * * * * * * * * Reference To:user32.GetClassNameA 

:00401F2C  5E0C000C00            ImpAdCallI2          ;Call ptr_00401A8C; check stack 000C; Push EAX 
:00401F31  7178FF                FStR4                ;Pop DWORD [LOCAL_0088] 
:00401F34  3C                    SetLastSystemError    ;Kernel GetLastError 
:00401F35  6C24FF                ILdRf                ;Push DWORD [LOCAL_00DC] 
:00401F38  046CFF                FLdRfVar              ;Push LOCAL_0094 
:00401F3B  FC58                  CStr2Uni              ;vbaStrToUnicode 
:00401F3D  6C78FF                ILdRf                ;Push DWORD [LOCAL_0088] 
:00401F40  7174FF                FStR4                ;Pop DWORD [LOCAL_008C] 
:00401F43  2F24FF                FFree1Str            ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = 0 
:00401F46  000E                  LargeBos              ;IDE beginning of line With 0E Byte codes 
:00401F48  6C74FF                ILdRf                ;Push DWORD [LOCAL_008C] 
:00401F4B  F500000000            LitI4                ;Push 00000000 
:00401F50  C7                    EqI4                  ;Push (Pop1 == Pop2) 
:00401F51  1CE300                BranchF              ;If Pop = 0 Then ESI = 00401F57 
:00401F54  0003                  LargeBos              ;IDE beginning of line With 03 Byte codes 
:00401F56  13                    ExitProcHresult      ; 
:00401F57  001C                  LargeBos              ;IDE beginning of line With 1C Byte codes 
:00401F59  046CFF                FLdRfVar              ;Push LOCAL_0094 
:00401F5C  4D14FF0840            CVarRef              ; 
:00401F61  0428FF                FLdRfVar              ;Push LOCAL_00D8 
--------------------编程问答-------------------- * * * * * * * * * * Reference To - > msvbvm50.rtcTrimVar 

:00401F64  0A0D000800            ImpAdCallFPR4        ;Call ptr_00401012; check stack 0008; Push EAX 
:00401F69  0428FF                FLdRfVar              ;Push LOCAL_00D8 
:00401F6C  60                    CStrVarTmp            ; 
:00401F6D  316CFF                FStStr                ;SysFreeString [LOCAL_0094]; [LOCAL_0094] = Pop 
:00401F70  3528FF                FFree1Var            ;Free LOCAL_00D8 
:00401F73  000C                  LargeBos              ;IDE beginning of line With 0C Byte codes 
:00401F75  6C6CFF                ILdRf                ;Push DWORD [LOCAL_0094] 
:00401F78  080800                FLdPr                ;[SR] = [STACK_0008] 
:00401F7B  FD913C00              MemStStrCopy          ;[SR] + 003C = SysAllocStringByteLen(Pop, [Pop - 4]); SysFreeString Pop 
:00401F7F  000B                  LargeBos              ;IDE beginning of line With 0B Byte codes 
:00401F81  080800                FLdPr                ;[SR] = [STACK_0008] 
:00401F84  8A3C00                MemLdStr              ;Push DWORD [[SR] + 003C] 
:00401F87  436CFF                FStStrCopy            ;[LOCAL_0094] = SysAllocStringByteLen(Pop, [Pop - 4]); SysFreeString Pop 
:00401F8A  0035                  LargeBos              ;IDE beginning of line With 35 Byte codes 
:00401F8C  F401                  LitI2_Byte            ;Push 01 
:00401F8E  FBFD                  CStrUI1              ;vbaStrI2 
:00401F90  2324FF                FStStrNoPop          ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = [stack] 
:00401F93  0410FF                FLdRfVar              ;Push LOCAL_00F0 
:00401F96  34                    CStr2Ansi            ;vbaStrToAnsi 
:00401F97  6C10FF                ILdRf                ;Push DWORD [LOCAL_00F0] 
:00401F9A  F500000000            LitI4                ;Push 00000000 
:00401F9F  F5D2000000            LitI4                ;Push 000000D2 
:00401FA4  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
* * * * * * * * * * * Reference To:user32.SendMessageA 

:00401FA7  5E0E001000            ImpAdCallI2          ;Call ptr_00401A4C; check stack 0010; Push EAX 
:00401FAC  7178FF                FStR4                ;Pop DWORD [LOCAL_0088] 
:00401FAF  3C                    SetLastSystemError    ;Kernel GetLastError 
:00401FB0  6C78FF                ILdRf                ;Push DWORD [LOCAL_0088] 
:00401FB3  FC52                  CBoolI4              ;Not DWORD 
:00401FB5  32040024FF10FF        FFreeStr              ;Do SysFreeString [arg_n]; [arg_n] = 0 0004 / 2 times ~ arg 
:00401FBC  1C9C01                BranchF              ;If Pop = 0 Then ESI = 00402010 
:00401FBF  0020                  LargeBos              ;IDE beginning of line With 20 Byte codes 
:00401FC1  F504000000            LitI4                ;Push 00000004 
:00401FC6  080800                FLdPr                ;[SR] = [STACK_0008] 
:00401FC9  8A3C00                MemLdStr              ;Push DWORD [[SR] + 003C] 
* * * * * * * * * * Reference To - > msvbvm50.rtcLeftCharBstr 

:00401FCC  0B0F000800            ImpAdCallI2          ;Call ptr_00401018; check stack 0008; Push EAX 
:00401FD1  2324FF                FStStrNoPop          ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = [stack] 
* * * * * * Possible String Ref To - > "Edit" 

:00401FD4  1B1000                LitStr                ;Push ptr_00401C2C 
:00401FD7  FB30                  EqStr                ; 
:00401FD9  2F24FF                FFree1Str            ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = 0 
:00401FDC  1C8301                BranchF              ;If Pop = 0 Then ESI = 00401FF7 
:00401FDF  0015                  LargeBos              ;IDE beginning of line With 15 Byte codes 
:00401FE1  F580000000            LitI4                ;Push 00000080 
:00401FE6  F5F0FFFFFF            LitI4                ;Push FFFFFFF0 
:00401FEB  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
* * * * * * * * * * * Reference To:user32.SetWindowWord 

:00401FEE  0A11000C00            ImpAdCallFPR4        ;Call ptr_00401ACC; check stack 000C; Push EAX 
:00401FF3  3C                    SetLastSystemError    ;Kernel GetLastError 
:00401FF4  1E9A01                Branch                ;ESI = 0040200E 
:00401FF7  0002                  LargeBos              ;IDE beginning of line With 02 Byte codes 
:00401FF9  0015                  LargeBos              ;IDE beginning of line With 15 Byte codes 
:00401FFB  F5C0000000            LitI4                ;Push 000000C0 
:00402000  F5F0FFFFFF            LitI4                ;Push FFFFFFF0 
:00402005  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
* * * * * * * * * * * Reference To:user32.SetWindowWord 

:00402008  0A11000C00            ImpAdCallFPR4        ;Call ptr_00401ACC; check stack 000C; Push EAX 
:0040200D  3C                    SetLastSystemError    ;Kernel GetLastError 
:0040200E  0002                  LargeBos              ;IDE beginning of line With 02 Byte codes 
:00402010  0002                  LargeBos              ;IDE beginning of line With 02 Byte codes 
:00402012  0019                  LargeBos              ;IDE beginning of line With 19 Byte codes 
:00402014  F5FF000000            LitI4                ;Push 000000FF 
:00402019  0428FF                FLdRfVar              ;Push LOCAL_00D8 
* * * * * * * * * * Reference To - > msvbvm50.rtcSpaceVar 

:0040201C  0A0B000800            ImpAdCallFPR4        ;Call ptr_0040100C; check stack 0008; Push EAX 
:00402021  0428FF                FLdRfVar              ;Push LOCAL_00D8 
:00402024  60                    CStrVarTmp            ; 
:00402025  316CFF                FStStr                ;SysFreeString [LOCAL_0094]; [LOCAL_0094] = Pop 
:00402028  3528FF                FFree1Var            ;Free LOCAL_00D8 
:0040202B  0009                  LargeBos              ;IDE beginning of line With 09 Byte codes 
:0040202D  6C6CFF                ILdRf                ;Push DWORD [LOCAL_0094] 
:00402030  4A                    FnLenStr              ;vbaLenBstr 
:00402031  7168FF                FStR4                ;Pop DWORD [LOCAL_0098] 
:00402034  0031                  LargeBos              ;IDE beginning of line With 31 Byte codes 
:00402036  6C6CFF                ILdRf                ;Push DWORD [LOCAL_0094] 
:00402039  0424FF                FLdRfVar              ;Push LOCAL_00DC 
:0040203C  34                    CStr2Ansi            ;vbaStrToAnsi 
:0040203D  6C24FF                ILdRf                ;Push DWORD [LOCAL_00DC] 
:00402040  6C68FF                ILdRf                ;Push DWORD [LOCAL_0098] 
:00402043  F50D000000            LitI4                ;Push 0000000D 
:00402048  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
* * * * * * * * * * * Reference To:user32.SendMessageA 

:0040204B  5E0E001000            ImpAdCallI2          ;Call ptr_00401A4C; check stack 0010; Push EAX 
:00402050  7178FF                FStR4                ;Pop DWORD [LOCAL_0088] 
:00402053  3C                    SetLastSystemError    ;Kernel GetLastError 
:00402054  6C24FF                ILdRf                ;Push DWORD [LOCAL_00DC] 
:00402057  046CFF                FLdRfVar              ;Push LOCAL_0094 
:0040205A  FC58                  CStr2Uni              ;vbaStrToUnicode 
:0040205C  6C78FF                ILdRf                ;Push DWORD [LOCAL_0088] 
:0040205F  7174FF                FStR4                ;Pop DWORD [LOCAL_008C] 
:00402062  2F24FF                FFree1Str            ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = 0 
:00402065  001C                  LargeBos              ;IDE beginning of line With 1C Byte codes 
:00402067  046CFF                FLdRfVar              ;Push LOCAL_0094 
:0040206A  4D14FF0840            CVarRef              ; 
:0040206F  0428FF                FLdRfVar              ;Push LOCAL_00D8 
* * * * * * * * * * Reference To - > msvbvm50.rtcTrimVar 

:00402072  0A0D000800            ImpAdCallFPR4        ;Call ptr_00401012; check stack 0008; Push EAX 
:00402077  0428FF                FLdRfVar              ;Push LOCAL_00D8 
:0040207A  60                    CStrVarTmp            ; 
:0040207B  316CFF                FStStr                ;SysFreeString [LOCAL_0094]; [LOCAL_0094] = Pop 
:0040207E  3528FF                FFree1Var            ;Free LOCAL_00D8 
:00402081  001A                  LargeBos              ;IDE beginning of line With 1A Byte codes 
:00402083  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
:00402086  FBFE                  CStrI4                ;vbaStrI4 
:00402088  2324FF                FStStrNoPop          ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = [stack] 
--------------------编程问答-------------------- * * * * * * * * * * Reference To - > msvbvm50.rtcR8ValFromBstr 

:0040208B  0A12000400            ImpAdCallFPR4        ;Call ptr_0040101E; check stack 0004; Push EAX 
:00402090  FD6B14FF              CVarR8                ; 
:00402094  FCF600FF              FStVar                ; 
:00402098  2F24FF                FFree1Str            ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = 0 
:0040209B  0015                  LargeBos              ;IDE beginning of line With 15 Byte codes 
:0040209D  080800                FLdPr                ;[SR] = [STACK_0008] 
:004020A0  8A3C00                MemLdStr              ;Push DWORD [[SR] + 003C] 
:004020A3  4614FF                CVarStr              ; 
:004020A6  25                    PopAdLdVar            ; 
:004020A7  04F0FE                FLdRfVar              ;Push LOCAL_0110 
:004020AA  FD9F                  LdPrVar              ; 
:004020AC  FE9B1300              LateMemSt            ; 
:004020B0  000D                  LargeBos              ;IDE beginning of line With 0D Byte codes 
:004020B2  6C6CFF                ILdRf                ;Push DWORD [LOCAL_0094] 
:004020B5  080800                FLdPr                ;[SR] = [STACK_0008] 
:004020B8  0D54000300            VCallHresult          ;Call ptr_004018C4 
:004020BD  0035                  LargeBos              ;IDE beginning of line With 35 Byte codes 
:004020BF  F401                  LitI2_Byte            ;Push 01 
:004020C1  FBFD                  CStrUI1              ;vbaStrI2 
:004020C3  2324FF                FStStrNoPop          ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = [stack] 
:004020C6  0410FF                FLdRfVar              ;Push LOCAL_00F0 
:004020C9  34                    CStr2Ansi            ;vbaStrToAnsi 
:004020CA  6C10FF                ILdRf                ;Push DWORD [LOCAL_00F0] 
:004020CD  F500000000            LitI4                ;Push 00000000 
:004020D2  F5D2000000            LitI4                ;Push 000000D2 
:004020D7  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
* * * * * * * * * * * Reference To:user32.SendMessageA 

:004020DA  5E0E001000            ImpAdCallI2          ;Call ptr_00401A4C; check stack 0010; Push EAX 
:004020DF  7178FF                FStR4                ;Pop DWORD [LOCAL_0088] 
:004020E2  3C                    SetLastSystemError    ;Kernel GetLastError 
:004020E3  6C78FF                ILdRf                ;Push DWORD [LOCAL_0088] 
:004020E6  FC52                  CBoolI4              ;Not DWORD 
:004020E8  32040024FF10FF        FFreeStr              ;Do SysFreeString [arg_n]; [arg_n] = 0 0004 / 2 times ~ arg 
:004020EF  1CCF02                BranchF              ;If Pop = 0 Then ESI = 00402143 
:004020F2  0020                  LargeBos              ;IDE beginning of line With 20 Byte codes 
:004020F4  F504000000            LitI4                ;Push 00000004 
:004020F9  080800                FLdPr                ;[SR] = [STACK_0008] 
:004020FC  8A3C00                MemLdStr              ;Push DWORD [[SR] + 003C] 
* * * * * * * * * * Reference To - > msvbvm50.rtcLeftCharBstr 

:004020FF  0B0F000800            ImpAdCallI2          ;Call ptr_00401018; check stack 0008; Push EAX 
:00402104  2324FF                FStStrNoPop          ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = [stack] 
* * * * * * Possible String Ref To - > "Edit" 

:00402107  1B1000                LitStr                ;Push ptr_00401C2C 
:0040210A  FB30                  EqStr                ; 
:0040210C  2F24FF                FFree1Str            ;SysFreeString [LOCAL_00DC]; [LOCAL_00DC] = 0 
:0040210F  1CB602                BranchF              ;If Pop = 0 Then ESI = 0040212A 
:00402112  0015                  LargeBos              ;IDE beginning of line With 15 Byte codes 
:00402114  F5A0000000            LitI4                ;Push 000000A0 
:00402119  F5F0FFFFFF            LitI4                ;Push FFFFFFF0 
:0040211E  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
* * * * * * * * * * * Reference To:user32.SetWindowWord 

:00402121  0A11000C00            ImpAdCallFPR4        ;Call ptr_00401ACC; check stack 000C; Push EAX 
:00402126  3C                    SetLastSystemError    ;Kernel GetLastError 
:00402127  1ECD02                Branch                ;ESI = 00402141 
:0040212A  0002                  LargeBos              ;IDE beginning of line With 02 Byte codes 
:0040212C  0015                  LargeBos              ;IDE beginning of line With 15 Byte codes 
:0040212E  F5E0000000            LitI4                ;Push 000000E0 
:00402133  F5F0FFFFFF            LitI4                ;Push FFFFFFF0 
:00402138  6C70FF                ILdRf                ;Push DWORD [LOCAL_0090] 
* * * * * * * * * * * Reference To:user32.SetWindowWord 

:0040213B  0A11000C00            ImpAdCallFPR4        ;Call ptr_00401ACC; check stack 000C; Push EAX 
:00402140  3C                    SetLastSystemError    ;Kernel GetLastError 
:00402141  0002                  LargeBos              ;IDE beginning of line With 02 Byte codes 
:00402143  0002                  LargeBos              ;IDE beginning of line With 02 Byte codes 
:00402145  0000                  LargeBos              ;IDE beginning of line With 00 Byte codes 
:00402147  13                    ExitProcHresult      ; 

[Form.Load] 
:00401DE0  27FCFE                LitVar                ;PushVar LOCAL_0104 
:00401DE3  271CFF                LitVar                ;PushVar LOCAL_00E4 
:00401DE6  273CFF                LitVar                ;PushVar LOCAL_00C4 
:00401DE9  F500000000            LitI4                ;Push 00000000 
* * * * * * Possible String Ref To - > "??衫嚏幌3K蠯殿谩履曹侩崎" 

:00401DEE  3A6CFF0000            LitVarStr            ;PushVarString ptr_00401BB4 
:00401DF3  4E5CFF                FStVarCopyObj        ;[LOCAL_00A4] = vbaVarDup(Pop) 
:00401DF6  045CFF                FLdRfVar              ;Push LOCAL_00A4 
* * * * * * * * * * Reference To - > msvbvm50.rtcMsgBox 

:00401DF9  0A01001400            ImpAdCallFPR4        ;Call ptr_00401006; check stack 0014; Push EAX 
:00401DFE  3608005CFF3CFF1C      FFreeVar              ;Free 0008 / 2 variants 
:00401E09  F4FF                  LitI2_Byte            ;Push FF 
:00401E0B  21                    FLdPrThis            ;[SR] = [stack2] 
:00401E0C  0FFC02                VCallAd              ;Return the control index 01 
:00401E0F  19F8FE                FStAdFunc            ; 
:00401E12  08F8FE                FLdPr                ;[SR] = [LOCAL_0108] 
* * * * * * * * * * * Reference To:[propput]Timer.Enabled 

:00401E15  0D5C000200            VCallHresult          ;Call ptr_00401BD4 
:00401E1A  1AF8FE                FFree1Ad              ;Push [LOCAL_0108]; Call [[[LOCAL_0108]] + 8]; [[LOCAL_0108]] = 0 
:00401E1D  274CFF                LitVar                ;PushVar LOCAL_00B4 
:00401E20  25                    PopAdLdVar            ; 
:00401E21  276CFF                LitVar                ;PushVar LOCAL_0094 
:00401E24  25                    PopAdLdVar            ; 
:00401E25  080800                FLdPr                ;[SR] = [STACK_0008] 
:00401E28  0DB0020300            VCallHresult          ;Call ptr_004018C4 
:00401E2D  13                    ExitProcHresult      ; 

[Form.Unload] 
:00401D74  0002                  LargeBos              ;IDE beginning of line With 02 Byte codes 
:00401D76  0005                  LargeBos              ;IDE beginning of line With 05 Byte codes 
:00401D78  4BFFFF                OnErrorGoto          ; 
:00401D7B  002E                  LargeBos              ;IDE beginning of line With 2E Byte codes 
:00401D7D  F503000000            LitI4                ;Push 00000003 
:00401D82  F500000000            LitI4                ;Push 00000000 
:00401D87  F500000000            LitI4                ;Push 00000000 
* * * * * * Possible String Ref To - > "?遫?哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌" 

:00401D8C  1B0400                LitStr                ;Push ptr_00401BF4 
:00401D8F  0478FF                FLdRfVar              ;Push LOCAL_0088 
:00401D92  34                    CStr2Ansi            ;vbaStrToAnsi 
:00401D93  6C78FF                ILdRf                ;Push DWORD [LOCAL_0088] 
:00401D96  F500000000            LitI4                ;Push 00000000 
:00401D9B  F500000000            LitI4                ;Push 00000000 
* * * * * * * * * * * Reference To:shell32.dll.ShellExecuteA 

:00401DA0  0A05001800            ImpAdCallFPR4        ;Call ptr_00401B5C; check stack 0018; Push EAX 
:00401DA5  3C                    SetLastSystemError    ;Kernel GetLastError 
:00401DA6  2F78FF                FFree1Str            ;SysFreeString [LOCAL_0088]; [LOCAL_0088] = 0 
:00401DA9  0000                  LargeBos              ;IDE beginning of line With 00 Byte codes 
:00401DAB  13                    ExitProcHresult      ; 

简明一下他用了 
SetWindowPos 
GetCursorPos 
WindowFromPoint 
msvbvm50.rtcSpaceVar(产生空字符) 
GetClassNameA 
msvbvm50.rtcMsgBox(打开时候的MsgBox) 
SendMessageA 
SetWindowWord(显示密码字符在本窗口上) 
ShellExecuteA(关闭时候开个网页,已经被我屏蔽了) 
"Edit"(不知道用来 干嘛,不停低取不就得了,嗨判断干什么,难道别有用途) 
EM_GETPASSWORDCHAR 也不知道为什么要用,又没有用EM_SETPASSWORDCHAR(用了的话就是用来还原用的) 

--------------------------------------------------------- 
这个是捕捉的全部消息 
 
没有用EM_SETPASSWORDCHAR 
spy++捕捉的全部消息 


    GetCursorPos tPoint 
    zongwindow = WindowFromPoint(tPoint.X, tPoint.Y) '当前的窗口 
    Char = SendMessage(zongwindow, &HD2, 0, 0) 
    Text2 = Chr(Char) 
    SendMessage zongwindow, &HD, 1000, ByVal strBuffer 
    Text1 = Trim$(strBuffer) 
我的代码也是这样怎么取的是空的,非密码的是正常的可以 
他那软件没用这个吧EM_SETPASSWORDCHAR 
也没用什么内存分析,注入的吧? 
那他是怎么弄的呢  请高手指点 
--------------------编程问答-------------------- 图片补上

http://www.vbgood.com/viewthread.php?tid=85813&extra=page%3D1 
这里有脱壳文件下载  和上面一样的内容

--------------------编程问答-------------------- 我眼花了 --------------------编程问答-------------------- LZ以后别发这样的帖子 刚才我看着看着给睡着了 --------------------编程问答--------------------   用VB哪里能编最小的密码查看软件啊?C和Pascal还差不多。 --------------------编程问答-------------------- 你看上面的代码里面不是有msvbvm50.rtcLeftCharBstr 么
我用VBExplorer.exe看的 不是vb的开不了吧  脱壳后用查克软件也是
Microsoft Visual Basic 5.0 / 6.0 --------------------编程问答-------------------- 水晶情缘工作室 的
我脱壳的文件 这里方便下http://pickup.mofile.com/1505521863847174 --------------------编程问答-------------------- 或者 这里下 http://g.zhubajie.com/urllink.php?id=560033097mq7rjkkn087841 --------------------编程问答-------------------- 好多,,顶 --------------------编程问答-------------------- 高手呢  何在???
快现身啊 --------------------编程问答-------------------- ding --------------------编程问答-------------------- www.pediy.com
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,