老文章档案 · 2003 年

拼音大师1.81 之 算法浅探!

破解教程 · 算法分析 · 2003-08-06 · 作者:fly 人气: · 出处:赢政天下整理收藏)

下载地址: http://www.skycn.com/soft/7579.html

软件大小: 1877 KB

软件语言: 简体中文

软件类别: 国产软件 / 共享版 / 文科工具

应用平台: Win9x/NT/2000/XP

加入时间: 2003-01-08 14:59:46

下载次数: 6065

推荐等级: * * *

开 发 商: http://authorware.myrice.com/pyds/index

【软件简介】:《拼音大师》是一个专门用于将汉字转换为汉语拼音的软件。它具有以下功能:1、拥有大容量汉字库,包括简体字库和繁体字库,所以既可以查简体字拼音,又可以查繁体字拼音。 2、本软件可以将整篇文章迅速转换成带有声调的真正的拼音,而不像word中的拼音标注(如zhu2)。 3、软件具有智能化识别功能,能较好地识别多音字,此功能远超过word软件中的拼音指南。如百色、倘徉、龟兹等不常用的多音字也能很好地识别。

【软件限制】:试用次数、功能限制

【作者声明】:小弟初学Crack,只是感兴趣,没有其它目的。失误之处敬请各大侠赐教!

【破解工具】:TRW2000娃娃修改版、Ollydbg1.09 Ruiwin汉化版、W32Dasm8.93黄金版

—————————————————————————————

【过 程】:

呵呵,好久没来向大家学习了,贴上一篇曾在【OCN】发的解文,敬请大侠们赐教!

从来没有分析过VB程序的算法,何况这个东东还有浮点运算!我怕VB,这下更晕了!

声明:我很菜,下面分析所涉及的参数均是在我的机子上看到的,我也不知道主要参数是否是相同的,请大家自己看看!如有错误,欢迎大家指教!!!

机器码:682492983

试炼码:13572468

—————————————————————————————

0046AA61 . DD1C24 FSTP QWORD PTR SS:[ESP]

====>ST=682492983.00000000000

我的机器码!

0046AA64 . E8 996FF9FF CALL <JMP.&MSVBVM60.#583>

====>关键CALL!进入!记作一

====>求机器码弧度的余弦函数COS值!

结果=0.6844687377965869056

0046AA69 . DC0D B0124000 FMUL QWORD PTR DS:[4012B0]

====>与1000000000.000000相乘!

====>ST=0.6844687377965869056

====>DS:[4012B0]=1000000000.000000

====>结果=684468737.79658690560

0046AA6F . C745 B8 050000>MOV DWORD PTR SS:[EBP-48],5

0046AA76 . DD5D C0 FSTP QWORD PTR SS:[EBP-40]

====>684468737.79658690560

0046AA79 . DFE0 FSTSW AX

0046AA7B . A8 0D TEST AL,0D

0046AA7D . 0F85 BE020000 JNZ 拼音大师.0046AD41

0046AA83 . 8D45 B8 LEA EAX,DWORD PTR SS:[EBP-48]

0046AA86 . 50 PUSH EAX

0046AA87 . 8D45 A8 LEA EAX,DWORD PTR SS:[EBP-58]

0046AA8A . 50 PUSH EAX

0046AA8B . E8 786FF9FF CALL <JMP.&MSVBVM60.#613>

0046AA90 . 6A 02 PUSH 2

0046AA92 . 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68]

0046AA95 . 5E POP ESI ; 0053A404

0046AA96 . C745 A0 090000>MOV DWORD PTR SS:[EBP-60],9

0046AA9D . 50 PUSH EAX

0046AA9E . 8D45 A8 LEA EAX,DWORD PTR SS:[EBP-58]

0046AAA1 . 56 PUSH ESI

0046AAA2 . 50 PUSH EAX

0046AAA3 . 8D45 88 LEA EAX,DWORD PTR SS:[EBP-78]

0046AAA6 . 8975 98 MOV DWORD PTR SS:[EBP-68],ESI

0046AAA9 . 50 PUSH EAX

0046AAAA . E8 2F6FF9FF CALL <JMP.&MSVBVM60.#632>

0046AAAF . 8D8F 8C000000 LEA ECX,DWORD PTR DS:[EDI+8C]

0046AAB5 . 8D55 88 LEA EDX,DWORD PTR SS:[EBP-78]

0046AAB8 . E8 F16EF9FF CALL <JMP.&MSVBVM60.__vbaVarMove>

0046AABD . 8D4D CC LEA ECX,DWORD PTR SS:[EBP-34]

0046AAC0 . E8 D76EF9FF CALL <JMP.&MSVBVM60.__vbaFreeStr>

0046AAC5 . 8D4D C8 LEA ECX,DWORD PTR SS:[EBP-38]

0046AAC8 . E8 E76EF9FF CALL <JMP.&MSVBVM60.__vbaFreeObj>

0046AACD . 8D45 88 LEA EAX,DWORD PTR SS:[EBP-78]

0046AAD0 . 50 PUSH EAX

0046AAD1 . 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68]

0046AAD4 . 50 PUSH EAX

0046AAD5 . 8D45 A8 LEA EAX,DWORD PTR SS:[EBP-58]

0046AAD8 . 50 PUSH EAX

0046AAD9 . 8D45 B8 LEA EAX,DWORD PTR SS:[EBP-48]

0046AADC . 50 PUSH EAX

0046AADD . 6A 04 PUSH 4

0046AADF . E8 8A6FF9FF CALL <JMP.&MSVBVM60.__vbaFreeVar>

0046AAE4 . 83C4 14 ADD ESP,14

0046AAE7 . 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]

0046AAEA . C745 80 2C0600>MOV DWORD PTR SS:[EBP-80],62C

0046AAF1 . 89B5 78FFFFFF MOV DWORD PTR SS:[EBP-88],ESI

0046AAF7 . 50 PUSH EAX

0046AAF8 . 8D85 78FFFFFF LEA EAX,DWORD PTR SS:[EBP-88]

0046AAFE . 50 PUSH EAX

0046AAFF . 8D85 68FFFFFF LEA EAX,DWORD PTR SS:[EBP-98]

0046AB05 . 50 PUSH EAX

0046AB06 . 8D85 40FFFFFF LEA EAX,DWORD PTR SS:[EBP-C0]

0046AB0C . 50 PUSH EAX

0046AB0D . 8D85 50FFFFFF LEA EAX,DWORD PTR SS:[EBP-B0]

0046AB13 . 50 PUSH EAX

0046AB14 . 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]

0046AB17 . 50 PUSH EAX

0046AB18 . C785 70FFFFFF >MOV DWORD PTR SS:[EBP-90],19

0046AB22 . 89B5 68FFFFFF MOV DWORD PTR SS:[EBP-98],ESI

0046AB28 . E8 AB6EF9FF CALL <JMP.&MSVBVM60.__vbaVarForI>9sm

0046AB2D > 3BC3 CMP EAX,EBX

0046AB2F . 8D87 8C000000 LEA EAX,DWORD PTR DS:[EDI+8C]

0046AB35 . 50 PUSH EAX

0046AB36 . 74 3B JE SHORT 拼音大师.0046AB73

0046AB38 . 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]

0046AB3B . 50 PUSH EAX

0046AB3C . 8D45 B8 LEA EAX,DWORD PTR SS:[EBP-48]

0046AB3F . 50 PUSH EAX

0046AB40 . E8 B16EF9FF CALL <JMP.&MSVBVM60.__vbaVarAdd>

====>相加运算!关键CALL!进入!记作二

————————————————————————————————

一、进入46AA64 CALL <JMP.&MSVBVM60.#583>

73451B0C > 55 PUSH EBP

73451B0D 8BEC MOV EBP,ESP

73451B0F DD45 08 FLD QWORD PTR SS:[EBP+8]

====>682492983.0000000

73451B12 D9E1 FABS

====>求绝对值

73451B14 DC1D E0063A73 FCOMP QWORD PTR DS:[733A06E0]

73451B1A DFE0 FSTSW AX

73451B1C 9E SAHF

73451B1D 72 07 JB SHORT MSVBVM60.73451B26

73451B1F 6A 05 PUSH 5

73451B21 E8 3338F4FF CALL MSVBVM60.73395359

73451B26 DD45 08 FLD QWORD PTR SS:[EBP+8]

====>682492983.00000000000

73451B29 D9FF FCOS

====>求机器码弧度的余弦函数COS值

73451B2B DD5D 08 FSTP QWORD PTR SS:[EBP+8]

====>ST=0.6844687377965869056

呵呵,与计数器算的有点不同:0.684468737795946347159876626831465 不知为何?

73451B2E DD45 08 FLD QWORD PTR SS:[EBP+8]

73451B31 5D POP EBP ; 拼音大师.0046AA69

73451B32 C2 0800 RETN 8

————————————————————————————————

二-1、进入46AB40 CALL <JMP.&MSVBVM60.__vbaVarAdd>

7347902D > FF7424 04 PUSH DWORD PTR SS:[ESP+4]

73479031 FF7424 0C PUSH DWORD PTR SS:[ESP+C]

73479035 FF7424 14 PUSH DWORD PTR SS:[ESP+14]

73479039 FF15 14FE4773 CALL DWORD PTR DS:[7347FE14]; OLEAUT32.VarAdd

====>关键CALL!进入!

7347903F 85C0 TEST EAX,EAX

73479041 7D 0C JGE SHORT MSVBVM60.7347904F

————————————————————————————————

二-2、进入73479039 CALL DWORD PTR DS:[7347FE14]; OLEAUT32.VarAdd

7FEFCB72 > 55 PUSH EBP

7FEFCB73 8BEC MOV EBP,ESP

7FEFCB75 83EC 28 SUB ESP,28

7FEFCB78 8365 D8 00 AND DWORD PTR SS:[EBP-28],0

7FEFCB7C 53 PUSH EBX

7FEFCB7D 56 PUSH ESI

7FEFCB7E 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]

7FEFCB81 8365 E8 00 AND DWORD PTR SS:[EBP-18],0

7FEFCB85 57 PUSH EDI

7FEFCB86 8B7D 0C MOV EDI,DWORD PTR SS:[EBP+C]

7FEFCB89 0FB70E MOVZX ECX,WORD PTR DS:[ESI]

7FEFCB8C 0FB707 MOVZX EAX,WORD PTR DS:[EDI]

7FEFCB8F 83F8 11 CMP EAX,11

7FEFCB92 77 46 JA SHORT OLEAUT32.7FEFCBDA

…… …… 省略 …… ……

7FEFCC2B E8 D49AFAFF CALL OLEAUT32.7FEA6704

7FEFCC30 85C0 TEST EAX,EAX

7FEFCC32 8945 08 MOV DWORD PTR SS:[EBP+8],EAX

7FEFCC35 ^7C BC JL SHORT OLEAUT32.7FEFCBF3

7FEFCC37 8D7D D8 LEA EDI,DWORD PTR SS:[EBP-28]

7FEFCC3A ^EB 93 JMP SHORT OLEAUT32.7FEFCBCF

7FEFCC3C C745 08 05000280 MOV DWORD PTR SS:[EBP+8],8002000>

7FEFCC43 ^EB CE JMP SHORT OLEAUT32.7FEFCC13

7FEFCC45 6A 01 PUSH 1

7FEFCC47 5B POP EBX ; MSVBVM60.7347903F

7FEFCC48 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]

7FEFCC4B 66:8918 MOV WORD PTR DS:[EAX],BX

7FEFCC4E 33C0 XOR EAX,EAX

7FEFCC50 ^EB CA JMP SHORT OLEAUT32.7FEFCC1C

…… …… 省略 …… ……

7FEFCE2C 6A 05 PUSH 5

7FEFCE2E 6A 00 PUSH 0

7FEFCE30 53 PUSH EBX

7FEFCE31 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]

7FEFCE34 57 PUSH EDI

7FEFCE35 50 PUSH EAX

7FEFCE36 E8 D547F8FF CALL OLEAUT32.VariantChangeTypeE>

7FEFCE3B 85C0 TEST EAX,EAX

7FEFCE3D 8945 08 MOV DWORD PTR SS:[EBP+8],EAX

7FEFCE40 ^0F8C ADFDFFFF JL OLEAUT32.7FEFCBF3

7FEFCE46 DD45 E0 FLD QWORD PTR SS:[EBP-20]

====>1、SS:[EBP-20]=25.00000000000000

7FEFCE49 DC45 F0 FADD QWORD PTR SS:[EBP-10]

====>1、25.00000000000000+684468737.0000000=684468762.00000000000

7FEFCE4C DD55 F8 FST QWORD PTR SS:[EBP-8]

7FEFCE4F 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]

7FEFCE52 B8 0000F07F MOV EAX,OLEAUT32.7FF00000

7FEFCE57 23C8 AND ECX,EAX

7FEFCE59 6A 05 PUSH 5

7FEFCE5B 3BC8 CMP ECX,EAX

7FEFCE5D 5B POP EBX

7FEFCE5E 0F85 E0000000 JNZ OLEAUT32.7FEFCF44

7FEFCE64 DDD8 FSTP ST

7FEFCE66 DBE2 FCLEX

7FEFCE68 C745 08 0A000280 MOV DWORD PTR SS:[EBP+8],8002000A

7FEFCE6F ^E9 9FFDFFFF JMP OLEAUT32.7FEFCC13

7FEFCE74 DB46 08 FILD DWORD PTR DS:[ESI+8]

7FEFCE77 D847 08 FADD DWORD PTR DS:[EDI+8]

7FEFCE7A ^E9 61FFFFFF JMP OLEAUT32.7FEFCDE0

7FEFCE7F D946 08 FLD DWORD PTR DS:[ESI+8]

7FEFCE82 DA47 08 FIADD DWORD PTR DS:[EDI+8]

7FEFCE85 ^E9 56FFFFFF JMP OLEAUT32.7FEFCDE0

7FEFCE8A 0FB647 08 MOVZX EAX,BYTE PTR DS:[EDI+8]

7FEFCE8E 8945 08 MOV DWORD PTR SS:[EBP+8],EAX

7FEFCE91 DB45 08 FILD DWORD PTR SS:[EBP+8]

<====由下面的7FEFCEA8 跳来!

7FEFCE94 DC46 08 FADD QWORD PTR DS:[ESI+8]

====>依次与25*n累加!

====>2、50.00000000000000+684468762.00000000000=684468812.00000000000

====>3、75.00000000000000+684468812.00000000000=684468887.00000000000

====>4、100.00000000000000+684468887.00000000000=684468987.00000000000

====>5、125.00000000000000000+684468987.0000000=684469112.00000000000

====>6、150.00000000000000000+684469112.00000000000=684469262.00000000000

====>7、175.00000000000000000+684469262.00000000000=684469437.00000000000

====>8、200.00000000000000000+684469437.00000000000=684469637.00000000000

====>9、225.00000000000000000+684469637.00000000000=684469862.00000000000

====>10、250.00000000000000000+684469862.00000000000=684470112.00000000000

====>11、275.00000000000000000+684470112.00000000000=684470387.00000000000

====>12、300.00000000000000000+684470387.00000000000=684470687.00000000000

====>13、325.00000000000000000+684470687.00000000000=684471012.00000000000

…… …… 继续累加 共63次 …… ……

====>63、1575.00000000000000000+684517562.00000000000=684519137.00000000000

7FEFCE97 ^EB B3 JMP SHORT OLEAUT32.7FEFCE4C

7FEFCE99 0FBF47 08 MOVSX EAX,WORD PTR DS:[EDI+8]

7FEFCE9D 8945 08 MOV DWORD PTR SS:[EBP+8],EAX

7FEFCEA0 DB45 08 FILD DWORD PTR SS:[EBP+8]

====>2、 00000032 (即:十进制=50)

====>3、 0000004B

====>4、 00000064

====>5、 0000007D

====>6、 00000096

====>7、 000000AF

====>8、 000000C8

====>9、 000000E1

====>10、 000000FA

====>11、 00000113

====>12、 0000012C

====>13、 00000145

…… …… 继续取19(H)*n,直至n=63 …… ……

====>63、 00000627

7FEFCEA3 ^EB EF JMP SHORT OLEAUT32.7FEFCE94

7FEFCEA5 DB47 08 FILD DWORD PTR DS:[EDI+8]

7FEFCEA8 ^EB EA JMP SHORT OLEAUT32.7FEFCE94

====>向上跳至7FEFCE94进行加法运算!

—————————————————————————————

【总 结】:

1、求机器码682492983弧度的余弦函数COS值=0.6844687377965869056

2、0.6844687377965869056 * 1000000000.000000=684468737.79658690560

3、取整684468737+25+25*2+25*3+25*4……25*63=684468737+50400=684519137

4、684519137就是与我们输入的试炼码-1010后比较的值,如相等则OK!

5、所以真码:684519137 + 1010=684520147

呵呵,为了这点东西我这菜鸟可是忙活了好几个晚上呀!累!

—————————————————————————————

【注册信息保存】:

REGEDIT4

[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\pyds\zc]

"pyds"="true"

—————————————————————————————

【整 理】:

机器码:682492983

试炼码:684519137+1010=684520147

—————————————————————————————

注册机源码!

一、C++注册机

——作者:winroot

#include<iostream.h>

#include<math.h>

#include<iomanip.h>

void main()

{

long double code,a,b,d,e,serials;

int i;

cout <<"please input your code:"<<endl;

cin >>code;

a=cos(code);

b=abs(a*1000000000);

d=0;

for (i=1;i<64;i++)

d=d+25*i;

e=b+d;

serials=e+1010;

cout <<"your serials is :"<<setprecision(9)<<serials<<endl;

}

16:28 03-2-18

__________________________________________________________

二、VB注册机

——作者:ruiwin

源代码:

Private Sub xpcmdbutton1_Click()

Dim a, b, c, d

If Text1 = "" Then Exit Sub

a = Text1.Text

a = Abs(Cos(a) * 1000000000#)

For I = 1 To 63

b = 25 * I

c = c + b

Next I

d = Int(a + c + 1010)

Text2.Text = d

End Sub

13:24 03-2-20

Cracked By 巢水工作坊——fly【OCN】

2003-2-17 17:00

一蓑烟雨……任平生!

(出处:赢政天下整理收藏)

相关文章:

·语音界面2.0算法分析及注册机源码!

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·ClockWise 3.22e注册码算法分析

·CoolClock V1.02注册算法分析

·Directory Scanner v1.5 注册算法分析

·Disk Chief 1.2 简单注册算法分析

·EffeTech HTTP Sniffer 3.2注册算法分析

·eLib2.01算法分析

·EZ MP3 Recorder 1.15 注册算法分析

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史