老文章档案 · 2003 年

XnView V1.45 算法分析

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-07-04 · 作者:PowerBoy 人气: · 出处:赢政天下整理收藏)

Nview, Nconvert & View2 v3.85

XnView v1.45

GFL SDK v1.85

注册名:powerboy

注册码:1720700947

注册码保存在:HKEY_CURRENT_USER\Software\XnView

我的同学买了一张盗版的盘中代的一个类似ACDSEE的看图软件,算法很普通不过由于很久没有动手破解软件了,就贴一篇吧!

Download : http://perso.wanadoo.fr/pierre.g/download

0167:00452DAD 51 PUSH ECX

0167:00452DAE 68D1070000 PUSH 000007D1

0167:00452DB3 56 PUSH ESI

0167:00452DB4 FFD7 CALL EDI

0167:00452DB6 8A442470 MOV AL,[ESP+70]

0167:00452DBA 84C0 TEST AL,AL

0167:00452DBC 0F843A010000 JZ 00452EFC

0167:00452DC2 8A442410 MOV AL,[ESP+10]

0167:00452DC6 84C0 TEST AL,AL

0167:00452DC8 0F842E010000 JZ 00452EFC

0167:00452DCE 8D542408 LEA EDX,[ESP+08]

0167:00452DD2 8D442470 LEA EAX,[ESP+70]

0167:00452DD6 52 PUSH EDX

0167:00452DD7 50 PUSH EAX

0167:00452DD8 E8633BFBFF CALL 00406940------------>算法CALL

0167:00452DDD 8D4C2418 LEA ECX,[ESP+18]

0167:00452DE1 51 PUSH ECX

0167:00452DE2 E8E44F0000 CALL 00457DCB------------>将输入的SN变成十六进制

0167:00452DE7 8B4C2414 MOV ECX,[ESP+14]-------->正确的注册码

0167:00452DEB 83C40C ADD ESP,0C

0167:00452DEE 3BC8 CMP ECX,EAX------------->输入SN的十六与注册码比较

0167:00452DF0 745D JZ 00452E4F

0167:00452DF2 A16CA95600 MOV EAX,[0056A96C]

0167:00452DF7 8D542430 LEA EDX,[ESP+30]

0167:00452DFB 6A40 PUSH 40

0167:00452DFD 52 PUSH EDX

0167:00452DFE 6893130000 PUSH 00001393

0167:00452E03 50 PUSH EAX

0167:00452E04 FF153C555100 CALL [USER32!LoadStringA]

0167:00452E0A 6A10 PUSH 10

0167:00452E0C 8D4C2434 LEA ECX,[ESP+34]

0167:00452E10 68187A5600 PUSH 00567A18

0167:00452E15 51 PUSH ECX

0167:00452E16 56 PUSH ESI

0167:00452E17 FF15C4545100 CALL [USER32!MessageBoxA]

0167:00452E1D 68D0070000 PUSH 000007D0

0167:00452E22 56 PUSH ESI

0167:00452E23 FF1550555100 CALL [USER32!GetDlgItem]

0167:00452E29 50 PUSH EAX

0167:00452E2A FF15B4545100 CALL [USER32!SetFocus]

0167:00452E30 68187A5600 PUSH 00567A18

0167:00452E35 68D1070000 PUSH 000007D1

0167:00452E3A 56 PUSH ESI

0167:00452E3B FF1540555100 CALL [USER32!SetDlgItemTextA]

0167:00452E41 5F POP EDI

0167:00452E42 B801000000 MOV EAX,00000001

0167:00452E47 5E POP ESI

0167:00452E48 81C468010000 ADD ESP,00000168

========================================================================

0167:00406945 55 PUSH EBP

0167:00406946 56 PUSH ESI

0167:00406947 57 PUSH EDI

0167:00406948 8BFA MOV EDI,EDX

0167:0040694A 83C9FF OR ECX,-01

0167:0040694D 33C0 XOR EAX,EAX

0167:0040694F F2AE REPNZ SCASB

0167:00406951 F7D1 NOT ECX

0167:00406953 49 DEC ECX

0167:00406954 BEA0BC5400 MOV ESI,0054BCA0

0167:00406959 8BE9 MOV EBP,ECX

0167:0040695B B905000000 MOV ECX,00000005

0167:00406960 BF047A5600 MOV EDI,00567A04

0167:00406965 F3A5 REPZ MOVSD

0167:00406967 8BF0 MOV ESI,EAX

0167:00406969 7421 JZ 0040698C

表1:0054BCA0 AA 89 C4 FE 46 78 F0 D0-03 E7 F7 FD F4 E7 B9 B5 ....Fx..........

0167:0040696B 8A0C16 MOV CL,[EDX+ESI]

0167:0040696E 8AD9 MOV BL,CL

0167:00406970 3298047A5600 XOR BL,[EAX+00567A04]

0167:00406976 40 INC EAX

0167:00406977 83F805 CMP EAX,05

0167:0040697A 881C16 MOV [EDX+ESI],BL

0167:0040697D 8888037A5600 MOV [EAX+00567A03],CL

0167:00406983 7502 JNZ 00406987

0167:00406985 33C0 XOR EAX,EAX

0167:00406987 46 INC ESI

0167:00406988 3BF5 CMP ESI,EBP

0167:0040698A 72DF JB 0040696B

0167:0040698C 33FF XOR EDI,EDI

0167:0040698E 33C9 XOR ECX,ECX

0167:00406990 85ED TEST EBP,EBP

0167:00406992 7626 JBE 004069BA

表2:00567A09 78 F0 D0 03 E7 F7 FD F4-E7 B9 B5 1B C9 50 73 00 x............Ps.

0167:00406994 8A9F097A5600 MOV BL,[EDI+00567A09]

0167:0040699A 8BF5 MOV ESI,EBP

0167:0040699C 2BF1 SUB ESI,ECX

0167:0040699E 4E DEC ESI

0167:0040699F 8A0416 MOV AL,[EDX+ESI]

0167:004069A2 32D8 XOR BL,AL

0167:004069A4 47 INC EDI

0167:004069A5 881C16 MOV [EDX+ESI],BL

0167:004069A8 8887087A5600 MOV [EDI+00567A08],AL

0167:004069AE 83FF05 CMP EDI,05

0167:004069B1 7502 JNZ 004069B5

0167:004069B3 33FF XOR EDI,EDI

0167:004069B5 41 INC ECX

0167:004069B6 3BCD CMP ECX,EBP

0167:004069B8 72DA JB 00406994

0167:004069BA 33F6 XOR ESI,ESI

0167:004069BC 33FF XOR EDI,EDI

0167:004069BE 85ED TEST EBP,EBP

0167:004069C0 7621 JBE 004069E3

表3:00567A0E F7 FD F4 E7 B9 B5 1B C9-50 73 00 00 00 00 00 00 ........Ps......

0167:004069C2 8A0417 MOV AL,[EDX+EDI]

0167:004069C5 8A8E0E7A5600 MOV CL,[ESI+00567A0E]

0167:004069CB 32C8 XOR CL,AL

0167:004069CD 46 INC ESI

0167:004069CE 880C17 MOV [EDX+EDI],CL

0167:004069D1 88860D7A5600 MOV [ESI+00567A0D],AL

0167:004069D7 83FE05 CMP ESI,05

0167:004069DA 7502 JNZ 004069DE

0167:004069DC 33F6 XOR ESI,ESI

0167:004069DE 47 INC EDI

0167:004069DF 3BFD CMP EDI,EBP

0167:004069E1 72DF JB 004069C2

0167:004069E3 33FF XOR EDI,EDI

0167:004069E5 33C9 XOR ECX,ECX

0167:004069E7 85ED TEST EBP,EBP

0167:004069E9 7626 JBE 00406A11

表4:00567A13 B5 1B C9 50 73 00 00 00-00 00 00 00 00 06 00 00 ...Ps...........

0167:004069EB 8A9F137A5600 MOV BL,[EDI+00567A13]

0167:004069F1 8BF5 MOV ESI,EBP

0167:004069F3 2BF1 SUB ESI,ECX

0167:004069F5 4E DEC ESI

0167:004069F6 8A0416 MOV AL,[EDX+ESI]

0167:004069F9 32D8 XOR BL,AL

0167:004069FB 47 INC EDI

0167:004069FC 881C16 MOV [EDX+ESI],BL

0167:004069FF 8887127A5600 MOV [EDI+00567A12],AL

0167:00406A05 83FF05 CMP EDI,05

0167:00406A08 7502 JNZ 00406A0C

0167:00406A0A 33FF XOR EDI,EDI

0167:00406A0C 41 INC ECX

0167:00406A0D 3BCD CMP ECX,EBP

0167:00406A0F 72DA JB 004069EB

作最后的处理:

0167:00406A11 8B7C2418 MOV EDI,[ESP+18]

0167:00406A15 33C0 XOR EAX,EAX

0167:00406A17 85ED TEST EBP,EBP

0167:00406A19 C70700000000 MOV DWORD PTR [EDI],00000000-->清理内存区域

0167:00406A1F 7617 JBE 00406A38

0167:00406A21 8BC8 MOV ECX,EAX

0167:00406A23 83E103 AND ECX,03

0167:00406A26 8A1C39 MOV BL,[EDI+ECX]

0167:00406A29 8D3439 LEA ESI,[EDI+ECX]

0167:00406A2C 8A0C10 MOV CL,[EDX+EAX]

0167:00406A2F 02D9 ADD BL,CL

0167:00406A31 40 INC EAX

0167:00406A32 3BC5 CMP EAX,EBP

0167:00406A34 881E MOV [ESI],BL

0167:00406A36 72E9 JB 00406A21

0167:00406A38 5F POP EDI

0167:00406A39 5E POP ESI

0167:00406A3A 5D POP EBP

0167:00406A3B 5B POP EBX

0167:00406A3C C3 RET

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

算法整理:

表1:AA 89 C4 FE 46 ; 表2:78 F0 D0 03 E7 ; 表3:F7 FD F4 E7 B9 ; 表4:B5 1B C9 50 73;

步骤1:

powerboy:=70 6F 77 65 72 62 6F 79 XOR 表1(但当用户名大于5位时就用NAME[1] XOR NAME[6]以此类推)

70 XOR AA=DA

6F XOR 89=E6

77 XOR C4=B3

65 XOR FE=9B

72 XOR 46=34

62 XOR 70=12

6F XOR 6F=00

79 XOR 77=0E

X1:=DA E6 B3 9B 34 12 00 0E

步骤2:

翻转X1 并XOR 表2:(但当X1大于5位时就用X1[1] XOR X1[6]以此类推)

0E XOR 78=76

00 XOR F0=F0

12 XOR D0=C2

34 XOR 03=37

9B XOR E7=7C

B3 XOR 0E=BD

E6 XOR 00=E6

DA XOR 12=C8

X2:=76 F0 C2 37 7C BD E6 C8

步骤3:

翻转X2 并XOR 表3:(但当X1大于5位时就用X2[1] XOR X2[6]以此类推)

C8 XOR F7=3F

E6 XOR FD=1B

BD XOR F4=49

7C XOR E7=9B

37 XOR B9=8E

C2 XOR C8=0A

F0 XOR E6=16

76 XOR BD=CB

X3:=3F 1B 49 9B 8E 0A 16 CB

步骤4:

翻转X3 并XOR 表4:(但当X1大于5位时就用X3[1] XOR X3[6]以此类推)

CB XOR B5=7E

16 XOR 1B=0D

0A XOR C9=C3

8E XOR 50=DE

9B XOR 73=E8

49 XOR CB=82

1B XOR 16=0D

3F XOR 0A=35

X4:=7E 0D C3 DE E8 82 0D 35

步骤5:

35 ADD 00=35

0D ADD 00=0D

82 ADD 00=82

E8 ADD 00=E8

DE ADD 35=113-->13

C3 ADD 0D=D0

0D ADD 82=8F

7E ADD E8=166-->66

X5:=13 D0 8F 66

668FD013--->变成十进制1720700947(出处:赢政天下整理收藏)

相关文章:

·语音界面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)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史