【破文标题】2nd Speech Center V3.30.7.1129算法分析
【破文作者】tianxj
【作者邮箱】tianxj_2007@126.com
【作者主页】WwW.ChiNaPYG.CoM
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】2nd Speech Center V3.30.7.1129
【软件大小】4.21 MB
【软件语言】英文
【软件类别】国外软件 / 共享软件 / 电子阅读
【更新时间】2007-12-07
【原版下载】自己找一下
【保护方式】注册码
【软件简介】将任何文本转换成声音或MP3/WAVE音频文件的工具。2nd Speech Center是一款率获殊荣的文本到声音的播放器,可以让你听文档,email或网页,而无需再去阅读。除了文本,2nd Speech Center 也支持将文本转换成声音文件以备后用。2nd Speech Center支持超过11种语言,几十种男女声音及机器合成发声。2nd Speech Center会自动监测win的剪贴板并处理其中的内容。此外,2nd Speech Center集成了许多有用的功能,诸如闹铃,事务提醒和强大的命令行。无需担心,直观的VCR风格界面绝对简单易用。
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------
**************************************************************
一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
"Registered Code Error!"
**************************************************************
二、用PEiD对iisc.exe查壳,为 ASPack 2.12 -> Alexey Solodovnikov
用PEiD插件脱壳后,为 Borland Delphi 6.0 - 7.0
**************************************************************
三、运行OD,打开iisc.exe.unpacked_.exe,右键超级字串参考查找ASCII.
==============================================================
00601C58 /. 55 PUSH EBP 00601C59 |. 8BEC MOV EBP, ESP 00601C5B |. 33C9 XOR ECX, ECX 00601C5D |. 51 PUSH ECX 00601C5E |. 51 PUSH ECX 00601C5F |. 51 PUSH ECX 00601C60 |. 51 PUSH ECX 00601C61 |. 51 PUSH ECX 00601C62 |. 51 PUSH ECX 00601C63 |. 51 PUSH ECX 00601C64 |. 53 PUSH EBX 00601C65 |. 8BD8 MOV EBX, EAX 00601C67 |. 33C0 XOR EAX, EAX 00601C69 |. 55 PUSH EBP 00601C6A |. 68 6B1D6000 PUSH iisc_exe.00601D6B 00601C6F |. 64:FF30 PUSH DWORD PTR FS:[EAX] 00601C72 |. 64:8920 MOV DWORD PTR FS:[EAX], ESP 00601C75 |. 8D55 F4 LEA EDX, DWORD PTR [EBP-C] 00601C78 |. 8B83 1C030000 MOV EAX, DWORD PTR [EBX+31C] 00601C7E |. E8 3940EFFF CALL iisc_exe.004F5CBC 00601C83 |. 8B45 F4 MOV EAX, DWORD PTR [EBP-C] 00601C86 |. 8D55 FC LEA EDX, DWORD PTR [EBP-4] 00601C89 |. E8 1E7DE0FF CALL iisc_exe.004099AC 00601C8E |. 8D55 F0 LEA EDX, DWORD PTR [EBP-10] 00601C91 |. 8B83 20030000 MOV EAX, DWORD PTR [EBX+320] 00601C97 |. E8 2040EFFF CALL iisc_exe.004F5CBC 00601C9C |. 8B45 F0 MOV EAX, DWORD PTR [EBP-10] 00601C9F |. 8D55 F8 LEA EDX, DWORD PTR [EBP-8] 00601CA2 |. E8 057DE0FF CALL iisc_exe.004099AC 00601CA7 |. 837D FC 00 CMP DWORD PTR [EBP-4], 0 00601CAB |. 0F84 80000000 JE iisc_exe.00601D31 ; //用户名为空则跳 00601CB1 |. 837D F8 00 CMP DWORD PTR [EBP-8], 0 00601CB5 |. 74 7A JE SHORT iisc_exe.00601D31 ; //注册码为空则跳 00601CB7 |. 8D45 EC LEA EAX, DWORD PTR [EBP-14] 00601CBA |. 50 PUSH EAX 00601CBB |. B9 801D6000 MOV ECX, iisc_exe.00601D80 ; 3 00601CC0 |. BA 8C1D6000 MOV EDX, iisc_exe.00601D8C ; 2nd Speech Center 00601CC5 |. 8B45 FC MOV EAX, DWORD PTR [EBP-4] ; //用户名 00601CC8 |. E8 4BFAFFFF CALL iisc_exe.00601718 ; //算法CALL 00601CCD |. 8B55 EC MOV EDX, DWORD PTR [EBP-14] ; //真码 00601CD0 |. 8B45 F8 MOV EAX, DWORD PTR [EBP-8] ; //假码 00601CD3 |. E8 E033E0FF CALL iisc_exe.004050B8 ; //比较CALL 00601CD8 |. 75 57 JNZ SHORT iisc_exe.00601D31 ; //关键跳转 00601CDA |. C605 40BD6100 01 MOV BYTE PTR [61BD40], 1 00601CE1 |. 8B4D FC MOV ECX, DWORD PTR [EBP-4] 00601CE4 |. BA A81D6000 MOV EDX, iisc_exe.00601DA8 ; RegName 00601CE9 |. B8 B81D6000 MOV EAX, iisc_exe.00601DB8 ; \Software\Microsoft\02k\JJTD4 00601CEE |. E8 5946EAFF CALL iisc_exe.004A634C 00601CF3 |. 8B45 FC MOV EAX, DWORD PTR [EBP-4] 00601CF6 |. 8945 E4 MOV DWORD PTR [EBP-1C], EAX 00601CF9 |. C645 E8 0B MOV BYTE PTR [EBP-18], 0B 00601CFD |. 8D55 E4 LEA EDX, DWORD PTR [EBP-1C] 00601D00 |. 33C9 XOR ECX, ECX 00601D02 |. B8 E01D6000 MOV EAX, iisc_exe.00601DE0 ; Congratulations! \r\nThis software is licensed to %s.\r\nThanks for your supporting. 00601D07 |. E8 5841EAFF CALL iisc_exe.004A5E64 00601D0C |. 8BC3 MOV EAX, EBX 00601D0E |. E8 81DBE8FF CALL iisc_exe.0048F894 00601D13 |. A1 8C866100 MOV EAX, DWORD PTR [61868C] 00601D18 |. 8338 00 CMP DWORD PTR [EAX], 0 00601D1B |. 74 1E JE SHORT iisc_exe.00601D3B 00601D1D |. A1 8C866100 MOV EAX, DWORD PTR [61868C] 00601D22 |. 8B00 MOV EAX, DWORD PTR [EAX] 00601D24 |. 8A15 40BD6100 MOV DL, BYTE PTR [61BD40] 00601D2A |. E8 C1A20000 CALL iisc_exe.0060BFF0 00601D2F |. EB 0A JMP SHORT iisc_exe.00601D3B 00601D31 |> B8 3C1E6000 MOV EAX, iisc_exe.00601E3C ; Registered Code Error! 00601D36 |. E8 F941EAFF CALL iisc_exe.004A5F34 00601D3B |> 33C0 XOR EAX, EAX 00601D3D |. 5A POP EDX 00601D3E |. 59 POP ECX 00601D3F |. 59 POP ECX 00601D40 |. 64:8910 MOV DWORD PTR FS:[EAX], EDX 00601D43 |. 68 721D6000 PUSH iisc_exe.00601D72 00601D48 |> 8D45 EC LEA EAX, DWORD PTR [EBP-14] 00601D4B |. E8 4C2FE0FF CALL iisc_exe.00404C9C 00601D50 |. 8D45 F0 LEA EAX, DWORD PTR [EBP-10] 00601D53 |. BA 02000000 MOV EDX, 2 00601D58 |. E8 632FE0FF CALL iisc_exe.00404CC0 00601D5D |. 8D45 F8 LEA EAX, DWORD PTR [EBP-8] 00601D60 |. BA 02000000 MOV EDX, 2 00601D65 |. E8 562FE0FF CALL iisc_exe.00404CC0 00601D6A \. C3 RETN 00601D6B .^ E9 4828E0FF JMP iisc_exe.004045B8 00601D70 .^ EB D6 JMP SHORT iisc_exe.00601D48 00601D72 . 5B POP EBX 00601D73 . 8BE5 MOV ESP, EBP 00601D75 . 5D POP EBP 00601D76 . C3 RETN ============================================================== 00601718 $ 55 PUSH EBP 00601719 . 8BEC MOV EBP, ESP 0060171B . 51 PUSH ECX 0060171C . B9 06000000 MOV ECX, 6 00601721 > 6A 00 PUSH 0 00601723 . 6A 00 PUSH 0 00601725 . 49 DEC ECX 00601726 .^ 75 F9 JNZ SHORT iisc_exe.00601721 00601728 . 874D FC XCHG DWORD PTR [EBP-4], ECX 0060172B . 53 PUSH EBX 0060172C . 56 PUSH ESI 0060172D . 57 PUSH EDI 0060172E . 894D F4 MOV DWORD PTR [EBP-C], ECX 00601731 . 8955 F8 MOV DWORD PTR [EBP-8], EDX 00601734 . 8945 FC MOV DWORD PTR [EBP-4], EAX 00601737 . 8B45 FC MOV EAX, DWORD PTR [EBP-4] 0060173A . E8 1D3AE0FF CALL iisc_exe.0040515C 0060173F . 8B45 F8 MOV EAX, DWORD PTR [EBP-8] 00601742 . E8 153AE0FF CALL iisc_exe.0040515C 00601747 . 8B45 F4 MOV EAX, DWORD PTR [EBP-C] 0060174A . E8 0D3AE0FF CALL iisc_exe.0040515C 0060174F . 33C0 XOR EAX, EAX 00601751 . 55 PUSH EBP 00601752 . 68 8E186000 PUSH iisc_exe.0060188E 00601757 . 64:FF30 PUSH DWORD PTR FS:[EAX] 0060175A . 64:8920 MOV DWORD PTR FS:[EAX], ESP 0060175D . 33C0 XOR EAX, EAX 0060175F . 55 PUSH EBP 00601760 . 68 37186000 PUSH iisc_exe.00601837 00601765 . 64:FF30 PUSH DWORD PTR FS:[EAX] 00601768 . 64:8920 MOV DWORD PTR FS:[EAX], ESP 0060176B . 8D55 E8 LEA EDX, DWORD PTR [EBP-18] 0060176E . 8B45 F8 MOV EAX, DWORD PTR [EBP-8] 00601771 . E8 3682E0FF CALL iisc_exe.004099AC 00601776 . 8B45 E8 MOV EAX, DWORD PTR [EBP-18] ; //字符串"2nd Speech Center" 00601779 . B1 01 MOV CL, 1 ; //CL=1 0060177B . BA 6E740300 MOV EDX, 3746E ; //EDX=3746E 00601780 . E8 87FEFFFF CALL iisc_exe.0060160C ; //运算CALL 00601785 . 8BD8 MOV EBX, EAX ; //EBX=EAX=27487h 00601787 . 8D55 E4 LEA EDX, DWORD PTR [EBP-1C] 0060178A . 8B45 F4 MOV EAX, DWORD PTR [EBP-C] 0060178D . E8 1A82E0FF CALL iisc_exe.004099AC 00601792 . 8B45 E4 MOV EAX, DWORD PTR [EBP-1C] ; //字符串"3" 00601795 . 33C9 XOR ECX, ECX ; //CL=0 00601797 . BA 01EB0B00 MOV EDX, 0BEB01 ; //EDX=0BEB01 0060179C . E8 6BFEFFFF CALL iisc_exe.0060160C ; //运算CALL 006017A1 . 8BF0 MOV ESI, EAX ; //ESI=EAX=23B52h 006017A3 . 8D55 E0 LEA EDX, DWORD PTR [EBP-20] 006017A6 . 8B45 FC MOV EAX, DWORD PTR [EBP-4] 006017A9 . E8 FE81E0FF CALL iisc_exe.004099AC 006017AE . 8B45 E0 MOV EAX, DWORD PTR [EBP-20] ; //用户名 006017B1 . B1 01 MOV CL, 1 ; //CL=1 006017B3 . 8BD3 MOV EDX, EBX ; //EDX=EBX 006017B5 . E8 52FEFFFF CALL iisc_exe.0060160C ; //运算CALL 006017BA . 8BD8 MOV EBX, EAX ; //EBX=EAX 006017BC . 8D55 DC LEA EDX, DWORD PTR [EBP-24] 006017BF . 8B45 FC MOV EAX, DWORD PTR [EBP-4] 006017C2 . E8 E581E0FF CALL iisc_exe.004099AC 006017C7 . 8B45 DC MOV EAX, DWORD PTR [EBP-24] ; //用户名 006017CA . 33C9 XOR ECX, ECX ; //CL=0 006017CC . 8BD6 MOV EDX, ESI ; //EDX=ESI 006017CE . E8 39FEFFFF CALL iisc_exe.0060160C ; //运算CALL 006017D3 . 8BF0 MOV ESI, EAX ; //ESI=EAX 006017D5 . 8D45 F0 LEA EAX, DWORD PTR [EBP-10] 006017D8 . 50 PUSH EAX 006017D9 . 8D55 D8 LEA EDX, DWORD PTR [EBP-28] 006017DC . 8BC3 MOV EAX, EBX 006017DE . E8 2586E0FF CALL iisc_exe.00409E08 ; //将EAX转10进制字符形式 006017E3 . 8B45 D8 MOV EAX, DWORD PTR [EBP-28] 006017E6 . B9 05000000 MOV ECX, 5 006017EB . BA 01000000 MOV EDX, 1 006017F0 . E8 D739E0FF CALL iisc_exe.004051CC ; //取1-5位 006017F5 . 8D45 EC LEA EAX, DWORD PTR [EBP-14] 006017F8 . 50 PUSH EAX 006017F9 . 8D55 D4 LEA EDX, DWORD PTR [EBP-2C] 006017FC . 8BC6 MOV EAX, ESI 006017FE . E8 0586E0FF CALL iisc_exe.00409E08 ; //将EAX转10进制字符形式 00601803 . 8B45 D4 MOV EAX, DWORD PTR [EBP-2C] 00601806 . B9 05000000 MOV ECX, 5 0060180B . BA 02000000 MOV EDX, 2 00601810 . E8 B739E0FF CALL iisc_exe.004051CC ; //取2-6位 00601815 . FF75 EC PUSH DWORD PTR [EBP-14] 00601818 . 68 A8186000 PUSH iisc_exe.006018A8 ; - 0060181D . FF75 F0 PUSH DWORD PTR [EBP-10] 00601820 . 8B45 08 MOV EAX, DWORD PTR [EBP+8] 00601823 . BA 03000000 MOV EDX, 3 00601828 . E8 FF37E0FF CALL iisc_exe.0040502C ; //相连 0060182D . 33C0 XOR EAX, EAX 0060182F . 5A POP EDX 00601830 . 59 POP ECX 00601831 . 59 POP ECX 00601832 . 64:8910 MOV DWORD PTR FS:[EAX], EDX 00601835 . EB 3C JMP SHORT iisc_exe.00601873 00601837 .^ E9 C82AE0FF JMP iisc_exe.00404304 0060183C . 8D55 D0 LEA EDX, DWORD PTR [EBP-30] 0060183F . B8 6E740300 MOV EAX, 3746E 00601844 . E8 BF85E0FF CALL iisc_exe.00409E08 00601849 . FF75 D0 PUSH DWORD PTR [EBP-30] 0060184C . 68 A8186000 PUSH iisc_exe.006018A8 ; - 00601851 . 8D55 CC LEA EDX, DWORD PTR [EBP-34] 00601854 . B8 01EB0B00 MOV EAX, 0BEB01 00601859 . E8 AA85E0FF CALL iisc_exe.00409E08 0060185E . FF75 CC PUSH DWORD PTR [EBP-34] 00601861 . 8B45 08 MOV EAX, DWORD PTR [EBP+8] 00601864 . BA 03000000 MOV EDX, 3 00601869 . E8 BE37E0FF CALL iisc_exe.0040502C 0060186E . E8 F92DE0FF CALL iisc_exe.0040466C 00601873 > 33C0 XOR EAX, EAX 00601875 . 5A POP EDX 00601876 . 59 POP ECX 00601877 . 59 POP ECX 00601878 . 64:8910 MOV DWORD PTR FS:[EAX], EDX 0060187B . 68 95186000 PUSH iisc_exe.00601895 00601880 > 8D45 CC LEA EAX, DWORD PTR [EBP-34] 00601883 . BA 0D000000 MOV EDX, 0D 00601888 . E8 3334E0FF CALL iisc_exe.00404CC0 0060188D . C3 RETN 0060188E .^ E9 252DE0FF JMP iisc_exe.004045B8 00601893 .^ EB EB JMP SHORT iisc_exe.00601880 00601895 . 5F POP EDI 00601896 . 5E POP ESI 00601897 . 5B POP EBX 00601898 . 8BE5 MOV ESP, EBP 0060189A . 5D POP EBP 0060189B . C2 0400 RETN 4 ============================================================== 0060160C $ 55 PUSH EBP 0060160D . 8BEC MOV EBP, ESP 0060160F . 83C4 F4 ADD ESP, -0C 00601612 . 53 PUSH EBX 00601613 . 56 PUSH ESI 00601614 . 57 PUSH EDI 00601615 . 884D F7 MOV BYTE PTR [EBP-9], CL ; //[EBP-9]=CL 00601618 . 8955 F8 MOV DWORD PTR [EBP-8], EDX ; //[EBP-8]=EDX 0060161B . 8945 FC MOV DWORD PTR [EBP-4], EAX 0060161E . 8B45 FC MOV EAX, DWORD PTR [EBP-4] ; //字符串"2nd Speech Center","3",用户名 00601621 . E8 363BE0FF CALL iisc_exe.0040515C 00601626 . 33C0 XOR EAX, EAX 00601628 . 55 PUSH EBP 00601629 . 68 08176000 PUSH iisc_exe.00601708 0060162E . 64:FF30 PUSH DWORD PTR FS:[EAX] 00601631 . 64:8920 MOV DWORD PTR FS:[EAX], ESP 00601634 . 33C0 XOR EAX, EAX 00601636 . 55 PUSH EBP 00601637 . 68 D6166000 PUSH iisc_exe.006016D6 0060163C . 64:FF30 PUSH DWORD PTR FS:[EAX] 0060163F . 64:8920 MOV DWORD PTR FS:[EAX], ESP 00601642 . 33DB XOR EBX, EBX ; //EBX=0 00601644 . 837D FC 00 CMP DWORD PTR [EBP-4], 0 00601648 . 74 70 JE SHORT iisc_exe.006016BA 0060164A . 8B45 FC MOV EAX, DWORD PTR [EBP-4] ; //字符串 0060164D . E8 1A39E0FF CALL iisc_exe.00404F6C ; //取字符串长度 00601652 . 8BF0 MOV ESI, EAX ; //ESI=EAX=字符串长度 00601654 . 85F6 TEST ESI, ESI 00601656 . 7E 3B JLE SHORT iisc_exe.00601693 00601658 . B9 01000000 MOV ECX, 1 ; //ECX=1 0060165D > 807D F7 00 CMP BYTE PTR [EBP-9], 0 ; //[EBP-9]与0比较 00601661 . 74 15 JE SHORT iisc_exe.00601678 ; //相等则跳 00601663 . 8BC1 MOV EAX, ECX ; //EAX=ECX 00601665 . F7E8 IMUL EAX ; //EAX=EAX*EAX 00601667 . 03C0 ADD EAX, EAX ; //EAX=EAX+EAX 00601669 . 40 INC EAX ; //EAX=EAX+1 0060166A . 8B55 FC MOV EDX, DWORD PTR [EBP-4] ; //字符串 0060166D . 0FB6540A FF MOVZX EDX, BYTE PTR [EDX+ECX-1] ; //依次取字符串ASC值 00601672 . F7EA IMUL EDX ; //EAX=EAX*EDX 00601674 . 03D8 ADD EBX, EAX ; //EBX=EBX+EAX 00601676 . EB 17 JMP SHORT iisc_exe.0060168F 00601678 > 8B45 FC MOV EAX, DWORD PTR [EBP-4] ; //字符串 0060167B . 0FB64408 FF MOVZX EAX, BYTE PTR [EAX+ECX-1] ; //依次取字符串ASC值 00601680 . F7E8 IMUL EAX ; //EAX=EAX*EAX 00601682 . 0FBFC0 MOVSX EAX, AX 00601685 . BF A0860100 MOV EDI, 186A0 ; //EDI=186A0 0060168A . 99 CDQ 0060168B . F7FF IDIV EDI ; //EAX/EDI,商送EAX,余送EDX 0060168D . 03DA ADD EBX, EDX ; //EBX=EDX 0060168F > 41 INC ECX ; //ECX=ECX+1 00601690 . 4E DEC ESI ; //ESI=ESI-1 00601691 .^ 75 CA JNZ SHORT iisc_exe.0060165D ; //循环 00601693 > 8BC3 MOV EAX, EBX ; //EAX=EBX 00601695 . B9 10270000 MOV ECX, 2710 ; //ECX=2710 0060169A . 99 CDQ 0060169B . F7F9 IDIV ECX ; //EAX/ECX,商送EAX,余送EDX 0060169D . 8BC2 MOV EAX, EDX ; //EAX=EDX 0060169F . F7E8 IMUL EAX ; //EAX=EAX*EAX 006016A1 . 0345 F8 ADD EAX, DWORD PTR [EBP-8] ; //EAX=EAX+[EBP-8] 006016A4 . 8BD8 MOV EBX, EAX ; //EBX=EAX 006016A6 . 8BC3 MOV EAX, EBX ; //EAX=EBX 006016A8 . B9 A0860100 MOV ECX, 186A0 ; //ECX=186A0 006016AD . 99 CDQ 006016AE . F7F9 IDIV ECX ; //EAX/ECX,商送EAX,余送EDX 006016B0 . 81C2 A0860100 ADD EDX, 186A0 ; //EDX=EDX+186A0 006016B6 . 8BDA MOV EBX, EDX ; //EDX=EDX 006016B8 . EB 12 JMP SHORT iisc_exe.006016CC 006016BA > 807D F7 00 CMP BYTE PTR [EBP-9], 0 006016BE . 74 07 JE SHORT iisc_exe.006016C7 006016C0 . BB 6E740300 MOV EBX, 3746E 006016C5 . EB 05 JMP SHORT iisc_exe.006016CC 006016C7 > BB 01EB0B00 MOV EBX, 0BEB01 006016CC > 33C0 XOR EAX, EAX 006016CE . 5A POP EDX 006016CF . 59 POP ECX 006016D0 . 59 POP ECX 006016D1 . 64:8910 MOV DWORD PTR FS:[EAX], EDX 006016D4 . EB 1C JMP SHORT iisc_exe.006016F2 006016D6 .^ E9 292CE0FF JMP iisc_exe.00404304 006016DB . 807D F7 00 CMP BYTE PTR [EBP-9], 0 006016DF . 74 07 JE SHORT iisc_exe.006016E8 006016E1 . BB 6E740300 MOV EBX, 3746E 006016E6 . EB 05 JMP SHORT iisc_exe.006016ED 006016E8 > BB 01EB0B00 MOV EBX, 0BEB01 006016ED > E8 7A2FE0FF CALL iisc_exe.0040466C 006016F2 > 33C0 XOR EAX, EAX 006016F4 . 5A POP EDX 006016F5 . 59 POP ECX 006016F6 . 59 POP ECX 006016F7 . 64:8910 MOV DWORD PTR FS:[EAX], EDX 006016FA . 68 0F176000 PUSH iisc_exe.0060170F 006016FF > 8D45 FC LEA EAX, DWORD PTR [EBP-4] 00601702 . E8 9535E0FF CALL iisc_exe.00404C9C 00601707 . C3 RETN 00601708 .^ E9 AB2EE0FF JMP iisc_exe.004045B8 0060170D .^ EB F0 JMP SHORT iisc_exe.006016FF 0060170F . 8BC3 MOV EAX, EBX ; //EAX=EBX 00601711 . 5F POP EDI 00601712 . 5E POP ESI 00601713 . 5B POP EBX 00601714 . 8BE5 MOV ESP, EBP 00601716 . 5D POP EBP 00601717 . C3 RETN
【破解总结】
--------------------------------------------------------------
【算法总结】
将字符串"2nd Speech Center","3",用户名,通过一个运算CALL计算,分别取中间的5位用"-"相连即是注册码
--------------------------------------------------------------
【算法注册机】
〖易语言代码〗
.版本 2
.子程序 _按钮1_被单击
.局部变量 a, 文本型
.局部变量 b, 文本型
.局部变量 c, 文本型
.局部变量 d, 整数型
.局部变量 e, 整数型
.局部变量 f, 整数型
.局部变量 g, 整数型
.局部变量 x, 整数型
.局部变量 y, 整数型
.局部变量 i, 整数型
.如果 (取文本长度 (编辑框1.内容) = 0)
信息框 (“请输入用户名!”, 0, “错误”)
.否则
a = “2nd Speech Center”
b = “3”
c = 编辑框1.内容
.计次循环首 (取文本长度 (a), i)
d = i
d = d × d
d = d + d
d = d + 1
e = 取代码 (a, i)
d = d × e
f = f + d
.计次循环尾 ()
f = f % 十六进制到十进制 (“2710”)
f = f × f
f = f + 十六进制到十进制 (“3746E”)
f = f % 十六进制到十进制 (“186A0”)
f = f + 十六进制到十进制 (“186A0”)
.计次循环首 (取文本长度 (b), i)
e = 取代码 (b, i)
e = e × e
e = e % 十六进制到十进制 (“186A0”)
g = g + e
.计次循环尾 ()
g = g % 十六进制到十进制 (“2710”)
g = g × g
g = g + 十六进制到十进制 (“BEB01”)
g = g % 十六进制到十进制 (“186A0”)
g = g + 十六进制到十进制 (“186A0”)
.计次循环首 (取文本长度 (c), i)
d = i
d = d × d
d = d + d
d = d + 1
e = 取代码 (c, i)
d = d × e
x = x + d
.计次循环尾 ()
x = x % 十六进制到十进制 (“2710”)
x = x × x
x = x + f
x = x % 十六进制到十进制 (“186A0”)
x = x + 十六进制到十进制 (“186A0”)
.计次循环首 (取文本长度 (c), i)
e = 取代码 (c, i)
e = e × e
e = e % 十六进制到十进制 (“186A0”)
y = y + e
.计次循环尾 ()
y = y % 十六进制到十进制 (“2710”)
y = y × y
y = y + g
y = y % 十六进制到十进制 (“186A0”)
y = y + 十六进制到十进制 (“186A0”)
编辑框2.内容 = 取文本中间 (到文本 (y), 2, 5) + “-” + 取文本中间 (到文本 (x), 1, 5)
.如果结束
.子程序 十六进制到十进制, 整数型
.参数 十六进制文本, 文本型
.局部变量 文本, 文本型
.局部变量 最终值, 整数型
.局部变量 i, 整数型, , , 中间循环变量
.局部变量 临时数值, 文本型, , , 每一位上的值
文本 = 到小写 (十六进制文本)
.变量循环首 (1, 取文本长度 (文本), 1, i)
临时数值 = 取文本中间 (文本, i, 1)
.如果 (取代码 (临时数值, ) ≥ 取代码 (“a”, ) 且 取代码 (临时数值, ) ≤ 取代码 (“f”, ))
最终值 = 最终值 + (取代码 (临时数值, ) - 取代码 (“a”, ) + 10) × 求次方 (16, 取文本长度 (文本) - i)
.否则
最终值 = 最终值 + 到数值 (临时数值) × 求次方 (16, 取文本长度 (文本) - i)
.如果结束
.变量循环尾 ()
返回 (最终值)
--------------------------------------------------------------
【注册信息】
保存在[HKEY_USERS\******\Software\Microsoft\02k\JJTD4]
--------------------------------------------------------------
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
_/_/_/ _/ _/ _/_/_/
_/ _/ _/ _/ _/
_/_/_/ _/_/ _/_/_/_/
_/ _/ _/ _/
_/ _/ _/_/_/ _/ tianxj