当前位置:编程学习 > 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
这里有脱壳文件下载  和上面一样的内容
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,