老文章档案 · 2003 年

XDos V1.0.322 汉化版 算法分析

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

简单算法——XDos V1.0.322 汉化版

下载页面: http://www.skycn.com/soft/11680.html

软件大小: 151 KB

软件语言: 简体中文

软件类别: 汉化补丁 / 共享版 / 系统其它

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

加入时间: 2003-04-12 14:48:22

下载次数: 53

推荐等级: ***

【软件简介】:XDos是Dos的外壳程序,可以运行大多数的Dos命令,如:dir,ren,mkdir...,也可以运行很多Windows的程序,如:notepad,calc,regedit...,XDos是一个多窗口的程序.你可以在XDos中使用复制,粘贴等有用的命令。

【软件限制】:注册后给予最好的支持。

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

【破解工具】:TRW2000娃娃修改版、Ollydbg1.09、PEiD、GUW32、W32Dasm 9.0白金版

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

【过 程】:

刚从 天空 DOWN了这个小东东,是 阳光灿烂 汉化的。程序有点怪,随便输入注册码后就弹出成功的提示,但是重新运行后“关于”里面的注册码栏依旧是空的。反汇编后看到许多的NOP,呵呵,可能是 阳光灿烂 汉化时顺手做了爆破。因为没有原版,所以我就无法完美爆破了,看看算法吧。

xdos.exe 是UPX 1.22壳,应该是汉化者加的。用GUW32脱之,155K->375K。Visual C++ 6.0 编写。

标识码:15588784

试炼码:13572468

因为 阳光灿烂 动了手脚,所以下面的断点我是用TRW的“S大法”追到的。

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

:00401D70 6AFF push FFFFFFFF

:00401D72 68F89D4300 push 00439DF8

:00401D77 64A100000000 mov eax, dword ptr fs:[00000000]

:00401D7D 50 push eax

:00401D7E 64892500000000 mov dword ptr fs:[00000000], esp

:00401D85 83EC0C sub esp, 0000000C

:00401D88 A1ACC54400 mov eax, dword ptr [0044C5AC]

:00401D8D 55 push ebp

:00401D8E 56 push esi

:00401D8F 57 push edi

:00401D90 8BF1 mov esi, ecx

:00401D92 89442414 mov dword ptr [esp+14], eax

:00401D96 C744242000000000 mov [esp+20], 00000000

:00401D9E 8944240C mov dword ptr [esp+0C], eax

:00401DA2 8D442414 lea eax, dword ptr [esp+14]

:00401DA6 8D8E98000000 lea ecx, dword ptr [esi+00000098]

:00401DAC 50 push eax

:00401DAD C644242401 mov [esp+24], 01

:00401DB2 E8A18A0100 call 0041A858

:00401DB7 8D4C240C lea ecx, dword ptr [esp+0C]

:00401DBB 51 push ecx

:00401DBC 8D4E5C lea ecx, dword ptr [esi+5C]

:00401DBF E8948A0100 call 0041A858

:00401DC4 8B54240C mov edx, dword ptr [esp+0C]

====>EDX=13572468 试炼码

:00401DC8 837AF801 cmp dword ptr [edx-08], 00000001

====>是否8位?

:00401DCC 90 nop

:00401DCD 90 nop

:00401DCE 90 nop

:00401DCF 90 nop

:00401DD0 90 nop

:00401DD1 90 nop

:00401DD2 8B442414 mov eax, dword ptr [esp+14]

====>EAX=15588784 标识码

:00401DD6 50 push eax

:00401DD7 E83B930000 call 0040B117

====>将标识码15588784转换成16进制值

:00401DDC 8B4C2410 mov ecx, dword ptr [esp+10]

====>ECX=13572468 试炼码

:00401DE0 8BF8 mov edi, eax

====>EDI=EAX=00EDDDB0(H)=15588784(D)

:00401DE2 51 push ecx

:00401DE3 E82F930000 call 0040B117

====>将试炼码13572468转换成16进制值

:00401DE8 83C408 add esp, 00000008

:00401DEB 8BCE mov ecx, esi

:00401DED 8BE8 mov ebp, eax

====>EBP=EAX=00CF1974(H)=13572468(D)

:00401DEF 57 push edi

:00401DF0 E80B030000 call 00402100

====>算法CALL!进入!

:00401DF5 3BC5 cmp eax, ebp

====>比较注册码!

====>EAX=04189ECD 注册码!

====>EBP=00CF1974 试炼码!

:00401DF7 90 nop

:00401DF8 90 nop

:00401DF9 90 nop

:00401DFA 90 nop

:00401DFB 90 nop

:00401DFC 90 nop

:00401DFD 68E9030000 push 000003E9

:00401E02 8BCE mov ecx, esi

:00401E04 E827AE0100 call 0041CC30

:00401E09 8BF8 mov edi, eax

:00401E0B 6A00 push 00000000

:00401E0D 8BCF mov ecx, edi

:00401E0F E8F3B00100 call 0041CF07

:00401E14 8B15ACC54400 mov edx, dword ptr [0044C5AC]

:00401E1A 89542410 mov dword ptr [esp+10], edx

* Possible Reference to String Resource ID=61450: ""

|

:00401E1E 680AF00000 push 0000F00A

:00401E23 8D4C2414 lea ecx, dword ptr [esp+14]

:00401E27 C644242402 mov [esp+24], 02

:00401E2C E8E1CF0100 call 0041EE12

:00401E31 8B442410 mov eax, dword ptr [esp+10]

:00401E35 8BCF mov ecx, edi

:00401E37 50 push eax

:00401E38 E843AF0100 call 0041CD80

:00401E3D 68E8030000 push 000003E8

:00401E42 8BCE mov ecx, esi

:00401E44 E8E7AD0100 call 0041CC30

:00401E49 6A00 push 00000000

:00401E4B 8BC8 mov ecx, eax

:00401E4D E8B5B00100 call 0041CF07

:00401E52 E8EB120300 call 00433142

====>保存注册信息

:00401E57 8B4004 mov eax, dword ptr [eax+04]

:00401E5A 55 push ebp

:00401E5B 6840C14400 push 0044C140

:00401E60 6834C14400 push 0044C134

:00401E65 8BC8 mov ecx, eax

:00401E67 E88C5F0200 call 00427DF8

:00401E6C 6AFF push FFFFFFFF

:00401E6E 6A00 push 00000000

* Possible Reference to String Resource ID=61449: ""

|

:00401E70 6809F00000 push 0000F009

:00401E75 E8825D0200 call 00427BFC

====>呵呵,胜利女神!

:00401E7A 8D4C2410 lea ecx, dword ptr [esp+10]

:00401E7E C644242001 mov [esp+20], 01

:00401E83 E871CA0100 call 0041E8F9

:00401E88 EB0E jmp 00401E98

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

进入算法CALL:

* Referenced by a CALL at Addresses:

|:00401DF0 , :00402062

|

:00402100 8B442404 mov eax, dword ptr [esp+04]

====>EAX=[esp+04]=00EDDDB0 标识码

:00402104 353B1FB903 xor eax, 03B91F3B

====>EAX=00EDDDB0 XOR 03B91F3B=0354C28B

:00402109 0542DCC300 add eax, 00C3DC42

====>EAX=0354C28B + 00C3DC42=04189ECD

呵呵,04189ECD的10进制值68722381就是我的注册码了!

:0040210E 7905 jns 00402115

====>跳过去

:00402110 99 cdq

:00402111 33C2 xor eax, edx

:00402113 2BC2 sub eax, edx

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

|:0040210E(C)

|

:00402115 C20400 ret 0004

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

【C++ KeyGen】:

呵呵,算法非常简单。就用我这“超级蹩脚”的C++做 fly 的第七个算法注册机吧!诸位老师见笑了!

#include<iostream.h>

#include<math.h>

void main()

{

unsigned long int k;

cout<<"\n ★★★★XDos V1.0.322 KeyGen{7th}★★★★\n\n\n\n";

cout<<"请输入标识号:";

cin >>k;

k^=0X03B91F3B;

k+=0X00C3DC42;

cout<<"\n呵呵,注册码:"<<k<<endl;

cout<<"\n\n\nCracked By 巢水工作坊——fly [OCN][FCG] 2003-4-15 0:26 COMPILE";

cout<<"\n\n\n * * * 按回车退出!* * *";cin.get();cin.get();

}

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

【KeyMake之{58th}内存注册机】:

中断地址:00401DF5

中断次数:1

第一字节:3B

指令长度:2

寄存器方式:EAX

十进制

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

【注册信息保存】:

同文件夹下的xdos.ini中:

[Settings]

RKey=68722381

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

【整 理】:

标识码:15588784

注册码:68722381

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

Cracked By 巢水工作坊——fly [OCN][FCG]

2003-4-15 0:14

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

相关文章:

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