好友
阅读权限40
听众
最后登录1970-1-1
|
【破文标题】Speed Video Converter 3.1.12 算法分析
【破文作者】tianxj
【作者邮箱】tianxj_2007@126.com
【作者主页】WwW.ChiNaPYG.CoM
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】Speed Video Converter 3.1.12
【软件大小】2592KB
【软件类别】国外软件/视频转换
【软件语言】英文
【更新时间】2008-9-8
【原版下载】自己找一下
【保护方式】注册码
【软件简介】Speed Video Converter是一款小型视频转换工具。 快速的转换速度和易用的用户界面是其卖点。 Speed Video Converter支持各种视频格式,例如AVI(Divx,xDiv), MPEG-4, mpeg(vcd,svcd,dvd兼容), wmv, asf, QuickTime, VOB, DAT。 它支持批量文件转换可以一次点击转换多个文件。
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
"Invalid username or registration code"
**************************************************************
二、用PEiD对Speed Video Converter.exe查壳,为 Microsoft Visual C++ 6.0
**************************************************************
三、运行OD,打开Speed Video Converter.exe,右键—超级字串参考—查找ASCII.
发现"Invalid username or registration code"
==============================================================004030E0 .6A FFPUSH-1004030E2 .68 E8244100PUSHSpeed_Vi.004124E8 ;SE 处理程序安装004030E7 .64:A1 00000000 MOV EAX, DWORD PTR FS:[0]004030ED .50 PUSHEAX004030EE .64:8925 000000>MOV DWORD PTR FS:[0], ESP004030F5 .83EC 08SUB ESP, 8004030F8 .56 PUSHESI004030F9 .8BF1 MOV ESI, ECX004030FB .8D4C24 04LEA ECX, DWORD PTR [ESP+4]004030FF .E8 DEE40000CALL<JMP.&MFC42.#540_CString::CString>00403104 .6A 01PUSH100403106 .8BCE MOV ECX, ESI00403108 .C74424 18 0000>MOV DWORD PTR [ESP+18], 000403110 .E8 8FE60000CALL<JMP.&MFC42.#6334_CWnd::UpdateData>00403115 .E8 14E70000CALL<JMP.&MFC42.#1168_AfxGetModuleState>0040311A .8B48 04MOV ECX, DWORD PTR [EAX+4]0040311D .E8 06E70000CALL<JMP.&MFC42.#1669_CCmdTarget::BeginWait>00403122 .8B46 60MOV EAX, DWORD PTR [ESI+60] ;//试练码00403125 .8B4E 64MOV ECX, DWORD PTR [ESI+64] ;//用户名00403128 .50 PUSHEAX00403129 .51 PUSHECX0040312A .C64424 1C 01 MOV BYTE PTR [ESP+1C], 10040312F .E8 CCFDFFFFCALLSpeed_Vi.00402F00 ;//关键CALL00403134 .83C4 08ADD ESP, 800403137 .85C0 TESTEAX, EAX00403139 .0F95C0 SETNE AL0040313C .84C0 TESTAL, AL0040313E .A2 7CAF4100MOV BYTE PTR [41AF7C], AL00403143 .0F84 93000000JESpeed_Vi.004031DC ;//关键跳转00403149 .8B46 64MOV EAX, DWORD PTR [ESI+64]0040314C .8D4C24 04LEA ECX, DWORD PTR [ESP+4]00403150 .50 PUSHEAX00403151 .68 40A24100PUSHSpeed_Vi.0041A240 ;ASCII "License To:%s "00403156 .51 PUSHECX00403157 .E8 C6E60000CALL<JMP.&MFC42.#2818_CString::Format>0040315C .8B5424 10MOV EDX, DWORD PTR [ESP+10]00403160 .83C4 0CADD ESP, 0C00403163 .8BCE MOV ECX, ESI00403165 .6A 40PUSH4000403167 .68 34A24100PUSHSpeed_Vi.0041A234 ;ASCII "Thank you"0040316C .52 PUSHEDX0040316D .E8 AAE60000CALL<JMP.&MFC42.#4224_CWnd::MessageBoxA>00403172 .8B46 64MOV EAX, DWORD PTR [ESI+64]00403175 .B9 88AE4100MOV ECX, Speed_Vi.0041AE880040317A .50 PUSHEAX0040317B .E8 90E8FFFFCALLSpeed_Vi.00401A1000403180 .8B46 60MOV EAX, DWORD PTR [ESI+60]00403183 .B9 88AE4100MOV ECX, Speed_Vi.0041AE8800403188 .50 PUSHEAX00403189 .E8 B2E8FFFFCALLSpeed_Vi.00401A400040318E .8D4424 04LEA EAX, DWORD PTR [ESP+4]00403192 .8D4C24 08LEA ECX, DWORD PTR [ESP+8]00403196 .50 PUSHEAX00403197 .68 1CA24100PUSHSpeed_Vi.0041A21C ;ASCII "Speed Video Converter "0040319C .51 PUSHECX0040319D .E8 74E60000CALL<JMP.&MFC42.#926_operator+>004031A2 .50 PUSHEAX004031A3 .8D4C24 08LEA ECX, DWORD PTR [ESP+8]004031A7 .C64424 18 02 MOV BYTE PTR [ESP+18], 2004031AC .E8 4BE50000CALL<JMP.&MFC42.#858_CString::operator=>004031B1 .8D4C24 08LEA ECX, DWORD PTR [ESP+8]004031B5 .C64424 14 01 MOV BYTE PTR [ESP+14], 1004031BA .E8 11E40000CALL<JMP.&MFC42.#800_CString::~CString>004031BF .E8 6AE60000CALL<JMP.&MFC42.#1168_AfxGetModuleState>004031C4 .8B40 04MOV EAX, DWORD PTR [EAX+4]004031C7 .8B5424 04MOV EDX, DWORD PTR [ESP+4]004031CB .52 PUSHEDX004031CC .8BC8 MOV ECX, EAX004031CE .8B10 MOV EDX, DWORD PTR [EAX]004031D0 .FF52 7CCALLDWORD PTR [EDX+7C]004031D3 .8BC8 MOV ECX, EAX004031D5 .E8 36E60000CALL<JMP.&MFC42.#6199_CWnd::SetWindowTextA>004031DA .EB 13JMP SHORT Speed_Vi.004031EF004031DC >6A 40PUSH40004031DE .68 14A24100PUSHSpeed_Vi.0041A214 ;ASCII "Sorry"004031E3 .68 E8A14100PUSHSpeed_Vi.0041A1E8 ;invalid username or registration code004031E8 .8BCE MOV ECX, ESI004031EA .E8 2DE60000CALL<JMP.&MFC42.#4224_CWnd::MessageBoxA>004031EF >8BCE MOV ECX, ESI004031F1 .E8 4EE50000CALL<JMP.&MFC42.#4853_CDialog::OnOK>004031F6 .C64424 14 00 MOV BYTE PTR [ESP+14], 0004031FB .E8 2EE60000CALL<JMP.&MFC42.#1168_AfxGetModuleState>00403200 .8B48 04MOV ECX, DWORD PTR [EAX+4]00403203 .E8 02E60000CALL<JMP.&MFC42.#2652_CCmdTarget::EndWaitCu>00403208 .8D4C24 04LEA ECX, DWORD PTR [ESP+4]0040320C .C74424 14 FFFF>MOV DWORD PTR [ESP+14], -100403214 .E8 B7E30000CALL<JMP.&MFC42.#800_CString::~CString>00403219 .8B4C24 0CMOV ECX, DWORD PTR [ESP+C]0040321D .5E POP ESI0040321E .64:890D 000000>MOV DWORD PTR FS:[0], ECX00403225 .83C4 14ADD ESP, 1400403228 .C3 RETN==============================================================00402F00/$8B5424 04MOV EDX, DWORD PTR [ESP+4]00402F04|.56 PUSHESI00402F05|.57 PUSHEDI00402F06|.BF B0AE4100MOV EDI, Speed_Vi.0041AEB000402F0B|.8BF2 MOV ESI, EDX00402F0D|.B9 01000000MOV ECX, 100402F12|.33C0 XOR EAX, EAX00402F14|.F3:A6REPECMPS BYTE PTR ES:[EDI], BYTE PTR [ESI]00402F16|.74 2BJESHORT Speed_Vi.00402F43 ;//用户名为空则跳00402F18|.8B4424 10MOV EAX, DWORD PTR [ESP+10]00402F1C|.53 PUSHEBX00402F1D|.BF B0AE4100MOV EDI, Speed_Vi.0041AEB000402F22|.8BF0 MOV ESI, EAX00402F24|.B9 01000000MOV ECX, 100402F29|.33DB XOR EBX, EBX00402F2B|.F3:A6REPECMPS BYTE PTR ES:[EDI], BYTE PTR [ESI]00402F2D|.5B POP EBX00402F2E|.74 13JESHORT Speed_Vi.00402F43 ;//试练码为空则跳00402F30|.50 PUSHEAX00402F31|.52 PUSHEDX00402F32|.E8 99FDFFFFCALLSpeed_Vi.00402CD0 ;//关键CALL00402F37|.83C4 08ADD ESP, 800402F3A|.F7D8 NEG EAX00402F3C|.1BC0 SBB EAX, EAX00402F3E|.5F POP EDI00402F3F|.F7D8 NEG EAX00402F41|.5E POP ESI00402F42|.C3 RETN00402F43|>5F POP EDI00402F44|.33C0 XOR EAX, EAX00402F46|.5E POP ESI00402F47\.C3 RETN==============================================================00402CD0/$6A FFPUSH-100402CD2|.68 50244100PUSHSpeed_Vi.00412450 ;SE 处理程序安装00402CD7|.64:A1 00000000 MOV EAX, DWORD PTR FS:[0]00402CDD|.50 PUSHEAX00402CDE|.64:8925 000000>MOV DWORD PTR FS:[0], ESP00402CE5|.83EC 14SUB ESP, 1400402CE8|.8B4424 24MOV EAX, DWORD PTR [ESP+24] ;//用户名00402CEC|.53 PUSHEBX00402CED|.55 PUSHEBP00402CEE|.56 PUSHESI00402CEF|.57 PUSHEDI00402CF0|.50 PUSHEAX00402CF1|.8D4C24 18LEA ECX, DWORD PTR [ESP+18]00402CF5|.E8 0EEA0000CALL<JMP.&MFC42.#537_CString::CString>00402CFA|.8D4C24 14LEA ECX, DWORD PTR [ESP+14]00402CFE|.C74424 2C 0000>MOV DWORD PTR [ESP+2C], 000402D06|.E8 F9EA0000CALL<JMP.&MFC42.#6282_CString::TrimLeft>00402D0B|.8D4C24 14LEA ECX, DWORD PTR [ESP+14]00402D0F|.E8 EAEA0000CALL<JMP.&MFC42.#6283_CString::TrimRight>00402D14|.6A 20PUSH2000402D16|.8D4C24 18LEA ECX, DWORD PTR [ESP+18]00402D1A|.E8 D9EA0000CALL<JMP.&MFC42.#2915_CString::GetBuffer>00402D1F|.8B4C24 38MOV ECX, DWORD PTR [ESP+38] ;//试练码00402D23|.8BD8 MOV EBX, EAX00402D25|.51 PUSHECX00402D26|.8D4C24 14LEA ECX, DWORD PTR [ESP+14]00402D2A|.E8 D9E90000CALL<JMP.&MFC42.#537_CString::CString>00402D2F|.8D4C24 10LEA ECX, DWORD PTR [ESP+10]00402D33|.C64424 2C 01 MOV BYTE PTR [ESP+2C], 100402D38|.E8 C7EA0000CALL<JMP.&MFC42.#6282_CString::TrimLeft>00402D3D|.8D4C24 10LEA ECX, DWORD PTR [ESP+10]00402D41|.E8 B8EA0000CALL<JMP.&MFC42.#6283_CString::TrimRight>00402D46|.6A 20PUSH2000402D48|.8D4C24 14LEA ECX, DWORD PTR [ESP+14]00402D4C|.E8 A7EA0000CALL<JMP.&MFC42.#2915_CString::GetBuffer>00402D51|.8BD0 MOV EDX, EAX00402D53|.83CE FFORESI, FFFFFFFF00402D56|.8BFA MOV EDI, EDX00402D58|.8BCE MOV ECX, ESI00402D5A|.33C0 XOR EAX, EAX00402D5C|.895424 20MOV DWORD PTR [ESP+20], EDX00402D60|.F2:AEREPNE SCAS BYTE PTR ES:[EDI]00402D62|.F7D1 NOT ECX00402D64|.49 DEC ECX00402D65|.8BFB MOV EDI, EBX00402D67|.8BE9 MOV EBP, ECX00402D69|.8BCE MOV ECX, ESI00402D6B|.F2:AEREPNE SCAS BYTE PTR ES:[EDI]00402D6D|.F7D1 NOT ECX00402D6F|.49 DEC ECX00402D70|.3BCD CMP ECX, EBP00402D72|.0F87 54010000JASpeed_Vi.00402ECC ;//用户名长度大于试练码的长度则跳00402D78|.8BFB MOV EDI, EBX00402D7A|.8BCE MOV ECX, ESI00402D7C|.F2:AEREPNE SCAS BYTE PTR ES:[EDI]00402D7E|.F7D1 NOT ECX00402D80|.49 DEC ECX00402D81|.0F84 45010000JESpeed_Vi.00402ECC ;//用户名为空则跳00402D87|.8BFA MOV EDI, EDX00402D89|.8BCE MOV ECX, ESI00402D8B|.F2:AEREPNE SCAS BYTE PTR ES:[EDI]00402D8D|.F7D1 NOT ECX00402D8F|.49 DEC ECX00402D90|.0F84 36010000JESpeed_Vi.00402ECC ;//注册码为空则跳00402D96|.894424 38MOV DWORD PTR [ESP+38], EAX00402D9A|>8B5424 38/MOV EDX, DWORD PTR [ESP+38]00402D9E|.8D4C24 34|LEA ECX, DWORD PTR [ESP+34]00402DA2|.8A82 D0A14100|MOV AL, BYTE PTR [EDX+41A1D0];//'I'、'p'、'q',在密码表中未查到字符时用00402DA8|.884424 18|MOV BYTE PTR [ESP+18], AL00402DAC|.E8 31E80000|CALL<JMP.&MFC42.#540_CString::CString>00402DB1|.8BFB |MOV EDI, EBX00402DB3|.83C9 FF|ORECX, FFFFFFFF00402DB6|.33C0 |XOR EAX, EAX00402DB8|.33ED |XOR EBP, EBP00402DBA|.F2:AE|REPNE SCAS BYTE PTR ES:[EDI]00402DBC|.F7D1 |NOT ECX00402DBE|.49 |DEC ECX00402DBF|.C64424 2C 02 |MOV BYTE PTR [ESP+2C], 200402DC4|.74 4B|JESHORT Speed_Vi.00402E1100402DC6|>8A042B |/MOV AL, BYTE PTR [EBX+EBP];//依次取用户名ASC值00402DC9|.33F6 ||XOR ESI, ESI00402DCB|>3A0475 68A1410>||/CMP AL, BYTE PTR [ESI*2+41A168];//隔位取密码表"aqbicHd**fMgkhEiVjZkelRmynBoKpdqTrAsFtWulvjwDxIyPzzAxBpCODkEgFYGmHtIaJrKQLnMsNuOUPGQJRLSNTbUcVfWhXoYwZC"00402DD2|.74 08|||JESHORT Speed_Vi.00402DDC00402DD4|.46 |||INC ESI00402DD5|.83FE 34|||CMP ESI, 3400402DD8|.^ 7C F1||\JLSHORT Speed_Vi.00402DCB00402DDA|.EB 11||JMP SHORT Speed_Vi.00402DED00402DDC|>8A0C75 69A1410>||MOV CL, BYTE PTR [ESI*2+41A169]00402DE3|.51 ||PUSHECX00402DE4|.8D4C24 38||LEA ECX, DWORD PTR [ESP+38]00402DE8|.E8 05EA0000||CALL<JMP.&MFC42.#940_CString::operator+=>00402DED|>83FE 34||CMP ESI, 3400402DF0|.75 0E||JNZ SHORT Speed_Vi.00402E0000402DF2|.8B5424 18||MOV EDX, DWORD PTR [ESP+18]00402DF6|.8D4C24 34||LEA ECX, DWORD PTR [ESP+34]00402DFA|.52 ||PUSHEDX00402DFB|.E8 F2E90000||CALL<JMP.&MFC42.#940_CString::operator+=>00402E00|>8BFB ||MOV EDI, EBX00402E02|.83C9 FF||ORECX, FFFFFFFF00402E05|.33C0 ||XOR EAX, EAX00402E07|.45 ||INC EBP00402E08|.F2:AE||REPNE SCAS BYTE PTR ES:[EDI]00402E0A|.F7D1 ||NOT ECX00402E0C|.49 ||DEC ECX00402E0D|.3BE9 ||CMP EBP, ECX00402E0F|.^ 72 B5|\JBSHORT Speed_Vi.00402DC6 ;//循环,对比正确后取值00402E11|>8B4424 34|MOV EAX, DWORD PTR [ESP+34]00402E15|.8B48 F8|MOV ECX, DWORD PTR [EAX-8]00402E18|.83F9 10|CMP ECX, 1000402E1B|.7D 3A|JGE SHORT Speed_Vi.00402E5700402E1D|.8BC1 |MOV EAX, ECX00402E1F|.B9 10000000|MOV ECX, 1000402E24|.2BC8 |SUB ECX, EAX00402E26|.8D5424 1C|LEA EDX, DWORD PTR [ESP+1C]00402E2A|.51 |PUSHECX00402E2B|.52 |PUSHEDX00402E2C|.B9 B4AE4100|MOV ECX, Speed_Vi.0041AEB4 ;ASCII "Hn<"00402E31|.E8 B6E90000|CALL<JMP.&MFC42.#4129_CString::Left>00402E36|.50 |PUSHEAX00402E37|.8D4C24 38|LEA ECX, DWORD PTR [ESP+38]00402E3B|.C64424 30 03 |MOV BYTE PTR [ESP+30], 300402E40|.E8 A1E90000|CALL<JMP.&MFC42.#939_CString::operator+=>00402E45|.8D4C24 1C|LEA ECX, DWORD PTR [ESP+1C]00402E49|.C64424 2C 02 |MOV BYTE PTR [ESP+2C], 200402E4E|.E8 7DE70000|CALL<JMP.&MFC42.#800_CString::~CString>00402E53|.8B4424 34|MOV EAX, DWORD PTR [ESP+34];//真码00402E57|>8B4C24 20|MOV ECX, DWORD PTR [ESP+20];//试练码00402E5B|.51 |PUSHECX; /s200402E5C|.50 |PUSHEAX; |s100402E5D|.FF15 00464100|CALLDWORD PTR [<&MSVCRT._mbscmp>]; \//比较00402E63|.83C4 08|ADD ESP, 800402E66|.8D4C24 34|LEA ECX, DWORD PTR [ESP+34]00402E6A|.85C0 |TESTEAX, EAX00402E6C|.C64424 2C 01 |MOV BYTE PTR [ESP+2C], 1 ;//标志位赋值00402E71|.74 1B|JESHORT Speed_Vi.00402E8E00402E73|.33F6 |XOR ESI, ESI00402E75|.E8 56E70000|CALL<JMP.&MFC42.#800_CString::~CString>00402E7A|.8B4424 38|MOV EAX, DWORD PTR [ESP+38]00402E7E|.40 |INC EAX00402E7F|.83F8 03|CMP EAX, 300402E82|.894424 38|MOV DWORD PTR [ESP+38], EAX00402E86|.^ 0F8C 0EFFFFFF\JLSpeed_Vi.00402D9A;//循环,比较3次00402E8C|.EB 0AJMP SHORT Speed_Vi.00402E9800402E8E|>BE 01000000MOV ESI, 100402E93|.E8 38E70000CALL<JMP.&MFC42.#800_CString::~CString>00402E98|>8D4C24 10LEA ECX, DWORD PTR [ESP+10]00402E9C|.C64424 2C 00 MOV BYTE PTR [ESP+2C], 000402EA1|.E8 2AE70000CALL<JMP.&MFC42.#800_CString::~CString>00402EA6|.8D4C24 14LEA ECX, DWORD PTR [ESP+14]00402EAA|.C74424 2C FFFF>MOV DWORD PTR [ESP+2C], -100402EB2|.E8 19E70000CALL<JMP.&MFC42.#800_CString::~CString>00402EB7|.8BC6 MOV EAX, ESI00402EB9|.5F POP EDI00402EBA|.5E POP ESI00402EBB|.5D POP EBP00402EBC|.5B POP EBX00402EBD|.8B4C24 14MOV ECX, DWORD PTR [ESP+14]00402EC1|.64:890D 000000>MOV DWORD PTR FS:[0], ECX00402EC8|.83C4 20ADD ESP, 2000402ECB|.C3 RETN00402ECC|>8D4C24 10LEA ECX, DWORD PTR [ESP+10]00402ED0|.C64424 2C 00 MOV BYTE PTR [ESP+2C], 000402ED5|.E8 F6E60000CALL<JMP.&MFC42.#800_CString::~CString>00402EDA|.8D4C24 14LEA ECX, DWORD PTR [ESP+14]00402EDE|.897424 2CMOV DWORD PTR [ESP+2C], ESI00402EE2|.E8 E9E60000CALL<JMP.&MFC42.#800_CString::~CString>00402EE7|.8B4C24 24MOV ECX, DWORD PTR [ESP+24]00402EEB|.5F POP EDI00402EEC|.5E POP ESI00402EED|.5D POP EBP00402EEE|.33C0 XOR EAX, EAX00402EF0|.5B POP EBX00402EF1|.64:890D 000000>MOV DWORD PTR FS:[0], ECX00402EF8|.83C4 20ADD ESP, 2000402EFB\.C3 RETN==============================================================密码表0041A16861 71 62 69 63 48 64 53 65 58 66 4D 67 6B 68 45aqbicHd**fMgkhE0041A17869 56 6A 5A 6B 65 6C 52 6D 79 6E 42 6F 4B 70 64iVjZkelRmynBoKpd0041A18871 54 72 41 73 46 74 57 75 6C 76 6A 77 44 78 49qTrAsFtWulvjwDxI0041A19879 50 7A 7A 41 78 42 70 43 4F 44 6B 45 67 46 59yPzzAxBpCODkEgFY0041A1A847 6D 48 74 49 61 4A 72 4B 51 4C 6E 4D 73 4E 75GmHtIaJrKQLnMsNu0041A1B84F 55 50 47 51 4A 52 4C 53 4E 54 62 55 63 56 66OUPGQJRLSNTbUcVf0041A1C857 68 58 6F 59 77 5A 43WhXoYwZC
**************************************************************
【破解总结】
--------------------------------------------------------------
【算法总结】
算法总结:
1.将用户名的各个字符进行替换
替换规则如下
(1)英文大小写字母进行查表
密码表"aqbicHd**fMgkhEiVjZkelRmynBoKpdqTrAsFtWulvjwDxIyPzzAxBpCODkEgFYGmHtIaJrKQLnMsNuOUPGQJRLSNTbUcVfWhXoYwZC"
找相应字符后取紧接着的下一个字符
(2)非英文字母则统一替换为'I'或'p'或'q'
2.若替换后的长度小于16位,则用"IsaeBREbmpaqdslg"补充到16位
--------------------------------------------------------------
【算法注册机】
易语言代码
.版本 2
.子程序 _按钮1_被单击
.局部变量 M, 文本型
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 a, 文本型
.局部变量 b, 整数型
.局部变量 c, 文本型
.局部变量 x, 文本型
.局部变量 y, 文本型
.局部变量 z, 文本型
M = “aqbicHd**fMgkhEiVjZkelRmynBoKpdqTrAsFtWulvjwDxIyPzzAxBpCODkEgFYGmHtIaJrKQLnMsNuOUPGQJRLSNTbUcVfWhXoYwZC”
.如果 (取文本长度 (编辑框1.内容) = 0)
编辑框2.内容 = “请输入用户名”
.否则
.计次循环首 (取文本长度 (M) ÷ 2, i)
x = x + 取文本中间 (M, 2 × i - 1, 1)
y = y + 取文本中间 (M, 2 × i, 1)
.计次循环尾 ()
.计次循环首 (取文本长度 (编辑框1.内容), j)
a = 取文本中间 (编辑框1.内容, j, 1)
b = 寻找文本 (x, a, 1, 假)
c = c + 取文本中间 (y, b, 1)
.计次循环尾 ()
编辑框2.内容 = 取文本左边 (c + “IsaeBREbmpaqdslg”, 16)
.如果结束
--------------------------------------------------------------
☆此文应学友“絕戀de煩神”之邀而作☆
--------------------------------------------------------------
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! |
|