老文章档案 · 2003 年

Konvertor 3.03的注册码算法模块的分析 (7千字)

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

Konvertor 3.03的注册码算法模块的分析

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

软件简介:

Konvertor 是一个图片、音乐、文字及影音格式文件的转换程序,它总共可以转换135种文件格式, 包含25种音乐格式、4种影音格式、105种图片格式及1种文字格式。

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

破解工具:SOFTICE,W32DASM

分析:

在软件注册窗口输入以下信息:

First Name:alpha

Last Name:ckck

Registration Code:98765432

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

用BPX GETDLGITEMTEXTA下断,拦截后用F11跳出函数,继续跟踪,来到:

* Possible Reference to String Resource ID=00020: "&Cancel"

|

:0044BFA5 B914000000 mov ecx, 00000014

:0044BFAA 33C0 xor eax, eax

:0044BFAC 8DBC24BC000000 lea edi, dword ptr [esp+000000BC] <<-------输入的注册码的首地址->EDI

* Possible Reference to String Resource ID=00128: "Choose the page type, the image position and its size.

(posi"

|

:0044BFB3 6880000000 push 00000080

:0044BFB8 F3 repz

:0044BFB9 AB stosd

:0044BFBA 8D8C24C0000000 lea ecx, dword ptr [esp+000000C0]

:0044BFC1 51 push ecx

:0044BFC2 687D050000 push 0000057D

:0044BFC7 55 push ebp

:0044BFC8 FFD6 call esi

:0044BFCA 85C0 test eax, eax

:0044BFCC 7538 jne 0044C006 <<---------跳

。来到:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0044BFCC(C)

|

:0044C006 8D542414 lea edx, dword ptr [esp+14] <<--------输入的名字的首地址->EDX

:0044C00A 8D442468 lea eax, dword ptr [esp+68] <<--------输入的姓的首地址->EAX

:0044C00E 52 push edx

* Possible StringData Ref from Data Obj ->"Konvertor"

|

:0044C00F 68B8524700 push 004752B8 <<---------字符串“Konvertor”入栈

:0044C014 50 push eax

:0044C015 8D8C24B8060000 lea ecx, dword ptr [esp+000006B8]

* Possible StringData Ref from Data Obj ->"%s%s%s"

|

:0044C01C 683CE14700 push 0047E13C

:0044C021 51 push ecx

:0044C022 FFD3 call ebx <<--------此函数将输入的姓名和字符串“Konvertor”以“姓+Konvertor+名”的形式连接起来组成新的字符串,在此例中即:ckckKonvertoralpha

:0044C024 8DBC24C0060000 lea edi, dword ptr [esp+000006C0] <<------新的字符串的首地址->EDI

:0044C02B 83C9FF or ecx, FFFFFFFF

:0044C02E 33C0 xor eax, eax

:0044C030 83C414 add esp, 00000014

:0044C033 F2 repnz

:0044C034 AE scasb

:0044C035 F7D1 not ecx

:0044C037 2BF9 sub edi, ecx

:0044C039 8D942494020000 lea edx, dword ptr [esp+00000294]

:0044C040 8BC1 mov eax, ecx

:0044C042 8BF7 mov esi, edi

:0044C044 8BFA mov edi, edx

:0044C046 C1E902 shr ecx, 02

:0044C049 F3 repz

:0044C04A A5 movsd

:0044C04B 8BC8 mov ecx, eax

:0044C04D 8D842494020000 lea eax, dword ptr [esp+00000294] <<-----新的字符串的首地址->EAX

:0044C054 83E103 and ecx, 00000003

:0044C057 F3 repz

:0044C058 A4 movsb

:0044C059 8A8C2494020000 mov cl, byte ptr [esp+00000294] <<-----新字串的第一个字符->CL

:0044C060 84C9 test cl, cl <<------测试上一步的操作是否成功

:0044C062 741F je 0044C083 <<-----不成功则跳走

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0044C081(C)

|

:0044C064 80385F cmp byte ptr [eax], 5F <<-----比较字符是否为“_”

:0044C067 7503 jne 0044C06C <<------不同就跳

:0044C069 C60020 mov byte ptr [eax], 20

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0044C067(C)

|

:0044C06C 0FBE08 movsx ecx, byte ptr [eax] <<------新串的第一个字符->ECX

:0044C06F 334C2410 xor ecx, dword ptr [esp+10] <<------ECX XOR FFFFFFFF->ECX

:0044C073 81F1CE9A5713 xor ecx, 13579ACE

:0044C079 40 inc eax

:0044C07A 894C2410 mov dword ptr [esp+10], ecx <<------保存ECX

:0044C07E 803800 cmp byte ptr [eax], 00 <<-----比较新串的下一位是否为0

:0044C081 75E1 jne 0044C064

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0044C062(C)

|

:0044C083 8D9424BC000000 lea edx, dword ptr [esp+000000BC] <<----输入的注册码的首地址->EDX

:0044C08A 52 push edx

:0044C08B E8AE8B0100 call 00464C3E <<-----将输入的字符串形式的注册码转为十进制形式->EAX

:0044C090 8B4C2414 mov ecx, dword ptr [esp+14] <<------新串的运算结果->ECX

:0044C094 83C404 add esp, 00000004

:0044C097 81F1F0BD6824 xor ecx, 2468BDF0

:0044C09D 3BC1 cmp eax, ecx

:0044C09F 742E je 0044C0CF

如果不同则来到:

* Possible StringData Ref from Data Obj ->"Enregistrement" <<-----注册失败对话框的标题

|

:0044C0A3 6838244800 push 00482438

* Possible StringData Ref from Data Obj ->"Le code est incorrect

Vous devez "

->"entrer vos nom et pr閚om puis "

->"le code qui vous a 閠?d閘ivr?

|

:0044C0A8 6870234800 push 00482370

:0044C0AD 55 push ebp

* Reference To: USER32.MessageBoxA, Ord:01C3h

|

:0044C0AE FF150C164700 Call dword ptr [0047160C]

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

这个软件的注册码算法很简单,它就是把输入的姓名与字符串“Konvertor”连起来进行运算,第一次跟踪的时候,我在00448C08B的CALL中转了好一阵子才发现它不过是将用户输入的注册码转为十进制形式:)

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

附:注册机源程序:

#include<iostream.h>

#include<stdlib.h>

#include<string.h>

void main()

{

unsigned long int tempString;

int temp=-1,LengthOfString;

char buff1[80],buff2[80],YourFirstName[80],YourLastName[1000],SoftName[10]="Konvertor";

cout<<" KeyGen for Konvertor 3.03 (Made by alpha)\n\n";

cout<<"Please input your first name:";

while(cin.getline(buff1,80))

{

strcpy(YourFirstName,buff1);

break;

}

cout<<"Please input your last name:";

while(cin.getline(buff2,80))

{

strcpy(YourLastName,buff2);

break;

}

strcat(YourLastName,SoftName);

strcat(YourLastName,YourFirstName);

LengthOfString=strlen(YourLastName);

for(int i=0;i<LengthOfString;i++)

{

tempString=YourLastName[i];

tempString^=temp;

tempString^=324508366;

temp=tempString;

}

tempString^=610844144;

cout<<"\nYour Registration Code is:"<<tempString<<endl;

cout<<"Press Enter key to terminate...";

if(cin.get())

exit(0);

}

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

源程序在VC++6.0下编译通过

CrAcKeD BY alphakk(alpha) (出处:赢政天下整理收藏)

相关文章:

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