飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2510|回复: 1

[原创]VB P-code粗略分析(4) by moodsky

[复制链接]
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2006-8-13 02:53:27 | 显示全部楼层 |阅读模式
    转自:http://www.pediy.com/bbshtml/bbs7/pediy7-86.htm

    标 题: [原创]VB P-code粗略分析(4)
    发帖人:moodsky
    时 间: 2005-02-18 18:14
    原文链接:http://bbs.pediy.com/showthread.php?threadid=11253
    详细信息:

    VB P-code粗略分析-CrackMe2005 #2 by KuNgBiM
    用这个Crackme来做了一下分析,作者提供了两个加壳的版本,也没客气直接用PEID把UPX的托了继续分析。

    下载:附件下载
    用OD下bp VarBstrCmp可直接到注册码,看来程序里变量比较比较多。

    [cmdReg.Click]
    :00402980  04E4FC              FLdRfVar             ;Push LOCAL_031C // 开辟内存空间[文本内容]
    :00402983  21                  FLdPrThis            ;[SR]=[stack2]               \
    :00402984  0F1403              VCallAd              ;Return the control index 07 / 获得窗体句柄
    :00402987  19E8FC              FStAdFunc            ;// 取propget过程地址
    :0040298A  08E8FC              FLdPr                ;[SR]=[LOCAL_0318] //加载过程
    ***********Reference To:[propget]TextBox.Text
                                  |
    :0040298D  0DA0000000          VCallHresult         ;Call ptr_004020FC // 获得文本框中的内容
    :00402992  3EE4FC              FLdZeroAd            ;Push DWORD [LOCAL_031C]; [LOCAL_031C]=0 // 将字符释放
    :00402995  46D4FC              CVarStr              ;// 字符串-〉变量
    :00402998  FCF66CFF            FStVar               ;
    :0040299C  1AE8FC              FFree1Ad             ;Push [LOCAL_0318]; Call [[[LOCAL_0318]]+8]; [[LOCAL_0318]]=0
    ******Possible String Ref To->""
                                   |
    :0040299F  3AC4FC0100          LitVarStr            ;PushVarString ptr_00402110 // 装入字符串变量
    :004029A4  FD005CFF            FStVarCopy           ;[LOCAL_00A4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"你"
                                   |
    :004029A8  3AC4FC0200          LitVarStr            ;PushVarString ptr_00402118 // 装入字符串变量
    :004029AD  FD004CFF            FStVarCopy           ;[LOCAL_00B4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"成"
                                   |
    :004029B1  3AC4FC0300          LitVarStr            ;PushVarString ptr_00402120 // 装入字符串变量
    :004029B6  FD003CFF            FStVarCopy           ;[LOCAL_00C4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"失"
                                   |
    :004029BA  3AC4FC0400          LitVarStr            ;PushVarString ptr_00402128 // 装入字符串变量
    :004029BF  FD002CFF            FStVarCopy           ;[LOCAL_00D4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"功"
                                   |
    :004029C3  3AC4FC0500          LitVarStr            ;PushVarString ptr_00402130 // 装入字符串变量
    :004029C8  FD001CFF            FStVarCopy           ;[LOCAL_00E4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"败"
                                   |
    :004029CC  3AC4FC0600          LitVarStr            ;PushVarString ptr_00402138 // 装入字符串变量
    :004029D1  FD000CFF            FStVarCopy           ;[LOCAL_00F4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"么"
                                   |
    :004029D5  3AC4FC0700          LitVarStr            ;PushVarString ptr_00402140 // 装入字符串变量
    :004029DA  FD007CFD            FStVarCopy           ;[LOCAL_0284]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"了"
                                   |
    :004029DE  3AC4FC0800          LitVarStr            ;PushVarString ptr_00402148 // 装入字符串变量
    :004029E3  FD00FCFE            FStVarCopy           ;[LOCAL_0104]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"!!"
                                   |
    :004029E7  3AC4FC0900          LitVarStr            ;PushVarString ptr_00402150 // 装入字符串变量
    :004029EC  FD00ECFE            FStVarCopy           ;[LOCAL_0114]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"已"
                                   |
    :004029F0  3AC4FC0A00          LitVarStr            ;PushVarString ptr_0040215C // 装入字符串变量
    :004029F5  FD001CFE            FStVarCopy           ;[LOCAL_01E4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"不"
                                   |
    :004029F9  3AC4FC0B00          LitVarStr            ;PushVarString ptr_00402164 // 装入字符串变量
    :004029FE  FD00DCFE            FStVarCopy           ;[LOCAL_0124]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"加"
                                   |
    :00402A02  3AC4FC0C00          LitVarStr            ;PushVarString ptr_0040216C // 装入字符串变量
    :00402A07  FD00CCFE            FStVarCopy           ;[LOCAL_0134]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"手"
                                   |
    :00402A0B  3AC4FC0D00          LitVarStr            ;PushVarString ptr_00402174 // 装入字符串变量
    :00402A10  FD00BCFE            FStVarCopy           ;[LOCAL_0144]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"懒"
                                   |
    :00402A14  3AC4FC0E00          LitVarStr            ;PushVarString ptr_0040217C // 装入字符串变量
    :00402A19  FD00FCFC            FStVarCopy           ;[LOCAL_0304]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"输"
                                   |
    :00402A1D  3AC4FC0F00          LitVarStr            ;PushVarString ptr_00402184 // 装入字符串变量
    :00402A22  FD00ECFD            FStVarCopy           ;[LOCAL_0214]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"油"
                                   |
    :00402A26  3AC4FC1000          LitVarStr            ;PushVarString ptr_0040218C // 装入字符串变量
    :00402A2B  FD00ACFE            FStVarCopy           ;[LOCAL_0154]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->","
                                   |
    :00402A2F  3AC4FC1100          LitVarStr            ;PushVarString ptr_00402194 // 装入字符串变量
    :00402A34  FD009CFE            FStVarCopy           ;[LOCAL_0164]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"吸"
                                   |
    :00402A38  3AC4FC1200          LitVarStr            ;PushVarString ptr_0040219C // 装入字符串变量
    :00402A3D  FD008CFE            FStVarCopy           ;[LOCAL_0174]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"册"
                                   |
    :00402A41  3AC4FC1300          LitVarStr            ;PushVarString ptr_004021A4 // 装入字符串变量
    :00402A46  FD000CFE            FStVarCopy           ;[LOCAL_01F4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"要"
                                   |
    :00402A4A  3AC4FC1400          LitVarStr            ;PushVarString ptr_004021AC // 装入字符串变量
    :00402A4F  FD007CFE            FStVarCopy           ;[LOCAL_0184]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"哈"
                                   |
    :00402A53  3AC4FC1500          LitVarStr            ;PushVarString ptr_004021B4 // 装入字符串变量
    :00402A58  FD002CFD            FStVarCopy           ;[LOCAL_02D4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"都"
                                   |
    :00402A5C  3AC4FC1600          LitVarStr            ;PushVarString ptr_004021BC // 装入字符串变量
    :00402A61  FD00DCFD            FStVarCopy           ;[LOCAL_0224]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"次"
                                   |
    :00402A65  3AC4FC1700          LitVarStr            ;PushVarString ptr_004021C4 // 装入字符串变量
    :00402A6A  FD006CFE            FStVarCopy           ;[LOCAL_0194]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"続"
                                   |
    :00402A6E  3AC4FC1800          LitVarStr            ;PushVarString ptr_004021CC // 装入字符串变量
    :00402A73  FD00CCFD            FStVarCopy           ;[LOCAL_0234]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"那"
                                   |
    :00402A77  3AC4FC1900          LitVarStr            ;PushVarString ptr_004021D4 // 装入字符串变量
    :00402A7C  FD00BCFD            FStVarCopy           ;[LOCAL_0244]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"?"
                                   |
    :00402A80  3AC4FC1A00          LitVarStr            ;PushVarString ptr_004021DC // 装入字符串变量
    :00402A85  FD002CFE            FStVarCopy           ;[LOCAL_01D4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"告"
                                   |
    :00402A89  3AC4FC1B00          LitVarStr            ;PushVarString ptr_004021E4 // 装入字符串变量
    :00402A8E  FD00ACFD            FStVarCopy           ;[LOCAL_0254]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"?"
                                   |
    :00402A92  3AC4FC1C00          LitVarStr            ;PushVarString ptr_004021EC // 装入字符串变量
    :00402A97  FD009CFD            FStVarCopy           ;[LOCAL_0264]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"这"
                                   |
    :00402A9B  3AC4FC1D00          LitVarStr            ;PushVarString ptr_004021F4 // 装入字符串变量
    :00402AA0  FD005CFE            FStVarCopy           ;[LOCAL_01A4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"譯"
                                   |
    :00402AA4  3AC4FC1E00          LitVarStr            ;PushVarString ptr_004021FC // 装入字符串变量
    :00402AA9  FD00FCFD            FStVarCopy           ;[LOCAL_0204]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"蕋"
                                   |
    :00402AAD  3AC4FC1F00          LitVarStr            ;PushVarString ptr_00402204 // 装入字符串变量
    :00402AB2  FD008CFD            FStVarCopy           ;[LOCAL_0274]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"肰"
                                   |
    :00402AB6  3AC4FC2000          LitVarStr            ;PushVarString ptr_0040220C // 装入字符串变量
    :00402ABB  FD006CFD            FStVarCopy           ;[LOCAL_0294]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"蚉"
                                   |
    :00402ABF  3AC4FC2100          LitVarStr            ;PushVarString ptr_00402214 // 装入字符串变量
    :00402AC4  FD005CFD            FStVarCopy           ;[LOCAL_02A4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"?"
                                   |
    :00402AC8  3AC4FC2200          LitVarStr            ;PushVarString ptr_0040221C // 装入字符串变量
    :00402ACD  FD004CFD            FStVarCopy           ;[LOCAL_02B4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"?"
                                   |
    :00402AD1  3AC4FC2300          LitVarStr            ;PushVarString ptr_00402224 // 装入字符串变量
    :00402AD6  FD003CFD            FStVarCopy           ;[LOCAL_02C4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"?"
                                   |
    :00402ADA  3AC4FC2400          LitVarStr            ;PushVarString ptr_0040222C // 装入字符串变量
    :00402ADF  FD001CFD            FStVarCopy           ;[LOCAL_02E4]=vbaVarCopy(Pop) // 复制到内存
    ******Possible String Ref To->"吧"
                                   |
    :00402AE3  3AC4FC2500          LitVarStr            ;PushVarString ptr_00402234 // 装入字符串变量
    :00402AE8  FD000CFD            FStVarCopy           ;[LOCAL_02F4]=vbaVarCopy(Pop)

    :00402AEC  04E4FC              FLdRfVar             ;Push LOCAL_031C // 开辟内存空间
    :00402AEF  21                  FLdPrThis            ;[SR]=[stack2]               \
    :00402AF0  0F1403              VCallAd              ;Return the control index 07 / 获得窗体句柄
    :00402AF3  19E8FC              FStAdFunc            ;// 取propget过程地址
    :00402AF6  08E8FC              FLdPr                ;[SR]=[LOCAL_0318] // 加载过程
    ***********Reference To:[propget]TextBox.Text
                                  |
    :00402AF9  0DA0000000          VCallHresult         ;Call ptr_004020FC // 获得文本框中的内容
    :00402AFE  6CE4FC              ILdRf                ;Push DWORD [LOCAL_031C] // 字符串入栈
    :00402B01  4A                  FnLenStr             ;vbaLenBstr //计算长度
    :00402B02  FD69C4FC            CVarI4               ;
    :00402B06  FCF63CFE            FStVar               ;
    :00402B0A  2FE4FC              FFree1Str            ;SysFreeString [LOCAL_031C]; [LOCAL_031C]=0
    :00402B0D  1AE8FC              FFree1Ad             ;Push [LOCAL_0318]; Call [[[LOCAL_0318]]+8]; [[LOCAL_0318]]=0

    :00402B10  28B4FC0100          LitVarI2             ;PushVarInteger 0001 // 0001入栈
    :00402B15  04ECFC              FLdRfVar             ;Push LOCAL_0314 // 开辟内存空间i
    :00402B18  043CFE              FLdRfVar             ;Push LOCAL_01C4 // 开辟内存空间
    :00402B1B  FE6894FC0602        ForVar               ;// FOR 运算
    :00402B21  04E4FC              FLdRfVar             ;Push LOCAL_031C // 开辟内存空间[文本内容]
    :00402B24  21                  FLdPrThis            ;[SR]=[stack2]               \
    :00402B25  0F1403              VCallAd              ;Return the control index 07 / 获得窗体句柄
    :00402B28  19E8FC              FStAdFunc            ;// 取propget过程地址
    :00402B2B  08E8FC              FLdPr                ;[SR]=[LOCAL_0318] // 加载过程
    ***********Reference To:[propget]TextBox.Text
                                  |
    :00402B2E  0DA0000000          VCallHresult         ;Call ptr_004020FC // 获得文本框中的内容
    :00402B33  28D4FC0100          LitVarI2             ;PushVarInteger 0001     \ 取长度
    :00402B38  04ECFC              FLdRfVar             ;Push LOCAL_0314         | 变量i的值
    :00402B3B  FC22                CI4Var               ;vbaI4Var                | // MID函数参数入栈
    :00402B3D  6CE4FC              ILdRf                ;Push DWORD [LOCAL_031C] / 文本内容
    **********Reference To->msvbvm60.rtcMidCharBstr
                                   |
    :00402B40  0B26000C00          ImpAdCallI2          ;Call ptr_00401030; check stack 000C; Push EAX // MID操作
    :00402B45  2390FC              FStStrNoPop          ;SysFreeString [LOCAL_0370]; [LOCAL_0370]=[stack]
    **********Reference To->msvbvm60.rtcAnsiValueBstr
                                   |
    :00402B48  0B27000400          ImpAdCallI2          ;Call ptr_00401036; check stack 0004; Push EAX // ASC操作
    :00402B4D  44B4FC              CVarI2               ;// 将整形转换为变量
    :00402B50  04ECFC              FLdRfVar             ;Push LOCAL_0314 // 变量i的值
    :00402B53  FBB480FC            MulVar               ;// 相乘:asc(mid(name,i,1))*i
    :00402B57  2870FC1A00          LitVarI2             ;PushVarInteger 001A //装立即数&H1A
    :00402B5C  FBA460FC            ModVar               ;// 取模 asc(mid(name,i,1)) * i mod &H1A
    :00402B60  FEC150FC3766EC04    LitVarI4             ;// &H4EC6637
    :00402B68  FBB440FC            MulVar               ;// 相乘:asc(mid(name,i,1)) * i mod &H1A * &H4EC6637
    :00402B6C  FCF65CFF            FStVar               ;// 感谢MengLong兄的帮助才找到这个I4
    :00402B70  320400E4FC90FC      FFreeStr             ;Do SysFreeString [arg_n]; [arg_n]=0 0004/2 times ~ arg
    :00402B77  1AE8FC              FFree1Ad             ;Push [LOCAL_0318]; Call [[[LOCAL_0318]]+8]; [[LOCAL_0318]]=0
    :00402B7A  35D4FC              FFree1Var            ;Free LOCAL_032C
    :00402B7D  04ECFC              FLdRfVar             ;Push LOCAL_0314
    :00402B80  FE7E94FCA101        NextStepVar          ;// NEXT

    :00402B86  045CFF              FLdRfVar             ;Push LOCAL_00A4 // ""字符入栈
    :00402B89  FD004CFE            FStVarCopy           ;[LOCAL_01B4]=vbaVarCopy(Pop)
    :00402B8D  043CFE              FLdRfVar             ;Push LOCAL_01C4 // 用户名入栈
    :00402B90  28C4FC0000          LitVarI2             ;PushVarInteger 0000
    :00402B95  5D                  HardType             ;
    :00402B96  FB33                EqVarBool            ;// 用户名是否等于""
    :00402B98  1C0903              BranchF              ;If Pop=0 then ESI=00402C89 //不等于则跳
    :00402B9B  27F0FA              LitVar               ;PushVar LOCAL_0510          \
    :00402B9E  2700FB              LitVar               ;PushVar LOCAL_0500          | Msgbox函数参数
    :00402BA1  04CCFD              FLdRfVar             ;Push LOCAL_0234 // 加载字符 |
    :00402BA4  04ACFD              FLdRfVar             ;Push LOCAL_0254 // 加载字符 |
    :00402BA7  FB9410FB            AddVar               ;// 字符叠加
    :00402BAB  F530000000          LitI4                ;Push 00000030
    :00402BB0  044CFF              FLdRfVar             ;Push LOCAL_00B4 // 加载字符 |
    :00402BB3  041CFD              FLdRfVar             ;Push LOCAL_02E4 // 加载字符 |
    :00402BB6  FB94D4FC            AddVar               ;// 字符叠加
    :00402BBA  04FCFC              FLdRfVar             ;Push LOCAL_0304 // 加载字符 |
    :00402BBD  FB9480FC            AddVar               ;// 字符叠加
    :00402BC1  04FCFE              FLdRfVar             ;Push LOCAL_0104 // 加载字符 |
    :00402BC4  FB9460FC            AddVar               ;// 字符叠加
    :00402BC8  040CFD              FLdRfVar             ;Push LOCAL_02F4 // 加载字符 |
    :00402BCB  FB9440FC            AddVar               ;// 字符叠加
    :00402BCF  04ECFE              FLdRfVar             ;Push LOCAL_0114 // 加载字符 |
    :00402BD2  FB9430FC            AddVar               ;// 字符叠加
    :00402BD6  048CFD              FLdRfVar             ;Push LOCAL_0274 // 加载字符 |
    :00402BD9  FB9420FC            AddVar               ;// 字符叠加
    :00402BDD  047CFD              FLdRfVar             ;Push LOCAL_0284 // 加载字符 |
    :00402BE0  FB9410FC            AddVar               ;// 字符叠加
    :00402BE4  04DCFD              FLdRfVar             ;Push LOCAL_0224 // 加载字符 |
    :00402BE7  FB9400FC            AddVar               ;// 字符叠加
    :00402BEB  04DCFE              FLdRfVar             ;Push LOCAL_0124 // 加载字符 |
    :00402BEE  FB94F0FB            AddVar               ;// 字符叠加
    :00402BF2  04ECFD              FLdRfVar             ;Push LOCAL_0214 // 加载字符 |
    :00402BF5  FB94E0FB            AddVar               ;// 字符叠加
    :00402BF9  049CFE              FLdRfVar             ;Push LOCAL_0164 // 加载字符 |
    :00402BFC  FB94D0FB            AddVar               ;// 字符叠加
    :00402C00  04BCFD              FLdRfVar             ;Push LOCAL_0244 // 加载字符 |
    :00402C03  FB94C0FB            AddVar               ;// 字符叠加
    :00402C07  049CFD              FLdRfVar             ;Push LOCAL_0264 // 加载字符 |
    :00402C0A  FB94B0FB            AddVar               ;// 字符叠加
    :00402C0E  046CFD              FLdRfVar             ;Push LOCAL_0294 // 加载字符 |
    :00402C11  FB94A0FB            AddVar               ;// 字符叠加
    :00402C15  044CFD              FLdRfVar             ;Push LOCAL_02B4 // 加载字符 |
    :00402C18  FB9490FB            AddVar               ;// 字符叠加
    :00402C1C  045CFD              FLdRfVar             ;Push LOCAL_02A4 // 加载字符 |
    :00402C1F  FB9480FB            AddVar               ;// 字符叠加
    :00402C23  043CFD              FLdRfVar             ;Push LOCAL_02C4 // 加载字符 |
    :00402C26  FB9470FB            AddVar               ;// 字符叠加
    :00402C2A  04ECFE              FLdRfVar             ;Push LOCAL_0114 // 加载字符 |
    :00402C2D  FB9460FB            AddVar               ;// 字符叠加
    :00402C31  042CFD              FLdRfVar             ;Push LOCAL_02D4 // 加载字符 |
    :00402C34  FB9450FB            AddVar               ;// 字符叠加
    :00402C38  042CFD              FLdRfVar             ;Push LOCAL_02D4 // 加载字符 |
    :00402C3B  FB9440FB            AddVar               ;// 字符叠加
    :00402C3F  042CFD              FLdRfVar             ;Push LOCAL_02D4 // 加载字符 |
    :00402C42  FB9430FB            AddVar               ;// 字符叠加
    :00402C46  04ECFE              FLdRfVar             ;Push LOCAL_0114 // 加载字符 |
    :00402C49  FB9420FB            AddVar               ;// 字符叠加                 /
    **********Reference To->msvbvm60.rtcMsgBox
                                   |
    :00402C4D  0A28001400          ImpAdCallFPR4        ;Call ptr_0040103C; check stack 0014; Push EAX
    :00402C52  363200D4FC80FC60    FFreeVar             ;Free 0032/2 variants
    :00402C87  FCC804              End                  ;// 结束程序

    :00402C8A  4C                  FnLBound             ;vbaLBound
    :00402C8B  FE04E4FC            ThisVCallR8          ;

    :00402C8F  21                  FLdPrThis            ;[SR]=[stack2]               \
    :00402C90  0F0403              VCallAd              ;Return the control index 03 / 获得窗体句柄
    :00402C93  19E8FC              FStAdFunc            ;// 取propget过程地址
    :00402C96  08E8FC              FLdPr                ;[SR]=[LOCAL_0318] // 加载过程
    ***********Reference To:[propget]TextBox.Text
                                  |
    :00402C99  0DA0000000          VCallHresult         ;Call ptr_004020FC // 获得文本框中的内容[假码]
    :00402C9E  3EE4FC              FLdZeroAd            ;Push DWORD [LOCAL_031C]; [LOCAL_031C]=0
    :00402CA1  46D4FC              CVarStr              ;// 将字符串类型改为变量
    :00402CA4  5D                  HardType             ;
    :00402CA5  FB33                EqVarBool            ;// 比较真码假码
    :00402CA7  1AE8FC              FFree1Ad             ;Push [LOCAL_0318]; Call [[[LOCAL_0318]]+8]; [[LOCAL_0318]]=0
    :00402CAA  35D4FC              FFree1Var            ;Free LOCAL_032C
    :00402CAD  1CDD03              BranchF              ;If Pop=0 then ESI=00402D5D //不等则跳 00402D5D -〉1CDD03改为10DD03
    :00402CB0  27E0FB              LitVar               ;PushVar LOCAL_0420          \         即可以爆破!
    :00402CB3  27F0FB              LitVar               ;PushVar LOCAL_0410          | Msgbox函数参数
    :00402CB6  043CFF              FLdRfVar             ;Push LOCAL_00C4 // 加载字符 |
    :00402CB9  041CFF              FLdRfVar             ;Push LOCAL_00E4 // 加载字符 |
    :00402CBC  FB9400FC            AddVar               ;// 字符叠加
    :00402CC0  F540000000          LitI4                ;Push 00000040
    :00402CC5  042CFE              FLdRfVar             ;Push LOCAL_01D4 // 加载字符 |
    :00402CC8  04BCFE              FLdRfVar             ;Push LOCAL_0144 // 加载字符 |
    :00402CCB  FB94D4FC            AddVar               ;// 字符叠加
    :00402CCF  04ECFE              FLdRfVar             ;Push LOCAL_0114 // 加载字符 |
    :00402CD2  FB9480FC            AddVar               ;// 字符叠加
    :00402CD6  044CFF              FLdRfVar             ;Push LOCAL_00B4 // 加载字符 |
    :00402CD9  FB9460FC            AddVar               ;// 字符叠加
    :00402CDD  043CFF              FLdRfVar             ;Push LOCAL_00C4 // 加载字符 |
    :00402CE0  FB9440FC            AddVar               ;// 字符叠加
    :00402CE4  041CFF              FLdRfVar             ;Push LOCAL_00E4 // 加载字符 |
    :00402CE7  FB9430FC            AddVar               ;// 字符叠加
    :00402CEB  04FCFE              FLdRfVar             ;Push LOCAL_0104 // 加载字符 |
    :00402CEE  FB9420FC            AddVar               ;// 字符叠加
    :00402CF2  04ECFE              FLdRfVar             ;Push LOCAL_0114 // 加载字符 |
    :00402CF5  FB9410FC            AddVar               ;// 字符叠加                 /
    **********Reference To->msvbvm60.rtcMsgBox
                                   |
    :00402CF9  0A28001400          ImpAdCallFPR4        ;Call ptr_0040103C; check stack 0014; Push EAX
    :00402CFE  361400D4FC80FC60    FFreeVar             ;Free 0014/2 variants

    :00402D15  041CFE              FLdRfVar             ;Push LOCAL_01E4 // 加载字符
    :00402D18  04FCFD              FLdRfVar             ;Push LOCAL_0204 // 加载字符
    :00402D1B  FB94D4FC            AddVar               ;// 字符叠加
    :00402D1F  040CFE              FLdRfVar             ;Push LOCAL_01F4 // 加载字符
    :00402D22  FB9480FC            AddVar               ;// 字符叠加
    :00402D26  FDFEE4FC            CStrVarVal           ;

    :00402D2A  21                  FLdPrThis            ;[SR]=[stack2]               \
    :00402D2B  0F0003              VCallAd              ;Return the control index 02 / 获得窗体句柄
    :00402D2E  19E8FC              FStAdFunc            ;// 取propget[CommandButton.Caption]过程地址
    :00402D31  08E8FC              FLdPr                ;[SR]=[LOCAL_0318] // 加载过程
    ***********Reference To:[propput]CommandButton.Caption
                                  |
    :00402D34  0D54002900          VCallHresult         ;Call ptr_00402238 // 改变Button.Caption
    :00402D39  2FE4FC              FFree1Str            ;SysFreeString [LOCAL_031C]; [LOCAL_031C]=0
    :00402D3C  1AE8FC              FFree1Ad             ;Push [LOCAL_0318]; Call [[[LOCAL_0318]]+8]; [[LOCAL_0318]]=0
    :00402D3F  360400D4FC80FC      FFreeVar             ;Free 0004/2 variants

    :00402D46  F400                LitI2_Byte           ;Push 00                     \
    :00402D48  21                  FLdPrThis            ;[SR]=[stack2]               | Enabled参数入栈
    :00402D49  0F0003              VCallAd              ;Return the control index 02 |
    :00402D4C  19E8FC              FStAdFunc            ;                            |
    :00402D4F  08E8FC              FLdPr                ;[SR]=[LOCAL_0318]           /
    ***********Reference To:[propput]CommandButton.Enabled
                                  |
    :00402D52  0D8C002900          VCallHresult         ;Call ptr_00402238 // 改变Button.Enabled
    :00402D57  1AE8FC              FFree1Ad             ;Push [LOCAL_0318]; Call [[[LOCAL_0318]]+8]; [[LOCAL_0318]]=0
    :00402D5A  1E9904              Branch               ;ESI=00402E19 //程序跳转

    :00402D5D  2790FB              LitVar               ;PushVar LOCAL_0470          \
    :00402D60  27A0FB              LitVar               ;PushVar LOCAL_0460          | Msgbox函数参数
    :00402D63  042CFF              FLdRfVar             ;Push LOCAL_00D4 // 加载字符 |
    :00402D66  040CFF              FLdRfVar             ;Push LOCAL_00F4 // 加载字符 |
    :00402D69  FB94B0FB            AddVar               ;// 字符叠加
    :00402D6D  F530000000          LitI4                ;Push 00000030
    :00402D72  044CFF              FLdRfVar             ;Push LOCAL_00B4 // 加载字符 |
    :00402D75  047CFE              FLdRfVar             ;Push LOCAL_0184 // 加载字符 |
    :00402D78  FB94D4FC            AddVar               ;// 字符叠加
    :00402D7C  04CCFE              FLdRfVar             ;Push LOCAL_0134 // 加载字符 |
    :00402D7F  FB9480FC            AddVar               ;// 字符叠加
    :00402D83  04ACFE              FLdRfVar             ;Push LOCAL_0154 // 加载字符 |
    :00402D86  FB9460FC            AddVar               ;// 字符叠加
    :00402D8A  048CFE              FLdRfVar             ;Push LOCAL_0174 // 加载字符 |
    :00402D8D  FB9440FC            AddVar               ;// 字符叠加
    :00402D91  049CFE              FLdRfVar             ;Push LOCAL_0164 // 加载字符 |
    :00402D94  FB9430FC            AddVar               ;// 字符叠加
    :00402D98  045CFE              FLdRfVar             ;Push LOCAL_01A4 // 加载字符 |
    :00402D9B  FB9420FC            AddVar               ;// 字符叠加
    :00402D9F  046CFE              FLdRfVar             ;Push LOCAL_0194 // 加载字符 |
    :00402DA2  FB9410FC            AddVar               ;// 字符叠加
    :00402DA6  044CFF              FLdRfVar             ;Push LOCAL_00B4 // 加载字符 |
    :00402DA9  FB9400FC            AddVar               ;// 字符叠加
    :00402DAD  042CFF              FLdRfVar             ;Push LOCAL_00D4 // 加载字符 |
    :00402DB0  FB94F0FB            AddVar               ;// 字符叠加
    :00402DB4  040CFF              FLdRfVar             ;Push LOCAL_00F4 // 加载字符 |
    :00402DB7  FB94E0FB            AddVar               ;// 字符叠加
    :00402DBB  04FCFE              FLdRfVar             ;Push LOCAL_0104 // 加载字符 |
    :00402DBE  FB94D0FB            AddVar               ;// 字符叠加
    :00402DC2  04ECFE              FLdRfVar             ;Push LOCAL_0114 // 加载字符 |
    :00402DC5  FB94C0FB            AddVar               ;// 字符叠加                 /
    **********Reference To->msvbvm60.rtcMsgBox
                                   |
    :00402DC9  0A28001400          ImpAdCallFPR4        ;Call ptr_0040103C; check stack 0014; Push EAX
    :00402DCE  361E00D4FC80FC60    FFreeVar             ;Free 001E/2 variants
    ******Possible String Ref To->""
                                   |
    :00402DEF  1B0100              LitStr               ;Push ptr_00402110  // 装入字符串变量
    :00402DF2  21                  FLdPrThis            ;[SR]=[stack2]               \
    :00402DF3  0F1403              VCallAd              ;Return the control index 07 / 获得窗体句柄
    :00402DF6  19E8FC              FStAdFunc            ;// 取propput过程地址
    :00402DF9  08E8FC              FLdPr                ;[SR]=[LOCAL_0318] //加载过程
    ***********Reference To:[propput]TextBox.Text
                                  |
    :00402DFC  0DA4000000          VCallHresult         ;Call ptr_004020FC // 写入
    :00402E01  1AE8FC              FFree1Ad             ;Push [LOCAL_0318]; Call [[[LOCAL_0318]]+8]; [[LOCAL_0318]]=0
    ******Possible String Ref To->""
                                   |
    :00402E04  1B0100              LitStr               ;Push ptr_00402110  // 装入字符串变量
    :00402E07  21                  FLdPrThis            ;[SR]=[stack2]               \
    :00402E08  0F0403              VCallAd              ;Return the control index 03 / 获得窗体句柄
    :00402E0B  19E8FC              FStAdFunc            ;// 取propput过程地址
    :00402E0E  08E8FC              FLdPr                ;[SR]=[LOCAL_0318] //加载过程
    ***********Reference To:[propput]TextBox.Text
                                  |
    :00402E11  0DA4000000          VCallHresult         ;Call ptr_004020FC // 写入
    :00402E16  1AE8FC              FFree1Ad             ;Push [LOCAL_0318]; Call [[[LOCAL_0318]]+8]; [[LOCAL_0318]]=0
    :00402E19  13                  ExitProcHresult      ;// 退出过程
    :00402E1A  0000                LargeBos             ;IDE beginning of line with 00 byte codes

    [cmdExit.Click]
    :004028A8  FCC813              End                  ;// 结束程序

    算法:asc(mid(name,i,1)) * i mod &H1A * &H4EC6637

          再次感谢MengLong兄弟的帮助!


                                                                           Moodsky[DFCG]
                                                                              2005.02.18


    --------------------------------------------------------------------------------

      ©2000-2004 www.PEdiy.com  All rights reserved.
    By KanXue Studio
    PYG19周年生日快乐!
    wxh9833 该用户已被删除
    发表于 2006-8-13 14:07:46 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表