²é¿´: 883  |  »Ø¸´: 19
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

[½»Á÷] [תÌù]VB P-code´ÖÂÔ·ÖÎö

VB-Pcode·´±àÒëÎļþµÄ´ÖÂÔ·ÖÎö,¸ßÊÖĪЦ»°!

·ÖÎö1:

Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
x = 123
y = 321
z = x + y
MsgBox z
  
End Sub

[Command1.Click]

:00401874  F47B                LitI2_Byte           ;Push 7B //123ÈëÕ»
:00401876  707AFF              FStI2                ;Pop WORD [LOCAL_0086] //µ¯³ö0086²Ù×÷Êý
                                                                                       //ÕûÐÎÕ¼2¸ö×Ö½Ú
{x=123}
:00401879  F34101              LitI2                ;Push 0141 //321ÈëÕ»
:0040187C  7078FF              FStI2                ;Pop WORD [LOCAL_0088] //µ¯³ö0088²Ù×÷Êý
                                                                                       //ÕýºÃÊÇ0086+2,˵Ã÷ÄÚ´æÐ´Ê±ÊÇÁ¬ÐøµÄ
{y=321}
:0040187F  6B7AFF              FLdI2                ;Push WORD [LOCAL_0086] //f?load?i2Ó¦¸ÃÊÇinteger
:00401882  6B78FF              FLdI2                ;Push WORD [LOCAL_0088] //¼ÌÐøµÚ¶þ¸ö²ÎÊýÈëÕ»
:00401885  A9                  AddI2                ; //ÕûÊýÏà¼Ó,±£´æÔÚ0088+2
{z = x + y}
:00401886  7076FF              FStI2                ;Pop WORD [LOCAL_008A] //SUM³öÕ»´ýÓÃ
================ //MsgBoxÔ­ÐÎ
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
================

:00401889  2704FF              LitVar               ;PushVar LOCAL_00FC //δ¸ºÖµ²ÎÊý,context
:0040188C  2724FF              LitVar               ;PushVar LOCAL_00DC //δ¸ºÖµ²ÎÊý,helpfile
:0040188F  2744FF              LitVar               ;PushVar LOCAL_00BC //δ¸ºÖµ²ÎÊý,title
:00401892  F500000000          LitI4                ;Push 00000000 //buttons ȱʡֵΪ 0
:00401897  0476FF              FLdRfVar             ;Push LOCAL_008A //prompt,×÷ΪÏÔʾÔÚ¶Ô»°¿òÖеÄÏûÏ¢.
:0040189A  4D64FF0240          CVarRef              ;
**********Reference To->msvbvm60.rtcMsgBox
                               |
:0040189F  0A00001400          ImpAdCallFPR4        ;Call ptr_00401020; check stack 0014; Push EAX //µ÷ÓÃMsgBox
{MsgBox z}
:004018A4  36060044FF24FF04    FFreeVar             ;Free 0006/2 variants //ÊͷűäÁ¿
:004018AD  13                  ExitProcHresult      ; //Í˳ö³ÌÐò

·ÖÎö2:

Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
x = 123
y = 321
z = x + y
MsgBox z, vbOKOnly, "pcode"

End Sub


[Command1.Click]
:00401888  F47B                LitI2_Byte           ;Push 7B //123ÈëÕ»
:0040188A  707AFF              FStI2                ;Pop WORD [LOCAL_0086] //µ¯³ö0086²Ù×÷Êý
{x=123}
:0040188D  F34101              LitI2                ;Push 0141 //321ÈëÕ»
:00401890  7078FF              FStI2                ;Pop WORD [LOCAL_0088] //µ¯³ö0088²Ù×÷Êý
{y=321}
:00401893  6B7AFF              FLdI2                ;Push WORD [LOCAL_0086] //ADDµÚÒ»¸ö²ÎÊýÈëÕ»
:00401896  6B78FF              FLdI2                ;Push WORD [LOCAL_0088] //ADDµÚ¶þ¸ö²ÎÊýÈëÕ»
:00401899  A9                  AddI2                ; //ADD
{z = x + y}
:0040189A  7076FF              FStI2                ;Pop WORD [LOCAL_008A] //SUM³öÕ»´ýÓÃ
:0040189D  2704FF              LitVar               ;PushVar LOCAL_00FC //δ¸ºÖµ²ÎÊý,context
:004018A0  2724FF              LitVar               ;PushVar LOCAL_00DC //δ¸ºÖµ²ÎÊý,helpfile
******Possible String Ref To->"pcode"
                               |
:004018A3  3A54FF0000          LitVarStr            ;PushVarString ptr_004013C8 //"pcode"ÈëÕ»
:004018A8  4E44FF              FStVarCopyObj        ;[LOCAL_00BC]=vbaVarDup(Pop) //µØÖ·¸ºÖµ
:004018AB  0444FF              FLdRfVar             ;Push LOCAL_00BC //title¹ûÈ»±»¸ºÖµ,¿´À´·ÖÎö²¢Ã»ÓдíÎó
:004018AE  F500000000          LitI4                ;Push 00000000 //buttons ȱʡֵΪ 0
:004018B3  0476FF              FLdRfVar             ;Push LOCAL_008A //prompt,SUM
:004018B6  4D64FF0240          CVarRef              ;
**********Reference To->msvbvm60.rtcMsgBox
                               |
:004018BB  0A01001400          ImpAdCallFPR4        ;Call ptr_00401020; check stack 0014; Push EAX //µ÷ÓÃMsgBox
{MsgBox z, vbOKOnly, "pcode"}
:004018C0  36060044FF24FF04    FFreeVar             ;Free 0006/2 variants //ÊͷűäÁ¿
:004018C9  13                  ExitProcHresult      ; //Í˳ö³ÌÐò
:004018CA  0000                LargeBos             ;IDE beginning of line with 00 byte codes

·ÖÎö3:

Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String,

ByVal wType As Long) As Long
Const MB_OK = &H0&

Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
x = 123
y = 321
z = x + y
MessageBox Me.hwnd, "sum=" & z, "pcode", MB_OK



End Sub

[Command1.Click]
:004018FC  F47B                LitI2_Byte           ;Push 7B //123ÈëÕ»
:004018FE  707AFF              FStI2                ;Pop WORD [LOCAL_0086] //µ¯³ö0086²Ù×÷Êý
{x = 123}
:00401901  F34101              LitI2                ;Push 0141 //321ÈëÕ»
:00401904  7078FF              FStI2                ;Pop WORD [LOCAL_0088] //µ¯³ö0088²Ù×÷Êý
{x = 123}
:00401907  6B7AFF              FLdI2                ;Push WORD [LOCAL_0086] //ADDµÚÒ»¸ö²ÎÊýÈëÕ»
:0040190A  6B78FF              FLdI2                ;Push WORD [LOCAL_0088] //ADDµÚ¶þ¸ö²ÎÊýÈëÕ»
:0040190D  A9                  AddI2                ; /ADD
{z = x + y}
:0040190E  7076FF              FStI2                ;Pop WORD [LOCAL_008A] //SUM³öÕ»´ýÓÃ
:00401911  0470FF              FLdRfVar             ;Push LOCAL_0090 //½«µØÖ·ÈëÕ»,¼Ç¼µØÖ·
:00401914  080800              FLdPr                ;[SR]=[STACK_0008]
:00401917  0D58000000          VCallHresult         ;Call ptr_004014CC //ÕâÀïÓ¦¸ÃÊǵ÷ÓÃMe.hwnd,±£´æÔÚ0090
==================//MsgBoxÔ­ÐÎ
int MessageBox(

    HWND hWnd,  // handle of owner window
    LPCTSTR lpText,  // address of text in message box
    LPCTSTR lpCaption,  // address of title of message box  
    UINT uType   // style of message box
   );
==================//ÏÂÃæÊDzÎÊýÈëÕ»
:0040191C  F500000000          LitI4                ;Push 00000000 //uType,²ÎÊýÒ»
******Possible String Ref To->"pcode"
                               |
:00401921  1B0100              LitStr               ;Push ptr_00401624 //×°Èë"pcode"×Ö·û
:00401924  0460FF              FLdRfVar             ;Push LOCAL_00A0
:00401927  34                  CStr2Ansi            ;vbaStrToAnsi //°ÑUnicodeÐÎʽת»»ÎªAnsi
:00401928  6C60FF              ILdRf                ;Push DWORD [LOCAL_00A0] //lpCaption,²ÎÊý¶þ
******Possible String Ref To->"sum="
                               |
:0040192B  1B0200              LitStr               ;Push ptr_00401614 //×°Èë"sum="×Ö·û
:0040192E  6B76FF              FLdI2                ;Push WORD [LOCAL_008A] //²ÎÊýSUMÈëÕ»
:00401931  FBFD                CStrUI1              ;vbaStrI2 //½«ÕûÊýת»»Îª×Ö·ûÐÍ,±£´æÔÚ0094
:00401933  236CFF              FStStrNoPop          ;SysFreeString [LOCAL_0094]; [LOCAL_0094]=[stack]
:00401936  2A                  ConcatStr            ;vbaStrCat //Á¬½Ó×Ö·û,±£´æÔÚ0098
:00401937  2368FF              FStStrNoPop          ;SysFreeString [LOCAL_0098]; [LOCAL_0098]=[stack]
:0040193A  0464FF              FLdRfVar             ;Push LOCAL_009C //½«µØÖ·ÈëÕ»,¼Ç¼µØÖ·
:0040193D  34                  CStr2Ansi            ;vbaStrToAnsi //°ÑUnicodeÐÎʽת»»ÎªAnsi
:0040193E  6C64FF              ILdRf                ;Push DWORD [LOCAL_009C] //lpText,²ÎÊýÈý
:00401941  6C70FF              ILdRf                ;Push DWORD [LOCAL_0090] //hWnd,²ÎÊýËÄ
***********Reference To:user32.MessageBoxA
                              |
:00401944  0A03001000          ImpAdCallFPR4        ;Call ptr_004015E8; check stack 0010; Push EAX //µ÷ÓÃMessageBox
:00401949  3C                  SetLastSystemError   ;Kernel GetLastError //Õë¶Ôµ÷ÓÃMessageBoxº¯Êý,È¡µÃÀ©Õ¹´íÎóÐÅÏ¢
:0040194A  3208006CFF68FF64    FFreeStr             ;Do SysFreeString [arg_n]; [arg_n]=0 0008/2 times ~ arg
:00401955  13                  ExitProcHresult      ;
:00401956  0000                LargeBos             ;IDE beginning of line with 00 byte codes

[ Last edited by sdlj8051 on 2006-10-6 at 11:36 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

**********Reference To->msvbvm60.rtcMidCharVar
                               |
:0040366B  0A05001000          ImpAdCallFPR4        ;Call ptr_00401036; check stack 0010; Push EAX
:00403670  0418FF              FLdRfVar             ;Push LOCAL_00E8
******Possible String Ref To->"3"
                               |
:00403673  3A08FF0A00          LitVarStr            ;PushVarString ptr_00402268
:00403678  5D                  HardType             ;
:00403679  FB33                EqVarBool            ;
:0040367B  36040028FF18FF      FFreeVar             ;Free 0004/2 variants
:00403682  1CAB0E              BranchF              ;If Pop=0 then ESI=0040368F
:00403685  6C74FF              ILdRf                ;Push DWORD [LOCAL_008C]
******Possible String Ref To->"3"
                               |
:00403688  1B0A00              LitStr               ;Push ptr_00402268
:0040368B  2A                  ConcatStr            ;vbaStrCat
:0040368C  3174FF              FStStr               ;SysFreeString [LOCAL_008C]; [LOCAL_008C]=Pop
:0040368F  0464FF              FLdRfVar             ;Push LOCAL_009C
:00403692  6470FE730E          NextI2               ;
****************************************
  For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "3" Then code = code & "3"
  Next j              
****************************************
:00403697  F401                LitI2_Byte           ;Push 01
:00403699  0464FF              FLdRfVar             ;Push LOCAL_009C
:0040369C  6C70FF              ILdRf                ;Push DWORD [LOCAL_0090]
:0040369F  4A                  FnLenStr             ;vbaLenBstr
:004036A0  E4                  CI2I4                ;Verify [stack] high word is 0000, ECX=[ECX]
:004036A1  FE636CFE030F        ForI2                ;
:004036A7  2828FF0100          LitVarI2             ;PushVarInteger 0001
:004036AC  6B64FF              FLdI2                ;Push WORD [LOCAL_009C]
:004036AF  E7                  CI4UI1               ;
:004036B0  0470FF              FLdRfVar             ;Push LOCAL_0090
:004036B3  4D48FF0840          CVarRef              ;
:004036B8  0418FF              FLdRfVar             ;Push LOCAL_00E8
**********Reference To->msvbvm60.rtcMidCharVar
                               |
:004036BB  0A05001000          ImpAdCallFPR4        ;Call ptr_00401036; check stack 0010; Push EAX
:004036C0  0418FF              FLdRfVar             ;Push LOCAL_00E8
******Possible String Ref To->"2"
                               |
:004036C3  3A08FF0800          LitVarStr            ;PushVarString ptr_00402254
:004036C8  5D                  HardType             ;
:004036C9  FB33                EqVarBool            ;
:004036CB  36040028FF18FF      FFreeVar             ;Free 0004/2 variants
:004036D2  1CFB0E              BranchF              ;If Pop=0 then ESI=004036DF
:004036D5  6C74FF              ILdRf                ;Push DWORD [LOCAL_008C]
******Possible String Ref To->"2"
                               |
:004036D8  1B0800              LitStr               ;Push ptr_00402254
:004036DB  2A                  ConcatStr            ;vbaStrCat
:004036DC  3174FF              FStStr               ;SysFreeString [LOCAL_008C]; [LOCAL_008C]=Pop
:004036DF  0464FF              FLdRfVar             ;Push LOCAL_009C
:004036E2  646CFEC30E          NextI2               ;
****************************************
  For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "2" Then code = code & "2"
  Next j              
****************************************
:004036E7  F401                LitI2_Byte           ;Push 01
:004036E9  0464FF              FLdRfVar             ;Push LOCAL_009C
:004036EC  6C70FF              ILdRf                ;Push DWORD [LOCAL_0090]
:004036EF  4A                  FnLenStr             ;vbaLenBstr
:004036F0  E4                  CI2I4                ;Verify [stack] high word is 0000, ECX=[ECX]
:004036F1  FE6368FE530F        ForI2                ;
:004036F7  2828FF0100          LitVarI2             ;PushVarInteger 0001
:004036FC  6B64FF              FLdI2                ;Push WORD [LOCAL_009C]
:004036FF  E7                  CI4UI1               ;
:00403700  0470FF              FLdRfVar             ;Push LOCAL_0090
:00403703  4D48FF0840          CVarRef              ;
:00403708  0418FF              FLdRfVar             ;Push LOCAL_00E8
19Â¥2006-08-23 16:02:18
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 20 ¸ö»Ø´ð

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

·ÖÎö1£º(Ô´Îļþ)
=============================================
Private Sub Command1_Click()
  Dim name As String, code As String
  Dim i As Integer
  name = Text1.Text
  For i = 1 To Len(name)
    code = code & CStr(Asc(Mid(name, i, 1)))
   
  Next i
  Text2.Text = code
  
End Sub
=============================================
(P-Code)
=============================================
[Command1.Click]
:00401BD8  0468FF              FLdRfVar             ;Push LOCAL_0098 //¿ª±ÙÄÚ´æ¿Õ¼ä
:00401BDB  21                  FLdPrThis            ;[SR]=[stack2]               //ºÍϾäÅäÌ×ʹÓÃ
:00401BDC  0F0403              VCallAd              ;Return the control index 03 //»ñµÃ´°Ìå¾ä±ú
:00401BDF  196CFF              FStAdFunc            ;//È¡propget¹ý³ÌµØÖ·
:00401BE2  086CFF              FLdPr                ;[SR]=[LOCAL_0094] //¼ÓÔØ¹ý³Ì
***********Reference To:[propget]TextBox.Text //propget,TextBox.TextµÄÈ¡¹ý³Ì
                              |
:00401BE5  0DA0000000          VCallHresult         ;Call ptr_004014A8 //»ñµÃÎı¾¿òÖеÄÄÚÈÝ
:00401BEA  3E68FF              FLdZeroAd            ;Push DWORD [LOCAL_0098]; [LOCAL_0098]=0 //½«ÄÚÈÝÈëÕ»
:00401BED  3178FF              FStStr               ;SysFreeString [LOCAL_0088]; [LOCAL_0088]=Pop //½«×Ö·ûÊͷŵ½0088
:00401BF0  1A6CFF              FFree1Ad             ;Push [LOCAL_0094]; Call [[[LOCAL_0094]]+8]; [[LOCAL_0094]]=0
:00401BF3  F401                LitI2_Byte           ;Push 01
:00401BF5  0472FF              FLdRfVar             ;Push LOCAL_008E //½«Îı¾¿òÖеÄÄÚÈÝÈëÕ»
:00401BF8  6C78FF              ILdRf                ;Push DWORD [LOCAL_0088] //×Ö·û´®ÈëÕ»×÷Ϊ²ÎÊý
:00401BFB  4A                  FnLenStr             ;vbaLenBstr //¼ÆËã×Ö·û´®³¤¶È
:00401BFC  E4                  CI2I4                ;Verify [stack] high word is 0000, ECX=[ECX]
***********Ñ­»·¼ÆË㿪ʼ
:00401BFD  FE6364FF7200        ForI2                ;//ForÔËËã
:00401C03  6C74FF              ILdRf                ;Push DWORD [LOCAL_008C] \
:00401C06  2834FF0100          LitVarI2             ;PushVarInteger 0001     |
:00401C0B  6B72FF              FLdI2                ;Push WORD [LOCAL_008E]  | MIDº¯Êý²ÎÊýÈëÕ»
:00401C0E  E7                  CI4UI1               ;                        |
:00401C0F  0478FF              FLdRfVar             ;Push LOCAL_0088         |
:00401C12  4D54FF0840          CVarRef              ;                        |
:00401C17  0424FF              FLdRfVar             ;Push LOCAL_00DC         /
**********Reference To->msvbvm60.rtcMidCharVar //MID
                               |
:00401C1A  0A01001000          ImpAdCallFPR4        ;Call ptr_00401030; check stack 0010; Push EAX //MIDÈ¡×Ö·û
:00401C1F  0424FF              FLdRfVar             ;Push LOCAL_00DC //È¡µÃ×Ö·ûÈëÕ»
:00401C22  FDFE68FF            CStrVarVal           ;
**********Reference To->msvbvm60.rtcAnsiValueBstr //ASC
                               |
:00401C26  0B02000400          ImpAdCallI2          ;Call ptr_00401036; check stack 0004; Push EAX //ASCÔËËã
:00401C2B  FBFD                CStrUI1              ;vbaStrI2 //½«ÕûÊýת»»Îª×Ö·û
:00401C2D  2320FF              FStStrNoPop          ;SysFreeString [LOCAL_00E0]; [LOCAL_00E0]=[stack] //½«×Ö·ûÊÍ·Å
:00401C30  2A                  ConcatStr            ;vbaStrCat //Á¬½Ó×Ö·û´®
:00401C31  3174FF              FStStr               ;SysFreeString [LOCAL_008C]; [LOCAL_008C]=Pop //½«×Ö·ûÊÍ·Å
:00401C34  32040068FF20FF      FFreeStr             ;Do SysFreeString [arg_n]; [arg_n]=0 0004/2 times ~ arg
:00401C3B  36040034FF24FF      FFreeVar             ;Free 0004/2 variants //ÊͷűäÁ¿
:00401C42  0472FF              FLdRfVar             ;Push LOCAL_008E //½«Îı¾¿òÖеÄÄÚÈÝÈëÕ»
:00401C45  6464FF2B00          NextI2               ;
**********Ñ­»·¼ÆËã½áÊø
:00401C4A  6C74FF              ILdRf                ;Push DWORD [LOCAL_008C]
:00401C4D  21                  FLdPrThis            ;[SR]=[stack2]               //ºÍϾäÅäÌ×ʹÓÃ
:00401C4E  0F0003              VCallAd              ;Return the control index 02 //»ñµÃ´°Ìå¾ä±ú
:00401C51  196CFF              FStAdFunc            ;//È¡propput¹ý³ÌµØÖ·
:00401C54  086CFF              FLdPr                ;[SR]=[LOCAL_0094] //¼ÓÔØ¹ý³Ì
***********Reference To:[propput]TextBox.Text //propput,TextBox.TextµÄ¸³Öµ¹ý³Ì
                              |
:00401C57  0DA4000000          VCallHresult         ;Call ptr_004014A8 //¸øTextBox.Text¸³Öµ
:00401C5C  1A6CFF              FFree1Ad             ;Push [LOCAL_0094]; Call [[[LOCAL_0094]]+8]; [[LOCAL_0094]]=0
:00401C5F  13                  ExitProcHresult      ;//Í˳ö¹ý³Ì

ÔÚ1µÄ»ù´¡ÉÏÎÒÃÇÔÚ¼Ó¸öÅжϿ´¿´£¡

·ÖÎö2£º(Ô´Îļþ)
=============================================
Private Sub Command1_Click()
  Dim name As String, code As String, T As String, F As String
  Dim i As Integer
  T = "True code!"
  F = "False code!"
  name = Text1.Text
  For i = 1 To Len(name)
    code = code & CStr(Asc(Mid(name, i, 1)))
   
  Next i
  
  If Text2.Text = code Then
     MsgBox T, vbOKOnly, "P-Code(2-2)"
  Else
    MsgBox F, vbOKOnly, "P-Code(2-2)"
  End If
  
  
End Sub
=============================================
(P-Code)
=============================================
[Command1.Click]
******Possible String Ref To->"True code!"
                               |
:00401C48  1B0000              LitStr               ;Push ptr_004016F4 //×°Èë"True code!"×Ö·û
:00401C4B  4370FF              FStStrCopy           ;[LOCAL_0090]=SysAllocStringByteLen(Pop, [Pop-4]); SysFreeString Pop //¸´ÖƵ½ÄÚ´æ0090
******Possible String Ref To->"False code!"
                               |
:00401C4E  1B0100              LitStr               ;Push ptr_00401710 //×°Èë"False code!"×Ö·û
:00401C51  436CFF              FStStrCopy           ;[LOCAL_0094]=SysAllocStringByteLen(Pop, [Pop-4]); SysFreeString Pop //¸´ÖƵ½ÄÚ´æ0094
:00401C54  0460FF              FLdRfVar             ;Push LOCAL_00A0 //¿ª±ÙÄÚ´æ¿Õ¼ä
:00401C57  21                  FLdPrThis            ;[SR]=[stack2]               //ºÍϾäÅäÌ×ʹÓÃ
:00401C58  0F0403              VCallAd              ;Return the control index 03 //»ñµÃ´°Ìå¾ä±ú
:00401C5B  1964FF              FStAdFunc            ;//È¡propget¹ý³ÌµØÖ·
:00401C5E  0864FF              FLdPr                ;[SR]=[LOCAL_009C] //¼ÓÔØ¹ý³Ì
***********Reference To:[propget]TextBox.Text //propget,TextBox.TextµÄÈ¡¹ý³Ì
                              |
:00401C61  0DA0000200          VCallHresult         ;Call ptr_00401728 //»ñµÃÎı¾¿òÖеÄÄÚÈÝ
:00401C66  3E60FF              FLdZeroAd            ;Push DWORD [LOCAL_00A0]; [LOCAL_00A0]=0 //½«ÄÚÈÝÈëÕ»
:00401C69  3178FF              FStStr               ;SysFreeString [LOCAL_0088]; [LOCAL_0088]=Pop //½«×Ö·ûÊͷŵ½0088
:00401C6C  1A64FF              FFree1Ad             ;Push [LOCAL_009C]; Call [[[LOCAL_009C]]+8]; [[LOCAL_009C]]=0
:00401C6F  F401                LitI2_Byte           ;Push 01
:00401C71  046AFF              FLdRfVar             ;Push LOCAL_0096 //½«Îı¾¿òÖеÄÄÚÈÝÈëÕ»
:00401C74  6C78FF              ILdRf                ;Push DWORD [LOCAL_0088] //×Ö·û´®ÈëÕ»×÷Ϊ²ÎÊý
:00401C77  4A                  FnLenStr             ;vbaLenBstr //¼ÆËã×Ö·û´®³¤¶È
:00401C78  E4                  CI2I4                ;Verify [stack] high word is 0000, ECX=[ECX]
***********Ñ­»·¼ÆË㿪ʼ
:00401C79  FE635CFF7E00        ForI2                ;//ForÔËËã
:00401C7F  6C74FF              ILdRf                ;Push DWORD [LOCAL_008C] \
:00401C82  282CFF0100          LitVarI2             ;PushVarInteger 0001     |
:00401C87  6B6AFF              FLdI2                ;Push WORD [LOCAL_0096]  |
:00401C8A  E7                  CI4UI1               ;                        | MIDº¯Êý²ÎÊýÈëÕ»
:00401C8B  0478FF              FLdRfVar             ;Push LOCAL_0088         |
:00401C8E  4D4CFF0840          CVarRef              ;                        |
:00401C93  041CFF              FLdRfVar             ;Push LOCAL_00E4         /
**********Reference To->msvbvm60.rtcMidCharVar //MID
                               |
:00401C96  0A03001000          ImpAdCallFPR4        ;Call ptr_00401030; check stack 0010; Push EAX //MIDÈ¡×Ö·û
:00401C9B  041CFF              FLdRfVar             ;Push LOCAL_00E4 //È¡µÃ×Ö·ûÈëÕ»
:00401C9E  FDFE60FF            CStrVarVal           ;
**********Reference To->msvbvm60.rtcAnsiValueBstr
                               |
:00401CA2  0B04000400          ImpAdCallI2          ;Call ptr_00401036; check stack 0004; Push EAX //ASCÔËËã
:00401CA7  FBFD                CStrUI1              ;vbaStrI2 //½«ÕûÊýת»»Îª×Ö·û
:00401CA9  2318FF              FStStrNoPop          ;SysFreeString [LOCAL_00E8]; [LOCAL_00E8]=[stack] //½«×Ö·ûÊÍ·Å
:00401CAC  2A                  ConcatStr            ;vbaStrCat //Á¬½Ó×Ö·û´®
:00401CAD  3174FF              FStStr               ;SysFreeString [LOCAL_008C]; [LOCAL_008C]=Pop //½«×Ö·ûÊÍ·Å
:00401CB0  32040060FF18FF      FFreeStr             ;Do SysFreeString [arg_n]; [arg_n]=0 0004/2 times ~ arg
:00401CB7  3604002CFF1CFF      FFreeVar             ;Free 0004/2 variants //ÊͷűäÁ¿
:00401CBE  046AFF              FLdRfVar             ;Push LOCAL_0096 //½«Îı¾¿òÖеÄÄÚÈÝÈëÕ»
:00401CC1  645CFF3700          NextI2               ;
**********Ñ­»·¼ÆËã½áÊø
:00401CC6  0460FF              FLdRfVar             ;Push LOCAL_00A0 //½«Îı¾¿ò2ÖеÄÄÚÈÝÈëÕ»
:00401CC9  21                  FLdPrThis            ;[SR]=[stack2]               //ºÍϾäÅäÌ×ʹÓÃ
:00401CCA  0F0003              VCallAd              ;Return the control index 02 //»ñµÃ´°Ìå¾ä±ú
:00401CCD  1964FF              FStAdFunc            ;//È¡propput¹ý³ÌµØÖ·
:00401CD0  0864FF              FLdPr                ;[SR]=[LOCAL_009C] //¼ÓÔØ¹ý³Ì
***********Reference To:[propget]TextBox.Text //propget,TextBox.TextµÄÈ¡¹ý³Ì
                              |
:00401CD3  0DA0000200          VCallHresult         ;Call ptr_00401728 //»ñµÃÎı¾¿òÖеÄÄÚÈÝ
:00401CD8  6C60FF              ILdRf                ;Push DWORD [LOCAL_00A0] //½«Îı¾¿ò2ÖеÄÄÚÈÝÈëÕ»
:00401CDB  6C74FF              ILdRf                ;Push DWORD [LOCAL_008C] //ÕýÈ·code
:00401CDE  FB30                EqStr                ;//×Ö·û´®ÏàµÈ±È½Ï
:00401CE0  2F60FF              FFree1Str            ;SysFreeString [LOCAL_00A0]; [LOCAL_00A0]=0
:00401CE3  1A64FF              FFree1Ad             ;Push [LOCAL_009C]; Call [[[LOCAL_009C]]+8]; [[LOCAL_009C]]=0
:00401CE6  1CD000              BranchF              ;If Pop=0 then ESI=00401D18 //²»ÏàµÈÔòÌø
:00401CE9  27E8FE              LitVar               ;PushVar LOCAL_0118          \
:00401CEC  271CFF              LitVar               ;PushVar LOCAL_00E4          |
******Possible String Ref To->"P-Code(2-2)"                                                  |
                               |                                                             |
:00401CEF  3A3CFF0500          LitVarStr            ;PushVarString ptr_0040173C  | MsgBoxº¯Êý²ÎÊýÈëÕ»
:00401CF4  4E2CFF              FStVarCopyObj        ;[LOCAL_00D4]=vbaVarDup(Pop) | ¾ßÌåÔõô¿´ÇëÕÒÎÒµÄ
:00401CF7  042CFF              FLdRfVar             ;Push LOCAL_00D4             | Pcode´ÖÂÔ·ÖÎö(1)
:00401CFA  F500000000          LitI4                ;Push 00000000               |
:00401CFF  0470FF              FLdRfVar             ;Push LOCAL_0090             /
:00401D02  4D4CFF0840          CVarRef              ;
**********Reference To->msvbvm60.rtcMsgBox
                               |
:00401D07  0A06001400          ImpAdCallFPR4        ;Call ptr_0040103C; check stack 0014; Push EAX MsgBox
:00401D0C  3606002CFF1CFFE8    FFreeVar             ;Free 0006/2 variants //ÊͷűäÁ¿
:00401D15  1EFC00              Branch               ;ESI=00401D44 //Ìø×ªµ½00401D44
:00401D18  27E8FE              LitVar               ;PushVar LOCAL_0118          \
:00401D1B  271CFF              LitVar               ;PushVar LOCAL_00E4          |
******Possible String Ref To->"P-Code(2-2)"                                                  |
                               |                                                             |
:00401D1E  3A3CFF0500          LitVarStr            ;PushVarString ptr_0040173C  | MsgBoxº¯Êý²ÎÊýÈëÕ»
:00401D23  4E2CFF              FStVarCopyObj        ;[LOCAL_00D4]=vbaVarDup(Pop) |
:00401D26  042CFF              FLdRfVar             ;Push LOCAL_00D4             |
:00401D29  F500000000          LitI4                ;Push 00000000               |
:00401D2E  046CFF              FLdRfVar             ;Push LOCAL_0094             /
:00401D31  4D4CFF0840          CVarRef              ;
**********Reference To->msvbvm60.rtcMsgBox
                               |
:00401D36  0A06001400          ImpAdCallFPR4        ;Call ptr_0040103C; check stack 0014; Push EAX //MsgBox
:00401D3B  3606002CFF1CFFE8    FFreeVar             ;Free 0006/2 variants //ÊÍ·ÅÄÚ´æ±äÁ¿
:00401D44  13                  ExitProcHresult      ;//Í˳ö¹ý³Ì
:00401D45  0000                LargeBos             ;IDE beginning of line with 00 byte codes
2Â¥2006-08-23 15:53:43
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

'ÔÚÀí½âǰÁ½½Ú֪ʶµÄǰÌáÏ£¬ÎÒÃÇÕâÀïÒýÈëÒ»¸öÎÒ×Ô¼ºÐ´µÄLYSAËã·¨ºÍÒ»¸ö¼òµ¥µÄCrackmeONEII×÷Ϊ·ÖÎöµÄÄ¿±ê¡£
'×÷Ϊ³ýϦµÄÀñÎïË͸ø´ó¼Ò£¬Ð¡ÄñÒ»Ö»ÈÃÏò¸÷λÏ׳óÁË£¡

'CrackmeONEII
'ΪÁ˺ÍÇ°ÃæÏνӣ¬CrackmeONEIIÊÇÔÚPcode(2-2)»ù´¡ÉÏдµÄ
'ÏÂÃæÊÇÔ´´úÂ룬ÀïÃæÓõÄÊÇÒ»ÖÖ²é±í·¨

***********Reference CrackmeONEII's Sound code

Private Sub Command1_Click()
  Dim name As String, code As String, strCode As String, T As String, F As String
  Dim i As Integer, j As Integer
  
  T = "CrackmeONEII+LYSA-II True code!"
  F = "CrackmeONEII+LYSA-II False code!"
  name = "": code = "": strCode = ""
  
  name = Text1.Text
  If name = "" Then
    Text1.Text = ""
    Exit Sub
   
  End If
  If Asc(name) < 0 Then
    Text1.Text = ""
    Exit Sub
   
  End If

  For i = 1 To Len(name)
    If Asc(Mid(name, i, 1)) >= 48 And Asc(Mid(name, i, 1)) <= 57 Then '0-9
      Select Case Mid(name, i, 1)
        Case "1"
          strCode = strCode & "da"
        Case "2"
          strCode = strCode & "fa"
        Case "3"
          strCode = strCode & "fc"
        Case "4"
          strCode = strCode & "dc"
        Case "5"
          strCode = strCode & "eb"
        Case "6"
          strCode = strCode & "fb"
        Case "7"
          strCode = strCode & "ea"
        Case "8"
          strCode = strCode & "ec"
        Case "9"
          strCode = strCode & "db"
        Case "0"
          strCode = strCode & "ab"
      End Select
      
    End If
    If Asc(Mid(name, i, 1)) >= 65 And Asc(Mid(name, i, 1)) <= 90 Then 'A-Z
      Select Case Mid(name, i, 1)
        Case "A"
          strCode = strCode & "01"
        Case "B"
          strCode = strCode & "62"
        Case "C"
          strCode = strCode & "81"
        Case "D"
          strCode = strCode & "84"
        Case "E"
          strCode = strCode & "63"
        Case "F"
          strCode = strCode & "71"
        Case "G"
          strCode = strCode & "72"
        Case "H"
          strCode = strCode & "91"
        Case "I"
          strCode = strCode & "74"
        Case "J"
          strCode = strCode & "93"
        Case "K"
          strCode = strCode & "03"
        Case "L"
          strCode = strCode & "82"
        Case "M"
          strCode = strCode & "61"
        Case "N"
          strCode = strCode & "02"
        Case "O"
          strCode = strCode & "65"
        Case "P"
          strCode = strCode & "8a"
        Case "Q"
          strCode = strCode & "92"
        Case "R"
          strCode = strCode & "75"
        Case "S"
          strCode = strCode & "05"
        Case "T"
          strCode = strCode & "95"
        Case "U"
          strCode = strCode & "83"
        Case "V"
          strCode = strCode & "64"
        Case "W"
          strCode = strCode & "85"
        Case "X"
          strCode = strCode & "04"
        Case "Y"
          strCode = strCode & "94"
        Case "Z"
          strCode = strCode & "73"
         
      End Select
      
    End If
    If Asc(Mid(name, i, 1)) >= 97 And Asc(Mid(name, i, 1)) <= 122 Then 'a-z
      Select Case Mid(name, i, 1)
        Case "a"
          strCode = strCode & "10"
        Case "b"
          strCode = strCode & "26"
        Case "c"
          strCode = strCode & "18"
        Case "d"
          strCode = strCode & "48"
        Case "e"
          strCode = strCode & "36"
        Case "f"
          strCode = strCode & "17"
        Case "g"
          strCode = strCode & "27"
        Case "h"
          strCode = strCode & "19"
        Case "i"
          strCode = strCode & "47"
        Case "j"
          strCode = strCode & "39"
        Case "k"
          strCode = strCode & "30"
        Case "l"
          strCode = strCode & "28"
        Case "m"
          strCode = strCode & "16"
        Case "n"
          strCode = strCode & "20"
        Case "o"
          strCode = strCode & "56"
        Case "p"
          strCode = strCode & "3f"
        Case "q"
          strCode = strCode & "29"
        Case "r"
          strCode = strCode & "57"
        Case "s"
          strCode = strCode & "50"
        Case "t"
          strCode = strCode & "59"
        Case "u"
          strCode = strCode & "38"
        Case "v"
          strCode = strCode & "46"
        Case "w"
          strCode = strCode & "58"
        Case "x"
          strCode = strCode & "40"
        Case "y"
          strCode = strCode & "94"
        Case "z"
          strCode = strCode & "37"
         
      End Select
      
    End If
   
    If Asc(Mid(name, i, 1)) >= 0 And Asc(Mid(name, i, 1)) <= 47 Then
      Text1.Text = ""
      Exit Sub
      
    End If
   
    If Asc(Mid(name, i, 1)) >= 58 And Asc(Mid(name, i, 1)) <= 64 Then
      Text1.Text = ""
      Exit Sub
      
    End If
   
    If Asc(Mid(name, i, 1)) >= 91 And Asc(Mid(name, i, 1)) <= 96 Then
      Text1.Text = ""
      Exit Sub
      
    End If
   
    If Asc(Mid(name, i, 1)) >= 123 And Asc(Mid(name, i, 1)) <= 255 Then
      Text1.Text = ""
      Exit Sub
      
    End If
   
  Next i
  'MsgBox strCode
  
  For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "f" Then code = code & "f"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "e" Then code = code & "e"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "d" Then code = code & "d"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "c" Then code = code & "c"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "b" Then code = code & "b"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "a" Then code = code & "a"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "9" Then code = code & "9"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "8" Then code = code & "8"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "7" Then code = code & "7"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "6" Then code = code & "6"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "5" Then code = code & "5"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "4" Then code = code & "4"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "3" Then code = code & "3"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "2" Then code = code & "2"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "1" Then code = code & "1"
  Next j
    For j = 1 To Len(strCode)
    If Mid(strCode, j, 1) = "0" Then code = code & "0"
  Next j
  'MsgBox code
  
  If Text2.Text = code Then
    MsgBox T, vbOKOnly, "CrackmeONEII+LYSA-II"
  Else
    Text1.Text = ""
    Text2.Text = ""
    MsgBox F, vbOKOnly, "CrackmeONEII+LYSA-II"
  End If
  
  
End Sub

***********Reference VB P-code

[Command1.Click]

******Possible String Ref To->"CrackmeONEII+LYSA-II True code!"
                               |
:004027E4  1B0000              LitStr               ;Push ptr_0040219C // ×°Èë×Ö·û´®
:004027E7  436CFF              FStStrCopy           ;[LOCAL_0094]=SysAllocStringByteLen(Pop, [Pop-4]); SysFreeString Pop // ¸´ÖƵ½ÄÚ´æ0094
******Possible String Ref To->"CrackmeONEII+LYSA-II False code!"
                               |
:004027EA  1B0100              LitStr               ;Push ptr_004021E0 // ×°Èë×Ö·û´®
:004027ED  4368FF              FStStrCopy           ;[LOCAL_0098]=SysAllocStringByteLen(Pop, [Pop-4]); SysFreeString Pop // ¸´ÖƵ½ÄÚ´æ0098
******Possible String Ref To->""
                               |
:004027F0  1B0200              LitStr               ;Push ptr_00402228 // ×°Èë×Ö·û´®
:004027F3  4378FF              FStStrCopy           ;[LOCAL_0088]=SysAllocStringByteLen(Pop, [Pop-4]); SysFreeString Pop // ¸´ÖƵ½ÄÚ´æ0088
******Possible String Ref To->""
                               |
:004027F6  1B0200              LitStr               ;Push ptr_00402228 // ×°Èë×Ö·û´®
:004027F9  4374FF              FStStrCopy           ;[LOCAL_008C]=SysAllocStringByteLen(Pop, [Pop-4]); SysFreeString Pop // ¸´ÖƵ½ÄÚ´æ008C
******Possible String Ref To->""
                               |
:004027FC  1B0200              LitStr               ;Push ptr_00402228 // ×°Èë×Ö·û´®
:004027FF  4370FF              FStStrCopy           ;[LOCAL_0090]=SysAllocStringByteLen(Pop, [Pop-4]); SysFreeString Pop // ¸´ÖƵ½ÄÚ´æ0090

****************************************
  T = "CrackmeONEII+LYSA-II True code!"
  F = "CrackmeONEII+LYSA-II False code!"
  name = "": code = "": strCode = ""
****************************************

:00402802  045CFF              FLdRfVar             ;Push LOCAL_00A4 // ¿ª±ÙÄÚ´æ¿Õ¼ä
:00402805  21                  FLdPrThis            ;[SR]=[stack2]               \
:00402806  0F0403              VCallAd              ;Return the control index 03 / // »ñµÃ´°Ìå¾ä±ú
:00402809  1960FF              FStAdFunc            ;// È¡propget¹ý³ÌµØÖ·
:0040280C  0860FF              FLdPr                ;[SR]=[LOCAL_00A0] // ¼ÓÔØ¹ý³Ì
***********Reference To:[propget]TextBox.Text // propget,TextBox.TextµÄÈ¡¹ý³Ì
                              |
:0040280F  0DA0000300          VCallHresult         ;Call ptr_0040222C // »ñµÃÎı¾¿òÖеÄÄÚÈÝ
:00402814  3E5CFF              FLdZeroAd            ;Push DWORD [LOCAL_00A4]; [LOCAL_00A4]=0 // ½«ÄÚÈÝÈëÕ»
:00402817  3178FF              FStStr               ;SysFreeString [LOCAL_0088]; [LOCAL_0088]=Pop // ½«×Ö·ûÊͷŵ½0088
:0040281A  1A60FF              FFree1Ad             ;Push [LOCAL_00A0]; Call [[[LOCAL_00A0]]+8]; [[LOCAL_00A0]]=0 // µ÷ÓúóÊͷſռä

****************************************
name = Text1.Text
****************************************

:0040281D  6C78FF              ILdRf                ;Push DWORD [LOCAL_0088] // ×°ÔØ»ñÈ¡µÄÎı¾ÄÚÈÝ£¬×÷Ϊ²ÎÊý
******Possible String Ref To->""
                               |
:00402820  1B0200              LitStr               ;Push ptr_00402228 // NULL×Ö·ûÈëÕ»
:00402823  FB30                EqStr                ;//×Ö·û´®±È½Ï
:00402825  1C5A00              BranchF              ;If Pop=0 then ESI=0040283E // ²»ÏàµÈÔòÌø(F->Ìõ¼þΪ¼Ù)0040283E
******Possible String Ref To->""
                               |
:00402828  1B0200              LitStr               ;Push ptr_00402228 // NULL×Ö·ûÈëÕ»
:0040282B  21                  FLdPrThis            ;[SR]=[stack2]               \
:0040282C  0F0403              VCallAd              ;Return the control index 03 / // »ñµÃ´°Ìå¾ä±ú
:0040282F  1960FF              FStAdFunc            ;// È¡propput¹ý³ÌµØÖ·
:00402832  0860FF              FLdPr                ;[SR]=[LOCAL_00A0] // ¼ÓÔØ¹ý³Ì
***********Reference To:[propput]TextBox.Text // propput,TextBox.TextµÄ¸³Öµ¹ý³Ì
                              |
:00402835  0DA4000300          VCallHresult         ;Call ptr_0040222C // ½«Îı¾¿ò¸³ÖµÎªNULL×Ö·û
:0040283A  1A60FF              FFree1Ad             ;Push [LOCAL_00A0]; Call [[[LOCAL_00A0]]+8]; [[LOCAL_00A0]]=0  // µ÷ÓúóÊͷſռä
:0040283D  13                  ExitProcHresult      ;// Í˳ö¹ý³Ì
3Â¥2006-08-23 15:54:41
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

****************************************
  If name = "" Then
    Text1.Text = ""
    Exit Sub
   
  End If
****************************************

:0040283E  6C78FF              ILdRf                ;Push DWORD [LOCAL_0088] // ×°ÔØ»ñÈ¡µÄÎı¾ÄÚÈÝ£¬×÷Ϊ²ÎÊý
**********Reference To->msvbvm60.rtcAnsiValueBstr //ASC()
                               |
:00402841  0B04000400          ImpAdCallI2          ;Call ptr_00401030; check stack 0004; Push EAX // ASC([LOCAL_0088])
:00402846  F400                LitI2_Byte           ;Push 00 // 0ÈëÕ»
:00402848  D0                  LtI2                 ;// ÕûÊýµÄСÓÚÅжÏ(less than)
:00402849  1C7E00              BranchF              ;If Pop=0 then ESI=00402862 // ²»Ð¡ÓÚÔòÌø00402862
******Possible String Ref To->""
                               |
:0040284C  1B0200              LitStr               ;Push ptr_00402228 // NULL×Ö·ûÈëÕ»
:0040284F  21                  FLdPrThis            ;[SR]=[stack2]               \
:00402850  0F0403              VCallAd              ;Return the control index 03 / // »ñµÃ´°Ìå¾ä±ú
:00402853  1960FF              FStAdFunc            ;// È¡propput¹ý³ÌµØÖ·
:00402856  0860FF              FLdPr                ;[SR]=[LOCAL_00A0] // ¼ÓÔØ¹ý³Ì
***********Reference To:[propput]TextBox.Text // propput,TextBox.TextµÄ¸³Öµ¹ý³Ì
                              |
:00402859  0DA4000300          VCallHresult         ;Call ptr_0040222C // ½«Îı¾¿ò¸³ÖµÎªNULL×Ö·û
:0040285E  1A60FF              FFree1Ad             ;Push [LOCAL_00A0]; Call [[[LOCAL_00A0]]+8]; [[LOCAL_00A0]]=0 // µ÷ÓúóÊͷſռä
:00402861  13                  ExitProcHresult      ;// Í˳ö¹ý³Ì

****************************************
  If Asc(name) < 0 Then
    Text1.Text = ""
    Exit Sub
   
  End If
****************************************

:00402862  F401                LitI2_Byte           ;Push 01 // 01ÈëÕ»
:00402864  0466FF              FLdRfVar             ;Push LOCAL_009A // ¼ÓÔØ±äÁ¿i
:00402867  6C78FF              ILdRf                ;Push DWORD [LOCAL_0088] // ×°ÔØ»ñÈ¡µÄÎı¾ÄÚÈÝ£¬×÷Ϊ²ÎÊý
:0040286A  4A                  FnLenStr             ;vbaLenBstr // ¼ÆËãname³¤¶È
:0040286B  E4                  CI2I4                ;Verify [stack] high word is 0000, ECX=[ECX]
:0040286C  FE6358FFA30A        ForI2                ;// FOR

****************************************
For i = 1 To Len(name)
****************************************

:00402872  2828FF0100          LitVarI2             ;PushVarInteger 0001    \ È¡³¤¶È
:00402877  6B66FF              FLdI2                ;Push WORD [LOCAL_009A] | ±äÁ¿iµÄÖµ
:0040287A  E7                  CI4UI1               ;                       | // MIDº¯Êý²ÎÊýÈëÕ»
:0040287B  0478FF              FLdRfVar             ;Push LOCAL_0088        / Îı¾ÄÚÈÝ
:0040287E  4D48FF0840          CVarRef              ;// ´´½¨ÁÙʱ±äÁ¿                       
:00402883  0418FF              FLdRfVar             ;Push LOCAL_00E8 // ¼ÓÔØÁÙʱ±äÁ¿      
**********Reference To->msvbvm60.rtcMidCharVar
                               |
:00402886  0A05001000          ImpAdCallFPR4        ;Call ptr_00401036; check stack 0010; Push EAX // MID²Ù×÷
:0040288B  0418FF              FLdRfVar             ;Push LOCAL_00E8 \
:0040288E  FDFE5CFF            CStrVarVal           ;                / // ASCº¯Êý²ÎÊýÈëÕ»
**********Reference To->msvbvm60.rtcAnsiValueBstr
                               |
:00402892  0B04000400          ImpAdCallI2          ;Call ptr_00401030; check stack 0004; Push EAX // ASC²Ù×÷
:00402897  F430                LitI2_Byte           ;Push 30 // 48ÈëÕ»
:00402899  DF                  GeI2                 ;// ´óÓÚµÈÓڱȽϲÙ×÷
:0040289A  28E8FE0100          LitVarI2             ;PushVarInteger 0001    \ È¡³¤¶È
:0040289F  6B66FF              FLdI2                ;Push WORD [LOCAL_009A] | ±äÁ¿iµÄÖµ
:004028A2  E7                  CI4UI1               ;                       | // MIDº¯Êý²ÎÊýÈëÕ»
:004028A3  0478FF              FLdRfVar             ;Push LOCAL_0088        / Îı¾ÄÚÈÝ
:004028A6  4D08FF0840          CVarRef              ;// ´´½¨ÁÙʱ±äÁ¿
:004028AB  04D8FE              FLdRfVar             ;Push LOCAL_0128 // ¼ÓÔØÁÙʱ±äÁ¿
**********Reference To->msvbvm60.rtcMidCharVar
                               |
:004028AE  0A05001000          ImpAdCallFPR4        ;Call ptr_00401036; check stack 0010; Push EAX //MID²Ù×÷
:004028B3  04D8FE              FLdRfVar             ;Push LOCAL_0128 \
:004028B6  FDFED4FE            CStrVarVal           ;                / // ASCº¯Êý²ÎÊýÈëÕ»
**********Reference To->msvbvm60.rtcAnsiValueBstr
                               |
:004028BA  0B04000400          ImpAdCallI2          ;Call ptr_00401030; check stack 0004; Push EAX //ASC²Ù×÷
:004028BF  F439                LitI2_Byte           ;Push 39 // 57ÈëÕ»
:004028C1  D5                  LeI2                 ;// СÓÚµÈÓڱȽϲÙ×÷
:004028C2  C4                  AndI4                ;// AND
:004028C3  3204005CFFD4FE      FFreeStr             ;Do SysFreeString [arg_n]; [arg_n]=0 0004/2 times ~ arg
:004028CA  36080028FF18FFE8    FFreeVar             ;Free 0008/2 variants // ÊÍ·ÅÁÙʱ±äÁ¿
:004028D5  1C2202              BranchF              ;If Pop=0 then ESI=00402A06 // Ìõ¼þΪ¼ÙÔòÌø00402A06
4Â¥2006-08-23 15:55:43
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ²ÄÁÏ292µ÷¼Á +7 éÙËÌ˼ÃÀÈË 2026-03-23 7/350 2026-03-24 16:19 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 307Çóµ÷¼Á +3 ÓàÒâÇä 2026-03-21 6/300 2026-03-24 15:03 by ÓàÒâÇä
[¿¼ÑÐ] 305·ÖÇóµ÷¼Á£¨Ê³Æ·¹¤³Ì£© +5 Sxy112 2026-03-21 7/350 2026-03-24 12:27 by 544594351
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶0703×Ü·Ö337Çóµ÷¼Á +5 niko- 2026-03-22 5/250 2026-03-23 22:01 by fuyu_
[¿¼ÑÐ] 291 Çóµ÷¼Á +4 »¯¹¤2026½ì±ÏÒµÉ 2026-03-21 5/250 2026-03-23 16:46 by »¯¹¤2026½ì±ÏÒµÉ
[¿¼ÑÐ] ½ÓÊÕ2026˶ʿµ÷¼Á(ѧ˶+ר˶) +4 allen-yin 2026-03-23 6/300 2026-03-23 15:04 by Íô£¡£¿£¡
[¿¼ÑÐ] 311Çóµ÷¼Á +6 ¶¬Ê®Èý 2026-03-18 6/300 2026-03-22 20:18 by edmund7
[¿¼ÑÐ] 311Çóµ÷¼Á +3 26ÑÐ0 2026-03-20 3/150 2026-03-22 14:46 by ColorlessPI
[¿¼ÑÐ] 318Çóµ÷¼Á +4 plumÀî×Ó 2026-03-21 7/350 2026-03-22 14:17 by ColorlessPI
[¿¼ÑÐ] ²ÄÁÏÇóµ÷¼Á +5 @taotao 2026-03-21 5/250 2026-03-21 20:55 by lbsjt
[¿¼ÑÐ] ²ÄÁϹ¤³Ìר˶ 348·ÖÇóµ÷¼Á +3 ¶¬´Ç. 2026-03-17 5/250 2026-03-21 18:47 by ѧԱ8dgXkO
[¿¼ÑÐ] Ò»Ö¾Ô¸ÄÏ´ó£¬0703»¯Ñ§£¬·ÖÊý336£¬Çóµ÷¼Á +3 ÊÕµ½VS 2026-03-21 3/150 2026-03-21 18:42 by ѧԱ8dgXkO
[¿¼ÑÐ] Ò»Ö¾Ô¸Éî´ó£¬0703»¯Ñ§£¬×Ü·Ö302£¬Çóµ÷¼Á +4 ÆßÔÂ-ÆßÆß 2026-03-21 4/200 2026-03-21 18:20 by ѧԱ8dgXkO
[¿¼ÑÐ] 332Çóµ÷¼Á +3 ·ï»ËÔº¶¡Õæ 2026-03-20 3/150 2026-03-21 10:27 by luoyongfeng
[¿¼ÑÐ] ²ÄÁÏ 336 Çóµ÷¼Á +3 An@. 2026-03-18 4/200 2026-03-21 01:39 by JourneyLucky
[¿¼ÑÐ] 294Çóµ÷¼Á²ÄÁÏÓ뻯¹¤×¨Ë¶ +15 ݤÎÉ­ÁÖ 2026-03-18 15/750 2026-03-20 23:28 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸Î人Àí¹¤²ÄÁϹ¤³Ìר˶µ÷¼Á +9 Doleres 2026-03-19 9/450 2026-03-20 22:36 by JourneyLucky
[¿¼ÑÐ] 0856µ÷¼Á£¬ÊÇѧУ¾ÍÈ¥ +8 sllhht 2026-03-19 9/450 2026-03-20 14:25 by ÎÞи¿É»÷111
[¿¼ÑÐ] ÉúÎïѧµ÷¼ÁÕÐÈË£¡£¡£¡ +3 ɽº£Ììá° 2026-03-17 4/200 2026-03-19 21:34 by ÔõôÊÍ»³
[¿¼ÑÐ] ²ÄÁÏ£¬·ÄÖ¯£¬ÉúÎ0856¡¢0710£©£¬»¯Ñ§ÕÐÉúÀ² +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û